From ee530992793ed7d0b7f16f1ce07b6c53ae265068 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 22 七月 2025 13:56:40 +0800 Subject: [PATCH] art: 技术状态变更申请-字典转译 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 78 insertions(+), 11 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java index 2b5aac5..59a3a62 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java @@ -15,22 +15,16 @@ 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; @@ -48,6 +42,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -83,6 +78,12 @@ 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) { @@ -175,6 +176,7 @@ detail.setCreateTime(null); detail.setUpdateBy(null); detail.setUpdateTime(null); + detail.setChangeOrderId(order.getId()); }); changeDetailService.saveBatch(request.getTableDetailList()); return true; @@ -211,6 +213,7 @@ detail.setCreateTime(null); detail.setUpdateBy(null); detail.setUpdateTime(null); + detail.setChangeOrderId(entity.getId()); }); changeDetailService.saveBatch(request.getTableDetailList()); return true; @@ -370,6 +373,70 @@ } @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();//鍓嶇浼犺繘鏉ョ殑鍙傛暟 -- Gitblit v1.9.3