From 257c15fe4063b3060b0477302e6d5ce1b0657625 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 27 四月 2025 14:59:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   98 +++++++++++++++++++++++--------------------------
 1 files changed, 46 insertions(+), 52 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 22dba90..f20e742 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -58,8 +58,6 @@
     @Autowired
     private SlaveProperties slaveProperties;
     @Autowired
-    private WrkMastMapper wrkMastMapper;
-    @Autowired
     private LocMastService locMastService;
     @Autowired
     private BasCrnpService basCrnpService;
@@ -93,8 +91,6 @@
     private NotifyUtils notifyUtils;
     @Value("${wms.count}")
     private Integer maxCount;
-    @Autowired
-    private WrkMastService wrkMastService;
     @Value("${wms.url}")
     private String wmsUrl;
     @Value("${wms.inboundTaskApplyPath}")
@@ -207,11 +203,43 @@
                                     continue;
                                 }
 
-                                taskWrk = createTask1(result, barcode);
-                                if (!taskWrkService.insert(taskWrk)) {
-                                    log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
+                                String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn());
+                                LocMast locMast = locMastService.selectByLocNo(locNo);
+                                if (locMast == null) {
+                                    log.info(locNo + "搴撲綅涓嶅瓨鍦�");
                                     continue;
                                 }
+
+                                if (!locMast.getLocSts().equals("O")) {
+                                    log.info(locNo + "搴撲綅涓嶅浜庣┖搴撲綅");
+                                    continue;
+                                }
+
+                                Date now = new Date();
+                                taskWrk = new TaskWrk();
+                                taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
+                                taskWrk.setWrkNo(commonService.getWorkNo(WorkNoType.PAKIN.type));//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+                                taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+                                taskWrk.setWrkSts(2);//2.璁惧涓婅蛋
+                                taskWrk.setCreateTime(now);
+                                    taskWrk.setIoType(1);//浠诲姟绫诲瀷
+                                    taskWrk.setIoPri(13);//浼樺厛绾�
+                                    taskWrk.setBarcode(barcode);//鏉$爜
+                                    taskWrk.setCrnNo(locMast.getCrnNo());
+                                    taskWrk.setTargetPoint(locNo);
+                                    taskWrk.setStartPoint(String.valueOf(staProtocol.getStaNo()));
+                                    if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
+                                        taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
+                                    }
+
+                                    if (!taskWrkService.insert(taskWrk)) {
+                                        log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
+                                    continue;
+                                }
+
+                                locMast.setLocSts("S");
+                                locMast.setModiTime(new Date());
+                                locMastService.updateById(locMast);
 
                                 StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                         .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
@@ -229,7 +257,7 @@
                                 customDataDto.setData(JSON.toJSONString(hashMap));
                                 boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
                                 if(notifyResult) {
-                                    taskWrk.setStatus(2);
+                                    taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟娲惧彂
                                     taskWrkService.updateById(taskWrk);
                                 }
                             }
@@ -836,26 +864,26 @@
                     // 鏈夊紓甯�
                     if (latest == null) {
                         if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
-                            WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo());
-                            if (wrkMast == null) {
+                            TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+                            if (taskWrk == null) {
                                 continue;
                             }
                             BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                             String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
-                                    wrkMast.getWrkNo(),    // 宸ヤ綔鍙�
+                                    taskWrk.getWrkNo(),    // 宸ヤ綔鍙�
                                     now,    // 鍙戠敓鏃堕棿
                                     null,    // 缁撴潫鏃堕棿
-                                    wrkMast.getWrkSts(),    // 宸ヤ綔鐘舵��
-                                    wrkMast.getIoType(),    // 鍏ュ嚭搴撶被鍨�
+                                    taskWrk.getWrkSts().longValue(),    // 宸ヤ綔鐘舵��
+                                    taskWrk.getIoType(),    // 鍏ュ嚭搴撶被鍨�
                                     crn.getId(),    // 鍫嗗灈鏈�
                                     null,    // plc
-                                    wrkMast.getLocNo(),    // 鐩爣搴撲綅
-                                    wrkMast.getStaNo(),    // 鐩爣绔�
-                                    wrkMast.getSourceStaNo(),    // 婧愮珯
-                                    wrkMast.getSourceLocNo(),    // 婧愬簱浣�
-                                    wrkMast.getBarcode(),    // 鏉$爜
+                                    taskWrk.getTargetPoint(),    // 鐩爣搴撲綅
+                                    null,    // 鐩爣绔�
+                                    null,    // 婧愮珯
+                                    taskWrk.getStartPoint(),    // 婧愬簱浣�
+                                    taskWrk.getBarcode(),    // 鏉$爜
                                     (int) crnProtocol.getAlarm1(),    // 寮傚父鐮�
                                     errName,    // 寮傚父
                                     1,    // 寮傚父鎯呭喌
@@ -1002,40 +1030,6 @@
                 locMastService.updateById(locMast);
             }
         }
-    }
-
-    private TaskWrk createTask1(Result result, String barcode) {
-        String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn());
-        LocMast locMast = locMastService.selectByLocNo(locNo);
-        if (locMast == null) {
-            throw new CoolException("搴撲綅涓嶅瓨鍦�");
-        }
-
-        Date now = new Date();
-        TaskWrk taskWrk = new TaskWrk();
-        int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-        taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
-        taskWrk.setWrkNo(workNo1);
-        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
-        taskWrk.setCreateTime(now);
-        taskWrk.setIoType(1);//浠诲姟绫诲瀷
-        taskWrk.setIoPri(13);//浼樺厛绾�
-        taskWrk.setBarcode(barcode);//鏉$爜
-        taskWrk.setCrnNo(locMast.getCrnNo());
-        taskWrk.setTargetPoint(locNo);
-        taskWrk.setStartPoint("116");
-        if (result.getAlley().equals("1")) {
-            taskWrk.setCrnNo(1);
-        } else {
-            taskWrk.setCrnNo(2);
-        }
-        if (taskWrk.getIoType() == 1) {
-            taskWrk.setWrkSts(2);
-            if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
-                taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
-            }
-        }
-        return taskWrk;
     }
 
     private TaskWrk createTask(GetWmsDto dto, String barcode) {

--
Gitblit v1.9.1