From 1a1e3398d15027a65e56e0ed82e54f3a4feea0b6 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期五, 25 四月 2025 09:49:25 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java |   84 +++++++++++++++---------------------------
 1 files changed, 30 insertions(+), 54 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
index bc0e484..de36ebd 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -1,23 +1,22 @@
 package com.zy.asrs.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.StaDesc;
-import com.zy.asrs.mapper.TaskWrkMapper;
 import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.mapper.TaskWrkMapper;
 import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.StaDescService;
 import com.zy.asrs.service.TaskWrkService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.zy.asrs.utils.CommandUtils;
+import com.zy.asrs.service.ToWmsService;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.service.CommonService;
-import com.zy.common.utils.HttpHandler;
 import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.CrnTaskModeType;
 import com.zy.core.enums.SlaveType;
@@ -27,13 +26,11 @@
 import com.zy.core.model.protocol.StaProtocol;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 
 @Slf4j
@@ -42,14 +39,17 @@
 
     @Autowired
     private CommonService commonService;
+
     @Autowired
     private StaDescService staDescService;
-    @Value("${wms.url}")
-    private String wmsUrl;
-    @Value("${wms.taskStatusFeedbackPath}")
-    private String taskStatusFeedbackPath;
+
+
     @Autowired
     private ApiLogService apiLogService;
+
+
+    @Autowired
+    private ToWmsService toWmsService;
 
     @Override
     public TaskWrk selectByTaskNo(String taskNo) {
@@ -59,6 +59,11 @@
     @Override
     public TaskWrk selectByStartPoint(String taskNo) {
         return this.baseMapper.selectByStartPoint(taskNo);
+    }
+
+    @Override
+    public TaskWrk selectByBarcode(String barcode) {
+        return this.baseMapper.selectByBarcode(barcode);
     }
 
     @Override
@@ -90,7 +95,7 @@
                 throw new CoolException("鏈帴鏀跺埌璧风偣鍜岀粓鐐癸紝涓嶈繘琛屾淳鍙�");
             }
             startup(taskWrk, userId);
-        }else if(taskWrk.getIoType() == 2){
+        } else if (taskWrk.getIoType() == 2) {
             //2.鍑哄簱
             stockOut(taskWrk, userId);
         } else if (taskWrk.getIoType() == 3) {
@@ -115,7 +120,7 @@
         taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
         taskWrk.setModiTime(new Date());
         taskWrk.setModiUser(userId);
-        updateById(taskWrk);
+        super.updateById(taskWrk);
 
         CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), true);
         if (crnStn == null) {
@@ -133,41 +138,12 @@
         crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鍒�
         crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅灞�
         crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 鐩爣搴撲綅鎺�
-        crnCommand.setCommand((short)1);
-        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand),false)) {
+        crnCommand.setCommand((short) 1);
+        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
             log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
             throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
-        }else{
-            try{
-                HashMap<String, Object> headParam = new HashMap<>();
-                headParam.put("taskNo",taskWrk.getTaskNo());
-                headParam.put("status",taskWrk.getStatus());
-                headParam.put("ioType",taskWrk.getIoType());
-                headParam.put("barcode",taskWrk.getBarcode());
-                headParam.put("reportTime",new Date());
-                String response;
-                response = new HttpHandler.Builder()
-                        // .setHeaders(headParam)
-                        .setUri(wmsUrl)
-                        .setPath(taskStatusFeedbackPath)
-                        .setJson(JSON.toJSONString(headParam))
-                        .build()
-                        .doPost();
-
-                JSONObject jsonObject = JSON.parseObject(response);
-                apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
-                        ,wmsUrl+taskStatusFeedbackPath
-                        ,null
-                        ,"127.0.0.1"
-                        ,JSON.toJSONString(headParam)
-                        ,response
-                        ,true
-                );
-            }catch (Exception e){
-                log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk);
-                throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
-            }
-
+        } else {
+            toWmsService.addReportLog(taskWrk);
         }
     }
 
@@ -186,7 +162,7 @@
         taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
         taskWrk.setModiTime(new Date());
         taskWrk.setModiUser(userId);
-        updateById(taskWrk);
+        super.updateById(taskWrk);
 
         CrnSlave.CrnStn crnStn = Utils.getCrnStnByStaNo(staDesc.getCrnStn(), false);
         if (crnStn == null) {
@@ -204,8 +180,8 @@
         crnCommand.setDestinationPosX(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鎺�
         crnCommand.setDestinationPosY(crnStn.getLev().shortValue());     // 鐩爣搴撲綅鍒�
         crnCommand.setDestinationPosZ(crnStn.getRow().shortValue());     // 鐩爣搴撲綅灞�
-        crnCommand.setCommand((short)1);
-        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
+        crnCommand.setCommand((short) 1);
+        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
             log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
             throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
         }
@@ -215,7 +191,7 @@
         StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
         staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
         staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint()));
-        if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
+        if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
             log.error("杈撻�佺嚎鍛戒护鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
             throw new CoolException("杈撻�佺嚎鍛戒护鐢熸垚澶辫触");
         }
@@ -224,9 +200,9 @@
     @Override
     public void locMove(TaskWrk taskWrk, Long userId) {
         //搴撴牸绉昏浇浠诲姟娲惧彂
-       if (Cools.isEmpty(taskWrk.getTargetPoint())){
-           return;
-       }
+        if (Cools.isEmpty(taskWrk.getTargetPoint())) {
+            return;
+        }
         int workNo = commonService.getWorkNo(WorkNoType.OTHER.type);//鑾峰彇宸ヤ綔鍙�
         taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
         taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
@@ -235,7 +211,7 @@
         //taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
         taskWrk.setModiTime(new Date());
         taskWrk.setModiUser(userId);
-        updateById(taskWrk);
+        super.updateById(taskWrk);
     }
 
     @Override

--
Gitblit v1.9.1