zss
2025-03-07 72ceff5111fcd51e3afad277c55449bbf0a2de98
人员end
已修改5个文件
已添加12个文件
1381 ■■■■■ 文件已修改
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/FileGeneralController.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonBasicInfoController.java 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrackRecordController.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java 272 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/SuperVisePlanController.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonSupervisePlanServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodVerifyServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/FileGeneralController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
package com.ruoyi.personnel.controller;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.service.FileGeneralService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@RestController
@Api(tags = "文件通用接口")
@RequestMapping("/fileGeneral")
public class FileGeneralController {
    @Autowired
    private FileGeneralService fileGeneralService;
    /**
     * æ–‡ä»¶ä¸Šä¼ 
     * @param file æ–‡ä»¶å†…容
     * @param suffix æ–‡ä»¶åŽæœ€
     * @param id ç»‘定表的id
     * @param type æžšä¸¾ç±»åž‹
     * @return
     */
    @PostMapping("/fileUpload")
    public Result fileUpload(MultipartFile file, String suffix, Integer id,Integer type) {
        fileGeneralService.fileUpload(file, suffix, id,type);
        return Result.success();
    }
    /**
     * æ–‡ä»¶æ•°æ®æŸ¥çœ‹
     * @param id ç»‘定id
     * @param type æžšä¸¾ç±»åž‹
     * @return
     */
    @GetMapping("/selectFile")
    public Result selectFile(Integer id,Integer type) {
        return Result.success(fileGeneralService.selectFile(id,type));
    }
    /**
     * æ–‡ä»¶åˆ é™¤
     * @param id æ–‡ä»¶id
     * @return
     */
    @GetMapping("/delFile")
    public Result delFile(Integer id) {
        fileGeneralService.delFile(id);
        return Result.success();
    }
    /**
     * æ–‡ä»¶ä¸‹è½½
     * @param id æ–‡ä»¶id
     * @return
     */
    @PostMapping("/fileDownLoad")
    public void fileDownLoad(Integer id,HttpServletResponse response) {
        fileGeneralService.fileDownLoad(id,response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonBasicInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,202 @@
package com.ruoyi.personnel.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.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.dto.DepartmentDto;
import com.ruoyi.common.core.dto.UserPageDto;
import com.ruoyi.common.utils.FileSaveUtil;
import com.ruoyi.common.utils.JackSonUtil;
import com.ruoyi.personnel.dto.PersonBasicInfoDetailsDto;
import com.ruoyi.personnel.dto.PersonBasicInfoDto;
import com.ruoyi.personnel.pojo.Annex;
import com.ruoyi.personnel.service.AnnexService;
import com.ruoyi.personnel.service.PersonBasicInfoService;
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;
/**
 * <p>
 *  å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-08-30 09:19:57
 */
@Api(tags = "人员-人员基本信息")
@RestController
@RequestMapping("/personBasicInfo")
public class PersonBasicInfoController {
    @Resource
    private PersonBasicInfoService personBasicInfoService;
    @Resource
    private AnnexService annexService;
    @ApiOperation(value = "查询CNAS人员侧边栏")
    @GetMapping("/selectCNSAPersonTree")
    public Result<List<DepartmentDto>> selectCNSAPersonTree() {
        return Result.success(personBasicInfoService.selectCNSAPersonTree());
    }
    @ApiOperation(value = "获取CNAS人员基本信息")
    @GetMapping("/getCNASPersonnelInfo")
    public Result getCNASPersonnelInfo(Integer userId) {
        return Result.success(personBasicInfoService.getCNASPersonnelInfo(userId));
    }
    @ApiOperation(value = "保存CNAS人员基本信息")
    @PostMapping("/saveCNASPersonnelInfo")
    public Result saveCNASPersonnelInfo(@RequestBody PersonBasicInfoDto personBasicInfoDto) {
        personBasicInfoService.saveCNASPersonnelInfo(personBasicInfoDto);
        return Result.success();
    }
    @ApiOperation(value = "人员明细分页查询")
    @GetMapping("basicInformationOfPersonnelSelectPage")
    public Result<IPage<Map<String, Object>>> basicInformationOfPersonnelSelectPage(Page<List<PersonBasicInfoDetailsDto>> page, String name, Integer departmentId) {
        return Result.success(personBasicInfoService.basicInformationOfPersonnelSelectPage(page, name, departmentId));
    }
    // ä¸Šä¼ æ–‡ä»¶æŽ¥å£
    @ApiOperation(value = "上传文件接口")
    @PostMapping("/saveCNASFile")
    public Result saveFile(@RequestPart("file") MultipartFile file) {
        String s = FileSaveUtil.StoreFile(file);
        return Result.success("上传成功", s);
    }
    /**
     * è®¾å¤‡æ ¡å‡† é™„件上传
     * @param file
     * @param suffix
     * @param id
     * @return
     */
    @ApiOperation(value = "设备校准  ä¸Šä¼ æ–‡ä»¶æŽ¥å£")
    @PostMapping("/saveDeviceCalibrationFile")
    public Result saveDeviceCalibrationFile(@RequestParam("file") MultipartFile file,@RequestParam("suffix")String suffix,@RequestParam("id") Integer id) {
        personBasicInfoService.saveDeviceCalibrationFile(file,suffix,id);
        return Result.success();
    }
    /**
     * æŸ¥çœ‹è®¾å¤‡æ ¡å‡†é™„ä»¶
     * @param id
     * @return
     */
    @ApiOperation(value = "设备校准 é™„件查看")
    @GetMapping("/getDeviceCalibrationFile")
    public Result getDeviceCalibrationFile(Integer id) {
        return Result.success(personBasicInfoService.getDeviceCalibrationFile(id));
    }
    /**
     * åˆ é™¤è®¾å¤‡æ ¡å‡†é™„ä»¶
     * @param id
     * @return
     */
    @ApiOperation(value = "设备校准 é™„件删除")
    @DeleteMapping("/delDeviceCalibrationFile")
    public Result delDeviceCalibrationFile(Integer id) {
        personBasicInfoService.delDeviceCalibrationFile(id);
        return Result.success();
    }
    /**
     * ä¸‹è½½è®¾å¤‡æ ¡éªŒé™„件下载
     * @param id
     * @return
     */
    @ApiOperation(value = "设备校验附件下载")
    @GetMapping("/downLoadDeviceCalibrationFile")
    public Result downLoadDeviceCalibrationFile(Integer id,HttpServletResponse response) {
        personBasicInfoService.downLoadDeviceCalibrationFile(id,response);
        return Result.success();
    }
    @GetMapping("/getAnnexByUserId")
    public Result<List<Annex>> getAnnexByUserId(Integer userId) {
        List<Annex> list = annexService.list(new LambdaQueryWrapper<Annex>().eq(Annex::getUserId, userId));
        return Result.success(list);
    }
    // åˆ é™¤æ–‡ä»¶
    @DeleteMapping("/deleteCNASFile")
    public Result saveFile(String fileName) {
        String[] split = fileName.split(",");
        for (String s : split) {
            FileSaveUtil.DeleteFile(s);
        }
        return Result.success();
    }
    /**
     * äººå‘˜åŸºæœ¬ä¿¡æ¯é™„件新增
     */
    @PostMapping("/addAnnex")
    public Result addAnnex(@RequestBody Annex annex) {
        annexService.save(annex);
        return Result.success();
    }
    @GetMapping("/getAnnex")
    public Result<Annex> getAnnex(Integer id) {
        return Result.success(annexService.getById(id));
    }
    /**
     * äººå‘˜åŸºæœ¬ä¿¡æ¯é™„件删除
     */
    @DeleteMapping("/deleteAnnex/{id}")
    public Result deleteAnnex(@PathVariable("id") Integer id) {
        annexService.removeById(id);
        return Result.success();
    }
    /**
     * äººå‘˜åŸºæœ¬ä¿¡æ¯é™„件修改
     *
     */
    @PostMapping("/updateAnnex")
    public Result updateAnnex(@RequestBody Annex annex) {
        annexService.updateById(annex);
        return Result.success();
    }
    @ApiOperation(value = "导出人员基本信息")
    @GetMapping("/exportPersonBasicInfo")
    public void exportPersonBasicInfo(UserPageDto userPageDto, HttpServletResponse response) throws Exception {
        personBasicInfoService.exportPersonBasicInfo(userPageDto,response);
    }
    @ApiOperation(value = "下载人员档案卡")
    @GetMapping("/exportPersonBasicInfoById")
    public Result exportPersonBasicInfoById(Integer id, HttpServletResponse response) {
        return Result.success(personBasicInfoService.exportPersonBasicInfoById(id,response));
    }
    @GetMapping("/getEmployees")
    @ApiOperation(value = "对接人员平台 èŽ·å–æ‰€æœ‰äººå‘˜ä¿¡æ¯")
    public Result getEmployees(Integer departId) {
        personBasicInfoService.getEmployees(departId);
        return Result.success();
    }
    @GetMapping("/getEmployee")
    @ApiOperation(value = "对接人员平台 æ ¹æ®å·¥å·èŽ·å–äººå‘˜ä¿¡æ¯")
    public Result getEmployee(Integer userId) {
        personBasicInfoService.getEmployee(userId);
        return Result.success();
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonCommunicationAbilityDto;
import com.ruoyi.personnel.pojo.PersonCommunicationAbility;
import com.ruoyi.personnel.service.PersonCommunicationAbilityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
 * <p>
 * æ²Ÿé€šè®°å½• å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-09 12:00:57
 */
@Api(tags = "人员 - æ²Ÿé€šè®°å½•")
@RestController
@RequestMapping("/personCommunicationAbility")
public class PersonCommunicationAbilityController {
    @Autowired
    private PersonCommunicationAbilityService personCommunicationAbilityService;
    @ApiOperation(value = "新增/更新 æ²Ÿé€šè®°å½•")
    @PostMapping("addOrUpdatePersonCommunicationAbility")
    public Result<?> addOrUpdatePersonCommunicationAbility(@RequestBody PersonCommunicationAbility personCommunicationAbility) {
        personCommunicationAbilityService.saveOrUpdate(personCommunicationAbility);
        return Result.success();
    }
    @ApiOperation(value = "删除 æ²Ÿé€šè®°å½•")
    @DeleteMapping("deletePersonCommunicationAbility")
    public Result<?> deletePersonCommunicationAbility(@RequestParam("id") Integer id) {
        personCommunicationAbilityService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "查询 æ²Ÿé€šè®°å½•")
    @GetMapping("personPersonCommunicationAbilityPage")
    public Result<IPage<PersonCommunicationAbilityDto>> personPersonCommunicationAbilityPage(Page page,
                                                                                             Integer departLimsId,
                                                                                             Integer userId,
                                                                                             String userName) {
        return Result.success(personCommunicationAbilityService.personPersonCommunicationAbilityPage(page, departLimsId, userId, userName));
    }
    @ApiOperation(value = "导出沟通记录")
    @GetMapping("exportPersonCommunicationAbility")
    public void exportPersonCommunicationAbility(Integer id, HttpServletResponse response) throws Exception{
        personCommunicationAbilityService.exportPersonCommunicationAbility(id,response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto;
import com.ruoyi.personnel.pojo.PersonJobResponsibilities;
import com.ruoyi.personnel.service.PersonJobResponsibilitiesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
 * <p>
 * å²—位职责 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-09 02:07:49
 */
@Api(tags = "人员 - å²—位职责")
@RestController
@RequestMapping("/personJobResponsibilities")
public class PersonJobResponsibilitiesController {
    @Autowired
    private PersonJobResponsibilitiesService personJobResponsibilitiesService;
    @ApiOperation(value = "新增/更新 å²—位职责")
    @PostMapping("personJobResponsibilitiesSave")
    public Result<?> personJobResponsibilitiesSave(@RequestBody PersonJobResponsibilities personJobResponsibilities) {
        personJobResponsibilitiesService.saveOrUpdate(personJobResponsibilities);
        return Result.success();
    }
    @ApiOperation(value = "删除 å²—位职责")
    @DeleteMapping("personJobResponsibilitiesDelete")
    public Result<?> personJobResponsibilitiesDelete(@RequestParam("id") Integer id) {
        personJobResponsibilitiesService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "查询 å²—位职责")
    @GetMapping("personJobResponsibilitiesSelect")
    public Result<IPage<PersonJobResponsibilitiesDto>> personJobResponsibilitiesSelect(Page page, String userId, String departmentId, String userName) {
        IPage<PersonJobResponsibilitiesDto> iPage = personJobResponsibilitiesService.personJobResponsibilitiesSelect(page, userId, departmentId, userName);
        return Result.success(iPage);
    }
    @ApiOperation(value = "导出任职岗位说明说")
    @GetMapping("/exportPersonJobResponsibilities")
    public void exportPersonJobResponsibilities(Integer id, HttpServletResponse response){
        personJobResponsibilitiesService.exportPersonJobResponsibilities(id,response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.personnel.dto.PersonPersonnelCapacityDto;
import com.ruoyi.personnel.pojo.PersonPersonnelCapacity;
import com.ruoyi.personnel.service.PersonPersonnelCapacityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.catalina.security.SecurityUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
/**
 * <p>
 * äººå‘˜èƒ½åŠ› å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-10 11:26:18
 */
@Api(tags = "人员 - äººå‘˜èƒ½åŠ›")
@RestController
@RequestMapping("/personPersonnelCapacity")
public class PersonPersonnelCapacityController {
    @Autowired
    private PersonPersonnelCapacityService personPersonnelCapacityService;
    @ApiOperation(value = "新增/更新 äººå‘˜èƒ½åŠ›")
    @PostMapping("addOrUpdatePersonPersonnelCapacity")
    public Result<?> addOrUpdatePersonPersonnelCapacity(@RequestBody PersonPersonnelCapacity personPersonnelCapacity) {
        personPersonnelCapacityService.saveOrUpdate(personPersonnelCapacity);
        return Result.success();
    }
    @ApiOperation(value = "删除 äººå‘˜èƒ½åŠ›")
    @DeleteMapping("deletePersonPersonnelCapacity")
    public Result<?> deletePersonPersonnelCapacity(@RequestParam("id") Integer id) {
        // åˆ é™¤æ•°æ®
        personPersonnelCapacityService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "查询 äººå‘˜èƒ½åŠ›")
    @GetMapping("personPersonnelCapacityPage")
    public Result<IPage<PersonPersonnelCapacityDto>> personPersonnelCapacityPage(Page page,
                                                                                 Integer departmentId,
                                                                                 Integer userId,
                                                                                 String userName) {
        return Result.success(personPersonnelCapacityService.personPersonnelCapacityPage(page, departmentId, userId, userName));
    }
    @ApiOperation(value = "确认 äººå‘˜èƒ½åŠ›")
    @PostMapping("confirmPersonnelCapability")
    public Result<?> confirmPersonnelCapability(@RequestParam("id") Integer id) {
        Integer userId = SecurityUtils.getUserId().intValue();
        personPersonnelCapacityService.update(Wrappers.<PersonPersonnelCapacity>lambdaUpdate()
                .eq(PersonPersonnelCapacity::getId, id)
                .set(PersonPersonnelCapacity::getConfirmOperatingPersonnelId, userId)
                .set(PersonPersonnelCapacity::getConfirmDate, LocalDateTime.now()));
        return Result.success();
    }
    /**
     * å¯¼å‡ºäººå‘˜èƒ½åŠ›
     * @return
     */
    @ApiOperation(value = "导出人员能力")
    @GetMapping("/exportPersonnelCapacity")
    public void exportPersonnelCapacity(Integer id, HttpServletResponse response){
        personPersonnelCapacityService.exportPersonnelCapacity(id, response);
    }
    /**
     * äººå‘˜èƒ½åŠ›ç¡®è®¤
     * @return
     */
    @ApiOperation(value = "人员能力确认")
    @GetMapping("/confirmPersonnelCapacity")
    public Result<?> confirmPersonnelCapacity(Integer id){
        return Result.success(personPersonnelCapacityService.confirmPersonnelCapacity(id));
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.FileSaveUtil;
import com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto;
import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord;
import com.ruoyi.personnel.service.PersonPostAuthorizationRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
 * <p>
 * ä»»èŒæŽˆæƒè®°å½• å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-09 10:48:17
 */
@Api(tags = "人员 - ä»»èŒæŽˆæƒè®°å½•")
@RestController
@RequestMapping("/personPostAuthorizationRecord")
public class PersonPostAuthorizationRecordController {
    @Autowired
    private PersonPostAuthorizationRecordService personPostAuthorizationRecordService;
    @ApiOperation(value = "新增/更新 ä»»èŒæŽˆæƒè®°å½•")
    @PostMapping("addOrUpdatePersonPostAuthorizationRecord")
    public Result<?> addOrUpdatePersonPostAuthorizationRecord(@RequestBody PersonPostAuthorizationRecord personRewardPunishmentRecord) {
        personPostAuthorizationRecordService.saveOrUpdate(personRewardPunishmentRecord);
        return Result.success();
    }
    @ApiOperation(value = "删除 ä»»èŒæŽˆæƒè®°å½•")
    @DeleteMapping("deletePersonPostAuthorizationRecord")
    public Result<?> deletePersonPostAuthorizationRecord(@RequestParam("id") Integer id) {
        // åˆ é™¤æ–‡ä»¶
        PersonPostAuthorizationRecord postAuthorizationRecord = personPostAuthorizationRecordService.getById(id);
        FileSaveUtil.DeleteFile(postAuthorizationRecord.getSystemFileName());
        // åˆ é™¤æ•°æ®
        personPostAuthorizationRecordService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "查询 ä»»èŒæŽˆæƒè®°å½•")
    @GetMapping("PersonPostAuthorizationRecordPage")
    public Result<IPage<PersonPostAuthorizationRecordDto>> PersonPostAuthorizationRecordPage(Page page,
                                                                                             Integer departLimsId,
                                                                                             Integer userId,
                                                                                             String userName) {
        return Result.success(personPostAuthorizationRecordService.personPostAuthorizationRecordPage(page, departLimsId, userId, userName));
    }
    @ApiOperation(value = "导出岗位职业资格证书")
    @GetMapping("/exportPersonPostAuthorizationRecord")
    public void exportPersonPostAuthorizationRecord(Integer id, HttpServletResponse response){
        personPostAuthorizationRecordService.exportPersonPostAuthorizationRecord(id,response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package com.ruoyi.personnel.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto;
import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
 * <p>
 * å¥–惩记录 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-08 11:25:02
 */
@Api(tags = "人员 - å¥–惩记录")
@RestController
@RequestMapping("/personRewardPunishmentRecord")
public class PersonRewardPunishmentRecordController {
    @Autowired
    private PersonRewardPunishmentRecordService personRewardPunishmentRecordService;
    @ApiOperation(value = "新增/更新 å¥–惩记录")
    @PostMapping("addOrUpdateRewardPunishment")
    public Result<?> PersonTrainingSave(@RequestBody PersonRewardPunishmentRecord personRewardPunishmentRecord) {
        personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord);
        return Result.success();
    }
    @ApiOperation(value = "删除奖惩记录")
    @DeleteMapping("deleteRewardPunishment")
    public Result<?> deleteRewardPunishment(@RequestParam("id") Integer id) {
        personRewardPunishmentRecordService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "查询 å¥–惩记录")
    @GetMapping("rewardPunishmentPage")
    @SneakyThrows
    public Result<IPage<PersonRewardPunishmentRecordDto>> rewardPunishmentPage(Page page,
                                                                               Integer userId,
                                                                               Integer departmentId,
                                                                               String userName,
                                                                               @RequestParam(value = "startTime",required = false) String startTimeStr,
                                                                               @RequestParam(value = "endTime",required = false) String endTimeStr) {
        Date startTime = null;
        Date endTime = null;
        if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            startTime = formatter.parse(startTimeStr);
            endTime = formatter.parse(endTimeStr);
        }
        return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId));
    }
    @ApiOperation(value = "奖惩记录导出")
    @GetMapping("rewardPunishmentExport")
    public void rewardPunishmentExport(Integer userId,
                                       Integer departmentId,
                                       String userName,
                                       @RequestParam(value = "startTime",required = false) String startTimeStr,
                                       @RequestParam(value = "endTime",required = false) String endTimeStr,
                                       HttpServletResponse response) throws Exception {
        Date startTime = null;
        Date endTime = null;
        if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            startTime = formatter.parse(startTimeStr);
            endTime = formatter.parse(endTimeStr);
        }
        List<PersonRewardPunishmentRecordExcel> data = personRewardPunishmentRecordService.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime);
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setHeader("requestType", "excel");
        response.setHeader("Access-Control-Expose-Headers", "requestType");
        // è®¾ç½®å•元格样式
        // ä¿å­˜åˆ°ç¬¬ä¸€ä¸ªsheet中
        EasyExcel.write(response.getOutputStream())
                .head(PersonRewardPunishmentRecordExcel.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // è‡ªé€‚应列宽
                .sheet()
                .doWrite(data);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonSupervisionRecordDto;
import com.ruoyi.personnel.pojo.PersonSupervisionControlSheet;
import com.ruoyi.personnel.pojo.PersonSupervisionProcessingSheet;
import com.ruoyi.personnel.pojo.PersonSupervisionRecord;
import com.ruoyi.personnel.service.PersonSupervisionControlSheetService;
import com.ruoyi.personnel.service.PersonSupervisionProcessingSheetService;
import com.ruoyi.personnel.service.PersonSupervisionRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.List;
/**
 * <p>
 * ç›‘督记录 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-10 04:16:49
 */
@Api(tags = "人员 - ç›‘督记录")
@RestController
@RequestMapping("/personSupervisionRecord")
public class PersonSupervisionRecordController {
    @Autowired
    private PersonSupervisionRecordService personSupervisionRecordService;
    @Autowired
    private PersonSupervisionControlSheetService personSupervisionControlSheetService;
    @Autowired
    private PersonSupervisionProcessingSheetService personSupervisionProcessingSheetService;
    @ApiOperation(value = "新增/更新 ç›‘督记录")
    @PostMapping("addOrUpdatePersonSupervisionRecord")
    public Result<?> addOrUpdatePersonSupervisionRecord(@RequestBody PersonSupervisionRecord personSupervisionRecord) {
        personSupervisionRecordService.saveOrUpdate(personSupervisionRecord);
        return Result.success();
    }
    @ApiOperation(value = "批量删除 ç›‘督记录")
    @ApiImplicitParam(name = "ids", dataType = "array", allowMultiple = true, paramType = "query")
    @DeleteMapping("deletePersonSupervisionRecord")
    public Result<?> deletePersonSupervisionRecord(@RequestParam("ids") List<Integer> ids) {
        personSupervisionRecordService.deletePersonSupervisionRecord(ids);
        return Result.success();
    }
    @ApiOperation(value = "查询 ç›‘督记录")
    @GetMapping("personSupervisionRecordPage")
    public Result<IPage<PersonSupervisionRecordDto>> personSupervisionRecordPage(Page page,
                                                                                 Integer userId,
                                                                                 Integer departLimsId,
                                                                                 String userName) {
        return Result.success(personSupervisionRecordService.personSupervisionRecordPage(page, userId, userName, departLimsId));
    }
    @ApiOperation(value = "控制单和处理单 æ˜¯å¦å¯ä»¥æäº¤")
    @GetMapping("isSubmit")
    public Result isSubmit() {
        return Result.success();
    }
    @ApiOperation(value = "查询 ç›‘督记录 - æŽ§åˆ¶å•")
    @GetMapping("personSupervisionControlSheetPage")
    public Result<?> personSupervisionControlSheetPage(Integer id) {
        PersonSupervisionControlSheet byId = personSupervisionControlSheetService.getOne(Wrappers.<PersonSupervisionControlSheet>lambdaQuery()
                .eq(PersonSupervisionControlSheet::getSupervisionRecordId, id));
        if (ObjectUtils.isEmpty(byId)) {
            return Result.fail(202);
        } else {
            return Result.success(byId);
        }
    }
    @ApiOperation(value = "查询 ç›‘督记录 - å¤„理单")
    @GetMapping("personSupervisionProcessingPage")
    public Result<?> personSupervisionProcessingPage(Integer id) {
        PersonSupervisionProcessingSheet byId = personSupervisionProcessingSheetService.getOne(Wrappers.<PersonSupervisionProcessingSheet>lambdaQuery()
                .eq(PersonSupervisionProcessingSheet::getSupervisionRecordId, id));
        if (ObjectUtils.isEmpty(byId)) {
            return Result.fail(202);
        } else {
            return Result.success(byId);
        }
    }
    @ApiOperation(value = "新增/更新 ç›‘督记录 - æŽ§åˆ¶å•")
    @PostMapping("addOrUpdatePersonSupervisionControl")
    public Result<?> addOrUpdatePersonSupervisionControl(@RequestBody PersonSupervisionControlSheet personSupervisionControlSheet) {
        PersonSupervisionControlSheet supervisionControlSheet = personSupervisionControlSheetService.getOne(Wrappers.<PersonSupervisionControlSheet>lambdaQuery()
                .eq(PersonSupervisionControlSheet::getSupervisionRecordId, personSupervisionControlSheet.getSupervisionRecordId()));
        personSupervisionControlSheet.setCreateTime(LocalDate.now());
        if (ObjectUtils.isEmpty(supervisionControlSheet)) {
            personSupervisionControlSheetService.save(personSupervisionControlSheet);
        } else {
            personSupervisionControlSheetService.updateById(personSupervisionControlSheet);
        }
        return Result.success();
    }
    @ApiOperation(value = "新增/更新 ç›‘督记录 - å¤„理单")
    @PostMapping("addOrUpdatePersonnelServiceProcessing")
    public Result<?> addOrUpdatePersonnelServiceProcessing(@RequestBody PersonSupervisionProcessingSheet personSupervisionProcessingSheet) {
        PersonSupervisionProcessingSheet processingSheetServiceOne = personSupervisionProcessingSheetService.getOne(Wrappers.<PersonSupervisionProcessingSheet>lambdaQuery()
                .eq(PersonSupervisionProcessingSheet::getSupervisionRecordId, personSupervisionProcessingSheet.getSupervisionRecordId()));
        if (ObjectUtils.isEmpty(processingSheetServiceOne)) {
            personSupervisionProcessingSheetService.save(personSupervisionProcessingSheet);
        } else {
            personSupervisionProcessingSheetService.updateById(personSupervisionProcessingSheet);
        }
        return Result.success();
    }
    /**
     * å¯¼å‡ºäººå‘˜ç›‘督记录
     * @return
     */
    @ApiOperation(value = "导出人员监督记录")
    @GetMapping("/exportPersonSupervisionRecord")
    public void exportPersonSupervisionRecord(Integer id, HttpServletResponse response){
        personSupervisionRecordService.exportPersonSupervisionRecord(id, response);
    }
    /**
     * å¯¼å‡ºäººå‘˜ç›‘督记录纠正控制单
     * @return
     */
    @ApiOperation(value = "导出人员监督记录纠正控制单")
    @GetMapping("/exportSupervisionControlSheet")
    public void exportSupervisionControlSheet(Integer supervisionRecordId, HttpServletResponse response){
        personSupervisionControlSheetService.exportSupervisionControlSheet(supervisionRecordId, response);
    }
    /**
     * å¯¼å‡ºäººå‘˜ç›‘督记录纠正处理单
     * @return
     */
    @ApiOperation(value = "导出人员监督记录纠正处理单")
    @GetMapping("/exportSupervisionProcessingSheet")
    public void exportSupervisionProcessingSheet(Integer supervisionRecordId, HttpServletResponse response){
        personSupervisionProcessingSheetService.exportSupervisionProcessingSheet(supervisionRecordId, response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrackRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.ruoyi.personnel.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.personnel.pojo.PersonTrackRecord;
import com.ruoyi.personnel.service.PersonTrackRecordService;
import com.ruoyi.system.mapper.UserMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * <p>
 * å·¥ä½œå±¥åކ å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-09-02 03:13:03
 */
@Api(tags = "人员 - å·¥ä½œå±¥åކ")
@RestController
@AllArgsConstructor
@RequestMapping("/personTrackRecord")
public class PersonTrackRecordController {
    @Autowired
    private PersonTrackRecordService personTrackRecordService;
    private UserMapper userMapper;
    @ApiOperation(value = "新增工作履历")
    @PostMapping("personTrackRecordSave")
    public Result<?> personTrackRecordSave(@RequestBody PersonTrackRecord personTrackRecord) {
        Integer userId = SecurityUtils.getUserId().intValue();
        User user = userMapper.selectById(userId);
        personTrackRecord.setCreateUser(user.getName());
        personTrackRecordService.save(personTrackRecord);
        return Result.success();
    }
    @ApiOperation(value = "删除工作履历")
    @DeleteMapping("personTrackRecordDelete")
    public Result<?> personTrackRecordDelete(@RequestParam("id") Integer id) {
        personTrackRecordService.removeById(id);
        return Result.success();
    }
    @ApiOperation(value = "工作履历更新")
    @PostMapping("personTrackRecordUpdate")
    public Result<?> personTrackRecordUpdate(@RequestBody PersonTrackRecord personTrackRecord) {
        personTrackRecordService.updateById(personTrackRecord);
        return Result.success();
    }
    @ApiOperation(value = "查询工作履历")
    @GetMapping("personTrackRecordSelect")
    public Result<IPage<PersonTrackRecord>> personTrackRecordSelect(Page page, String userId, String departmentId) {
        IPage<PersonTrackRecord> iPage = personTrackRecordService.personTrackRecordSelect(page, userId, departmentId);
        return Result.success(iPage);
    }
    @ApiOperation(value = "工作履历导出")
    @GetMapping("personTrackRecordExport")
    public void personTrackRecordExport(HttpServletResponse response, String userId, String departmentId) throws Exception {
        List<PersonTrackRecord> data = personTrackRecordService.personTrackRecordExport(userId, departmentId);
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setHeader("requestType", "excel");
        response.setHeader("Access-Control-Expose-Headers", "requestType");
        // è®¾ç½®å•元格样式
        // ä¿å­˜åˆ°ç¬¬ä¸€ä¸ªsheet中
        EasyExcel.write(response.getOutputStream())
                .head(PersonTrackRecord.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // è‡ªé€‚应列宽
                .sheet()
                .doWrite(data);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,272 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.personnel.dto.*;
import com.ruoyi.personnel.pojo.PersonTraining;
import com.ruoyi.personnel.pojo.PersonTrainingDetailed;
import com.ruoyi.personnel.pojo.PersonTrainingRecord;
import com.ruoyi.personnel.service.PersonTrainingDetailedService;
import com.ruoyi.personnel.service.PersonTrainingRecordService;
import com.ruoyi.personnel.service.PersonTrainingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
/**
 * <p>
 * åŸ¹è®­è®¡åˆ’ å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-11 01:11:49
 */
@Api(tags = "人员 - åŸ¹è®­è®¡åˆ’")
@RestController
@RequestMapping("/personTraining")
public class PersonTrainingController {
    @Autowired
    private PersonTrainingService personTrainingService;
    @Autowired
    private PersonTrainingDetailedService personTrainingDetailedService;
    @Autowired
    private PersonTrainingRecordService personTrainingRecordService;
    @Resource
    private NumberGenerator<PersonTrainingDetailed> numberGenerator;
    @ApiOperation(value = "培训计划 å¯¼å…¥")
    @PostMapping("personTrainingImport")
    public Result<?> personTrainingImport(@RequestPart("file") MultipartFile file) {
        personTrainingService.personTrainingImport(file);
        return Result.success();
    }
    @ApiOperation(value = "培训计划 åˆ é™¤")
    @DeleteMapping("personTrainingDelete")
    public Result<?> personTrainingDelete(@RequestParam("id") Integer id) {
        personTrainingService.personTrainingDelete(id);
        return Result.success();
    }
    @ApiOperation(value = "培训计划 æŸ¥è¯¢")
    @GetMapping("personTrainingSelect")
    public Result<IPage<PersonTrainingDto>> personTrainingSelect(Page page, String compilerName, Integer departmentId) {
        IPage<PersonTrainingDto> iPage = personTrainingService.personTrainingSelect(page, compilerName, departmentId);
        return Result.success(iPage);
    }
    @ApiOperation(value = "培训计划 å¹´åº¦è®¡åˆ’明细表 åˆ é™¤")
    @DeleteMapping("/deleteDetail")
    public Result<?> deleteDetail( Integer id) {
        personTrainingService.deleteDetail(id);
        return Result.success();
    }
    @ApiOperation(value = "年度培训计划 å®¡æ ¸")
    @PostMapping("reviewAnnualPersonnelTraining")
    public Result<?> reviewAnnualPersonnelTraining(@RequestBody PersonTrainingUpdateDto personTrainingUpdateDto) {
        personTrainingService.reviewAnnualPersonnelTraining(personTrainingUpdateDto);
        return Result.success();
    }
    @ApiOperation(value = "培训计划 æ‰¹å‡†")
    @PostMapping("approveAnnualPersonnelTraining")
    public Result<?> approveAnnualPersonnelTraining(@RequestBody PersonTrainingUpdateDto personTrainingUpdateDto) {
        personTrainingService.approveAnnualPersonnelTraining(personTrainingUpdateDto);
        return Result.success();
    }
    @ApiOperation(value = "年度计划明细表 æ–°å¢ž/编辑")
    @PostMapping("addOrUpdatePersonTrainingDetailed")
    public Result<?> addOrUpdatePersonTrainingDetailed(@RequestBody PersonTrainingDetailed personTrainingDetailed) {
        if (ObjectUtils.isEmpty(personTrainingDetailed.getId())) {
            personTrainingDetailed.setState(3);
            String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date());
            String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date());
            String processNumber = numberGenerator.generateNumberWithPrefix(4, "KC" + month + "-" + year + month, PersonTrainingDetailed::getCourseCode);
            personTrainingDetailed.setCourseCode(processNumber);
        }
        // å¦‚果是新增 å¹´åº¦è®¡åˆ’表需要重新审核、批准
        if(Objects.isNull(personTrainingDetailed.getId())) {
            PersonTraining byId = personTrainingService.getById(personTrainingDetailed.getPlanId());
            personTrainingService.update(new LambdaUpdateWrapper<PersonTraining>()
                    .set(PersonTraining::getReviewerId,null)
                    .set(PersonTraining::getAuditDate,null)
                    .set(PersonTraining::getReviewerStatus,null)
                    .set(PersonTraining::getApproverId,null)
                    .set(PersonTraining::getApprovalStatus,null)
                    .set(PersonTraining::getApprovalDate,null)
                    .eq(PersonTraining::getId,byId.getId()));
        }
        // å¦‚果时间已经到了,那么状态就要改为已结束
        LocalDateTime now = LocalDateTime.now();
        String trainingDateTwo = personTrainingDetailed.getTrainingDateTwo(); // æ—¥æœŸ
        String endTime = personTrainingDetailed.getEndTime(); // ç»“束时间
        LocalDateTime parse = LocalDateTime.parse(trainingDateTwo + "T" + endTime);
        if(now.isAfter(parse)) {
            personTrainingDetailed.setState(4);
        }
        personTrainingDetailedService.saveOrUpdate(personTrainingDetailed);
        return Result.success();
    }
    @ApiOperation(value = "年度计划明细表 æ‰¹é‡åˆ é™¤")
    @DeleteMapping("deleteAnnualPlanDetailTable")
    public Result<?> deleteAnnualPlanDetailTable(@RequestParam("ids") String ids) {
        personTrainingDetailedService.deleteAnnualPlanDetailTable(ids);
        return Result.success();
    }
    @ApiOperation(value = "年度计划明细表 æŸ¥è¯¢")
    @GetMapping("queryTheAnnualPlanDetailsTable")
    public Result<IPage<PersonTrainingDetailedDto>> queryTheAnnualPlanDetailsTable(Page page,
                                                                                   String trainingLecturerName, String courseCode,
                                                                                   String trainingDate, String id, Integer userId,
                                                                                   Integer departId,
                                                                                   Integer state) {
        Integer planId = 0;
        if(id.equals("null") || StringUtils.isEmpty(id)) {
            planId = null;
        } else {
            planId = Integer.parseInt(id);
        }
        IPage<PersonTrainingDetailedDto> iPage = personTrainingDetailedService.queryTheAnnualPlanDetailsTable(page,
                trainingLecturerName, courseCode, trainingDate, planId, userId,departId,state);
        return Result.success(iPage);
    }
    @ApiOperation(value = "年度计划明细表-结果明细-文件上传")
    @PostMapping("/fileUpload")
    public Result<?> fileUpload(@RequestParam MultipartFile file,@RequestParam Integer id) {
        return Result.success(personTrainingDetailedService.fileUpload(file,id));
    }
    @ApiOperation(value = "查看所有部门")
    @GetMapping("/selectDepartLims")
    public Result<?> selectDepartLims() {
        return Result.success(personTrainingDetailedService.selectDepartLims());
    }
    @ApiOperation(value = "培训与考核记录 æŸ¥è¯¢")
    @GetMapping("trainingAndAssessmentRecordsPage")
    public Result<List<PersonTrainingRecordDto>> trainingAndAssessmentRecordsPage(Integer trainingDetailedId,
                                                                                  String userName) {
        List<PersonTrainingRecordDto> list = personTrainingRecordService.trainingAndAssessmentRecordsPage(trainingDetailedId, userName);
        return Result.success(list);
    }
    @ApiOperation(value = "培训与考核记录 æ–°å¢žäººå‘˜")
    @PostMapping("newPersonnelAddedToTrainingRecords")
    public Result<?> newPersonnelAddedToTrainingRecords(@RequestBody List<PersonTrainingRecord> personTrainingRecord) {
        personTrainingRecordService.saveBatch(personTrainingRecord);
        return Result.success();
    }
    @ApiOperation(value = "培训与考核记录 è®¤é¢†")
    @PostMapping("claimOfTrainingAndAssessmentRecords")
    public Result<?> claimOfTrainingAndAssessmentRecords(@RequestParam("claimAndClaim") Boolean claimAndClaim,
                                                         @RequestParam("courseId") Integer courseId) {
        personTrainingRecordService.claimOfTrainingAndAssessmentRecords(claimAndClaim, courseId);
        return Result.success();
    }
    @ApiOperation(value = "培训与考核记录 æäº¤/撤销")
    @PostMapping("trainingAndAssessmentRecordsAdded")
    public Result<?> trainingAndAssessmentRecordsAdded(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) {
        personTrainingDetailedService.update(Wrappers.<PersonTrainingDetailed>lambdaUpdate()
                .eq(PersonTrainingDetailed::getId, personTrainingRecordSubmitDto.getTrainingDetailedId())
                .set(PersonTrainingDetailed::getAssessmentMethod, personTrainingRecordSubmitDto.getAssessmentMethod())
                .set(PersonTrainingDetailed::getComprehensiveAssessment, personTrainingRecordSubmitDto.getComprehensiveAssessment())
                .set(PersonTrainingDetailed::getAssessmentUserId, personTrainingRecordSubmitDto.getAssessmentUserId())
                .set(PersonTrainingDetailed::getAssessmentDate, personTrainingRecordSubmitDto.getAssessmentDate())
                .set(PersonTrainingDetailed::getState, personTrainingRecordSubmitDto.getState())
                .set(PersonTrainingDetailed::getTrainingAbstract,personTrainingRecordSubmitDto.getTrainingAbstract()));
        return Result.success();
    }
    @ApiOperation(value = "培训与考核记录 åˆ é™¤")
    @DeleteMapping("deleteTrainingAndAssessmentRecords")
    public Result<?> deleteTrainingAndAssessmentRecords(@RequestParam("ids") String ids) {
        personTrainingRecordService.deleteTrainingAndAssessmentRecords(ids);
        return Result.success();
    }
    @PostMapping("outOfFocusPreservation")
    public Result<?> outOfFocusPreservation(@RequestBody PersonTrainingRecord personTrainingRecord) {
        personTrainingRecordService.outOfFocusPreservation(personTrainingRecord);
        return Result.success();
    }
    /**
     * å¯¼å‡ºäººå‘˜åŸ¹è®­è®¡åˆ’
     * @return
     */
    @ApiOperation(value = "导出人员培训计划")
    @GetMapping("/exportPersonTraining")
    public void exportPersonTraining(Integer id, HttpServletResponse response){
        personTrainingService.exportPersonTraining(id, response);
    }
    /**
     * å¯¼å‡ºäººå‘˜åŸ¹è®­ä¸Žè€ƒæ ¸è®°å½•
     * @return
     */
    @ApiOperation(value = "导出人员培训与考核记录")
    @GetMapping("/exportPersonTrainingRecord")
    public void exportPersonTrainingRecord(Integer id, HttpServletResponse response){
        personTrainingService.exportPersonTrainingRecord(id, response);
    }
    /**
     * å¹´åº¦è®¡åˆ’明细表 é™„件查询
     */
    @GetMapping("/getFileData")
    @ApiOperation(value = "附件查询")
    public Result<?> getFileData(Integer detailedId) {
        return Result.success(personTrainingDetailedService.getFileData(detailedId));
    }
    /**
     * å¹´åº¦è®¡åˆ’明细表 é™„件删除
     */
    @DeleteMapping("/deleteFile")
    @ApiOperation(value = "附件删除")
    public Result<?> deleteFile(Integer id) {
        personTrainingDetailedService.deleteFile(id);
        return Result.success();
    }
    /**
     * é™„件下载
     */
    @ApiOperation(value = "附件下载")
    @GetMapping("/fileDownLoad")
    public Result<?> fileDownLoad(Integer id,HttpServletResponse response) {
        personTrainingDetailedService.fileDownLoad(id,response);
        return Result.success();
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonTrainingRecordListDto;
import com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto;
import com.ruoyi.personnel.service.PersonTrainingRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
 * <p>
 * åŸ¹è®­è®¡åˆ’ å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2024-10-11 01:11:49
 */
@Api(tags = "人员 - åŸ¹è®­è®°å½•")
@RestController
@RequestMapping("/personTrainingRecord")
public class PersonTrainingRecordController {
    @Autowired
    private PersonTrainingRecordService personTrainingRecordService;
    @ApiOperation(value = "查询人员 åŸ¹è®­è®°å½•")
    @GetMapping("trainingSelectTrainingRecord")
    public Result<IPage<PersonTrainingRecordListDto>> trainingSelectTrainingRecord(Page page, String userName, Integer userId, Integer departmentId) {
        IPage<PersonTrainingRecordListDto> iPage = personTrainingRecordService.personnelTrainingPersonnel(page, userName, userId, departmentId);
        return Result.success(iPage);
    }
    @ApiOperation(value = "查询人员明细 åŸ¹è®­è®°å½•")
    @GetMapping("queryPersonnelDetails")
    public Result<IPage<TrainingRecordPersonDetailedDto>> queryPersonnelDetails(Page page, Integer userId, Integer trainingDate) {
//        IPage<TrainingRecordPersonDetailedDto> iPage = personTrainingRecordService.queryPersonnelDetails(page, userId);
        IPage<TrainingRecordPersonDetailedDto> iPage = personTrainingRecordService.queryPersonnelDetailsOfUserIdAndYear(page, userId, trainingDate); // æ–°å¢žæ ¹æ®å¹´ä»½æŸ¥è¯¢
        return Result.success(iPage);
    }
    /**
     * å¯¼å‡ºäººå‘˜åŸ¹è®­è®°å½•
     * @return
     */
    @ApiOperation(value = "导出人员培训记录")
    @GetMapping("/exportTrainingRecord")
    public void exportTrainingRecord(Integer userId, Integer trainingDate, HttpServletResponse response){
//        personTrainingRecordService.exportTrainingRecord(userId, response);
        personTrainingRecordService.exportTrainingRecordAddTrainingDate(userId, trainingDate, response);// æ–°å¢žæ ¹æ®å¹´ä»½æŸ¥è¯¢
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/SuperVisePlanController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,136 @@
package com.ruoyi.personnel.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.personnel.dto.PersonSupervisePlanDetailsDto;
import com.ruoyi.personnel.dto.PersonSupervisePlanDto;
import com.ruoyi.personnel.pojo.PersonSupervisePlan;
import com.ruoyi.personnel.pojo.PersonSupervisePlanDetails;
import com.ruoyi.personnel.service.PersonSupervisePlanDetailsService;
import com.ruoyi.personnel.service.PersonSupervisePlanService;
import com.ruoyi.system.mapper.UserMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.Map;
/**
 * <p>
 * ç›‘管计划 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author tangbowen
 * @since 2024-09-29 11:13:25
 */
@Api(tags = "人员 - ç›‘督计划")
@AllArgsConstructor
@RestController
@RequestMapping("/superVisePlan")
public class SuperVisePlanController {
    private PersonSupervisePlanDetailsService personSupervisePlanDetailsService;
    private PersonSupervisePlanService personSupervisePlanService;
    private UserMapper userMapper;
    @ApiOperation(value = "查询 å¹´åº¦è®¡åˆ’")
    @GetMapping("/yearPlanList")
    public Result<IPage<PersonSupervisePlanDto>> yearPlanList(Integer size, Integer current, @RequestParam(value = "organizationPerson",required = false) String organizationPerson, Integer departId) {
        if(departId.equals(1)) {
            departId = null;
        }
       return Result.success(personSupervisePlanService.yearPlanDtoIPage(new Page<>(current, size), organizationPerson,departId));
    }
    @ApiOperation(value = "批准 å¹´åº¦è®¡åˆ’")
    @PostMapping("/yearPlanDetailApproval")
    public Result yearPlanDetailApproval(@RequestBody Map<String,Object> map ) {
        Integer id = (Integer)map.get("id");
        Integer approvalStatus =(Integer) map.get("approvalStatus");
        PersonSupervisePlan byId = personSupervisePlanService.getById(id);
        // é€šä¿¡çš„为许军 ç”µåŠ›çš„æ˜¯åˆ˜å»ºå¾·
        Integer approvalId = null;
        Integer departId = byId.getDepartId();
        if(departId.equals(18)) {
            approvalId = 11;
        } else if (departId.equals(19)) {
            approvalId = 35;
        }
        personSupervisePlanService.update(Wrappers.<PersonSupervisePlan>lambdaUpdate()
                .eq(PersonSupervisePlan::getId, id)
                .set(PersonSupervisePlan::getApprovalStatus, approvalStatus)
                .set(PersonSupervisePlan::getApprovalId,approvalId)
                .set(PersonSupervisePlan::getApprovalDate, LocalDateTime.now()));
        return Result.success("更新成功");
    }
    @ApiOperation(value = "删除 å¹´åº¦è®¡åˆ’")
    @DeleteMapping("/yearPlanDel")
    public Result yearPlanDel(String id) {
        personSupervisePlanService.removeById(id);
        // å¯¹åº”的年度计划详情也需删除
        personSupervisePlanDetailsService.remove(Wrappers.<PersonSupervisePlanDetails>lambdaQuery()
                .eq(PersonSupervisePlanDetails::getPlanId, id));
        return Result.success();
    }
    @ApiOperation(value = "查询 å¹´åº¦è®¡åˆ’详情")
    @GetMapping("/yearPlanDetailList")
    public Result<IPage<PersonSupervisePlanDetailsDto>> yearPlanDetailList(Page page,
                                                                           Integer planId,
                                                                           @RequestParam(value = "date",required = false) String date,
                                                                           @RequestParam(value = "project",required = false) String project) {
        return Result.success(personSupervisePlanDetailsService.yearPlanDetailPage(page, date,project, planId));
    }
    /**
     * å¯èƒ½æ˜¯excel ä¹Ÿå¯èƒ½æ˜¯word
     * @param file
     * @param suffix æ–‡ä»¶åŽç¼€
     * @return
     */
    @ApiOperation(value = "导入 å¹´åº¦è®¡åˆ’")
    @PostMapping("/yearPlanDetailImport")
    public Result yearPlanDetailImport(@RequestParam("file") MultipartFile file,@RequestParam("suffix")String suffix) {
        personSupervisePlanService.yearPlanDetailImport(file,suffix);
        return Result.success();
    }
    @ApiOperation(value = "删除 å¹´åº¦è®¡åˆ’详情")
    @DeleteMapping("/yearPlanDetailDel")
    public Result yearPlanDetailDel(String id) {
        return Result.success(personSupervisePlanDetailsService.removeById(id));
    }
    @ApiOperation(value = "新增 å¹´åº¦è®¡åˆ’详情")
    @PostMapping("/yearPlanDetailAdd")
    public Result yearPlanDetailAdd(@RequestBody PersonSupervisePlanDetails personSupervisePlanDetails) {
        personSupervisePlanDetailsService.save(personSupervisePlanDetails);
        return Result.success();
    }
    @ApiOperation(value = "编辑 å¹´åº¦è®¡åˆ’详情")
    @PostMapping("/yearPlanDetailEdit")
    public Result yearPlanDetailEdit(@RequestBody PersonSupervisePlanDetails personSupervisePlanDetails) {
        personSupervisePlanDetailsService.updateById(personSupervisePlanDetails);
        return Result.success("保存成功");
    }
    /**
     * å¯¼å‡ºäººå‘˜ç›‘督计划
     * @return
     */
    @ApiOperation(value = "导出人员监督计划")
    @GetMapping("/exportSuperVisePlan")
    public void exportSuperVisePlan(Integer id, HttpServletResponse response){
        personSupervisePlanService.exportSuperVisePlan(id, response);
    }
}
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonSupervisePlanServiceImpl.java
@@ -44,6 +44,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
@@ -68,13 +70,15 @@
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
@AllArgsConstructor
public class PersonSupervisePlanServiceImpl extends ServiceImpl<PersonSupervisePlanMapper, PersonSupervisePlan> implements PersonSupervisePlanService {
    @Resource
    private PersonSupervisePlanDetailsService personSupervisePlanDetailsService;
    @Resource
    private PersonSupervisePlanDetailsMapper personSupervisePlanDetailsMapper;
    @Resource
    private PersonSupervisionRecordMapper personSupervisionRecordMapper;
    @Value("${file.path}")
cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java
@@ -35,6 +35,7 @@
    @Resource
    private ProcessComplainMapper processComplainMapper;
// todo :检验样品和报告模块搬迁之后放开
//    @Resource
//    private InsReportMapper insReportMapper;
//
cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodVerifyServiceImpl.java
@@ -289,7 +289,6 @@
        // å°†å†…部字段转换成展示到word中的对象
        ProcessMethodVerifyExportWordDto exportWordTemplate = getExportWordTemplate(processMethodVerify);
        // TODO:导出标准方法更新验证获取人员签名列表未设置
        // èŽ·å–äººå‘˜id字符串 å¦‚:1,2,3,4,5
        String confirmUser = processMethodVerify.getConfirmUser();
        // å¯¹äººå‘˜id字符串进行分割成数组
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -115,7 +115,7 @@
    @GetMapping("temporaryInterface")
    public void temporaryInterface() {
        System.out.println("开始给每个人进行排班,默认早班======start");
        // TODO ç»™æ¯ä¸ªäººéƒ½è¿›è¡ŒæŽ’班(默认早班)
        // ç»™æ¯ä¸ªäººéƒ½è¿›è¡ŒæŽ’班(默认早班)
        PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto();
        //班次--早(查询字典)
        List<SysDictData> shiftType = dictTypeService.selectDictDataByName("班次类型");
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -33,7 +33,7 @@
    private HeaderToken headerToken;
    /**
     * todo:  type : 1: èŽ·å–æ£€æµ‹äººå‘˜ä¿¡æ¯
     *type : 1: èŽ·å–æ£€æµ‹äººå‘˜ä¿¡æ¯
     type : 2: èŽ·å–å½“å‰éƒ¨é—¨(实验室人员)
     * @param user
     * @param type