From b538bc3980de0b31aec6500aa900cac8e39a6be7 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 25 七月 2025 14:40:41 +0800
Subject: [PATCH] 真空热处理炉三保

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java
index ced2b3b..d7a068d 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java
@@ -5,11 +5,14 @@
 import com.alibaba.fastjson.JSON;
 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.conditions.update.UpdateWrapper;
 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.ibatis.type.JdbcType;
 import org.apache.shiro.SecurityUtils;
 import org.flowable.engine.TaskService;
 import org.flowable.task.api.Task;
@@ -34,6 +37,7 @@
 import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService;
 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.jeecg.modules.flowable.apithird.service.FlowCommonService;
 import org.jeecg.modules.flowable.service.IFlowDefinitionService;
 import org.jeecg.modules.flowable.service.IFlowTaskService;
@@ -49,6 +53,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.sql.Timestamp;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -58,8 +63,8 @@
  * @Date:   2025-07-11
  * @Version: V1.0
  */
-@Service
-public class EamThirdMaintenanceChangeServiceImpl extends ServiceImpl<EamThirdMaintenanceChangeMapper, EamThirdMaintenanceChange> implements IEamThirdMaintenanceChangeService {
+@Service("IEamThirdMaintenanceChangeService")
+public class EamThirdMaintenanceChangeServiceImpl extends ServiceImpl<EamThirdMaintenanceChangeMapper, EamThirdMaintenanceChange> implements IEamThirdMaintenanceChangeService, FlowCallBackServiceI {
 
     @Resource
     private EamThirdMaintenanceChangeMapper eamThirdMaintenanceChangeMapper;
@@ -177,6 +182,7 @@
         request.setApplicant(sysUser.getUsername());
         request.setApplyDate(new Date());
         request.setFactoryOrgCode(equipment.getFactoryOrgCode());
+        request.setEquipmentId(equipment.getId());
         // 涓変繚鍙樻洿宸ュ崟HF
         EamBaseHFCode eamBaseHFCode = hfCodeService.selectByCategory(HfTemplateCategoryEnum.THIRD_MAINTENANCE_CHANGE.name());
         if (eamBaseHFCode == null) {
@@ -203,6 +209,14 @@
         }
         entity.setApplyReasonType(request.getApplyReasonType());
         entity.setApplyReason(request.getApplyReason());
+        entity.setRemark(request.getRemark());
+        entity.setApplyCategory(request.getApplyCategory());
+        if ("SCRAPPED".equals(request.getApplyCategory())) {
+            // 鐩存帴璁句负 null
+            entity.setDeferredMaintenanceDate(null);
+        } else {
+            entity.setDeferredMaintenanceDate(request.getDeferredMaintenanceDate());
+        }
         this.getBaseMapper().updateById(entity);
         return true;
     }
@@ -470,8 +484,13 @@
                     if(BusinessCodeConst.APPROVED.equals(request.getProductionSupportSignatureResult())) {
                         //閫氳繃
                         entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.COMPLETED.name());
-                        order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
-                        order.setMaintenanceDate(entity.getDeferredMaintenanceDate());
+                        if ("SCRAPPED".equals(request.getApplyCategory())) {
+                            order.setMaintenanceDate(null);
+                            order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name());
+                        } else {
+                            order.setMaintenanceDate(entity.getDeferredMaintenanceDate());
+                            order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+                        }
                         thirdMaintenanceOrderService.updateById(order);
                     }else {
                         //椹冲洖
@@ -499,4 +518,28 @@
         return true;
     }
 
+    @Override
+    public void afterFlowHandle(FlowMyBusiness business) {
+        business.getTaskNameId();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣
+        business.getValues();//鍓嶇浼犺繘鏉ョ殑鍙傛暟
+        business.getActStatus();
+    }
+
+    @Override
+    public Object getBusinessDataById(String dataId) {
+        return this.getById(dataId);
+    }
+
+    @Override
+    public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) {
+        return null;
+    }
+
+    @Override
+    public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) {
+        //涓氬姟鏄惁骞查娴佺▼锛屼笟鍔″共棰勶紝娴佺▼骞查锛屾寚瀹氫汉鍛樿繘琛屽鐞�
+        //鑾峰彇涓嬩竴姝ュ鐞嗕汉
+        Object object = values.get("NextAssignee");
+        return (List<String>) object;
+    }
 }

--
Gitblit v1.9.3