From 05a54025b1ae843f9d21a4450ec05c9e420e7f24 Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期四, 28 九月 2023 10:47:37 +0800
Subject: [PATCH] bug修改

---
 exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java |  336 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 336 insertions(+), 0 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
new file mode 100644
index 0000000..8547dca
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
@@ -0,0 +1,336 @@
+package com.gkhy.exam.coalmine.service.impl;
+
+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.*;
+import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService;
+import com.gkhy.exam.noncoalmine.service.WorkRegistrationService;
+import com.ruoyi.common.constant.ResultConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
+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;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 10:48
+ */
+@Service
+public class CmStaffManagerServiceImpl implements CmStaffManagerService {
+
+    @Resource
+    private CmStaffService cmStaffService;
+
+    @Resource
+    private CmStaffTrainService cmStaffTrainService;
+
+    @Resource
+    private SysOperateTypeService sysOperateTypeService;
+
+    @Resource
+    private CmStaffResumeService cmStaffResumeService;
+
+    @Resource
+    private CmStaffExamService cmStaffExamService;
+
+    @Resource
+    private CmStaffQaService cmStaffQaService;
+
+    @Resource
+    private AttachmentInfoService attachmentInfoService;
+
+    @Resource
+    private ViolationRegistrationService violationRegistrationService;
+
+    @Resource
+    private WorkRegistrationService workRegistrationService;
+
+    @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());
+        boolean save = cmStaffService.save(cmStaff);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增失败");
+        return AjaxResult.success("新增成功");
+    }
+
+    @Override
+    public AjaxResult saveCmStaffResume(CmStaffResumeAddReqDTO reqDTO) {
+        CmStaffResume cmStaffResume = new CmStaffResume();
+        BeanUtils.copyProperties(reqDTO,cmStaffResume);
+        cmStaffResume.setDelFlag(DeleteStatusEnum.NO.getStatus());
+        boolean save = cmStaffResumeService.save(cmStaffResume);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增履历失败");
+        return AjaxResult.success("新增履历成功");
+    }
+
+    @Override
+    public AjaxResult deleteCmStaffResume(Long id) {
+        CmStaffResume cmStaffResume = cmStaffResumeService.getValidById(id);
+        if (cmStaffResume == null)
+            return AjaxResult.success("删除履历成功");
+        cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
+        boolean save = cmStaffResumeService.updateById(cmStaffResume);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
+        return AjaxResult.success("删除履历成功");
+    }
+
+    @Override
+    public AjaxResult updateCmStaffResume(CmStaffResumeUpdateReqDTO reqDTO) {
+        CmStaffResume cmStaffResume = cmStaffResumeService.getValidById(reqDTO.getId());
+        if (cmStaffResume == null)
+            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+        BeanUtils.copyProperties(reqDTO,cmStaffResume,"id");
+        boolean save = cmStaffResumeService.updateById(cmStaffResume);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
+        return AjaxResult.success("删除履历成功");
+    }
+
+    @Override
+    public AjaxResult saveCmStaffTrain(CmStaffTrainAddReqDTO reqDTO) {
+        CmStaffTrain cmStaffTrain = new CmStaffTrain();
+        BeanUtils.copyProperties(reqDTO,cmStaffTrain);
+        cmStaffTrain.setDelFlag(DeleteStatusEnum.NO.getStatus());
+        boolean save = cmStaffTrainService.save(cmStaffTrain);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增培训经历失败");
+        return AjaxResult.success("新增培训经历成功");
+    }
+
+    @Override
+    public AjaxResult deleteCmStaffTrain(Long id) {
+        CmStaffTrain cmStaffTrain = cmStaffTrainService.getValidById(id);
+        if (cmStaffTrain == null)
+            return AjaxResult.success("删除培训经历成功");
+        cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
+        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除培训经历失败");
+        return AjaxResult.success("删除培训经历成功");
+    }
+
+    @Override
+    public AjaxResult updateCmStaffTrain(CmStaffTrainUpdateReqDTO reqDTO) {
+        CmStaffTrain cmStaffTrain = cmStaffTrainService.getValidById(reqDTO.getId());
+        if (cmStaffTrain == null)
+            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+        BeanUtils.copyProperties(reqDTO,cmStaffTrain,"id");
+        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改培训经历失败");
+        return AjaxResult.success("修改培训经历成功");
+    }
+
+    @Override
+    public AjaxResult saveCmStaffExam(CmStaffExamAddReqDTO reqDTO) {
+        CmStaffExam cmStaffExam = new CmStaffExam();
+        BeanUtils.copyProperties(reqDTO,cmStaffExam);
+        cmStaffExam.setDelFlag(DeleteStatusEnum.NO.getStatus());
+        boolean save = cmStaffExamService.save(cmStaffExam);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增考试经历失败");
+        return AjaxResult.success("新增考试经历成功");
+    }
+
+    @Override
+    public AjaxResult deleteCmStaffExam(Long id) {
+        CmStaffExam cmStaffExam = cmStaffExamService.getValidById(id);
+        if (cmStaffExam == null)
+            return AjaxResult.success("删除考试经历成功");
+        cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
+        boolean save = cmStaffExamService.updateById(cmStaffExam);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除考试经历失败");
+        return AjaxResult.success("删除考试经历成功");
+    }
+
+    @Override
+    public AjaxResult updateCmStaffExam(CmStaffExamUpdateReqDTO reqDTO) {
+        CmStaffExam cmStaffExam = cmStaffExamService.getValidById(reqDTO.getId());
+        if (cmStaffExam == null)
+            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+        BeanUtils.copyProperties(reqDTO,cmStaffExam,"id");
+        boolean save = cmStaffExamService.updateById(cmStaffExam);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改考试经历失败");
+        return AjaxResult.success("修改考试经历成功");
+    }
+
+    @Override
+    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)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增资格证书失败");
+        return AjaxResult.success("新增资格证书成功");
+    }
+
+    @Override
+    public AjaxResult deleteCmStaffQa(Long id) {
+        CmStaffQa cmStaffQa = cmStaffQaService.getValidById(id);
+        if (cmStaffQa == null)
+            return AjaxResult.success("删除资格证书成功");
+        cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
+        boolean save = cmStaffQaService.updateById(cmStaffQa);
+        if (!save)
+            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除资格证书失败");
+        return AjaxResult.success("删除资格证书成功");
+    }
+
+    @Override
+    public AjaxResult updateCmStaffQa(CmStaffQaUpdateReqDTO reqDTO) {
+        CmStaffQa cmStaffQa = cmStaffQaService.getValidById(reqDTO.getId());
+        if (cmStaffQa == null)
+            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+        BeanUtils.copyProperties(reqDTO,cmStaffQa,"id");
+        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("修改资格证书成功");
+    }
+
+    @Override
+    public List<CmStaffPageRespDTO> selectPage() {
+        LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus());
+        List<CmStaff> cmStaffs = cmStaffService.list(wrapper);
+        if (CollectionUtils.isEmpty(cmStaffs)){
+            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));
+            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 dto;
+        }).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 (wrapper == 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