From fcf47692a8115c53855e5f7a593238306cd59e69 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 25 十二月 2025 14:40:24 +0800
Subject: [PATCH] 1.新增拍照 2.初始化

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 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 42853a9..7288c3c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -20,10 +20,7 @@
 import com.zy.common.model.SearchLocParam;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
-import com.zy.common.utils.CollectionUtils;
-import com.zy.common.utils.HttpHandler;
-import com.zy.common.utils.News;
-import com.zy.common.utils.RedisUtil;
+import com.zy.common.utils.*;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
@@ -50,6 +47,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -100,6 +98,9 @@
 
     @Value("${wms.url}")
     private String wmsUrl;
+
+    @Autowired
+    private HikUtils hikUtils;
 
     /**
      * 缁勬墭
@@ -708,7 +709,7 @@
                 CrnProtocol crnProtocol = crnThread.getCrnProtocol();
 
                 if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
-                        && (crnProtocol.statusType == CrnStatusType.PUTTING || crnProtocol.statusType == CrnStatusType.WAITING)) {
+                        && crnProtocol.statusType == CrnStatusType.WAITING) {
                     //鏀捐揣涓� 鎴� 绛夊緟纭
                     News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
 
@@ -1045,6 +1046,35 @@
                     }
                 }
             }
+            String ip = "";
+            if (wrkMast.getStaNo()==401){
+                ip = "172.26.4.231";
+            }else if (wrkMast.getStaNo()==402){
+                ip = "172.26.4.232";
+            }else if (wrkMast.getStaNo()==307){
+                ip = "172.26.1.231";
+            }else if (wrkMast.getStaNo()==303){
+                ip = "172.26.1.232";
+            }else if (wrkMast.getStaNo()==304){
+                ip = "172.26.1.233";
+            }
+            SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
+            String newName = sf.format(new Date()) + "_" + locMast.getLocNo();
+            String pic = wrkMast.getPic();
+            List<String> list = null;
+            if (Cools.isEmpty(pic)) {
+                list = new ArrayList<>();
+            } else {
+                list = JSON.parseArray(pic, String.class);
+            }
+            list.add(newName);
+            //鍏ュ簱鍓嶆姄鎷�
+            try {
+                hikUtils.startPic(ip, newName + ".jpg");
+            } catch (Exception e) {
+                log.error("鍏ュ簱鍓嶆姄鎷�");
+            }
+
 
             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
             CrnCommand crnCommand = new CrnCommand();
@@ -1083,6 +1113,7 @@
                 News.info("787 淇敼宸ヤ綔妗g姸鎬�2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� " + wrkMast);
                 Date now = new Date();
                 wrkMast.setWrkSts(3L);
+                wrkMast.setPic(JSON.toJSONString(list));
                 wrkMast.setCrnStrTime(now);
                 wrkMast.setModiTime(now);
                 if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -1144,7 +1175,7 @@
                     continue;
                 }
                 //鍫嗗灈鏈烘帴椹崇珯鐐规病鏈夌┖鏂欐灦
-                if(!staProtocol.isEmptyOutType()&&(Cools.isEmpty(wrkMast.getCtnType())||wrkMast.getCtnType()==0)){
+                if(staProtocol.getSiteId()==307&&!staProtocol.isEmptyOutType()&&(Cools.isEmpty(wrkMast.getCtnType())||wrkMast.getCtnType()==0)){
                     //璇锋眰wms涓嬪彂agv鎼繍绌烘枡鏋跺埌鍫嗗灈鏈烘帴椹崇珯鐐逛换鍔�
                     try {
                         HashMap<String,Object> hashMap=new HashMap<>();
@@ -1167,10 +1198,15 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     }
                 }
+                Boolean config = true;
+
+                if (staProtocol.getSiteId()==307 && !staProtocol.isEmptyOutType()){
+                    config = false;
+                }
 
                 // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
                 if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
-                        && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable() && staProtocol.isEmptyOutType()) {
+                        && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable() && config) {
                     // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                     // 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -1252,6 +1288,16 @@
                         }
                         break;
                     }
+                }else if ((staProtocol.getSiteId()==304 || staProtocol.getSiteId()==301) && staProtocol.isAutoing()
+                        && (staProtocol.isLoading() || staProtocol.getWorkNo() != 0)) {
+                    if (staProtocol.getSiteId() == 304){
+                        wrkMast.setSourceStaNo(301);
+
+                    }else {
+                        wrkMast.setSourceStaNo(304);
+                    }
+                    wrkMast.setModiTime(new  Date());
+                    wrkMastMapper.updateById(wrkMast);
                 }
 
             }
@@ -1760,7 +1806,7 @@
                 if (staProtocol.isAutoing()
                         && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk()
-                        && (staProtocol.getWorkNo() > 9990 && staProtocol.getWorkNo() <= 9999)
+                        && (staProtocol.getWorkNo() ==0)
                         && staProtocol.isPakMk()
 //                        && staProtocol.getEmptyInType() == 1
                 ) {
@@ -1785,6 +1831,11 @@
                             String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
                             MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(5, errorMsg));
                         }
+                        continue;
+                    }
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+                    WaitPakin waitPakin = waitPakinMapper.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).getEntity());
+                    if (waitPakin != null || wrkMast != null) {
                         continue;
                     }
 
@@ -2393,7 +2444,7 @@
             wrkMast.setCrnNo(crn.getId());
             wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
             wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-            wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+            wrkMast.setFullPlt(shallowLoc.getLocSts().equals("F") ? "Y" : "N"); // 婊℃澘
             wrkMast.setPicking("N"); // 鎷f枡
             wrkMast.setExitMk("N"); // 閫�鍑�
             wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
@@ -2498,7 +2549,7 @@
                     wrkMast.setCrnNo(crn.getId());
                     wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
                     wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
-                    wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+                    wrkMast.setFullPlt(sourceLoc.getLocSts().equals("F")?"Y":"N"); // 婊℃澘锛歒
                     wrkMast.setPicking("N"); // 鎷f枡
                     wrkMast.setExitMk("N"); // 閫�鍑�
                     wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘

--
Gitblit v1.9.1