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 (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);
|
}
|
}
|