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