From d7d16bda7a277db53998f37dc82ab7a227fa26a8 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 19 十月 2023 10:28:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java         |    2 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   63 +++++++++++++++----------------
 src/main/resources/mapper/TaskWrkMapper.xml                 |    9 ++++
 3 files changed, 42 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
index c646dc0..82e1cb3 100644
--- a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -27,6 +27,8 @@
 
     TaskWrk selectCrnWorking(@Param("crnNo") Integer crnNo);
 
+    TaskWrk selectCrnStaWorking(@Param("crnNo") Integer crnNo, @Param("targetPoint") String targetPoint);
+
     TaskWrk selectCrnNoWorking(@Param("crnNo") Integer crnNo,@Param("workNo") Integer workNo);
 
     List<TaskWrk> selectToBeHistoryData();
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 3e9b1e7..d8ace45 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -203,46 +203,45 @@
                 }
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
                     // 鏌ヨ宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
-                    if (wrkMast == null) {
+                    TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staProtocol.getSiteId().toString());
+                    if (taskWrk == null) {
                         continue;
                     }
                     // 鍒ゆ柇宸ヤ綔妗f潯浠�
-                    if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
-                        continue;
-                    }
-                    // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
-                    CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
-                    CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-                    if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
-                        // 绉诲姩涓�
-                        continue;
-                    }
-                    //  鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
-                    if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
-                            && crnProtocol.getTaskFinish() == 1
-                            && crnProtocol.forkPosType == CrnForkPosType.HOME) {
-                        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
-                        // 涓嬪彂绔欑偣淇℃伅
-                        staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-                        if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+                    if (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 2) {
+                        // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
+                        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo());
+                        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                        if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
+                            // 绉诲姩涓�
                             continue;
                         }
+                        //  鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
+                        if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue())
+                                && crnProtocol.getTaskFinish() == 1
+                                && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+                            // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
-                        // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
-                        wrkMast.setWrkSts(14L);
-                        wrkMast.setCrnEndTime(new Date());
-                        if (wrkMastMapper.updateById(wrkMast) != 0) {
-                            // 澶嶄綅鍫嗗灈鏈�
-                            crnThread.setResetFlag(true);
-                        } else {
-                            log.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+                            // 涓嬪彂绔欑偣淇℃伅
+                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                            String targetPoint = taskWrk.getTargetPoint();
+                            int i = Integer.parseInt(targetPoint);
+                            staProtocol.setStaNo((short)i);
+                            if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+                                continue;
+                            }
+
+                            // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
+                            taskWrk.setWrkSts(14);
+                            if (taskWrkMapper.updateById(taskWrk) != 0) {
+                                // 澶嶄綅鍫嗗灈鏈�
+                                crnThread.setResetFlag(true);
+                            } else {
+                                log.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo());
+                            }
+
                         }
-
                     }
-
                 }
             }
         }
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index f855a7a..d182a22 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -56,6 +56,15 @@
         order by io_pri desc,create_time,wrk_no ASC
     </select>
 
+    <select id="selectCrnStaWorking" resultMap="BaseResultMap">
+        select * from dbo.wcs_task_wrk
+        where crn_no=#{crnNo}
+        and target_point=#{targetPoint}
+        and wrk_sts=12
+        and io_type = 2
+        order by io_pri desc,create_time,wrk_no ASC
+    </select>
+
     <select id="selectPakOut" resultMap="BaseResultMap">
         select * from dbo.wcs_task_wrk
         where crn_no=#{crnNo}

--
Gitblit v1.9.1