From e9152bae00b01fc80000d44f726f337084215748 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 21 五月 2025 10:19:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   95 +++++++++++++----------------------------------
 1 files changed, 26 insertions(+), 69 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 9004e48..eb847be 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.dto.NotifyCustomDataDto;
 import com.zy.asrs.domain.enums.NotifyMsgType;
+import com.zy.asrs.domain.enums.RedisKeyType;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.*;
@@ -18,15 +19,12 @@
 import com.zy.asrs.utils.Utils;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.*;
-import com.zy.core.enums.DevpType.DevpRequestType;
-import com.zy.core.enums.DevpType.DevpStateType;
-import com.zy.core.enums.DevpType.DevpTrayType;
-import com.zy.core.enums.DevpType.DevpWorkType;
 import com.zy.core.model.CrnSlave;
 import com.zy.core.model.DevpSlave;
 import com.zy.core.model.Task;
@@ -76,13 +74,9 @@
     @Autowired
     private TaskWrkService taskWrkService;
     @Autowired
-    private ConfigService configService;
-    @Autowired
     private StaDescMapper staDescMapper;
     @Autowired
     private CommandInfoService commandInfoService;
-    @Autowired
-    private OpenServiceImpl openServiceImpl;
     @Autowired
     private StaDescService staDescService;
     @Autowired
@@ -93,6 +87,8 @@
     private CrnOperaUtils crnOperaUtils;
     @Autowired
     private NotifyUtils notifyUtils;
+    @Autowired
+    private RedisUtil redisUtil;
     @Value("${wms.count}")
     private Integer maxCount;
     @Value("${wms.url}")
@@ -116,8 +112,6 @@
                     } else {
                         staProtocol = staProtocol.clone();
                     }
-                    Short workNo = staProtocol.getWorkNo().shortValue();
-                    Short stano = staProtocol.getStaNo();
 
                     // 灏哄妫�娴嬪紓甯�
                     boolean back = false;
@@ -166,6 +160,11 @@
                         }
 
                         String barcode = barcodeThread.getBarcode();
+                        if (Cools.isEmpty(barcode)) {
+                            log.info("鍏ュ簱淇″彿婊¤冻锛屾墭鐩樼爜涓虹┖");
+                            continue;
+                        }
+
                         TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
                         if (taskWrk1 != null) {
                             log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�");
@@ -185,6 +184,11 @@
                         String response = "";
                         Boolean success = false;
                         try {
+                            Object object = redisUtil.get(RedisKeyType.IN_TASK_LOCK.key);
+                            if(object != null) {
+                                continue;
+                            }
+
                             response = new HttpHandler.Builder()
                                     .setUri(wmsUrl)
                                     .setPath(inboundTaskApplyPath)
@@ -192,14 +196,18 @@
                                     .build()
                                     .doPost();
                             JSONObject jsonObject = JSON.parseObject(response);
-                            if (jsonObject.getInteger("code") != 200) {
-                                log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
-                                continue;
-                            }
+                            redisUtil.set(RedisKeyType.IN_TASK_LOCK.key, "lock", 5);
+                            if (jsonObject.getInteger("code") == 200) {
 
-                            if (back) {
-                                devpThread.setPakMk(staProtocol.getSiteId(), false);
+                            } else if (jsonObject.getInteger("code") == 500) {
+                                log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
+
+                                staProtocol.setWorkNo(9997);
+                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
                                 MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                                continue;
+                            }else {
+                                log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
                                 continue;
                             }
 
@@ -319,7 +327,7 @@
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
-                List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
+                List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("type_no", 2).eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
                 for (StaDesc staDesc : staDescs) {
                     try {
                         // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
@@ -525,28 +533,6 @@
                         continue;
                     }
 
-                    LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint());
-                    //鍒ゆ柇鍏跺簱浣嶆槸鍚︿负娣卞簱浣嶏紝濡傛灉涓烘繁搴撲綅鎵惧叾娴呭簱浣嶆槸閮芥湁璐�
-                    if(locMast.getRow1()==1||locMast.getRow1()==5){
-                        LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>()
-                                .eq("row1", (locMast.getRow1()+1))
-                                .eq("bay1",locMast.getBay1())
-                                .eq("lev1",locMast.getLev1()).eq("loc_sts","F"));
-                        if (!Cools.isEmpty(locMast1)){
-                            log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
-                            continue;
-                        }
-                    }else if(locMast.getRow1()==4||locMast.getRow1()==8){
-                        LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>()
-                                .eq("row1", (locMast.getRow1()-1))
-                                .eq("bay1",locMast.getBay1())
-                                .eq("lev1",locMast.getLev1()).eq("loc_sts","F"));
-                        if (!Cools.isEmpty(locMast1)){
-                            log.info(locMast.getLocNo()+"鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
-                            continue;
-                        }
-                    }
-
                     // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
                     SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
                     StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
@@ -564,7 +550,7 @@
                     }
 
                     // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-                    if (staProtocol.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+                    if (staProtocol.isAutoing() && staProtocol.isOutEnable() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
                     ) {
                         // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
@@ -822,42 +808,13 @@
                     if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
                         taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
-
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                        locMast.setLocSts("F");//F.鍦ㄥ簱
-                        locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-                        locMast.setModiTime(new Date());
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
                     } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
                         taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
 
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
-                        locMast.setLocSts("O");//O.绌哄簱浣�
-                        locMast.setBarcode("");//鎵樼洏鐮�
-                        locMast.setModiTime(new Date());
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
                     } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) {
                         taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
                         taskWrk.setStatus(5);//瀹岀粨
-                        //鏇存柊搴撲綅鐘舵��
-                        LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                        locMast.setLocSts("F");//F.鍦ㄥ簱
-                        locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-                        locMast.setModiTime(new Date());
-                        locMast.setModiUser(9999L);
-                        locMastService.updateById(locMast);
-
-                        LocMast locMast1 = locMastService.selectByLocNo(taskWrk.getStartPoint());
-                        locMast1.setLocSts("O");//O.绌哄簱浣�
-                        locMast1.setBarcode("");//鎵樼洏鐮�
-                        locMast1.setModiTime(new Date());
-                        locMast1.setModiUser(9999L);
-                        locMastService.updateById(locMast1);
                     }
                     taskWrkService.updateById(taskWrk);
                 }

--
Gitblit v1.9.1