From f7549d786a572e344e8cd3e94a0827a8c219760b Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 05 十一月 2025 13:47:24 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  150 +++++++++++++++++++++++++------------------------
 1 files changed, 76 insertions(+), 74 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 19c5bb7..27aa6a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4,13 +4,16 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.R;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.controller.CrnController;
+import com.zy.asrs.controller.TaskWrkController;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.domain.param.CrnOperatorParam;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CarryParam;
 import com.zy.asrs.entity.param.TaskCreateParam;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
@@ -70,6 +73,8 @@
     private TaskWrkMapper taskWrkMapper;
     @Autowired
     private TaskWrkService taskWrkService;
+    @Autowired
+    private TaskWrkController taskWrkController;
     @Autowired
     private StaDescMapper staDescMapper;
     @Autowired
@@ -2805,20 +2810,6 @@
                 continue;
             }
 
-//            CrnSlave crn = new CrnSlave(crnSlave);
-//            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
-//                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
-//                continue;
-//            }
-//
-//            if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
-//                for (CrnSlave crnOther : slaveProperties.getCrn()) {
-//                    if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
-//                        crn.updateCrnInStn(crnOther);
-//                    }
-//                }
-//            }
-
             // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
@@ -2897,7 +2888,7 @@
                     if (Cools.isEmpty(taskWrk1)){
                         continue;
                     }
-                    if (taskWrk1.getWrkSts() == 2){
+                    if (taskWrk1.getIoType() == 3 && taskWrk1.getWrkSts()<3){
                         taskWrk = taskWrk1;
                         break;
                     }
@@ -3185,10 +3176,23 @@
                             if (offer) {
                                 log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
                                 Date now = new Date();
-                                taskWrk.setStatus(TaskStatusType.OVER3.id);
+//                                taskWrk.setStatus(TaskStatusType.OVER3.id);
+                                taskWrk.setStatus(TaskStatusType.OVER.id);//鎵嬪姩瀹屾垚浠诲姟
                                 taskWrk.setWrkSts(14);
                                 taskWrk.setModiTime(now);
                                 taskWrk.setCompleteTime(now);
+
+                                LocMast locMast=locMastService.selectByLocNo(taskWrk.getStartPoint());
+                                if(Cools.isEmpty(locMast)){
+                                    R.error("娌℃湁鎵惧埌璇ュ簱浣�") ;
+                                }
+                                locMast.setLocSts("O");
+                                locMast.setModiTime(now);
+                                locMast.setModiTime(now);
+
+
+
+                                locMastService.updateById(locMast);
                                 taskWrkService.updateById(taskWrk);
                             } else {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
@@ -3218,19 +3222,7 @@
                     continue;
                 }
 
-                CrnSlave crn = new CrnSlave(crnSlave);
-                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
-                    CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
-                    continue;
-                }
-
-                if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
-                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
-                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
-                            crn.updateCrnInStn(crnOther);
-                        }
-                    }
-                }
+                CrnSlave crn = crnSlave;
 
                 //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
                 if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
@@ -3240,14 +3232,7 @@
                         log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
                         continue;
                     }
-//                Thread.sleep(300);
-                    //纭瀹屾垚淇″彿
-//                    CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
-//                    crnOperatorParam.setCrnNo(crn.getId());
                     Date now = new Date();
-
-//                    crnController.crnTaskComplete(crnOperatorParam);
-//                    MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))
                     crnThread.setResetFlag(true);
 
                     if (!Cools.isEmpty(taskWrk)) {
@@ -3293,44 +3278,6 @@
                         taskWrk.setCompleteTime(now);
                         taskWrkService.updateById(taskWrk);
 
-
-//                    try {
-//                        HashMap<String, Object> headParam = new HashMap<>();
-//                        headParam.put("taskNo",taskWrk.getTaskNo());
-//                        headParam.put("taskStatus",taskWrk.getStatusWms());
-//                        headParam.put("ioType",taskWrk.getIoTypeWms());
-//                        headParam.put("barCode",taskWrk.getBarcode());
-//                        headParam.put("reportTime", LocalDateTime.now());
-//                        headParam.put("weight",taskWrk.getScWeight().doubleValue());
-//
-//                        String response;
-//                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", headParam);
-//
-//                        response = new HttpHandler.Builder()
-//                                // .setHeaders(headParam)
-//                                .setUri(wmsUrl)
-//                                .setPath(taskStatusFeedbackPath)
-//                                .setJson(JSON.toJSONString(headParam))
-//                                .build()
-//                                .doPost();
-//                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", response);
-//
-////                        JSONObject jsonObject = JSON.parseObject(response);
-////                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms==銆�", jsonObject);
-//
-//                        apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
-//                                , wmsUrl + taskStatusFeedbackPath
-//                                , null
-//                                , "127.0.0.1"
-//                                , JSON.toJSONString(headParam)
-//                                , response
-//                                , true
-//                        );
-//                    } catch (Exception e) {
-//                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触", taskWrk);
-//                        log.error("wcs瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e);
-////                        throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
-//                    }
                     }
 
                 }
@@ -3339,5 +3286,60 @@
             }
         }
     }
+    public void locMastTaskDemo(){
+        try{
+            for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+                try{
+                    // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                    CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+                    CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                    if (crnProtocol == null) {
+                        continue;
+                    }
+                    if (Cools.isEmpty(crnProtocol.getLocMastDemoList())) {
+                        continue;
+                    }
+                    BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
+                    if (basCrnp == null) {
+                        log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
+                        continue;
+                    }
+                    if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+                        continue;
+                    }
+                    for (String locNo : crnProtocol.getLocMastDemoList()){
+                        LocMast locMast = locMastService.selectByLocNo(locNo);
+                        if (locMast.getLocSts().equals("F")){
+                            CarryParam carryParam = new CarryParam();
+                            carryParam.setTaskNo(locNo);
+                            carryParam.setBarcode(locNo);
+                            carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+                            carryParam.setTaskPriority(1);
+                            carryParam.setTargetPoint("1012");
+                            carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
+                            carryParam.setMeno("Demo");
+                            taskWrkController.addTaskPoint(carryParam);
+                            Thread.sleep(50);
+                        } else if (locMast.getLocSts().equals("O")){
+                            CarryParam carryParam = new CarryParam();
+                            carryParam.setTaskNo(locNo);
+                            carryParam.setBarcode(locNo);
+                            carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+                            carryParam.setTaskPriority(1);
+                            carryParam.setStartPoint("1012");
+                            carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
+                            carryParam.setMeno("Demo");
+                            taskWrkController.addTaskPoint(carryParam);
+                            Thread.sleep(50);
+                        }
+                    }
 
+                } catch (Exception e){
+
+                }
+            }
+        } catch (Exception e){
+
+        }
+    }
 }

--
Gitblit v1.9.1