From 9f989bddecd1261b54c26b853a2528d661bdeb5e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 27 十月 2022 14:07:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

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 e78cd7b..e1bfc3f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2463,8 +2463,6 @@
      */
     public synchronized void loopSteCharge() {
         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-        SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo());
-
         for (SteSlave ste : slaveProperties.getSte()) {
             SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
             SteProtocol steProtocol = steThread.getSteProtocol();
@@ -2485,17 +2483,25 @@
                 if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
                     continue;
                 }
-                WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue());
+//                WrkCharge wrkCharge = wrkChargeService.selectWorking(steProtocol.getSteNo().intValue());
+                WrkCharge wrkCharge = wrkChargeService.selectWorking(null);
 
                 if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
-                    String idleLoc = basSte.getIdleLoc();
+//                    String idleLoc = basSte.getIdleLoc();
+                    // 瀵绘壘绌洪棽鍏呯數妗�
+                    SteChargeType steCharge = devpThread.getIdleChargeLocNo();
+                    if (steCharge == null) {
+                        log.warn("{}鍙峰皬杞︺�愮數閲忥細{}銆戝厖鐢靛け璐ワ紝鍘熷洜锛氭病鏈夌┖闂插厖鐢垫々銆�", ste.getId(), steProtocol.getCharge());
+                        continue;
+                    }
+                    String chargeLocNo = steCharge.locNo;
                     wrkCharge = new WrkCharge();
                     wrkCharge.setSteNo(ste.getId());
                     wrkCharge.setWrkNo(commonService.getChargeWorkNo(4));
                     wrkCharge.setWrkSts(21L);   // 21.鍑嗗鍏呯數
-                    wrkCharge.setCrnNo(basSte.getCrnNo());
+//                    wrkCharge.setCrnNo(basSte.getCrnNo());
                     wrkCharge.setIoPri((double) 10);
-                    wrkCharge.setLocNo(idleLoc);
+                    wrkCharge.setLocNo(chargeLocNo);
                     wrkCharge.setMemo("charge");
                     if (!wrkChargeService.insert(wrkCharge)) {
                         log.error("淇濆瓨{}鍙风┛姊溅鍏呯數浠诲姟澶辫触!!!", ste.getId());
@@ -2503,7 +2509,9 @@
                     }
 
                     // 澶勪簬鍏呯數搴撲綅缁�
-                    if (Utils.getGroupRow(idleLoc).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(idleLoc) && steProtocol.getLev() == Utils.getLev(idleLoc)) {
+                    if (steProtocol.getRow().intValue() == Utils.getRow(chargeLocNo)
+                            && steProtocol.getBay().intValue() == Utils.getBay(chargeLocNo)
+                            && steProtocol.getLev().intValue() == Utils.getLev(chargeLocNo)) {
                         // 淇敼宸ヤ綔妗g姸鎬� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪
                         wrkCharge.setWrkSts(24L);
                         wrkCharge.setModiTime(new Date());

--
Gitblit v1.9.1