From 42130546e4f61741305dbaba02fc6f8692116a7a Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期三, 23 七月 2025 15:10:42 +0800
Subject: [PATCH] 三保变更流程审批

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java |  165 ++++++++++++++++++++++++++
 db/430设备管理数据库设计.pdma.json                                                                                  |   76 ++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceChangeRequest.java          |   49 +++++++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java           |   18 +++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceChangeReasonEnum.java  |   10 +
 5 files changed, 309 insertions(+), 9 deletions(-)

diff --git "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json"
index dc43291..9aedf87 100644
--- "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json"
+++ "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json"
@@ -2,9 +2,9 @@
   "name": "430璁惧绠$悊鏁版嵁搴撹璁�",
   "describe": "鎻忚堪璁惧绠$悊鏁版嵁搴撹璁℃枃妗�",
   "avatar": "",
-  "version": "4.9.2",
+  "version": "4.9.4",
   "createdTime": "2025-3-10 16:38:19",
-  "updatedTime": "2025-7-22 14:27:53",
+  "updatedTime": "2025-7-23 11:43:01",
   "dbConns": [],
   "profile": {
     "default": {
@@ -10132,6 +10132,42 @@
           "id": "D81F9B85-1C0C-4B24-B8F3-E12C13E62501"
         },
         {
+          "defKey": "equipment_manager_signature_result",
+          "defName": "涓荤棰嗗绛惧瓧缁撴灉",
+          "comment": "",
+          "type": "NVARCHAR",
+          "len": 64,
+          "scale": "",
+          "primaryKey": false,
+          "notNull": false,
+          "autoIncrement": false,
+          "defaultValue": "",
+          "hideInGraph": false,
+          "refDict": "",
+          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
+          "extProps": {},
+          "domain": "",
+          "id": "F8C4D679-08C0-407E-B321-3B1FC289237B"
+        },
+        {
+          "defKey": "equipment_manager_comment",
+          "defName": "涓荤棰嗗鎰忚",
+          "comment": "",
+          "type": "",
+          "len": "",
+          "scale": "",
+          "primaryKey": false,
+          "notNull": false,
+          "autoIncrement": false,
+          "defaultValue": "",
+          "hideInGraph": false,
+          "refDict": "",
+          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
+          "extProps": {},
+          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
+          "id": "EB648C12-9872-4CBF-89D9-A46EE19D3F02"
+        },
+        {
           "defKey": "depart_manager_signature",
           "defName": "閮ㄩ棬棰嗗绛惧瓧",
           "comment": "鏍规嵁寤朵繚鍘熷洜绫诲瀷鍖哄垎涓嶅悓鐨勪汉瀹℃壒",
@@ -10166,6 +10202,24 @@
           "extProps": {},
           "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
           "id": "42DF30B4-04DD-4B40-98A6-C4FF34927AEA"
+        },
+        {
+          "defKey": "depart_manager_signature_result",
+          "defName": "閮ㄩ棬棰嗗绛惧瓧缁撴灉",
+          "comment": "",
+          "type": "NVARCHAR",
+          "len": 64,
+          "scale": "",
+          "primaryKey": false,
+          "notNull": false,
+          "autoIncrement": false,
+          "defaultValue": "",
+          "hideInGraph": false,
+          "refDict": "",
+          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
+          "extProps": {},
+          "domain": "",
+          "id": "55FCD810-CE0F-4481-8A5E-5DCFA886CEC6"
         },
         {
           "defKey": "depart_manager_comment",
@@ -10222,6 +10276,24 @@
           "id": "9FEDFFD2-B600-461D-8D7C-4F38A7621502"
         },
         {
+          "defKey": "production_support_signature_result",
+          "defName": "鐢熶骇淇濋殰閮ㄩ瀵肩瀛楃粨鏋�",
+          "comment": "",
+          "type": "NVARCHAR",
+          "len": 64,
+          "scale": "",
+          "primaryKey": false,
+          "notNull": false,
+          "autoIncrement": false,
+          "defaultValue": "",
+          "hideInGraph": false,
+          "refDict": "",
+          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
+          "extProps": {},
+          "domain": "",
+          "id": "E56812A5-062D-480B-A6A9-EF4E4B926D56"
+        },
+        {
           "defKey": "production_support_comment",
           "defName": "鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�",
           "comment": "",
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceChangeReasonEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceChangeReasonEnum.java
index 86bb535..d3be0e2 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceChangeReasonEnum.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceChangeReasonEnum.java
@@ -7,4 +7,14 @@
     EQUIPMENT_MAJOR, //璁惧澶т慨銆侀」淇�
     EQUIPMENT_RETROFITTING, //璁惧鏀归��
     ;
+
+    public static ThirdMaintenanceChangeReasonEnum getInstance(String code) {
+        ThirdMaintenanceChangeReasonEnum[] values = ThirdMaintenanceChangeReasonEnum.values();
+        for (ThirdMaintenanceChangeReasonEnum value : values) {
+            if (value.name().equals(code)) {
+                return value;
+            }
+        }
+        return null;
+    }
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java
index 6636e22..28b0887 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java
@@ -122,6 +122,16 @@
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date equipmentManagerSignatureTime;
+    /**涓荤棰嗗绛惧瓧缁撴灉*/
+    @ApiModelProperty(value = "涓荤棰嗗绛惧瓧缁撴灉")
+    @Dict(dicCode = "approve_reject")
+    private String equipmentManagerSignatureResult;
+    /**
+     * 閮ㄩ棬棰嗗鎰忚
+     */
+    @Excel(name = "涓荤棰嗗鎰忚", width = 15)
+    @ApiModelProperty(value = "涓荤棰嗗鎰忚")
+    private String equipmentManagerComment;
     /**
      * 閮ㄩ棬棰嗗绛惧瓧;鏍规嵁寤朵繚鍘熷洜绫诲瀷鍖哄垎涓嶅悓鐨勪汉瀹℃壒
      */
@@ -137,6 +147,10 @@
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date departManagerSignatureTime;
+    /**閮ㄩ棬棰嗗绛惧瓧缁撴灉*/
+    @ApiModelProperty(value = "閮ㄩ棬棰嗗绛惧瓧缁撴灉")
+    @Dict(dicCode = "approve_reject")
+    private String departManagerSignatureResult;
     /**
      * 閮ㄩ棬棰嗗鎰忚
      */
@@ -158,6 +172,10 @@
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date productionSupportSignatureTime;
+    /**鐢熶骇淇濋殰閮ㄩ瀵肩瀛楃粨鏋�*/
+    @ApiModelProperty(value = "鐢熶骇淇濋殰閮ㄩ瀵肩瀛楃粨鏋�")
+    @Dict(dicCode = "approve_reject")
+    private String productionSupportSignatureResult;
     /**
      * 鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�
      */
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceChangeRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceChangeRequest.java
index 06bcb5e..f3801bc 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceChangeRequest.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceChangeRequest.java
@@ -1,13 +1,18 @@
 package org.jeecg.modules.eam.request;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecg.modules.flowable.domain.vo.FlowTaskVo;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Author: Lius
@@ -27,10 +32,50 @@
      */
     @ApiModelProperty(value = "涓婚敭")
     private String id;
-
     /**
      * 宸ュ崟鍙�
      */
     @ApiModelProperty(value = "宸ュ崟鍙�")
-    private String orderNum;
+    private String orderId;
+    /**
+     * 鐢宠绫诲瀷;鎶ュ簾銆佸欢淇�
+     */
+    @ApiModelProperty(value = "鐢宠绫诲瀷;鎶ュ簾銆佸欢淇�")
+    private String applyCategory;
+    /**
+     * 寤朵繚鍘熷洜绫诲瀷;鐢熶骇浠诲姟銆佽澶囨晠闅溿�佹姤搴熴�佸ぇ淇」淇�佹惉杩�
+     */
+    @ApiModelProperty(value = "寤朵繚鍘熷洜绫诲瀷;鐢熶骇浠诲姟銆佽澶囨晠闅溿�佹姤搴熴�佸ぇ淇」淇�佹惉杩�")
+    private String applyReasonType;
+    /**
+     * 寤朵繚(鍙樻洿)鍘熷洜
+     */
+    @ApiModelProperty(value = "寤朵繚(鍙樻洿)鍘熷洜")
+    private String applyReason;
+    /**
+     * 寤惰繜淇濆吇鏃ユ湡
+     */
+    @ApiModelProperty(value = "寤惰繜淇濆吇鏃ユ湡")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date deferredMaintenanceDate;
+    /**涓荤棰嗗绛惧瓧缁撴灉*/
+    @ApiModelProperty(value = "涓荤棰嗗绛惧瓧缁撴灉")
+    private String equipmentManagerSignatureResult;
+    /**涓荤棰嗗鎰忚*/
+    @ApiModelProperty(value = "涓荤棰嗗鎰忚")
+    private String equipmentManagerComment;
+    /**閮ㄩ棬棰嗗鎰忚*/
+    @ApiModelProperty(value = "閮ㄩ棬棰嗗鎰忚")
+    private String departManagerComment;
+    /**閮ㄩ棬棰嗗绛惧瓧缁撴灉*/
+    @ApiModelProperty(value = "閮ㄩ棬棰嗗绛惧瓧缁撴灉")
+    private String departManagerSignatureResult;
+    /**鐢熶骇淇濋殰閮ㄩ瀵肩瀛楃粨鏋�*/
+    @ApiModelProperty(value = "鐢熶骇淇濋殰閮ㄩ瀵肩瀛楃粨鏋�")
+    private String productionSupportSignatureResult;
+    /**鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�*/
+    @ApiModelProperty(value = "鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�")
+    private String productionSupportComment;
+
 }
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 f70581a..ced2b3b 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
@@ -251,6 +251,8 @@
             variables.put("organization", applyReasonTypeText);
             variables.put("comment", applyReasonTypeText);
         }
+        variables.put("proofreading", true);
+        variables.put("NextAssignee", userApprovalList);
         Result<?> result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_change", variables);
         if(result == null || !result.isSuccess()) {
             throw new JeecgBootException("鍚姩娴佺▼澶辫触锛�");
@@ -300,13 +302,13 @@
         }
 
         // 璁剧疆娴佺▼鍙橀噺
-        setupProcessVariables(request, order, user, equipment);
+        setupProcessVariables(request, entity, user, equipment);
 
         // 瀹屾垚娴佺▼浠诲姟
         Result result = flowTaskService.complete(request);
 
         // 鏍规嵁浠诲姟瀹屾垚缁撴灉鏇存柊宸ュ崟鐘舵��
-        updateOrderStatus(result, request, order, user);
+        updateOrderStatus(result, request, entity, order, user);
 
         //鏇存柊宸ュ崟淇℃伅
         this.getBaseMapper().updateById(entity);
@@ -316,15 +318,168 @@
     /**
      * 璁剧疆娴佺▼鍙橀噺
      */
-    private void setupProcessVariables(EamThirdMaintenanceChangeRequest request, EamThirdMaintenanceOrder order, LoginUser user, EamEquipment equipment) {
+    private void setupProcessVariables(EamThirdMaintenanceChangeRequest request, EamThirdMaintenanceChange entity, LoginUser user, EamEquipment equipment) {
+        //娴佺▼鍙橀噺
+        Map<String, Object> values = new HashMap<>();
+        List<String> userApprovalList;
+        List<UserSelector> userSelectors;
+        ThirdMaintenanceChangeStatusEnum status = ThirdMaintenanceChangeStatusEnum.getInstance(entity.getChangeStatus());
+        switch (status) {
+            case EQUIPMENT_MANAGER_SIGNING:
+                // 浣跨敤鍗曚綅涓荤瀹ょ骇棰嗗瀹℃牳
+                values.put("dataId", entity.getId());
+                if(StringUtils.isBlank(request.getEquipmentManagerComment())) {
+                    values.put("organization", "涓変繚宸ュ崟鍙樻洿浣跨敤鍗曚綅涓荤瀹ょ骇棰嗗");
+                    values.put("comment", "涓変繚宸ュ崟鍙樻洿浣跨敤鍗曚綅涓荤瀹ょ骇棰嗗");
+                    request.setComment("涓変繚宸ュ崟鍙樻洿閮ㄩ棬棰嗗瀹℃牳");
+                } else {
+                    values.put("organization", request.getEquipmentManagerComment());
+                    values.put("comment", request.getEquipmentManagerComment());
+                    request.setComment(request.getEquipmentManagerComment());
+                }
+                if (BusinessCodeConst.APPROVED.equals(request.getEquipmentManagerSignatureResult())) {
+                    values.put("confirmation", request.getEquipmentManagerSignatureResult());
+                    ThirdMaintenanceChangeReasonEnum applyReasonType = ThirdMaintenanceChangeReasonEnum.getInstance(request.getApplyReasonType());
+                    switch (applyReasonType) {
+                        case PRODUCTION_WORK_ORDER_EXPEDITED:
+                            //鐢熶骇浠诲姟
+                            userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0012);
+                            if (CollectionUtil.isEmpty(userSelectors)) {
+                                throw new JeecgBootException("璁惧鏈垎閰嶇粰鐢熶骇鎸囨尌閮ㄥ绾ч瀵硷紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                            }
+                            break;
+                        case EQUIPMENT_BREAKDOWN_REPAIR:
+                            //璁惧鏁呴殰
+                            userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0013);
+                            if (CollectionUtil.isEmpty(userSelectors)) {
+                                throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨鍖洪暱锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+                            }
+                            break;
+                        case EQUIPMENT_SCRAPPED:
+                            //璁惧鎶ュ簾
+                            userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0014);
+                            if (CollectionUtil.isEmpty(userSelectors)) {
+                                throw new JeecgBootException("璁惧鏈垎閰嶇粰璧勪骇绠$悊閮紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                            }
+                            break;
+                        case EQUIPMENT_MAJOR:
+                            //璁惧澶т慨銆侀」淇�
+                            userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0016);
+                            if (CollectionUtil.isEmpty(userSelectors)) {
+                                throw new JeecgBootException("璁惧鏈垎閰嶇粰杩愮淮鍟嗗姟瀹や富浠伙紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                            }
+                            break;
+                        case EQUIPMENT_RETROFITTING:
+                            //璁惧鎼縼銆佹敼閫�
+                            userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0015);
+                            if (CollectionUtil.isEmpty(userSelectors)) {
+                                throw new JeecgBootException("璁惧鏈垎閰嶇粰椤圭洰涓荤閮紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                            }
+                            break;
+                        default:
+                            throw new JeecgBootException("鍙樻洿鐢宠鍘熷洜鏃犳硶璇嗗埆锛屽鎵瑰け璐ワ紒");
+                    }
+                    userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                    values.put("NextAssignee", userApprovalList);
+                } else {
+                    values.put("confirmation", request.getEquipmentManagerSignatureResult());
+                }
+                break;
+            case DEPART_MANAGER_SIGNING:
+                //閮ㄩ棬棰嗗瀹℃牳
+                values.put("confirmation", request.getDepartManagerSignatureResult());
+                values.put("dataId", entity.getId());
+                if(StringUtils.isBlank(request.getDepartManagerComment())) {
+                    values.put("organization", "涓変繚宸ュ崟鍙樻洿閮ㄩ棬棰嗗瀹℃牳");
+                    values.put("comment", "涓変繚宸ュ崟鍙樻洿閮ㄩ棬棰嗗瀹℃牳");
+                    request.setComment("涓変繚宸ュ崟鍙樻洿閮ㄩ棬棰嗗瀹℃牳");
+                } else {
+                    values.put("organization", request.getDepartManagerComment());
+                    values.put("comment", request.getDepartManagerComment());
+                    request.setComment(request.getDepartManagerComment());
+                }
+                if (BusinessCodeConst.APPROVED.equals(request.getDepartManagerSignatureResult())) {
+                    // 鑾峰彇涓嬩竴姝ユ墽琛屼汉
+                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0017);
+                    if (CollectionUtil.isEmpty(userSelectors)) {
+                        throw new JeecgBootException("璁惧鏈垎閰嶇粰杩愮淮绠$悊瀹ゅ涓讳换锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+                    }
+                    userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                    values.put("NextAssignee", userApprovalList);
 
+                } else {
+                    values.put("confirmation", request.getDepartManagerSignatureResult());
+                }
+                break;
+            case PRODUCTION_SUPPORT_SIGNING:
+                // 缁翠慨瀹や富浠荤瀛�
+                values.put("dataId", entity.getId());
+                if(StringUtils.isBlank(request.getDepartManagerComment())) {
+                    values.put("organization", "涓変繚宸ュ崟鍙樻洿鐢熶骇淇濋殰閮ㄥ鏍�");
+                    values.put("comment", "涓変繚宸ュ崟鍙樻洿鐢熶骇淇濋殰閮ㄥ鏍�");
+                    request.setComment("涓変繚宸ュ崟鍙樻洿鐢熶骇淇濋殰閮ㄥ鏍�");
+                } else {
+                    values.put("organization", request.getProductionSupportComment());
+                    values.put("comment", request.getProductionSupportComment());
+                    request.setComment(request.getProductionSupportComment());
+                }
+                break;
+        }
+        request.setValues(values);
     }
 
     /**
      * 鏇存柊宸ュ崟鐘舵��
      */
-    private void updateOrderStatus(Result result, EamThirdMaintenanceChangeRequest request, EamThirdMaintenanceOrder order, LoginUser user) {
-
+    private void updateOrderStatus(Result result, EamThirdMaintenanceChangeRequest request, EamThirdMaintenanceChange entity, EamThirdMaintenanceOrder order, LoginUser user) {
+        if (result.isSuccess()) {
+            ThirdMaintenanceChangeStatusEnum status = ThirdMaintenanceChangeStatusEnum.getInstance(entity.getChangeStatus());
+            switch (status) {
+                case EQUIPMENT_MANAGER_SIGNING:
+                    // 璁剧疆entity
+                    entity.setEquipmentManagerSignature(user.getUsername());
+                    entity.setEquipmentManagerSignatureTime(new Date());
+                    entity.setEquipmentManagerComment(request.getEquipmentManagerComment());
+                    entity.setEquipmentManagerSignatureResult(request.getEquipmentManagerSignatureResult());
+                    if(BusinessCodeConst.APPROVED.equals(request.getEquipmentManagerSignatureResult())) {
+                        //閫氳繃
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.DEPART_MANAGER_SIGNING.name());
+                    } else {
+                        //椹冲洖
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.REJECTED.name());
+                    }
+                    break;
+                case DEPART_MANAGER_SIGNING:
+                    entity.setDepartManagerSignature(user.getUsername());
+                    entity.setDepartManagerSignatureTime(new Date());
+                    entity.setDepartManagerComment(request.getDepartManagerComment());
+                    entity.setDepartManagerSignatureResult(request.getDepartManagerSignatureResult());
+                    if(BusinessCodeConst.APPROVED.equals(request.getDepartManagerSignatureResult())) {
+                        // 閫氳繃
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.PRODUCTION_SUPPORT_SIGNING.name());
+                    } else {
+                        //椹冲洖
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.REJECTED.name());
+                    }
+                    break;
+                case PRODUCTION_SUPPORT_SIGNING:
+                    entity.setProductionSupportSignature(user.getUsername());
+                    entity.setProductionSupportSignatureTime(new Date());
+                    entity.setProductionSupportSignatureResult(request.getProductionSupportSignatureResult());
+                    entity.setProductionSupportComment(request.getProductionSupportComment());
+                    if(BusinessCodeConst.APPROVED.equals(request.getProductionSupportSignatureResult())) {
+                        //閫氳繃
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.COMPLETED.name());
+                        order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+                        order.setMaintenanceDate(entity.getDeferredMaintenanceDate());
+                        thirdMaintenanceOrderService.updateById(order);
+                    }else {
+                        //椹冲洖
+                        entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.REJECTED.name());
+                    }
+                    break;
+            }
+        }
     }
 
     private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) {

--
Gitblit v1.9.3