From 8a299b1ef2d1289e649b4ed46ea5baf164260d57 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期四, 19 六月 2025 16:08:53 +0800
Subject: [PATCH] 维修调度-维修 增加剩余未处理数量

---
 src/main/java/com/whyc/service/WorkflowMainService.java |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorkflowMainService.java b/src/main/java/com/whyc/service/WorkflowMainService.java
index b031a7f..4958f8e 100644
--- a/src/main/java/com/whyc/service/WorkflowMainService.java
+++ b/src/main/java/com/whyc/service/WorkflowMainService.java
@@ -244,8 +244,8 @@
         Date now = new Date();
         WorkflowMain mainRelated = getById(main.getRelatedId());
         if(main.getRelatedId() != null) {
-            if (main.getQuantity() > mainRelated.getQuantity()) {
-                return new Response().setII(1, "鍏ュ簱鏁伴噺涓嶈兘澶т簬缁翠慨鐢宠鍏宠仈鍗曟嵁鐨勬暟閲�");
+            if (main.getQuantity() > mainRelated.getQuantityUnprocessed()) {
+                return new Response().setII(1, "鍏ュ簱鏁伴噺涓嶈兘澶т簬缁翠慨鐢宠鍏宠仈鍗曟嵁鐨勬湭澶勭悊鏁伴噺");
             }
         }
         //涓昏〃鎻掑叆
@@ -267,6 +267,9 @@
         main.setBeginTime(now);
         main.setStatus(mainStatus);
         main.setProcessStage(process.getStage());
+        if(main.getType() == WorkflowTypeEnum.DEVICE_REPAIR.getType().intValue()){ //缁翠慨鐢宠鍗�,闇�濉叆
+            main.setQuantityUnprocessed(main.getQuantity());
+        }
         add(main);
         //鍐呭瓨涓幓闄ゅ凡鎻掑叆鏁版嵁搴撶殑鍗曞彿
         ServletContext application = ActionUtil.getApplication();
@@ -300,7 +303,7 @@
     private void checkRelatedAndDone(WorkflowMain main, Date now, WorkflowMain mainRelated, User user) {
         if(main.getRelatedId() != null){
             //鍒ゆ柇鏄敵璇风殑鍏ュ簱,杩樻槸鎶ュ簾.
-            if (main.getQuantity() < mainRelated.getQuantity()){ //璇存槑闇�瑕佽嚜鍔ㄧ敓鎴愬叆搴撴垨鑰呮姤搴熷崟鎹�
+            if (main.getQuantity() < mainRelated.getQuantityUnprocessed()){ //璇存槑闇�瑕佽嚜鍔ㄧ敓鎴愬叆搴撴垨鑰呮姤搴熷崟鎹�
                 //闇�瑕佽嚜鍔ㄧ敓鎴愭姤搴熺殑鐢宠
                 WorkflowMain mainAuto = new WorkflowMain();
                 WorkflowTypeEnum typeEnumAuto;
@@ -310,9 +313,10 @@
                 mainAuto.setCreateUserId(user.getId());
                 mainAuto.setCreateTime(now);
                 mainAuto.setBeginTime(now);
-                mainAuto.setQuantity(mainRelated.getQuantity()- main.getQuantity());
+                mainAuto.setQuantity(mainRelated.getQuantityUnprocessed()- main.getQuantity());
                 mainAuto.setProcessStage(processAuto.getStage());
                 mainAuto.setStatus(statusAuto);
+                mainAuto.setRelatedId(main.getRelatedId());
 
                 if(main.getType() == WorkflowTypeEnum.DEVICE_IN.getType().intValue()) { //鐢宠鐨勫叆搴�
                     mainAuto.setTaskDesc("鎻愪氦浜嗙淮淇悗鐨勫叆搴撶敵璇�,绯荤粺鑷姩鐢熸垚鍓╀綑鏁伴噺鐨勬姤搴熺敵璇�");
@@ -351,6 +355,7 @@
             }else{
                 relatedMain.setEndReason("鐢ㄦ埛鎻愪氦缁翠慨鐢宠鍚庣殑鎶ュ簾鐢宠,缁翠慨娴佺▼缁撴潫");
             }
+            relatedMain.setQuantityUnprocessed(0);
             updateStatus(relatedMain);
         }
     }

--
Gitblit v1.9.1