package com.ruoyi.lavorissue.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.lavorissue.pojo.DeptPosition; import com.ruoyi.lavorissue.service.DeptPositionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @author :yys * @date : 2025/11/19 13:20 */ @RestController @Api(tags = "部门岗位") @RequestMapping("/deptPosition") public class DeptPositionController extends BaseController { @Autowired private DeptPositionService deptPositionService; /** * 递归获取部门岗位树形结构 * @return */ @GetMapping("/getDeptPositionTree") @Log(title = "递归获取部门岗位树形结构", businessType = BusinessType.OTHER) @ApiOperation("递归获取部门岗位树形结构") public AjaxResult getDeptPositionTree() { return deptPositionService.getDeptPositionTree(); } /** * 查询所有岗位列表 */ @GetMapping("/list") @Log(title = "查询所有岗位列表", businessType = BusinessType.OTHER) @ApiOperation("查询所有岗位列表") public AjaxResult list() { return AjaxResult.success(deptPositionService.list(Wrappers.lambdaQuery(DeptPosition.class) .eq(DeptPosition::getType, 2))); } /** * 通过id递归查询所有的岗位,在通过岗位查询对应人员 * @param deptPosition * @return */ @GetMapping("/getDeptPositionByDeptId") @Log(title = "通过部门id递归查询所有的岗位,在通过岗位查询对应人员", businessType = BusinessType.OTHER) @ApiOperation("通过部门id递归查询所有的岗位,在通过岗位查询对应人员") public AjaxResult getDeptPositionByDeptId(DeptPosition deptPosition) { return AjaxResult.success(deptPositionService.getDeptPositionByDeptId(deptPosition)); } /** * 通过id递归查询所有的岗位,在通过岗位查询对应劳保用品 * @param deptPosition * @return */ @GetMapping("/getDeptPositionByDeptIdLabor") @Log(title = "通过id递归查询所有的岗位,在通过岗位查询对应劳保用品", businessType = BusinessType.OTHER) @ApiOperation("通过id递归查询所有的岗位,在通过岗位查询对应劳保用品") public AjaxResult getDeptPositionByDeptIdLabor(DeptPosition deptPosition) { return AjaxResult.success(deptPositionService.getDeptPositionByDeptIdLabor(deptPosition)); } @PostMapping("/addDeptPosition") @Log(title = "添加部门岗位", businessType = BusinessType.INSERT) @ApiOperation("添加部门岗位") public AjaxResult addDeptPosition(@RequestBody DeptPosition deptPosition) { return AjaxResult.success(deptPositionService.save(deptPosition)); } @PostMapping("/updateDeptPosition") @Log(title = "修改部门岗位", businessType = BusinessType.UPDATE) @ApiOperation("修改部门岗位") public AjaxResult updateDeptPosition(@RequestBody DeptPosition deptPosition) { return AjaxResult.success(deptPositionService.updateById(deptPosition)); } @DeleteMapping("/deleteDeptPosition") @Log(title = "删除部门岗位", businessType = BusinessType.DELETE) @ApiOperation("删除部门岗位") public AjaxResult deleteDeptPosition(@RequestBody List ids) { if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("请选择要删除的部门岗位"); return AjaxResult.success(deptPositionService.removeBatchByIds(ids)); } }