From fe4798e6d7cfc5479c0be2b3b406778bf353a1d9 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 02 十一月 2022 10:00:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WrkChargeService.java          |    2 ++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java      |   24 +++++++++++++++---------
 src/main/resources/mapper/WrkChargeMapper.xml                    |    3 +++
 src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java |    7 ++++++-
 src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java            |    2 +-
 5 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
index 05ba57f..82f9f59 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
@@ -10,7 +10,7 @@
 @Repository
 public interface WrkChargeMapper extends BaseMapper<WrkCharge> {
 
-    WrkCharge selectWorkingOfCharge(@Param("steNo") Integer steNo);
+    WrkCharge selectWorkingOfCharge(@Param("steNo") Integer steNo, @Param("charge") Integer charge);
 
     WrkCharge selectWorkingOfReset(@Param("steNo") Integer steNo);
 
diff --git a/src/main/java/com/zy/asrs/service/WrkChargeService.java b/src/main/java/com/zy/asrs/service/WrkChargeService.java
index 8efa9ed..d5e225e 100644
--- a/src/main/java/com/zy/asrs/service/WrkChargeService.java
+++ b/src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -8,4 +8,6 @@
 
     WrkCharge selectWorking(Integer steNo, WrkChargeType type);
 
+    WrkCharge selectWorkingOfCharge(Integer charge);
+
 }
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 3412253..419c087 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2517,23 +2517,29 @@
                     do {
                         String locNo;
                         if (!devpThread.charge0) {
-                            locNo = SteChargeType.FIRST.locNo;
-                            if (basSteService.hasCarOfLocNo(locNo) == null) {
-                                steCharge = SteChargeType.FIRST;
+                            SteChargeType first = SteChargeType.FIRST;
+                            locNo = first.locNo;
+                            if (basSteService.hasCarOfLocNo(locNo) == null
+                                && wrkChargeService.selectWorkingOfCharge(first.ssbm) != null) {
+                                steCharge = first;
                                 break;
                             }
                         }
                         if (!devpThread.charge1) {
-                            locNo = SteChargeType.SECOND.locNo;
-                            if (basSteService.hasCarOfLocNo(locNo) == null) {
-                                steCharge = SteChargeType.SECOND;
+                            SteChargeType second = SteChargeType.SECOND;
+                            locNo = second.locNo;
+                            if (basSteService.hasCarOfLocNo(locNo) == null
+                                && wrkChargeService.selectWorkingOfCharge(second.ssbm) != null) {
+                                steCharge = second;
                                 break;
                             }
                         }
                         if (!devpThread.charge2) {
-                            locNo = SteChargeType.THIRD.locNo;
-                            if (basSteService.hasCarOfLocNo(locNo) == null) {
-                                steCharge = SteChargeType.THIRD;
+                            SteChargeType third = SteChargeType.THIRD;
+                            locNo = third.locNo;
+                            if (basSteService.hasCarOfLocNo(locNo) == null
+                                && wrkChargeService.selectWorkingOfCharge(third.ssbm) != null) {
+                                steCharge = third;
                                 break;
                             }
                         }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
index fd56583..b56ed1b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
@@ -14,10 +14,15 @@
     public WrkCharge selectWorking(Integer steNo, WrkChargeType type) {
         switch (type) {
             case charge:
-                return this.baseMapper.selectWorkingOfCharge(steNo);
+                return this.baseMapper.selectWorkingOfCharge(steNo, null);
             case reset:
                 return this.baseMapper.selectWorkingOfReset(steNo);
         }
         return null;
     }
+
+    @Override
+    public WrkCharge selectWorkingOfCharge(Integer charge) {
+        return this.baseMapper.selectWorkingOfCharge(null, charge);
+    }
 }
diff --git a/src/main/resources/mapper/WrkChargeMapper.xml b/src/main/resources/mapper/WrkChargeMapper.xml
index 44a13ec..5ce83e6 100644
--- a/src/main/resources/mapper/WrkChargeMapper.xml
+++ b/src/main/resources/mapper/WrkChargeMapper.xml
@@ -37,6 +37,9 @@
         <if test="steNo != null">
             and ste_no = #{steNo}
         </if>
+        <if test="charge != null">
+            and charge = #{charge}
+        </if>
         and wrk_sts &lt; 30
         and memo = 'charge'
         order by appe_time, io_pri desc

--
Gitblit v1.9.1