From 3aae8ddd5b9624626921abdcc33122dccdcd5c61 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期五, 27 十二月 2024 13:24:46 +0800
Subject: [PATCH] 修改学时证书接收接口

---
 exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java |  125 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 116 insertions(+), 9 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
index d45b56a..31359d1 100644
--- a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.gkhy.exam.coalmine.entity.*;
 import com.gkhy.exam.coalmine.model.dto.req.*;
+import com.gkhy.exam.coalmine.model.dto.resp.CmStaffByCodeRespDTO;
 import com.gkhy.exam.coalmine.model.dto.resp.CmStaffPageRespDTO;
 import com.gkhy.exam.coalmine.service.CmStaffManagerService;
 import com.gkhy.exam.coalmine.service.baseService.*;
@@ -13,11 +14,15 @@
 import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
 import com.ruoyi.common.exception.BusinessException;
 import com.ruoyi.file.service.AttachmentInfoService;
+import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO;
+import com.ruoyi.system.service.SysOperateTypeService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -34,6 +39,9 @@
 
     @Resource
     private CmStaffTrainService cmStaffTrainService;
+
+    @Resource
+    private SysOperateTypeService sysOperateTypeService;
 
     @Resource
     private CmStaffResumeService cmStaffResumeService;
@@ -55,6 +63,9 @@
 
     @Override
     public AjaxResult saveCmStaff(CmStaffAddReqDTO reqDTO) {
+        CmStaff staff = cmStaffService.selectByCode(reqDTO.getCode());
+        if (staff != null)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"该身份证人员已存在");
         CmStaff cmStaff = new CmStaff();
         BeanUtils.copyProperties(reqDTO,cmStaff);
         cmStaff.setDelFlag(DeleteStatusEnum.NO.getStatus());
@@ -81,7 +92,7 @@
         if (cmStaffResume == null)
             return AjaxResult.success("删除履历成功");
         cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
-        boolean save = cmStaffResumeService.save(cmStaffResume);
+        boolean save = cmStaffResumeService.updateById(cmStaffResume);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
         return AjaxResult.success("删除履历成功");
@@ -93,7 +104,7 @@
         if (cmStaffResume == null)
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
         BeanUtils.copyProperties(reqDTO,cmStaffResume,"id");
-        boolean save = cmStaffResumeService.save(cmStaffResume);
+        boolean save = cmStaffResumeService.updateById(cmStaffResume);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
         return AjaxResult.success("删除履历成功");
@@ -116,7 +127,7 @@
         if (cmStaffTrain == null)
             return AjaxResult.success("删除培训经历成功");
         cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
-        boolean save = cmStaffTrainService.save(cmStaffTrain);
+        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除培训经历失败");
         return AjaxResult.success("删除培训经历成功");
@@ -128,7 +139,7 @@
         if (cmStaffTrain == null)
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
         BeanUtils.copyProperties(reqDTO,cmStaffTrain,"id");
-        boolean save = cmStaffTrainService.save(cmStaffTrain);
+        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改培训经历失败");
         return AjaxResult.success("修改培训经历成功");
@@ -151,7 +162,7 @@
         if (cmStaffExam == null)
             return AjaxResult.success("删除考试经历成功");
         cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
-        boolean save = cmStaffExamService.save(cmStaffExam);
+        boolean save = cmStaffExamService.updateById(cmStaffExam);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除考试经历失败");
         return AjaxResult.success("删除考试经历成功");
@@ -163,7 +174,7 @@
         if (cmStaffExam == null)
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
         BeanUtils.copyProperties(reqDTO,cmStaffExam,"id");
-        boolean save = cmStaffExamService.save(cmStaffExam);
+        boolean save = cmStaffExamService.updateById(cmStaffExam);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改考试经历失败");
         return AjaxResult.success("修改考试经历成功");
@@ -173,6 +184,10 @@
     public AjaxResult saveCmStaffQa(CmStaffQaAddReqDTO reqDTO) {
         CmStaffQa cmStaffQa = new CmStaffQa();
         BeanUtils.copyProperties(reqDTO,cmStaffQa);
+        SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(reqDTO.getOperateTypeId());
+        if (operateTypeWholeName == null)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"作业与操作类型不存在");
+        BeanUtils.copyProperties(operateTypeWholeName,cmStaffQa);
         cmStaffQa.setDelFlag(DeleteStatusEnum.NO.getStatus());
         boolean save = cmStaffQaService.save(cmStaffQa);
         if (!save)
@@ -186,7 +201,7 @@
         if (cmStaffQa == null)
             return AjaxResult.success("删除资格证书成功");
         cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
-        boolean save = cmStaffQaService.save(cmStaffQa);
+        boolean save = cmStaffQaService.updateById(cmStaffQa);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除资格证书失败");
         return AjaxResult.success("删除资格证书成功");
@@ -198,7 +213,11 @@
         if (cmStaffQa == null)
             throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
         BeanUtils.copyProperties(reqDTO,cmStaffQa,"id");
-        boolean save = cmStaffQaService.save(cmStaffQa);
+        SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(reqDTO.getOperateTypeId());
+        if (operateTypeWholeName == null)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"作业与操作类型不存在");
+        BeanUtils.copyProperties(operateTypeWholeName,cmStaffQa);
+        boolean save = cmStaffQaService.updateById(cmStaffQa);
         if (!save)
             throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改资格证书失败");
         return AjaxResult.success("修改资格证书成功");
@@ -210,10 +229,11 @@
         wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus());
         List<CmStaff> cmStaffs = cmStaffService.list(wrapper);
         if (CollectionUtils.isEmpty(cmStaffs)){
-            return null;
+            return new ArrayList<>();
         }
         List<CmStaffPageRespDTO> dtos = cmStaffs.stream().map(cmStaff -> {
             CmStaffPageRespDTO dto = new CmStaffPageRespDTO();
+            BeanUtils.copyProperties(cmStaff,dto);
             Long id = cmStaff.getId();
             dto.setPhotoAttachment(attachmentInfoService.getById(cmStaff.getPhotoAttachment()));
             dto.setWorkRegistrationVOS(workRegistrationService.getByIdCard(cmStaff.getCode(), (byte) 0));
@@ -226,4 +246,91 @@
         }).collect(Collectors.toList());
         return dtos;
     }
+
+    @Override
+    public AjaxResult editCmStaff(CmStaffUpdateReqDTO reqDTO) {
+        CmStaff staff = cmStaffService.selectByCode(reqDTO.getCode());
+        if (staff != null && staff.getId() != reqDTO.getId())
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"该身份证人员已存在");
+        BeanUtils.copyProperties(reqDTO,staff);
+        boolean save = cmStaffService.updateById(staff);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改失败");
+        return AjaxResult.success("修改成功");
+    }
+
+    @Override
+    @Transactional
+    public AjaxResult deleteCmStaff(Long id) {
+        CmStaff cmStaff = cmStaffService.getValidById(id);
+        if (cmStaff == null)
+            return AjaxResult.success("删除成功");
+        cmStaff.setDelFlag(DeleteStatusEnum.YES.getStatus());
+        boolean result = cmStaffService.updateById(cmStaff);
+        if (!result)
+            return AjaxResult.success("删除失败");
+        List<CmStaffExam> cmStaffExams = cmStaffExamService.listValid(id);
+        if (!CollectionUtils.isEmpty(cmStaffExams)){
+            cmStaffExams = cmStaffExams.stream().map(cmStaffExam -> {
+                cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
+                return cmStaffExam;
+            }).collect(Collectors.toList());
+            boolean cmStaffExamResult = cmStaffExamService.updateBatchById(cmStaffExams);
+            if (!cmStaffExamResult)
+                return AjaxResult.success("删除失败");
+        }
+        List<CmStaffQa> cmStaffQas = cmStaffQaService.listValid(id);
+        if (!CollectionUtils.isEmpty(cmStaffQas)){
+            cmStaffQas = cmStaffQas.stream().map(cmStaffQa -> {
+                cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
+                return cmStaffQa;
+            }).collect(Collectors.toList());
+            boolean cmStaffQaResult = cmStaffQaService.updateBatchById(cmStaffQas);
+            if (!cmStaffQaResult)
+                return AjaxResult.success("删除失败");
+        }
+        List<CmStaffResume> cmStaffResumes = cmStaffResumeService.listValid(id);
+        if (!CollectionUtils.isEmpty(cmStaffResumes)){
+            cmStaffResumes = cmStaffResumes.stream().map(cmStaffResume -> {
+                cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
+                return cmStaffResume;
+            }).collect(Collectors.toList());
+            boolean cmStaffResumeResult = cmStaffResumeService.updateBatchById(cmStaffResumes);
+            if (!cmStaffResumeResult)
+                return AjaxResult.success("删除失败");
+        }
+        List<CmStaffTrain> cmStaffTrains = cmStaffTrainService.listValid(id);
+        if (!CollectionUtils.isEmpty(cmStaffTrains)){
+            cmStaffTrains = cmStaffTrains.stream().map(cmStaffTrain -> {
+                cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
+                return cmStaffTrain;
+            }).collect(Collectors.toList());
+            boolean cmStaffTrainResult = cmStaffTrainService.updateBatchById(cmStaffTrains);
+            if (!cmStaffTrainResult)
+                return AjaxResult.success("删除失败");
+        }
+        return AjaxResult.success("删除成功");
+    }
+
+    @Override
+    public AjaxResult selectByCode(String code) {
+        LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus())
+                .eq(CmStaff::getCode,code);
+        CmStaff cmStaff = cmStaffService.getOne(wrapper);
+        if (cmStaff == null){
+            return AjaxResult.success();
+        }
+        CmStaffByCodeRespDTO dto = new CmStaffByCodeRespDTO();
+        BeanUtils.copyProperties(cmStaff,dto);
+        Long id = cmStaff.getId();
+        dto.setPhotoAttachment(attachmentInfoService.getById(cmStaff.getPhotoAttachment()));
+        dto.setWorkRegistrationVOS(workRegistrationService.getByIdCard(cmStaff.getCode(), (byte) 0));
+        dto.setViolationRegistrationVOS(violationRegistrationService.getByIdCard(cmStaff.getCode(),(byte)0));
+        dto.setCmStaffResumes(cmStaffResumeService.listValid(id));
+        dto.setCmStaffTrains(cmStaffTrainService.listValid(id));
+        dto.setCmStaffExams(cmStaffExamService.listValid(id));
+        dto.setCmStaffQas(cmStaffQaService.listValid(id));
+        return AjaxResult.success(dto);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.2