From 2196ba833d88c32dd0e26b526928d313cfea0d80 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 12 八月 2025 19:23:25 +0800 Subject: [PATCH] update --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 100 insertions(+), 11 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index e80c43f..a1e1fd8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -3,8 +3,10 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -22,15 +24,13 @@ import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; -import org.jeecg.modules.eam.entity.EamBaseHFCode; -import org.jeecg.modules.eam.entity.EamEquipment; -import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; -import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; +import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; -import org.jeecg.modules.eam.request.EamInspectionOrderRequest; +import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery; import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest; import org.jeecg.modules.eam.service.*; +import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo; 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; @@ -41,6 +41,7 @@ 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.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.BeanUtils; @@ -49,6 +50,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -91,6 +93,10 @@ private IEamBaseHFCodeService eamBaseHFCodeService; @Resource private IEamThirdMaintenanceOrderDetailService eamThirdMaintenanceOrderDetailService; + @Resource + private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService; + @Resource + private ISysDictService sysDictService; @Override public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) { @@ -268,7 +274,7 @@ eamThirdMaintenanceOrderMapper.updateById(entity); //鍚姩娴佺▼ - flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode() + (equipment.getInstallationPosition() == null ? "" : ";瀹夎浣嶇疆: " + equipment.getInstallationPosition()), + flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode(), entity.getId(), "IEamThirdMaintenanceOrderService", "third_maintenance_process", null); Map<String, Object> variables = new HashMap<>(); variables.put("dataId", entity.getId()); @@ -342,6 +348,7 @@ /** * 鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅 + * * @param id * @return */ @@ -360,6 +367,80 @@ return Result.ok(eamThirdMaintenanceRequestList); } + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateMaintenanceStatus(String orderId, String maintenanceStatus) { + LambdaUpdateWrapper<EamThirdMaintenanceOrder> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(EamThirdMaintenanceOrder::getId, orderId); + updateWrapper.set(EamThirdMaintenanceOrder::getMaintenanceStatus, maintenanceStatus); + updateWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0); + updateWrapper.in(EamThirdMaintenanceOrder::getMaintenanceStatus, Arrays.asList(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name(), ThirdMaintenanceStatusEnum.FREEZE.name())); + int update = this.getBaseMapper().update(null, updateWrapper); + return update > 0; + } + + @Override + public List<EamThirdMaintenanceOrder> selectWaitMaintenanceOrderList() { + LambdaQueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamThirdMaintenanceOrder::getMaintenanceStatus, ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name()); + queryWrapper.isNotNull(EamThirdMaintenanceOrder::getFreezeOrderDate); + queryWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0); + LocalDate localDate = LocalDate.now(); + queryWrapper.lt(EamThirdMaintenanceOrder::getFreezeOrderDate, localDate.toString()); + return this.getBaseMapper().selectList(queryWrapper); + } + + @Override + public List<EamThirdMaintenanceOrder> selectUnCompletedThirdMaintenanceOrderList() { + LambdaQueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>(); + List<String> statusList = Arrays.asList(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name(), + ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE.name(), + ThirdMaintenanceStatusEnum.WAIT_CHECK.name(), + ThirdMaintenanceStatusEnum.UNDER_FIRST_ACCEPTANCE.name(), + ThirdMaintenanceStatusEnum.UNDER_SECOND_ACCEPTANCE.name(), + ThirdMaintenanceStatusEnum.OPERATOR_SIGNATURE.name(), + ThirdMaintenanceStatusEnum.REPAIRMAN_SIGNATURE.name(), + ThirdMaintenanceStatusEnum.REPAIR_MANAGER_SIGNATURE.name(), + ThirdMaintenanceStatusEnum.INSPECTOR_SIGNATURE.name(), + ThirdMaintenanceStatusEnum.FREEZE.name() + ); + queryWrapper.in(EamThirdMaintenanceOrder::getMaintenanceStatus, statusList); + queryWrapper.isNotNull(EamThirdMaintenanceOrder::getOrderExpirationDate); + queryWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0); + LocalDate localDate = LocalDate.now(); + queryWrapper.lt(EamThirdMaintenanceOrder::getOrderExpirationDate, localDate.toString()); + return this.getBaseMapper().selectList(queryWrapper); + } + + /** + * 鑾峰彇宸ュ崟鍩烘湰淇℃伅 + * + * @param id 宸ュ崟id + * @return + */ + @Override + public JSONObject exportThirdMaintenanceOrderBaseInfo(String id) { + // 鍒涘缓缁撴灉瀵硅薄 + JSONObject result = new JSONObject(); + EamThirdMaintenanceBaseResponse eamThirdMaintenanceBaseResponse = eamThirdMaintenanceOrderMapper.findThirdMaintenanceBaseInfo(id); + if (eamThirdMaintenanceBaseResponse == null) { + return result; + } + eamThirdMaintenanceBaseResponse.setOperatorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getOperatorSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantOperator()); + eamThirdMaintenanceBaseResponse.setRepairmanSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairmanSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantRepairman()); + eamThirdMaintenanceBaseResponse.setRepairManagerSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairManagerSignature())); + eamThirdMaintenanceBaseResponse.setInspectorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getInspectorSignature())); + eamThirdMaintenanceBaseResponse.setEquipmentCategory(sysDictService.queryDictTextByKey("equipment_category", eamThirdMaintenanceBaseResponse.getEquipmentCategory())); + //妫�鏌ヤ汉鍜屾鏌ユ椂闂� + EamThirdMaintenanceBaseVo vo = eamThirdMaintenanceOrderDetailService.selectCreatByAndTimeByOrderId(id); + if (vo != null) { + eamThirdMaintenanceBaseResponse.setCreateBy(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", vo.getOperateBy())); + eamThirdMaintenanceBaseResponse.setCreateTime(vo.getOperateTime()); + } + result.put("data",Collections.singletonList(eamThirdMaintenanceBaseResponse)); + return result; + } + /** * 璁剧疆娴佺▼鍙橀噺 */ @@ -375,7 +456,7 @@ values.put("dataId", order.getId()); values.put("organization", "鎶�鏈姸鎬侀壌瀹氱粨鏉�"); values.put("comment", "鎶�鏈姸鎬侀壌瀹氱粨鏉�"); - if (CommonConstant.YN_O.equals(request.getFullyFunctional()) && CommonConstant.YN_O.equals(request.getRunningNormally())) { + if (CommonConstant.YN_1.equals(request.getFullyFunctional()) && CommonConstant.YN_1.equals(request.getRunningNormally())) { values.put("confirmation", "1"); // 鑾峰彇涓嬩竴姝ユ墽琛屼汉 userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002); @@ -384,12 +465,12 @@ } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); - request.setComment("妫�鏌ヤ汉妫�鏌ョ粨鏉�"); //鏇存柊璁惧淇濆吇鐘舵�� eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name()); } else { values.put("confirmation", "2"); } + request.setComment("妫�鏌ヤ汉妫�鏌ョ粨鏉�"); break; case UNDER_MAINTENANCE: // 淇濆吇缁撴潫 @@ -397,9 +478,9 @@ values.put("organization", "淇濆吇浜轰繚鍏荤粨鏉�"); values.put("comment", "淇濆吇浜轰繚鍏荤粨鏉�"); // 鑾峰彇涓嬩竴姝ユ墽琛屼汉 - userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002); + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0003); if (CollectionUtil.isEmpty(userSelectors)) { - throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨宸ワ紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧妫�楠屽憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); @@ -522,7 +603,7 @@ order.setFullyFunctional(request.getFullyFunctional()); order.setRunningNormally(request.getRunningNormally()); order.setInspectTime(new Date()); - if (CommonConstant.YN_O.equals(request.getFullyFunctional()) && CommonConstant.YN_O.equals(request.getRunningNormally())) { + if (CommonConstant.YN_1.equals(request.getFullyFunctional()) && CommonConstant.YN_1.equals(request.getRunningNormally())) { // 閴村畾閫氳繃 order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); } else { @@ -540,6 +621,14 @@ // 涓変繚鏄庣粏澶勭悊 eamThirdMaintenanceOrderDetailService.remove(new LambdaQueryWrapper<EamThirdMaintenanceOrderDetail>().eq(EamThirdMaintenanceOrderDetail::getOrderId, order.getId())); eamThirdMaintenanceOrderDetailService.saveBatch(request.getTableDetailList()); + // 涓変繚澶囦欢鏄庣粏澶勭悊 + if (request.getTableSpareList() != null && !request.getTableSpareList().isEmpty()) { + List<EamThirdMaintenanceSpare> tableSpareList = request.getTableSpareList(); + tableSpareList.forEach(eamThirdMaintenanceSpare -> { + eamThirdMaintenanceSpare.setOrderId(request.getId()); + }); + eamThirdMaintenanceSpareService.saveBatch(tableSpareList); + } break; case UNDER_FIRST_ACCEPTANCE: // 绗竴娆¢獙鏀剁粨鏉� -- Gitblit v1.9.3