From deba25af7b2a6fefce0e477782274ffd600abac8 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 06 五月 2025 10:38:18 +0800 Subject: [PATCH] art: 设备管理-点检-设备台账状态变更,点检流程更新设备保养状态 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 37 insertions(+), 13 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java index 6a381ad..e79f405 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java @@ -18,8 +18,13 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; +import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum; import org.jeecg.modules.eam.constant.InspectionStatus; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamInspectionOrder; @@ -27,10 +32,7 @@ import org.jeecg.modules.eam.mapper.EamInspectionOrderMapper; import org.jeecg.modules.eam.request.EamInspectionOrderQuery; import org.jeecg.modules.eam.request.EamInspectionOrderRequest; -import org.jeecg.modules.eam.service.IEamEquipmentService; -import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService; -import org.jeecg.modules.eam.service.IEamInspectionOrderService; -import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.eam.service.*; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; @@ -79,6 +81,8 @@ private IMdcUserProductionService mdcUserProductionService; @Autowired private IEamReportRepairService eamReportRepairService; + @Autowired + private IEamEquipmentExtendService eamEquipmentExtendService; @Override public IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, EamInspectionOrderQuery query) { @@ -176,6 +180,8 @@ } if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) { triggerProcess(eamInspectionOrder); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(eamInspectionOrder.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_INSPECTION.name()); } return true; } @@ -215,11 +221,15 @@ @Override + @Transactional(rollbackFor = {Exception.class}) public boolean editInspectionOrder(EamInspectionOrderRequest eamInspectionOrderRequest) { EamInspectionOrder eamInspectionOrder = new EamInspectionOrder(); BeanUtils.copyProperties(eamInspectionOrderRequest, eamInspectionOrder); if (StrUtil.isNotEmpty(eamInspectionOrder.getOperator())) { eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); + triggerProcess(eamInspectionOrder); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(eamInspectionOrder.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_INSPECTION.name()); } super.updateById(eamInspectionOrder); //澶勭悊鏄庣粏鏁版嵁 @@ -242,8 +252,12 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public boolean takeInspectionOrder(String id) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(user == null || !BusinessCodeConst.PCR0001.equals(user.getPost())) { + throw new JeecgBootException("涓嶆槸鎿嶄綔宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒"); + } EamInspectionOrder eamInspectionOrder = this.getById(id); if (eamInspectionOrder == null) { return false; @@ -253,6 +267,8 @@ eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); this.triggerProcess(eamInspectionOrder); this.updateById(eamInspectionOrder); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(eamInspectionOrder.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_INSPECTION.name()); return true; } } @@ -281,40 +297,42 @@ * @return */ @Override - public Result<?> inspectionProcess(EamInspectionOrderRequest eamInspectionOrderRequest) { + @Transactional(rollbackFor = Exception.class) + @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.POINT_INSPECTION, businessTable = "eam_inspection_order") + public EamInspectionOrder inspectionProcess(EamInspectionOrderRequest eamInspectionOrderRequest) { try { // 妫�鏌ヨ姹傚弬鏁� if (!isValidRequest(eamInspectionOrderRequest)) { - return Result.error("闈炴硶鍙傛暟"); + throw new JeecgBootException("闈炴硶鍙傛暟"); } // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 LoginUser user = getCurrentUser(); if (user == null || StrUtil.isBlank(user.getId())) { - return Result.error("璐﹀彿涓嶅瓨鍦�"); + throw new JeecgBootException("璐﹀彿涓嶅瓨鍦�"); } eamInspectionOrderRequest.setAssignee(user.getUsername()); // 鑾峰彇鐐规宸ュ崟淇℃伅 EamInspectionOrder eamInspectionOrder = getEamInspectionOrder(eamInspectionOrderRequest.getDataId()); if (eamInspectionOrder == null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); + throw new JeecgBootException("鏈壘鍒板搴旀暟鎹�"); } // 鑾峰彇娴佺▼涓氬姟璁板綍 FlowMyBusiness flowMyBusiness = getFlowMyBusiness(eamInspectionOrderRequest.getInstanceId()); if (flowMyBusiness == null) { - return Result.error("娴佺▼璁板綍涓嶅瓨鍦�"); + throw new JeecgBootException("娴佺▼璁板綍涓嶅瓨鍦�"); } // 妫�鏌ョ敤鎴锋槸鍚︽湁鏉冮檺鎿嶄綔浠诲姟 if (!isUserAuthorized(flowMyBusiness, user)) { - return Result.error("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔�"); + throw new JeecgBootException("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔�"); } // 璁ら浠诲姟 if (!claimTask(flowMyBusiness.getTaskId(), user)) { - return Result.error("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰�"); + throw new JeecgBootException("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰�"); } // 璁剧疆娴佺▼鍙橀噺 @@ -334,9 +352,9 @@ updateEamInspectionOrderDetail(eamInspectionOrder); } - return Result.OK("鎿嶄綔鎴愬姛"); + return eamInspectionOrder; } catch (Exception e) { - return Result.error("鎿嶄綔澶辫触锛�" + e.getMessage()); + throw new JeecgBootException("鎿嶄綔澶辫触锛�" + e.getMessage()); } } @@ -436,6 +454,8 @@ } eamInspectionOrderDetailService.remove(new QueryWrapper<EamInspectionOrderDetail>().eq("order_id", order.getId())); eamInspectionOrderDetailService.saveBatch(request.getTableDetailList()); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.INSPECTION_CONFIRM.name()); } else if (InspectionStatus.WAIT_CONFIRM.name().equals(order.getInspectionStatus()) && StrUtil.isNotEmpty(request.getConfirmDealType())) { // 鐝粍闀跨‘璁や换鍔� order.setInspectionStatus(InspectionStatus.COMPLETE.name()); @@ -443,6 +463,8 @@ order.setConfirmComment(request.getConfirmComment()); order.setConfirmDealType(request.getConfirmDealType()); order.setConfirmTime(new Date()); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name()); } } } @@ -488,6 +510,8 @@ if (InspectionStatus.UNDER_INSPECTION.name().equals(type)) { eamInspectionOrder.setOperator(loginUser.getUsername()); this.triggerProcess(eamInspectionOrder); + //鏇存柊璁惧淇濆吇鐘舵�� + eamEquipmentExtendService.updateEquipmentInspectionStatus(eamInspectionOrder.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_INSPECTION.name()); } else { eamInspectionOrder.setOperator(null); } -- Gitblit v1.9.3