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.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 org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; 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 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 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.save(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.save(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.save(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.save(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.save(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.save(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); 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.save(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"); boolean save = cmStaffQaService.save(cmStaffQa); if (!save) throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改资格证书失败"); return AjaxResult.success("修改资格证书成功"); } @Override public List selectPage() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus()); List cmStaffs = cmStaffService.list(wrapper); if (CollectionUtils.isEmpty(cmStaffs)){ return null; } List dtos = cmStaffs.stream().map(cmStaff -> { CmStaffPageRespDTO dto = new CmStaffPageRespDTO(); 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; } }