package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.CustomClazzName; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.DepartmentDto; import com.yuanchu.mom.dto.PersonBasicInfoDetailsDto; import com.yuanchu.mom.dto.PersonBasicInfoDto; import com.yuanchu.mom.dto.UserPageDto; import com.yuanchu.mom.pojo.Annex; import com.yuanchu.mom.service.AnnexService; import com.yuanchu.mom.service.PersonBasicInfoService; import com.yuanchu.mom.utils.FileSaveUtil; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** *

* 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-08-30 09:19:57 */ @Api(tags = "人员-人员基本信息") @RestController @RequestMapping("/personBasicInfo") //@CustomClazzName(name = "资源要求", index = 8) public class PersonBasicInfoController { @Resource private PersonBasicInfoService personBasicInfoService; @Resource private AnnexService annexService; @ValueAuth @ApiOperation(value = "查询CNAS人员侧边栏") @GetMapping("/selectCNSAPersonTree") public Result> selectCNSAPersonTree() { return Result.success(personBasicInfoService.selectCNSAPersonTree()); } @ValueAuth @ApiOperation(value = "获取CNAS人员基本信息") @GetMapping("/getCNASPersonnelInfo") public Result getCNASPersonnelInfo(Integer userId) { return Result.success(personBasicInfoService.getCNASPersonnelInfo(userId)); } @ValueClassify("人员基本信息") @ApiOperation(value = "保存CNAS人员基本信息") @PostMapping("/saveCNASPersonnelInfo") public Result saveCNASPersonnelInfo(@RequestBody PersonBasicInfoDto personBasicInfoDto) { personBasicInfoService.saveCNASPersonnelInfo(personBasicInfoDto); return Result.success(); } @ValueClassify("人员基本信息") @ApiOperation(value = "人员明细分页查询") @GetMapping("basicInformationOfPersonnelSelectPage") public Result>> basicInformationOfPersonnelSelectPage(Page> page, String name, Integer departmentId) { return Result.success(personBasicInfoService.basicInformationOfPersonnelSelectPage(page, name, departmentId)); } // 上传文件接口 @ApiOperation(value = "上传文件接口") @PostMapping("/saveCNASFile") @ValueAuth public Result saveFile(@RequestPart("file") MultipartFile file) { String s = FileSaveUtil.uploadWordFile(file); return Result.success("上传成功", s); } @ValueAuth @GetMapping("/getAnnexByUserId") public Result> getAnnexByUserId(Integer userId) { List list = annexService.list(new LambdaQueryWrapper().eq(Annex::getUserId, userId)); return Result.success(list); } // 删除文件 @ValueAuth @DeleteMapping("/deleteCNASFile") public Result saveFile(String fileName) { String[] split = fileName.split(","); for (String s : split) { FileSaveUtil.DeleteFile(s); } return Result.success(); } /** * 人员基本信息附件新增 */ @ValueAuth @PostMapping("/addAnnex") public Result addAnnex(@RequestBody Annex annex) { annexService.save(annex); return Result.success(); } @ValueAuth @GetMapping("/getAnnex") public Result getAnnex(Integer id) { return Result.success(annexService.getById(id)); } /** * 人员基本信息附件删除 */ @ValueAuth @DeleteMapping("/deleteAnnex/{id}") public Result deleteAnnex(@PathVariable("id") Integer id) { annexService.removeById(id); return Result.success(); } /** * 人员基本信息附件修改 */ @ValueAuth @PostMapping("/updateAnnex") public Result updateAnnex(@RequestBody Annex annex) { annexService.updateById(annex); return Result.success(); } @ApiOperation(value = "导出人员基本信息") @PostMapping("/exportPersonBasicInfo") @ValueClassify("人员基本信息") public void exportPersonBasicInfo(@RequestBody Map data, HttpServletResponse response) throws Exception { UserPageDto userPageDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserPageDto.class); personBasicInfoService.exportPersonBasicInfo(userPageDto, response); } @ApiOperation(value = "下载人员档案卡") @PostMapping("/exportPersonBasicInfoById") @ValueClassify("人员基本信息") public Result exportPersonBasicInfoById(Integer id, HttpServletResponse response) { return Result.success(personBasicInfoService.exportPersonBasicInfoById(id, response)); } }