package com.ydtech.modules.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageRequest; import com.ydtech.modules.admin.model.SysDept; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.vo.SysDeptVo; import com.ydtech.modules.admin.service.SysDeptService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import java.util.List; @Api(tags = "机构管理", value = "机构管理") @RestController @RequestMapping("/dept") @RequiredArgsConstructor public class SysDeptController extends BaseController { Logger logger = LoggerFactory.getLogger(getClass()); private final SysDeptService sysDeptService; // @PreAuthorize("hasAuthority('sys:dept:add')") @PostMapping(value = "/add") @ApiOperation("增加机构") public HttpResult add(@RequestBody SysDeptVo sysDeptVo) { sysDeptService.addDept(sysDeptVo); return HttpResult.ok(); } @DeleteMapping(value = "/{deptId}") @ApiOperation("删除机构") public HttpResult deleteDept(@PathVariable String deptId) { sysDeptService.deleteDept(deptId); return HttpResult.ok(); } //@PreAuthorize("hasAuthority('sys:dept:view')") @ApiOperation(value = "获取树结构") @GetMapping(value = "/findTree") public HttpResult> findTree() { BaseController baseController = new BaseController(); String deptId = baseController.getDeptId(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysDept::getDelFlag, 0).eq(SysDept::getId, deptId); SysDept one = sysDeptService.getOne(queryWrapper); String managementSource = one.getManagementSource(); return HttpResult.ok(sysDeptService.findTree(deptId,managementSource)); } // @PreAuthorize("hasAuthority('sys:dept:edit')") @PostMapping(value = "/edit") public HttpResult edit(@RequestBody SysDept record) { SysDept byId = sysDeptService.getById(record.getId()); if (record.getManagementSource() != null){ if (!record.getManagementSource().equals(byId.getManagementSource())) { return HttpResult.error("机构已被设置来源无法修改"); } } return HttpResult.ok(sysDeptService.updateById(record)); } // @PreAuthorize("hasAuthority('sys:dept:delete')") @PostMapping(value = "/delete") public HttpResult delete(@RequestBody List records) { System.out.println("" + records); return HttpResult.ok(sysDeptService.removeByIds(records)); } //// @PreAuthorize("hasAuthority('sys:dept:view')") @PostMapping(value = "/findSubDept") public HttpResult findSubDept(@RequestBody PageRequest pageRequest) { return HttpResult.ok(sysDeptService.findSubDepts(pageRequest)); } //// @PreAuthorize("hasAuthority('sys:dept:view')") @GetMapping(value = "/findMaxDeptId") public HttpResult findMaxDeptId(String deptId) { int i = 100; Object maxDeptId = new Object(); maxDeptId = sysDeptService.findMaxDeptId(deptId); return HttpResult.ok(maxDeptId); } //// @PreAuthorize("hasAuthority('sys:dept:view')") @GetMapping(value = "/findMaxHouseId") public HttpResult findMaxHouseId(String deptId) { int i = 100; Object maxDeptId = new Object(); maxDeptId = sysDeptService.findMaxHouseId(deptId); return HttpResult.ok(maxDeptId); } // // @PreAuthorize("hasAuthority('sys:dept:view')") @GetMapping(value = "/getDeptById") public HttpResult getDeptById(String id) { SysDept sysDept = sysDeptService.getById(id); logger.info(sysDept.toString()); return HttpResult.ok(sysDept); } @ApiOperation(value = "获取机构树(不包含团队 dept_type=C)") @GetMapping(value = "/findCompanyTree") public HttpResult> findCompanyTree() { SysUser user = getUser(); String deptId = user.getDeptId(); return HttpResult.ok(sysDeptService.findCompanyTree(deptId)); } @ApiOperation(value = "根据传入机构,查询归属所有团队") @GetMapping(value = "/findTeamList") public HttpResult findTeamList(String deptId) { return HttpResult.ok(sysDeptService.findTeamList(deptId)); } }