| | |
| | | import org.jeecg.common.constant.DataBaseConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.DateUtils; |
| | | import org.jeecg.common.util.TranslateDictTextUtils; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.eam.constant.BusinessCodeConst; |
| | | import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum; |
| | | import org.jeecg.modules.eam.constant.TechnicalStatusChangeOrderStatusEnum; |
| | | import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderChangeStatusEnum; |
| | | import org.jeecg.modules.eam.entity.EamBaseHFCode; |
| | | import org.jeecg.modules.eam.entity.EamEquipment; |
| | | import org.jeecg.modules.eam.entity.EamTechnicalStatusChange; |
| | | import org.jeecg.modules.eam.constant.*; |
| | | import org.jeecg.modules.eam.entity.*; |
| | | import org.jeecg.modules.eam.mapper.EamTechnicalStatusChangeMapper; |
| | | import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery; |
| | | import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest; |
| | | import org.jeecg.modules.eam.service.IEamBaseHFCodeService; |
| | | import org.jeecg.modules.eam.service.IEamEquipmentService; |
| | | import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeDetailService; |
| | | import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeService; |
| | | import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; |
| | | import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private IFlowTaskService flowTaskService; |
| | | @Autowired |
| | | private TranslateDictTextUtils translateDictTextUtils; |
| | | @Autowired |
| | | private IEamEquipmentExtendService equipmentExtendService; |
| | | @Autowired |
| | | private IEamTechnicalStatusEvaluationStandardService evaluationStandardService; |
| | | @Autowired |
| | | private IEamTechnicalStatusEvaluationOrderService evaluationOrderService; |
| | | |
| | | @Override |
| | | public IPage<EamTechnicalStatusChange> queryPageList(Page<EamTechnicalStatusChange> page, EamTechnicalStatusChangeQuery query) { |
| | |
| | | detail.setCreateTime(null); |
| | | detail.setUpdateBy(null); |
| | | detail.setUpdateTime(null); |
| | | detail.setChangeOrderId(order.getId()); |
| | | }); |
| | | changeDetailService.saveBatch(request.getTableDetailList()); |
| | | return true; |
| | |
| | | detail.setCreateTime(null); |
| | | detail.setUpdateBy(null); |
| | | detail.setUpdateTime(null); |
| | | detail.setChangeOrderId(entity.getId()); |
| | | }); |
| | | changeDetailService.saveBatch(request.getTableDetailList()); |
| | | return true; |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean acceptance(EamTechnicalStatusChangeDetail request) { |
| | | // 获取当前登录用户 |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (user == null || StrUtil.isBlank(user.getId())) { |
| | | throw new JeecgBootException("未获取到登录用户,请重新登录后再试!"); |
| | | } |
| | | EamTechnicalStatusChange order = this.getBaseMapper().selectById(request.getChangeOrderId()); |
| | | if(order == null) { |
| | | throw new JeecgBootException("变更工单不存在,请刷新重试!"); |
| | | } |
| | | if(!TechnicalStatusChangeOrderStatusEnum.COMPLETED.name().equals(order.getChangeStatus())) { |
| | | throw new JeecgBootException("变更工单未完成,无法提交验收!"); |
| | | } |
| | | TechnicalStatusChangeReasonEnum instance = TechnicalStatusChangeReasonEnum.getInstance(request.getChangeCategory()); |
| | | if(instance == null) { |
| | | throw new JeecgBootException("变更原因无效,操作失败!"); |
| | | } |
| | | EamEquipment equipment = equipmentService.getById(request.getEquipmentId()); |
| | | if(equipment == null) { |
| | | throw new JeecgBootException("设备信息不存在,操作失败!"); |
| | | } |
| | | EamEquipmentExtend extend = equipmentExtendService.getById(request.getEquipmentId()); |
| | | if(extend == null) { |
| | | throw new JeecgBootException("设备信息不存在,操作失败!"); |
| | | } |
| | | switch (instance) { |
| | | case EQUIPMENT_MAJOR: |
| | | case EQUIPMENT_RETROFITTING: |
| | | case OTHER: |
| | | //设备大修、改造、其他的逻辑 |
| | | request.setAcceptanceChecker(user.getUsername()); |
| | | request.setAcceptanceCheckTime(new Date()); |
| | | changeDetailService.updateById(request); |
| | | //更新设备技术鉴定状态 |
| | | equipmentExtendService.updateTechnologyParam(request.getEquipmentId(), request.getAcceptanceCheckResult(), DateUtils.localDateToDate(LocalDate.now()), null); |
| | | break; |
| | | case EQUIPMENT_RELOCATION: |
| | | //设备搬迁逻辑 |
| | | request.setAcceptanceChecker(user.getUsername()); |
| | | request.setAcceptanceCheckTime(new Date()); |
| | | request.setAcceptanceCheckResult(null); |
| | | changeDetailService.updateById(request); |
| | | //生成技术状态鉴定工单 |
| | | EamTechnicalStatusEvaluationStandard standard = evaluationStandardService.queryEnableStandard(request.getId()); |
| | | if (standard == null) { |
| | | throw new JeecgBootException("设备:{"+equipment.getEquipmentCode()+"},未配置技术状态鉴定规范,无法生成技术鉴定工单!"); |
| | | } |
| | | EamTechnicalStatusEvaluationOrderRequest orderRequest = new EamTechnicalStatusEvaluationOrderRequest(); |
| | | orderRequest.setEquipmentId(extend.getId()); |
| | | orderRequest.setStandardId(standard.getId()); |
| | | orderRequest.setEvaluationDate(DateUtils.localDateToDate(LocalDate.now())); |
| | | orderRequest.setFreezeOrderDate(null); |
| | | orderRequest.setOrderExpirationDate(null); |
| | | orderRequest.setCreationMethod(OrderCreationMethodEnum.AUTO.name()); |
| | | evaluationOrderService.addTechnicalStatusEvaluationOrder(orderRequest); |
| | | //更新扩展表中的生成标识 |
| | | equipmentExtendService.updateTechnologyParam(equipment.getId(), null, null, CommonConstant.STATUS_1); |
| | | break; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public void afterFlowHandle(FlowMyBusiness business) { |
| | | business.getTaskNameId();//接下来审批的节点 |
| | | business.getValues();//前端传进来的参数 |