From 2810958ef9b3101b664f0670722291ee4fbdb151 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期五, 18 七月 2025 17:35:49 +0800
Subject: [PATCH] *

---
 src/main/resources/mapper/WrkDetlMapper.xml                    |   33 +++++++++++++++++++++++++++++++--
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java            |    1 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |    7 ++++---
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java |    5 +++++
 src/main/java/com/zy/asrs/service/WrkDetlService.java          |    1 +
 5 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index a3e9ff2..71f7468 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -20,6 +20,7 @@
     List<WrkDetl> selectByWrkNo(Integer wrkNo);
 
     Integer count1();
+    Integer count111();
     Integer count11();
     Integer count2(@Param("orderNo")String orderNo);
     Integer count3();
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 678f936..1283b26 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -18,6 +18,7 @@
     List<WrkDetl> selectByWrkNo(Integer wrkNo);
 
     Integer count1();
+    Integer count111();
     Integer count11();
     Integer count2(String orderNo);
     Integer count3();
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index b29dbb4..39702ae 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2488,11 +2488,12 @@
                     if (Cools.isEmpty(wrkDetls)){
                         continue;
                     }
-                    Integer count1 = wrkDetlService.count1();
-                    Integer count11 = wrkDetlService.count11();
+//                    Integer count1 = wrkDetlService.count1();
+                    Integer count111 = wrkDetlService.count111();
+//                    Integer count11 = wrkDetlService.count11();
                     Integer count2 = wrkDetlService.count2(wrkDetls.get(0).getOrderNo());
                     Integer count3 = wrkDetlService.count3();
-                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl,count1+count11,count2,count3)));
+                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl,count111,count2,count3)));
                 }
                 commands.add(ledCommand);
             }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 4126014..27c7485 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -67,6 +67,11 @@
     public Integer count1() {
         return this.baseMapper.count1();
     }
+
+    @Override
+    public Integer count111() {
+        return this.baseMapper.count111();
+    }
     @Override
     public Integer count11() {
         return this.baseMapper.count11();
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 615f059..d8f8891 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -50,11 +50,40 @@
     </select>
 
     <select id="count2" resultType="Integer">
-        select count(1) from asr_wrk_detl where 1=1 and order_no = #{orderNo} and (wrk_no in (select wrk_no from asr_wrk_mast where 1=1 and wrk_sts in (11,12,13,14)))
+        SELECT COUNT(DISTINCT detl.batch)
+        FROM asr_wrk_detl detl
+                 INNER JOIN asr_wrk_mast mast
+                            ON detl.wrk_no = mast.wrk_no
+        WHERE (mast.io_type = 103 OR mast.io_type = 101)
+          AND mast.wrk_sts IN (11, 12, 13, 14)
+        AND  detl.order_no = #{orderNo}
     </select>
 
     <select id="count3" resultType="Integer">
-        select count(1) from asr_bas_devp where 1=1 and dev_no > 19999
+        SELECT COUNT(DISTINCT detl.batch)
+        FROM asr_wrk_detl detl
+                 INNER JOIN asr_bas_devp devp
+                            ON detl.wrk_no = devp.wrk_no
+    </select>
+
+    <select id="count111" resultType="Integer">
+        SELECT COUNT(DISTINCT batch)
+        FROM (
+                 SELECT detl.batch
+                 FROM asr_wrk_detl detl
+                          INNER JOIN asr_wrk_mast mast
+                                     ON detl.wrk_no = mast.wrk_no
+                 WHERE mast.io_type IN (101, 103)
+                   AND mast.wrk_sts IN (11, 12, 13, 14)
+
+                 UNION
+
+                 SELECT detl.batch
+                 FROM asr_wrk_detl detl
+                          INNER JOIN asr_bas_devp devp
+                                     ON detl.wrk_no = devp.wrk_no
+                 WHERE devp.dev_no BETWEEN 131 AND 144
+             ) AS combined_batches;
     </select>
 
 </mapper>

--
Gitblit v1.9.1