| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.SimpleVersionGenerateUtil; |
| | | import org.jeecg.modules.eam.base.entity.BaseFactory; |
| | | import org.jeecg.modules.eam.base.entity.BaseFactoryUser; |
| | | import org.jeecg.modules.eam.base.service.IBaseFactoryService; |
| | | import org.jeecg.modules.eam.base.service.IBaseFactoryUserService; |
| | | import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; |
| | | import org.jeecg.modules.system.entity.BaseFactory; |
| | | import org.jeecg.modules.system.entity.BaseFactoryUser; |
| | | import org.jeecg.modules.system.service.IBaseFactoryService; |
| | | import org.jeecg.modules.system.service.IBaseFactoryUserService; |
| | | import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationCheckCategoryEnum; |
| | | import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationStandardEnum; |
| | | import org.jeecg.modules.eam.entity.EamMaintenanceStandard; |
| | | import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; |
| | | import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; |
| | | import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; |
| | | import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationStandardMapper; |
| | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean addEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request) { |
| | | if(!CommonConstant.STATUS_1.equals(request.getHasOtherCheck()) && !CommonConstant.STATUS_1.equals(request.getHasSafetyEquipmentCheck()) && !CommonConstant.STATUS_1.equals(request.getHasPrecisionCheck())) { |
| | | //必须要选择一个检查分类 |
| | | throw new JeecgBootException("必须要选择一个检查分类!"); |
| | | } |
| | | EamTechnicalStatusEvaluationStandard entity = new EamTechnicalStatusEvaluationStandard(); |
| | | BeanUtils.copyProperties(request, entity); |
| | | entity.setStandardStatus(TechnicalStatusEvaluationStandardEnum.WAIT_SUBMIT.name()); |
| | |
| | | request.getTableDetailList().forEach(tableDetail -> { |
| | | tableDetail.setStandardId(entity.getId()); |
| | | }); |
| | | standardDetailService.saveBatch(request.getTableDetailList()); |
| | | //根据分类判断是否保存 |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasOtherCheck())) { |
| | | //保存其他分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("其他检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasSafetyEquipmentCheck())) { |
| | | //保存安全装置分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("安全装置检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasPrecisionCheck())) { |
| | | //保存精度检验分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("精度检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean editEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request) { |
| | | if(!CommonConstant.STATUS_1.equals(request.getHasOtherCheck()) && !CommonConstant.STATUS_1.equals(request.getHasSafetyEquipmentCheck()) && !CommonConstant.STATUS_1.equals(request.getHasPrecisionCheck())) { |
| | | //必须要选择一个检查分类 |
| | | throw new JeecgBootException("必须要选择一个检查分类!"); |
| | | } |
| | | EamTechnicalStatusEvaluationStandard entity = this.getBaseMapper().selectById(request.getId()); |
| | | if(entity == null){ |
| | | throw new JeecgBootException("编辑的数据已删除,请刷新重试!"); |
| | | } |
| | | entity.setStandardName(request.getStandardName()); |
| | | entity.setEvaluationPeriod(request.getEvaluationPeriod()); |
| | | entity.setHasOtherCheck(request.getHasOtherCheck()); |
| | | entity.setHasPrecisionCheck(request.getHasPrecisionCheck()); |
| | | entity.setHasSafetyEquipmentCheck(request.getHasSafetyEquipmentCheck()); |
| | | entity.setRemark(request.getRemark()); |
| | | this.getBaseMapper().updateById(entity); |
| | | //处理详情 |
| | | if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { |
| | | List<EamTechnicalStatusEvaluationStandardDetail> addList = new ArrayList<>(); |
| | | List<EamTechnicalStatusEvaluationStandardDetail> updateList = new ArrayList<>(); |
| | | //先删除检查项 |
| | | standardDetailService.removeByStandardId(entity.getId()); |
| | | request.getTableDetailList().forEach(tableDetail -> { |
| | | tableDetail.setStandardId(entity.getId()); |
| | | if(tableDetail.getId() == null){ |
| | | addList.add(tableDetail); |
| | | }else { |
| | | updateList.add(tableDetail); |
| | | } |
| | | }); |
| | | if(CollectionUtil.isNotEmpty(addList)){ |
| | | standardDetailService.saveBatch(addList); |
| | | //根据分类判断是否保存 |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasOtherCheck())) { |
| | | //保存其他分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("其他检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CollectionUtil.isNotEmpty(updateList)){ |
| | | standardDetailService.updateBatchById(updateList); |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasSafetyEquipmentCheck())) { |
| | | //保存安全装置分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("安全装置检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasPrecisionCheck())) { |
| | | //保存精度检验分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("精度检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | } |
| | | if(CollectionUtil.isNotEmpty(request.getRemoveDetailList())) { |
| | | List<String> ids = request.getRemoveDetailList().stream().map(EamTechnicalStatusEvaluationStandardDetail::getId).collect(Collectors.toList()); |
| | | standardDetailService.removeBatchByIds(ids); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean upgrade(EamTechnicalStatusEvaluationStandardRequest request) { |
| | | if(!CommonConstant.STATUS_1.equals(request.getHasOtherCheck()) && !CommonConstant.STATUS_1.equals(request.getHasSafetyEquipmentCheck()) && !CommonConstant.STATUS_1.equals(request.getHasPrecisionCheck())) { |
| | | //必须要选择一个检查分类 |
| | | throw new JeecgBootException("必须要选择一个检查分类!"); |
| | | } |
| | | EamTechnicalStatusEvaluationStandard entity = this.getBaseMapper().selectById(request.getId()); |
| | | if(entity == null){ |
| | | throw new JeecgBootException("升版的数据已删除,请刷新重试!"); |
| | | } |
| | | |
| | | //新增一个版本 |
| | | EamTechnicalStatusEvaluationStandard newEntity = new EamTechnicalStatusEvaluationStandard(); |
| | | newEntity.setStandardCode(request.getStandardCode()); |
| | | newEntity.setStandardName(request.getStandardName()); |
| | | newEntity.setEvaluationPeriod(request.getEvaluationPeriod()); |
| | | newEntity.setStandardStatus(TechnicalStatusEvaluationStandardEnum.ENABLE.name()); |
| | | //版本递增 |
| | | newEntity.setStandardVersion(SimpleVersionGenerateUtil.addVersion(entity.getStandardVersion())); |
| | | //设备处理 |
| | | newEntity.setEquipmentId(request.getEquipmentId()); |
| | | newEntity.setHasOtherCheck(request.getHasOtherCheck()); |
| | | newEntity.setHasPrecisionCheck(request.getHasPrecisionCheck()); |
| | | newEntity.setHasSafetyEquipmentCheck(request.getHasSafetyEquipmentCheck()); |
| | | //删除标记 |
| | | newEntity.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | newEntity.setRemark(request.getRemark()); |
| | | //重复性校验 |
| | | EamTechnicalStatusEvaluationStandard exist = checkDuplicate(newEntity.getEquipmentId(), entity.getId()); |
| | | if(exist != null){ |
| | | throw new JeecgBootException("鉴定规范已存在,不能重复添加!"); |
| | | } |
| | | this.getBaseMapper().insert(newEntity); |
| | | //处理明细数据 |
| | | if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { |
| | | request.getTableDetailList().forEach(tableDetail -> { |
| | | tableDetail.setId(null); |
| | | tableDetail.setCreateBy(null); |
| | | tableDetail.setUpdateBy(null); |
| | | tableDetail.setCreateTime(null); |
| | | tableDetail.setUpdateTime(null); |
| | | tableDetail.setStandardId(newEntity.getId()); |
| | | }); |
| | | //根据分类判断是否保存 |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasOtherCheck())) { |
| | | //保存其他分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("其他检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasSafetyEquipmentCheck())) { |
| | | //保存安全装置分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("安全装置检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | if(CommonConstant.STATUS_1.equals(entity.getHasPrecisionCheck())) { |
| | | //保存精度检验分类 |
| | | List<EamTechnicalStatusEvaluationStandardDetail> collect = request.getTableDetailList().stream().filter(item -> TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name().equals(item.getCheckCategory())).collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(collect)) { |
| | | throw new JeecgBootException("精度检查明细不能为空!"); |
| | | } |
| | | standardDetailService.saveBatch(collect); |
| | | } |
| | | } |
| | | //禁用原来的版本 |
| | | entity.setStandardStatus(TechnicalStatusEvaluationStandardEnum.DISABLE.name()); |
| | | this.getBaseMapper().updateById(entity); |
| | | return true; |
| | | } |
| | | } |