From 9fb4e68cdb138ae3ac4026f875c84c04747873f3 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 31 五月 2023 13:57:34 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/WrkDetlMapper.xml                    |    3 +
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java            |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |   26 +++++++++++++
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java |    5 ++
 src/main/java/com/zy/core/MainProcess.java                     |    3 +
 src/main/java/com/zy/core/thread/SiemensDevpThread.java        |   22 +++++++++++
 src/main/java/com/zy/asrs/service/WrkDetlService.java          |    1 
 7 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 3ff2711..5e6a297 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -14,6 +14,7 @@
 public interface WrkDetlMapper extends BaseMapper<WrkDetl> {
 
     List<WrkDetl> findByWorkNo(Integer workNo);
+    WrkDetl devpPackNo(@Param("workNo")Integer workNo);
 
     int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
 
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f7637..cfaf00d 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -12,6 +12,7 @@
     void createWorkDetail(Integer workNo, List<WaitPakin> waitPakins, String barcode);
 
     List<WrkDetl> findByWorkNo(Integer workNo);
+    WrkDetl devpPackNo(Integer workNo);
 
     boolean updateIoTime(Integer workNo, Date ioTime);
 
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 5bc1732..5759c5b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2243,4 +2243,30 @@
         }
     }
 
+    /**
+     * 103绔欑偣鏈夌墿涓嬪彂pack鐮�
+     */
+    @Transactional
+    public void packDevp() {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("bas_devp",103));
+                if (Cools.isEmpty(basDevp)){
+                    log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�");
+                }
+                if (basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()>0 && basDevp.getLoading().equals("Y") && basDevp.getInEnable().equals("Y")){
+                    WrkDetl wrkDetl = wrkDetlService.devpPackNo(basDevp.getWrkNo());
+                    if (Cools.isEmpty(wrkDetl)){
+                        log.error("103绔欑偣鏌ヨ澶辫触-MainServiceImpl.java-2255琛�");
+                    }
+                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4,wrkDetl.getMatnr()));
+                }
+            }
+        } catch (Exception e) {
+            log.error("103  ===>> 缁欒緭閫佺嚎鍙戦�丳ack鐮佸け璐�", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
 }
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 017911a..32d69a1 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -54,6 +54,11 @@
     }
 
     @Override
+    public WrkDetl devpPackNo(Integer workNo) {
+        return this.baseMapper.devpPackNo(workNo);
+    }
+
+    @Override
     public boolean updateIoTime(Integer workNo, Date ioTime) {
         return this.baseMapper.updateIoTime(workNo, ioTime) > 0;
     }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index fd0a689..86a66cf 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -71,6 +71,9 @@
 //                    //鐏锛岀粰鍫嗗灈鏈哄彂閫佺伀璀﹁鎶�
 //                    mainService.fierCrn();
 
+                    //103绔欑偣鏈夌墿涓嬪彂pack鐮�
+                    mainService.packDevp();
+
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 94dfa29..6213f93 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -80,6 +80,10 @@
                     case 2:
                         write((StaProtocol)task.getData());
                         break;
+                    // 鍐欐暟鎹� 103绔欑偣鍐欏叆PACK鐮�
+                    case 4:
+                        write103((String)task.getData());
+                        break;
                     //澶嶄綅娴嬭瘯淇″彿
                     case 3:
                         StaProtocol staProtocol = (StaProtocol)task.getData();
@@ -238,6 +242,24 @@
     }
 
     /**
+     * 鍐欏叆 pack鐮� =====> 鍗曠珯鐐瑰啓鍏�
+     */
+    private void write103(String packNo){
+        try{
+            OperateResult write = siemensS7Net.Write("DB100.", packNo);
+            if (!write.IsSuccess) {
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(packNo)));
+                log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(packNo));
+            } else {
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(packNo)));
+                log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}",  slave.getId(), JSON.toJSON(packNo));
+            }
+        }catch (Exception e){
+            log.error("103绔欑偣鍐欏叆鏁版嵁澶辫触锛岃緭閫佺嚎绾跨▼write103");
+        }
+    }
+
+    /**
      * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
      */
     private void write(StaProtocol staProtocol) throws InterruptedException {
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 76c3214..91c1927 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -50,6 +50,9 @@
     <select id="findByWorkNo" resultMap="BaseResultMap">
         select wrk_no, mat_no, mat_name, qty from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
     </select>
+    <select id="devpPackNo" resultMap="BaseResultMap">
+        select top 1 * from asr_wrk_detl_log where 1=1 and wrk_no = #{workNo} order by io_time desc
+    </select>
 
     <update id="updateIoTime">
         update asr_wrk_detl

--
Gitblit v1.9.1