From 4d4bc8ebf380ff900201f42bffa357293cf97f27 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期六, 12 七月 2025 14:17:59 +0800
Subject: [PATCH] art: 技术状态鉴定工单-领取接口问题修改,新增接口修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java                           |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java                     |   12 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java |   12 +++
 db/ZHR/position_zhr.sql                                                                                                     |   10 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java          |  143 +++++++++++++++++++++++++----------
 lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/flow/FindNextNodeUtil.java                                    |    4 +
 lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java                                 |    1 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java         |    8 ++
 8 files changed, 151 insertions(+), 41 deletions(-)

diff --git a/db/ZHR/position_zhr.sql b/db/ZHR/position_zhr.sql
index e69de29..527c4e4 100644
--- a/db/ZHR/position_zhr.sql
+++ b/db/ZHR/position_zhr.sql
@@ -0,0 +1,10 @@
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079838201671681', N'PCR0001', N'鎿嶄綔宸�', NULL, NULL, N'admin', '2025-04-07 11:04:37.0720000', NULL, NULL, N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079910381449218', N'PCR0002', N'缁翠慨宸�', NULL, NULL, N'admin', '2025-04-07 11:04:54.2810000', NULL, NULL, N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079910381449219', N'PCR0005', N'璁惧鑳芥簮閮�', NULL, NULL, N'admin', '2025-04-07 12:04:55.0000000', NULL, NULL, N'A01A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079939120820226', N'PCR0003', N'璁惧妫�楠屽憳', NULL, NULL, N'admin', '2025-04-07 11:05:01.0000000', N'admin', '2025-05-19 15:42:08.0230000', N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1909079969235922946', N'PCR0004', N'杞﹂棿璁惧绠$悊鍛�', NULL, NULL, N'admin', '2025-04-07 11:05:08.0000000', N'admin', '2025-05-19 15:41:14.8330000', N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1922222199530192898', N'PCR0006', N'鐢熶骇淇濋殰閮�', NULL, NULL, N'admin', '2025-05-13 17:27:40.0000000', N'admin', '2025-05-19 15:41:34.2050000', N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1927291533460058114', N'PCR0007', N'宸ヨ壓鍛�', NULL, NULL, N'admin', '2025-05-27 17:11:23.5840000', NULL, NULL, N'A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1942474796260507650', N'PCR0008', N'缁翠慨瀹や富浠�', NULL, NULL, N'admin', '2025-07-08 14:44:15.0000000', N'admin', '2025-07-08 14:47:27.8780000', N'A01A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1942475634831900673', N'PCR0009', N'鐢熶骇璁惧鎶�鏈富绠�', NULL, NULL, N'admin', '2025-07-08 14:47:35.4530000', NULL, NULL, N'A01A01');
+INSERT INTO [dbo].[sys_position] ([id], [code], [name], [post_rank], [company_id], [create_by], [create_time], [update_by], [update_time], [sys_org_code]) VALUES (N'1943644324128256002', N'PCR0010', N'浣跨敤鍗曚綅鎶�鏈富绠�', NULL, NULL, N'admin', '2025-07-11 20:11:32.6910000', NULL, NULL, N'A01A01');
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java
index 922c144..0310f65 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java
@@ -213,7 +213,7 @@
     @ApiModelProperty(value = "浣跨敤鍗曚綅鎶�鏈富绠$瀛楁椂闂�")
 	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	private String departTechnicalLeaderSignatureTime;
+	private Date departTechnicalLeaderSignatureTime;
 	/**浣跨敤鍗曚綅鎶�鏈富绠$瀛楃粨鏋�*/
     @ApiModelProperty(value = "浣跨敤鍗曚綅鎶�鏈富绠$瀛楃粨鏋�")
 	@Dict(dicCode = "approved_rejected")
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java
index 431d559..eb7d171 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java
@@ -73,4 +73,16 @@
 	/**缁翠慨浜�/绮惧害妫�鏌ヨ�呯瀛楁椂闂�*/
     @ApiModelProperty(value = "缁翠慨浜�/绮惧害妫�鏌ヨ�呯瀛楁椂闂�")
 	private Date repairmanSignatureTime;
+
+	public EamTechnicalStatusEvaluationOrderDetail() {
+	}
+
+	public EamTechnicalStatusEvaluationOrderDetail(EamTechnicalStatusEvaluationStandardDetail standardDetail, String orderId) {
+		this.orderId = orderId;
+		this.itemCode = standardDetail.getItemCode();
+		this.checkCategory = standardDetail.getCheckCategory();
+		this.itemName = standardDetail.getItemName();
+		this.subItemName = standardDetail.getSubItemName();
+		this.toleranceValue = standardDetail.getToleranceValue();
+	}
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java
index 30f2ca6..1881d85 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java
@@ -3,6 +3,8 @@
 import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�
  * @Author: jeecg-boot
@@ -23,4 +25,10 @@
      * @param category 鍒嗙被
      */
     void removeByStandardIdAndCategory(String standardId, String category);
+
+    /**
+     * 鑾峰彇瑙勮寖鏄庣粏鏁版嵁
+     * @param id
+     */
+    List<EamTechnicalStatusEvaluationStandardDetail> queryList(String id);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
index 0e594d7..2734f62 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -17,10 +17,7 @@
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 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.OrderCreationMethodEnum;
-import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderStatusEnum;
+import org.jeecg.modules.eam.constant.*;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationOrderMapper;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
@@ -67,6 +64,8 @@
     private ISysBusinessCodeRuleService businessCodeRuleService;
     @Autowired
     private IEamTechnicalStatusEvaluationStandardService standardService;
+    @Autowired
+    private IEamTechnicalStatusEvaluationStandardDetailService standardDetailService;
     @Autowired
     private IEamBaseHFCodeService hfCodeService;
     @Autowired
@@ -158,6 +157,13 @@
         if (standard == null) {
             throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冧笉瀛樺湪锛屾坊鍔犲け璐ワ紒");
         }
+        if (!TechnicalStatusEvaluationStandardEnum.ENABLE.name().equals(standard.getStandardStatus())) {
+            throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冩湭鍚敤锛屾坊鍔犲け璐ワ紒");
+        }
+        List<EamTechnicalStatusEvaluationStandardDetail> standardDetailList = standardDetailService.queryList(standard.getId());
+        if (CollectionUtil.isEmpty(standardDetailList)) {
+            throw new JeecgBootException("鎶�鏈姸鎬侀壌瀹氳鑼冩鏌ラ」涓虹┖锛屾坊鍔犲け璐ワ紒");
+        }
         EamTechnicalStatusEvaluationOrder order = new EamTechnicalStatusEvaluationOrder();
         order.setOrderNum(request.getOrderNum());
         order.setEquipmentId(request.getEquipmentId());
@@ -197,17 +203,8 @@
         order.setHfCodeC(eamBaseHFCode.getHfCode());
         this.getBaseMapper().insert(order);
         //澶勭悊鏄庣粏鏁版嵁
-        if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
-            request.getTableDetailList().forEach(tableDetail -> {
-                tableDetail.setId(null);
-                tableDetail.setCreateBy(null);
-                tableDetail.setCreateTime(null);
-                tableDetail.setUpdateBy(null);
-                tableDetail.setUpdateTime(null);
-                tableDetail.setOrderId(order.getId());
-            });
-            orderDetailService.saveBatch(request.getTableDetailList());
-        }
+        List<EamTechnicalStatusEvaluationOrderDetail> orderDetailList = standardDetailList.stream().map(item -> new EamTechnicalStatusEvaluationOrderDetail(item, order.getId())).collect(Collectors.toList());
+        orderDetailService.saveBatch(orderDetailList);
         return true;
     }
 
@@ -280,7 +277,7 @@
             variables.put("other_check", userApprovalList);
             entity.setOtherCheckCompleted(CommonConstant.STATUS_0);
         } else {
-            variables.put("hasOtherCheck ", CommonConstant.STATUS_0);
+            variables.put("hasOtherCheck", CommonConstant.STATUS_0);
             variables.put("other_check", userApprovalList);
         }
         Result<?> result = flowDefinitionService.startProcessInstanceByKey("technical_status_evaluation_process", variables);
@@ -355,22 +352,22 @@
                 }
                 if ("safety_equipment_check".equals(flowMyBusiness.getTaskNameId())) {
                     //鎵ц瀹夊叏妫�鏌�
-                    if(CommonConstant.STATUS_1.equals(entity.getSafetyCheckCompleted())) {
+                    if (CommonConstant.STATUS_1.equals(entity.getSafetyCheckCompleted())) {
                         values.put("safetyEquipmentCheckFlag", request.getSafetyCheckConfirmResult());
                         entity.setSafetyCheckConfirmResult(request.getSafetyCheckConfirmResult());
                         entity.setSafetyCheckConfirm(user.getUsername());
                         entity.setSafetyCheckConfirmTime(new Date());
                         entity.setSafetyCheckConfirmComment(request.getSafetyCheckConfirmComment());
                         //缁翠慨瀹や富浠诲鎵�
-                        if(!CommonConstant.STATUS_1.equals(request.getSafetyCheckConfirmResult())) {
+                        if (!CommonConstant.STATUS_1.equals(request.getSafetyCheckConfirmResult())) {
                             //椹冲洖 缁欑洃瀵熶汉
                             userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature());
                             values.put("NextAssignee", userApprovalList);
                             entity.setSafetyCheckCompleted(CommonConstant.STATUS_0);
                         }
-                    }else {
+                    } else {
                         //瀹夊叏瑁呯疆妫�鏌ョ粨鏋滃~鎶�
-                        if(CollectionUtil.isNotEmpty(request.getTableDetailList())) {
+                        if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                             for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) {
                                 detail.setRepairmanSignature(user.getUsername());
                                 detail.setRepairmanSignatureTime(new Date());
@@ -382,22 +379,22 @@
                     }
                 } else if ("equipment_precision_check".equals(flowMyBusiness.getTaskNameId())) {
                     //澶勭悊绮惧害妫�楠�
-                    if(CommonConstant.STATUS_1.equals(entity.getPrecisionCheckCompleted())) {
+                    if (CommonConstant.STATUS_1.equals(entity.getPrecisionCheckCompleted())) {
                         values.put("precisionCheckFlag", request.getPrecisionCheckConfirmResult());
                         entity.setPrecisionCheckConfirmResult(request.getPrecisionCheckConfirmResult());
                         entity.setPrecisionCheckConfirm(user.getUsername());
                         entity.setPrecisionCheckConfirmTime(new Date());
                         entity.setPrecisionCheckConfirmComment(request.getPrecisionCheckConfirmComment());
                         //缁翠慨瀹や富浠诲鎵�
-                        if(!CommonConstant.STATUS_1.equals(request.getPrecisionCheckConfirmResult())) {
+                        if (!CommonConstant.STATUS_1.equals(request.getPrecisionCheckConfirmResult())) {
                             //椹冲洖 缁欑洃瀵熶汉
                             userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature());
                             values.put("NextAssignee", userApprovalList);
                             entity.setPrecisionCheckCompleted(CommonConstant.STATUS_0);
                         }
-                    }else {
+                    } else {
                         //璁惧绮惧害妫�鏌ョ粨鏋滃~鎶�
-                        if(CollectionUtil.isNotEmpty(request.getTableDetailList())) {
+                        if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                             for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) {
                                 detail.setRepairmanSignature(user.getUsername());
                                 detail.setRepairmanSignatureTime(new Date());
@@ -408,24 +405,24 @@
                         entity.setPrecisionCheckCompleted(CommonConstant.STATUS_1);
                     }
 
-                } else if("other_check".equals(flowMyBusiness.getTaskNameId())) {
+                } else if ("other_check".equals(flowMyBusiness.getTaskNameId())) {
                     //澶勭悊鍏朵粬妫�鏌�
-                    if(CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted())) {
+                    if (CommonConstant.STATUS_1.equals(entity.getOtherCheckCompleted())) {
                         values.put("otherCheckFlag", request.getOtherCheckResult());
                         entity.setOtherCheckResult(request.getOtherCheckConfirmResult());
                         entity.setOtherCheckConfirm(user.getUsername());
                         entity.setOtherCheckConfirmTime(new Date());
                         entity.setOtherCheckConfirmComment(request.getOtherCheckConfirmComment());
                         //缁翠慨瀹や富浠诲鎵�
-                        if(!CommonConstant.STATUS_1.equals(request.getOtherCheckConfirmResult())) {
+                        if (!CommonConstant.STATUS_1.equals(request.getOtherCheckConfirmResult())) {
                             //椹冲洖 缁欑洃瀵熶汉
                             userApprovalList = Collections.singletonList(request.getTableDetailList().get(0).getRepairmanSignature());
                             values.put("NextAssignee", userApprovalList);
                             entity.setOtherCheckCompleted(CommonConstant.STATUS_0);
                         }
-                    }else {
+                    } else {
                         //鍏朵粬妫�鏌ョ粨鏋滃~鎶�
-                        if(CollectionUtil.isNotEmpty(request.getTableDetailList())) {
+                        if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                             for (EamTechnicalStatusEvaluationOrderDetail detail : request.getTableDetailList()) {
                                 detail.setRepairmanSignature(user.getUsername());
                                 detail.setRepairmanSignatureTime(new Date());
@@ -438,11 +435,11 @@
                 }
                 break;
             case REPAIRER_SIGNING:
-                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(),equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008);
+                //缁翠慨宸ョ瀛�
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008);
                 if (CollectionUtil.isEmpty(userSelectors)) {
                     throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨瀹や富浠伙紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
                 }
-                //缁翠慨宸ョ瀛�
                 userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                 values.put("dataId", entity.getId());
                 values.put("organization", "缁翠慨宸ョ瀛楀畬鎴�");
@@ -459,23 +456,89 @@
                 entity.setOtherCheckResult(request.getOtherCheckResult());
                 break;
             case REPAIR_MANAGER_SIGNING:
-//                values.put("dataId", entity.getId());
-//                values.put("organization", request.getLeaderConfirmComment());
-//                values.put("comment", request.getLeaderConfirmComment());
-//                request.setComment(request.getLeaderConfirmComment());
-//                //璁剧疆entity
-//                entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.COMPLETE.name());
-//                entity.setConfirmLeader(user.getUsername());
-//                entity.setLeaderConfirmComment(request.getLeaderConfirmComment());
-//                entity.setLeaderConfirmTime(new Date());
+                //缁翠慨瀹や富浠荤瀛�
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0007);
+                if (CollectionUtil.isEmpty(userSelectors)) {
+                    throw new JeecgBootException("璁惧鏈垎閰嶇粰宸ヨ壓鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                }
+                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                values.put("dataId", entity.getId());
+                values.put("organization", request.getRepairManagerComment());
+                values.put("comment", request.getRepairManagerComment());
+                request.setComment(request.getRepairManagerComment());
+                values.put("repairManagerApprovalFlag", request.getRepairManagerSignatureResult());
+                entity.setRepairManagerSignature(user.getUsername());
+                entity.setRepairManagerSignatureTime(new Date());
+                entity.setRepairManagerComment(request.getRepairManagerComment());
+                //璁剧疆entity
+                if (BusinessCodeConst.APPROVED.equals(request.getRepairManagerSignatureResult())) {
+                    values.put("NextAssignee", userApprovalList);
+                    entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.PROCESS_TECHNICIAN_SIGNING.name());
+                } else {
+                    userApprovalList = Collections.singletonList(entity.getRepairerSignature());
+                    values.put("NextAssignee", userApprovalList);
+                    entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.REPAIRER_SIGNING.name());
+                }
 //                //鏇存柊璁惧淇濆吇鐘舵��
 //                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
                 break;
             case PROCESS_TECHNICIAN_SIGNING:
+                //宸ヨ壓鍛樼瀛�
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0010);
+                if (CollectionUtil.isEmpty(userSelectors)) {
+                    throw new JeecgBootException("璁惧鏈垎閰嶇粰浣跨敤鍗曚綅鎶�鏈富绠★紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+                }
+                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                values.put("dataId", entity.getId());
+                values.put("organization", request.getProcessTechnicianComment());
+                values.put("comment", request.getProcessTechnicianComment());
+                values.put("NextAssignee", userApprovalList);
+                request.setComment(request.getProcessTechnicianComment());
+                //璁剧疆entity
+                entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.DEPART_TECHNICAL_LEADER_SIGNING.name());
+                entity.setProcessTechnicianSignature(user.getUsername());
+                entity.setProcessTechnicianSignatureTime(new Date());
+                entity.setSampleCheckResult(request.getSampleCheckResult());
+                entity.setProcessTechnicianComment(request.getProcessTechnicianComment());
                 break;
             case DEPART_TECHNICAL_LEADER_SIGNING:
+                //浣跨敤鍗曚綅鎶�鏈富绠$瀛�
+                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0003);
+                if (CollectionUtil.isEmpty(userSelectors)) {
+                    throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧妫�楠屽憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+                }
+                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                values.put("dataId", entity.getId());
+                values.put("organization", request.getDepartTechnicalLeaderComment());
+                values.put("comment", request.getDepartTechnicalLeaderComment());
+                request.setComment(request.getDepartTechnicalLeaderComment());
+                values.put("technicalLeaderApprovalFlag", request.getDepartTechnicalLeaderSignatureResult());
+                entity.setDepartTechnicalLeaderSignature(user.getUsername());
+                entity.setDepartTechnicalLeaderSignatureTime(new Date());
+                entity.setDepartTechnicalLeaderComment(request.getDepartTechnicalLeaderComment());
+                //璁剧疆entity
+                if (BusinessCodeConst.APPROVED.equals(request.getDepartTechnicalLeaderSignatureResult())) {
+                    values.put("NextAssignee", userApprovalList);
+                    entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.PROCESS_TECHNICIAN_SIGNING.name());
+                } else {
+                    userApprovalList = Collections.singletonList(entity.getProcessTechnicianSignature());
+                    values.put("NextAssignee", userApprovalList);
+                    entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.INSPECTOR_SIGNING.name());
+                }
                 break;
             case INSPECTOR_SIGNING:
+                //璁惧妫�瀵熷憳绛惧瓧
+                values.put("dataId", entity.getId());
+                values.put("organization", request.getInspectorComment());
+                values.put("comment", request.getInspectorComment());
+                request.setComment(request.getInspectorComment());
+                //璁剧疆entity
+                entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.COMPLETED.name());
+                entity.setInspectorSignature(user.getUsername());
+                entity.setInspectorSignatureTime(new Date());
+                entity.setInspectorComment(request.getInspectorComment());
+                entity.setEvaluationResult(request.getEvaluationResult());
+                entity.setEvaluationReason(request.getEvaluationReason());
                 break;
         }
         request.setValues(values);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java
index 623c25f..453631f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java
@@ -9,6 +9,9 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�
  * @Author: jeecg-boot
@@ -34,4 +37,13 @@
         wrapper.eq(EamTechnicalStatusEvaluationStandardDetail::getCheckCategory, category);
         this.getBaseMapper().delete(wrapper);
     }
+
+    @Override
+    public List<EamTechnicalStatusEvaluationStandardDetail> queryList(String standardId) {
+        LambdaQueryWrapper<EamTechnicalStatusEvaluationStandardDetail> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EamTechnicalStatusEvaluationStandardDetail::getStandardId, standardId);
+        queryWrapper.orderByAsc(EamTechnicalStatusEvaluationStandardDetail::getCheckCategory);
+        queryWrapper.orderByAsc(EamTechnicalStatusEvaluationStandardDetail::getItemCode);
+        return this.getBaseMapper().selectList(queryWrapper);
+    }
 }
diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/flow/FindNextNodeUtil.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/flow/FindNextNodeUtil.java
index c3b0c12..71bf95c 100644
--- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/flow/FindNextNodeUtil.java
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/flow/FindNextNodeUtil.java
@@ -114,6 +114,10 @@
                     else if (nextFlowElement instanceof EndEvent) {
                         next(flowElements, nextFlowElement, map, nextUser);
                     }
+                    // 鐩稿缃戝叧
+                    else if (nextFlowElement instanceof InclusiveGateway) {
+                        next(flowElements, nextFlowElement, map, nextUser);
+                    }
                 }
             }
         }
diff --git a/lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java b/lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java
index b3a411b..7c54c56 100644
--- a/lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java
+++ b/lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java
@@ -1,5 +1,6 @@
 package org.jeecg.codegenerate;
 
+import org.jeecg.common.util.PasswordUtil;
 import org.jeecgframework.codegenerate.generate.impl.CodeGenerateOne;
 import org.jeecgframework.codegenerate.generate.pojo.TableVo;
 

--
Gitblit v1.9.3