From d04ce586afce3b78f238289dad10dacd4c22206a Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 08 十二月 2023 08:30:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java           |   22 ++
 src/main/java/com/zy/asrs/controller/ApiLogController.java     |    1 
 src/main/java/com/zy/asrs/entity/TaskWrk.java                  |    4 
 src/main/java/com/zy/asrs/controller/OpenController.java       |   42 +++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |    2 
 src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java |    3 
 src/main/resources/mapper/TaskWrkMapper.xml                    |    4 
 src/main/java/com/zy/asrs/service/OpenService.java             |    2 
 src/main/java/com/zy/asrs/entity/TaskWrkLog.java               |    4 
 src/main/java/com/zy/core/thread/SiemensCrnThread.java         |  312 +++++++++++---------------------------
 src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java     |    3 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java    |   33 +--
 src/main/java/com/zy/core/thread/SiemensDevpThread.java        |   30 +-
 13 files changed, 178 insertions(+), 284 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ApiLogController.java b/src/main/java/com/zy/asrs/controller/ApiLogController.java
index 9f0a8df..cea9e87 100644
--- a/src/main/java/com/zy/asrs/controller/ApiLogController.java
+++ b/src/main/java/com/zy/asrs/controller/ApiLogController.java
@@ -41,6 +41,7 @@
         excludeTrash(param);
         convert(param, wrapper);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        wrapper.orderDesc(Collections.singleton("create_time"));
         return R.ok(apiLogService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6f30d10..53d2b79 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -235,7 +235,7 @@
         auth(appkey, params, request);
         List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
         for (WMSAndAGVInterfaceParam param:params){
-            try {
+
                 if (Cools.isEmpty(param)){
                     return R.error("鍙傛暟涓虹┖锛�");
                 } else if (Cools.isEmpty(param.getTaskNo())){
@@ -254,29 +254,35 @@
                 if (Cools.isEmpty(param.getEmptyContainer())){
                     return R.error("鏄惁绌烘墭鐩樹俊鍙蜂负绌猴紒");
                 }
-//        if (Cools.isEmpty(param.getTaskTunnel())){
-//            return R.error("浠诲姟宸烽亾涓虹┖锛�");
-//        }
-//        if (Cools.isEmpty(param.getGroupNo())){
-//            return R.error("浠诲姟缁勪负绌猴紒");
-//        }
-//        if (Cools.isEmpty(param.getTaskSerialNo())){
-//            return R.error("浠诲姟鎵ц椤哄簭涓虹┖锛�");
-//        }
                 if (Cools.isEmpty(param.getTargetWharf())){
                     return R.error("鐩爣鐮佸ご鍖哄煙涓虹┖锛�");//G寮�澶�=7杞﹂棿锛孒寮�澶�=8灞傦紝J寮�澶�=9杞﹂棿
                 }
+                StaDesc staDesc = new StaDesc();
+                if (param.getTaskType().equals("CK") && param.getTargetWharf().contains("J")){
+                    staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                            .eq("crn_no", param.getTaskTunnel()).eq("type_no",2).lt("crn_stn", 200));
+                }else {
+                    staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                            .eq("crn_no", param.getTaskTunnel()).eq("type_no",2).ge("crn_stn", 200));
+                }
+                param.setTargetLocationCode(staDesc.getStnNo().toString());
 
-                openService.taskCreate(new taskCreateParam(param));
 
-                params1.add(param);
-//                return R.ok(param);
-            }catch (Exception e){
-                String errorMsg = Cools.isEmpty(e.getLocalizedMessage()) ? "" : e.getLocalizedMessage();
-                return R.error("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�!"+ errorMsg);
-            }
+                R r = openService.taskCreate(new taskCreateParam(param));
+
+                apiLogService.save("Wms浠诲姟涓嬪彂鎺ュ彛"
+                        ,request.getRemoteAddr()+request.getRequestURI()
+                        ,appkey
+                        ,request.getRemoteAddr()
+                        ,JSON.toJSONString(param)
+                        ,r.toString()
+                        ,true
+                );
+                return r;
+
         }
-        return R.ok(params1);
+
+        return null;
     }
 
     //浠诲姟鍙栨秷鎺ュ彛
diff --git a/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java b/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
index fa50623..248701c 100644
--- a/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/TaskStatusType.java
@@ -4,8 +4,9 @@
 
     RECEIVE(1,"鎺ユ敹"),
     DISTRIBUTE(2,"娲惧彂"),
-    COMPLETE(3,"瀹岀粨"),
+    COMPLETE(3,"鍛戒护瀹屾垚"),
     CANCEL(4,"鍙栨秷"),
+    OVER(5,"瀹岀粨")
     ;
 
     public Integer id;
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index 8aa9893..54b3913 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -238,9 +238,11 @@
             case 2:
                 return "娲惧彂";
             case 3:
-                return "瀹岀粨";
+                return "姝ュ簭瀹屾垚";
             case 4:
                 return "鍙栨秷";
+            case 5:
+                return "瀹岀粨";
             default:
                 return String.valueOf(this.status);
         }
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index 9c6d6fe..37c83aa 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -237,9 +237,11 @@
             case 2:
                 return "娲惧彂";
             case 3:
-                return "瀹岀粨";
+                return "姝ュ簭瀹屾垚";
             case 4:
                 return "鍙栨秷";
+            case 5:
+                return "瀹岀粨";
             default:
                 return String.valueOf(this.status);
         }
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index bd1c6c8..3a24243 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -11,7 +11,7 @@
 public interface OpenService {
 
     //鍒涘缓浠诲姟
-    void taskCreate(taskCreateParam param);
+    R taskCreate(taskCreateParam param);
 
     R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException;
 
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 6f2523e..d33bf00 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -844,7 +844,7 @@
             if (taskWrk.getIoType() == 1) {
                 //鍏ュ簱浠诲姟
                 taskWrk.setWrkSts(4);//3.鍚婅溅鍏ュ簱涓� => 4.鍏ュ簱瀹屾垚
-                taskWrk.setStatus(TaskStatusType.COMPLETE.id);
+                //taskWrk.setStatus(TaskStatusType.COMPLETE.id);
                 taskWrk.setModiTime(now);
                 taskWrkService.updateById(taskWrk);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 99237bb..529e10a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -59,7 +59,7 @@
 
 
     @Override
-    public void taskCreate(taskCreateParam param) {
+    public R taskCreate(taskCreateParam param) {
         TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
         if (taskWrk != null) {
             throw new CoolException(param.getTaskNo() + "浠诲姟宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
@@ -79,25 +79,30 @@
         taskWrk.setCrnNo(param.getCrn());
         if(param.getIoType() == 1){
             taskWrk.setWrkSts(1);
+            if (!Cools.isEmpty(param.getTargetPoint())) {
+                taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣
+                taskWrk.setOriginTargetPoint(param.getTargetPoint());
+            }
+
         } else if (param.getIoType() == 2) {
             taskWrk.setWrkSts(11);
+            if (!Cools.isEmpty(param.getStartPoint())) {
+                taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//璧风偣
+                taskWrk.setOriginStartPoint(param.getStartPoint());
+            }
+            taskWrk.setTargetPoint(param.getTargetPoint());
         }
 
-        if (!Cools.isEmpty(param.getStartPoint())) {
-            taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//璧风偣
-            taskWrk.setOriginStartPoint(param.getStartPoint());
-        }
-        if (!Cools.isEmpty(param.getTargetPoint())) {
-            taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣
-            taskWrk.setOriginTargetPoint(param.getTargetPoint());
-        }
+
+
         if (!Cools.isEmpty(param.getMemo())) {
             taskWrk.setMemo(param.getMemo());//澶囨敞
         }
 
         if (!taskWrkService.insert(taskWrk)) {
-            throw new CoolException("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�");
+            return R.error("鍒涘缓浠诲姟澶辫触");
         }
+        return R.ok();
     }
 
     @Override
@@ -179,14 +184,6 @@
 
     @Override
     public void getAgvTaskOver(TaskOverParam param) {
-//        Map<String,Integer> map = new HashMap<>();
-//        put("J-1101",102);put("J-1102",101);
-//        put("J-1103",106);put("J-1104",105);
-//        put("J-1105",110);put("J-1106",109);
-//        put("J-1107",114);put("J-1108",113);
-//        put("J-1109",118);put("J-1110",117);
-//        put("J-1111",122);put("J-1112",121);
-//        put("H-1101",305);put("H-1102",300);
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
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 40ad2b0..e899da4 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -24,6 +24,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
@@ -59,7 +60,7 @@
     }
 
     @Override
-    @Transactional
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
     public void distribute(String taskNo, Long userId) {
         TaskWrk taskWrk = this.selectByTaskNo(taskNo);
         if (taskWrk == null) {
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index b784d74..2a4681c 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -5,10 +5,13 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.CommandInfo;
+import com.zy.asrs.entity.StaDesc;
 import com.zy.asrs.entity.TaskWrk;
 import com.zy.asrs.entity.param.TaskOverToWms;
 import com.zy.asrs.entity.param.TaskStatusFeedbackParam;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.CommandInfoService;
+import com.zy.asrs.service.StaDescService;
 import com.zy.asrs.service.TaskWrkService;
 import com.zy.asrs.utils.PostMesDataUtils;
 import com.zy.common.utils.HttpHandler;
@@ -34,6 +37,11 @@
     private TaskWrkService taskWrkService;
     @Autowired
     private CommandInfoService commandInfoService;
+    @Autowired
+    private ApiLogService apiLogService;
+
+    @Autowired
+    private StaDescService staDescService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -44,7 +52,7 @@
     public void execute() throws IOException {
         for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
             TaskStatusFeedbackParam taskStatusFeedbackParam = new TaskStatusFeedbackParam(taskWrk);
-            if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) {//瀹屾垚
+            if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)) {//瀹屾垚
                 taskStatusFeedbackParam.setTaskStatus("done");
                 Map<String, Object> map = new HashMap<>();
                 map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
@@ -65,7 +73,8 @@
                     map1.put(114,"J-1107");
                     map1.put(118,"J-1109");
                     map1.put(122,"J-1111");
-                    taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
+                    StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no", taskWrk.getTargetPoint()));
+                    taskOverToWms.setEquipmentCode(staDesc.getStnDesc()); //璁惧缂栫爜
                     taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
                 }
 
@@ -82,7 +91,14 @@
                 }catch (Exception e){
                     continue;
                 }
-
+                apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
+                        ,wmsUrl+"/wcsManager/wcsInterface/taskStatusFeedback"
+                        ,null
+                        ,"127.0.0.1"
+                        ,JSON.toJSONString(taskOverToWms)
+                        ,response
+                        ,true
+                );
 
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)){
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ac4f614..5f8e0cd 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -5,11 +5,15 @@
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.TaskOverToWms;
 import com.zy.asrs.service.*;
+import com.zy.common.utils.HttpHandler;
 import com.zy.core.CrnThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -21,12 +25,11 @@
 import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * 鍫嗗灈鏈虹嚎绋�
@@ -40,6 +43,8 @@
     private CrnSlave slave;
     private CrnProtocol crnProtocol;
     private boolean resetFlag = false;
+    @Value("${wms.url}")
+    private String wmsUrl;
     public static final List<Short> rowOne = new ArrayList<Short>() {{
         add((short) 1);add((short) 5);add((short) 7);add((short) 11);add((short) 15);add((short) 19);
     }};
@@ -181,181 +186,93 @@
             crnProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 48));
             crnProtocol.setYDuration(siemensNet.getByteTransform().TransSingle(result.Content, 52));
 
-//            // 寮傚父
-//            crnProtocol.setAlarm1(0);
-//            crnProtocol.setAlarm2(0);
-//            crnProtocol.setAlarm3(0);
-//            crnProtocol.setAlarm4(0);
-//            boolean[] err1 = siemensNet.getByteTransform().TransBool(result.Content, 28, 1);    // 30
-//            if (err1[0]) { crnProtocol.setAlarm1(1); }
-//            if (err1[1]) { crnProtocol.setAlarm1(2); }
-//            if (err1[2]) { crnProtocol.setAlarm1(3); }
-//            boolean[] err2 = siemensNet.getByteTransform().TransBool(result.Content, 29, 1);    // 31
-//            if (err2[0]) { crnProtocol.setAlarm1(4); }
-//            if (err2[1]) { crnProtocol.setAlarm1(5); }
-//            if (err2[2]) { crnProtocol.setAlarm1(6); }
-//            boolean[] err3 = siemensNet.getByteTransform().TransBool(result.Content, 30, 1);    // 32
-//            if (err3[6]) { crnProtocol.setAlarm1(7); }
-//            if (err3[7]) { crnProtocol.setAlarm1(8); }
-//            boolean[] err4 = siemensNet.getByteTransform().TransBool(result.Content, 31, 1);    // 33
-//            if (err4[1]) { crnProtocol.setAlarm1(9); }
-//            if (err4[5]) { crnProtocol.setAlarm1(10); }
-//            if (err4[6]) { crnProtocol.setAlarm1(11); }
-//            if (err4[7]) { crnProtocol.setAlarm1(12); }
-//            boolean[] err5 = siemensNet.getByteTransform().TransBool(result.Content, 32, 1);    // 34
-//            if (err5[0]) { crnProtocol.setAlarm2(13); }
-//            if (err5[2]) { crnProtocol.setAlarm2(14); }
-//            if (err5[3]) { crnProtocol.setAlarm2(15); }
-//            if (err5[5]) { crnProtocol.setAlarm2(16); }
-//            if (err5[6]) { crnProtocol.setAlarm2(17); }
-//            if (err5[7]) { crnProtocol.setAlarm2(18); }
-//            boolean[] err6 = siemensNet.getByteTransform().TransBool(result.Content, 33, 1);    // 35
-//            if (err6[1]) { crnProtocol.setAlarm2(19); }
-//            if (err6[2]) { crnProtocol.setAlarm2(20); }
-//            if (err6[3]) { crnProtocol.setAlarm2(21); }
-//            if (err6[4]) { crnProtocol.setAlarm2(22); }
-//            boolean[] err7 = siemensNet.getByteTransform().TransBool(result.Content, 34, 1);    // 36
-//            if (err7[4]) { crnProtocol.setAlarm2(23); }
-//            if (err7[5]) { crnProtocol.setAlarm2(24); }
-//            if (err7[6]) { crnProtocol.setAlarm2(25); }
-//            boolean[] err8 = siemensNet.getByteTransform().TransBool(result.Content, 36, 1);    // 38
-//            if (err8[0]) { crnProtocol.setAlarm3(26); }
-//            if (err8[1]) { crnProtocol.setAlarm3(27); }
-//            if (err8[2]) { crnProtocol.setAlarm3(28); }
-//            if (err8[3]) { crnProtocol.setAlarm3(29); }
-//            if (err8[4]) { crnProtocol.setAlarm3(30); }
-//            if (err8[5]) { crnProtocol.setAlarm3(31); }
-//            if (err8[6]) { crnProtocol.setAlarm3(32); }
-//            if (err8[7]) { crnProtocol.setAlarm3(33); }
-//            boolean[] err9 = siemensNet.getByteTransform().TransBool(result.Content, 37, 1);    // 39
-//            if (err9[0]) { crnProtocol.setAlarm3(34); }
-//            if (err9[1]) { crnProtocol.setAlarm3(35); }
-//            if (err9[2]) { crnProtocol.setAlarm3(36); }
-//            if (err9[3]) { crnProtocol.setAlarm3(37); }
-//            if (err9[4]) { crnProtocol.setAlarm3(38); }
-//            if (err9[5]) { crnProtocol.setAlarm3(39); }
-//            if (err9[6]) { crnProtocol.setAlarm3(40); }
-//            if (err9[7]) { crnProtocol.setAlarm3(41); }
-//            boolean[] err10 = siemensNet.getByteTransform().TransBool(result.Content, 38, 1);    // 40
-//            if (err10[0]) { crnProtocol.setAlarm3(42); }
-//            if (err10[1]) { crnProtocol.setAlarm3(43); }
-//            if (err10[2]) { crnProtocol.setAlarm3(44); }
-//            if (err10[3]) { crnProtocol.setAlarm3(45); }
-//            if (err10[4]) { crnProtocol.setAlarm3(46); }
-//            boolean[] err11 = siemensNet.getByteTransform().TransBool(result.Content, 39, 1);    // 41
-//            if (err11[0]) { crnProtocol.setAlarm3(47); }
-//            if (err11[1]) { crnProtocol.setAlarm3(48); }
-//            if (err11[2]) { crnProtocol.setAlarm3(49); }
-//            boolean[] err12 = siemensNet.getByteTransform().TransBool(result.Content, 40, 1);    // 42
-//            if (err12[0]) { crnProtocol.setAlarm4(50); }
-//            if (err12[1]) { crnProtocol.setAlarm4(51); }
-//            if (err12[2]) { crnProtocol.setAlarm4(52); }
-//            if (err12[3]) { crnProtocol.setAlarm4(53); }
-//            if (err12[4]) { crnProtocol.setAlarm4(54); }
-//            if (err12[5]) { crnProtocol.setAlarm4(55); }
-//            boolean[] err13 = siemensNet.getByteTransform().TransBool(result.Content, 41, 1);    // 43
-//            if (err13[0]) { crnProtocol.setAlarm4(56); }
-//            if (err13[1]) { crnProtocol.setAlarm4(57); }
-//            if (err13[2]) { crnProtocol.setAlarm4(58); }
-//            if (err13[3]) { crnProtocol.setAlarm4(59); }
-//            boolean[] err14 = siemensNet.getByteTransform().TransBool(result.Content, 42, 1);    // 44
-//            if (err14[0]) { crnProtocol.setAlarm4(60); }
-//            if (err14[1]) { crnProtocol.setAlarm4(61); }
-//            if (err14[2]) { crnProtocol.setAlarm4(62); }
-//            if (err14[3]) { crnProtocol.setAlarm4(63); }
-//            if (err14[4]) { crnProtocol.setAlarm4(64); }
-//            if (err14[5]) { crnProtocol.setAlarm4(65); }
-//            if (err14[6]) { crnProtocol.setAlarm4(66); }
-//            if (err14[7]) { crnProtocol.setAlarm4(67); }
-//            boolean[] err15 = siemensNet.getByteTransform().TransBool(result.Content, 43, 1);    // 45
-//            if (err15[1]) { crnProtocol.setAlarm4(68); }
-//            if (err15[2]) { crnProtocol.setAlarm4(69); }
-//            if (err15[3]) { crnProtocol.setAlarm4(70); }
-//            if (err15[4]) { crnProtocol.setAlarm4(71); }
-//            if (err15[5]) { crnProtocol.setAlarm4(72); }
-//            if (err15[6]) { crnProtocol.setAlarm4(73); }
 
-//            boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1);    // 62
-//            crnProtocol.setConnStatus(bool1[0]);
-//            crnProtocol.setCorrection(bool1[3]);
-//            crnProtocol.setTuError(bool1[4]);
-//            crnProtocol.setNoneError(bool1[5]);
-//            crnProtocol.setStockError(bool1[6]);
-//            crnProtocol.setJobInvalid(bool1[7]);
-//            boolean[] bool2 = siemensNet.getByteTransform().TransBool(result.Content, 61, 1);    // 63
-//            crnProtocol.setIdle(bool2[0]);
-//            crnProtocol.setControl(bool2[1]);
-//            crnProtocol.setStopQuasi(bool2[2]);
-//            crnProtocol.setRunning(bool2[3]);
-//            crnProtocol.setFault(bool2[4]);
-//            crnProtocol.setForkHome(bool2[5]);
-//            crnProtocol.setForkSingleLeft(bool2[6]);
-//            crnProtocol.setForkSingleRight(bool2[7]);
-//            boolean[] bool3 = siemensNet.getByteTransform().TransBool(result.Content, 62, 1);    // 64
-//            crnProtocol.setForkDoubleLeft(bool3[0]);
-//            crnProtocol.setForkDoubleRight(bool3[1]);
-//            crnProtocol.setSingleHigh(bool3[2]);
-//            crnProtocol.setSingleLow(bool3[3]);
-//            crnProtocol.setDoubleHigh(bool3[4]);
-//            crnProtocol.setDoubleLow(bool3[5]);
-//            crnProtocol.setPlatformHigh(bool3[6]);
-//            crnProtocol.setPlatformLow(bool3[7]);
-//            boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1);    // 66
-//            crnProtocol.setLoaded((short) (bool4[4]?1:0));  // 鏈夌墿
-
-            // 閫熷害
-//            crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22));    // 24
-//            crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24));    // 26
-//            crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26));    // 28
-//            // 绱閲岀▼銆佹椂闀�
-//            crnProtocol.setXDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 88));    // 90
-//            crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92));    // 94
-//            crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96));    // 98
-//            crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100));    // 102
-
-//            // 澧炲己
-//            if (crnProtocol.getForkHome()) {
-//                crnProtocol.setForkPos(CrnForkPosType.HOME);
-//            }
-//            if (crnProtocol.getForkSingleLeft()) {
-//                crnProtocol.setForkPos(CrnForkPosType.LEFT);
-//            }
-//            if (crnProtocol.getForkSingleRight()) {
-//                crnProtocol.setForkPos(CrnForkPosType.RIGHT);
-//            }
-//            if (crnProtocol.getForkDoubleLeft()) {
-//                crnProtocol.setForkPos(CrnForkPosType._LEFT);
-//            }
-//            if (crnProtocol.getForkDoubleRight()) {
-//                crnProtocol.setForkPos(CrnForkPosType._RIGHT);
-//            }
-//            if (crnProtocol.getSingleHigh()) {
-//                crnProtocol.setLiftPos(CrnLiftPosType.UP);
-//            }
-//            if (crnProtocol.getSingleLow()) {
-//                crnProtocol.setLiftPos(CrnLiftPosType.DOWN);
-//            }
-//            if (crnProtocol.getDoubleHigh()) {
-//                crnProtocol.setLiftPos(CrnLiftPosType._UP);
-//            }
-//            if (crnProtocol.getDoubleLow()) {
-//                crnProtocol.setLiftPos(CrnLiftPosType._DOWN);
-//            }
-//            if (crnProtocol.getIdle()) {
-//                crnProtocol.setStatus(CrnStatusType.IDLE);
-//            }
 
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
             // 澶嶄綅淇″彿
             if (crnProtocol.getTaskFinish() == 0) {
                 if (resetFlag) {
+                    //鍫嗗灈鏈轰换鍔″畬鎴愬悗璁块棶wms璇锋眰浠诲姟瀹屾垚 locationDone 璐т綅澶勭悊瀹屾垚
+                    TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+                    TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no",crnProtocol.getTaskNo()));
+                    String tasktype = null;
+                    switch (taskWrk.getIoType()){
+                        case 1:
+                            tasktype= "RK";
+                            break;
+                        case 2:
+                            tasktype= "CK";
+                            break;
+                        case 3:
+                            tasktype= "YK";
+                            break;
+                        default:
+                            tasktype= "鏈煡";
+                    }
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+                    TaskOverToWms taskOverToWms = new TaskOverToWms();
+                    taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
+                    taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
+                    taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
+                    taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
+                    taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
+                    if (taskWrk.getIoType() ==1 ){
+                        taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+                        taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+                    }else if (taskWrk.getIoType() ==2){
+                        Map<Integer,String> map1 = new HashMap<>();
+                        map1.put(102,"J-1101");
+                        map1.put(106,"J-1103");
+                        map1.put(110,"J-1105");
+                        map1.put(114,"J-1107");
+                        map1.put(118,"J-1109");
+                        map1.put(122,"J-1111");
+                        taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
+                        taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
+                    }
+
+                    taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵��
+                    String response = null;
+                    try {
+                        response = new HttpHandler.Builder()
+                                .setHeaders(map)
+                                .setUri("10.32.53.195:8080")
+                                .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+                                .setJson(JSON.toJSONString(taskOverToWms))
+                                .build()
+                                .doPost();
+                    }catch (Exception e){
+                       log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
+                    }
+                    ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+                    apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
+                            ,wmsUrl+"/wcsManager/wcsInterface/taskStatusFeedback"
+                            ,null
+                            ,"127.0.0.1"
+                            ,JSON.toJSONString(taskOverToWms)
+                            ,response
+                            ,true
+                    );
+                    JSONObject jsonObject = JSON.parseObject(response);
+                    if (jsonObject.getInteger("code").equals(200)){
+                        taskWrk.setStatus(5);
+                        if (!taskWrkService.update(taskWrk,new EntityWrapper<TaskWrk>().eq("wrk_no",crnProtocol.getTaskNo()))){
+                            log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝鏀瑰彉浠诲姟鐘舵�佸け璐�");
+                        }
+
+                        log.info("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛鎴愬姛");
+                    }else {
+                        log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛瀹屾垚锛屼絾杩斿洖澶辫触");
+                    }
+
+
                     CrnCommand crnCommand = new CrnCommand();
                     crnCommand.setAckFinish((short)1);
                     if (write(crnCommand)) {
                         resetFlag = false;
                     }
-
                 }
             }
 
@@ -401,33 +318,11 @@
         }
         array[1] = command.getTaskNo();
         array[2] = command.getTaskMode();
-
         array[3] = command.getSourcePosZ();
-//        if (rowOne.contains(command.getSourcePosX())){
-//            array[4] = (short)1;
-//        }else if (rowTwo.contains(command.getSourcePosX())){
-//            array[4] = (short)2;
-//        }else if (rowThree.contains(command.getSourcePosX())){
-//            array[4] = (short)3;
-//        }else if (rowFour.contains(command.getSourcePosX())){
-//            array[4] = (short)4;
-//        }else {
         array[4] = command.getSourcePosX();
-//        }
         array[5] = command.getSourcePosY();
-
         array[6] = command.getDestinationPosZ();
-//        if (rowOne.contains(command.getDestinationPosX())){
-//            array[7] = (short)1;
-//        }else if (rowTwo.contains(command.getDestinationPosX())){
-//            array[7] = (short)2;
-//        }else if (rowThree.contains(command.getDestinationPosX())){
-//            array[7] = (short)3;
-//        }else if (rowFour.contains(command.getDestinationPosX())){
-//            array[7] = (short)4;
-//        }else {
         array[7] = command.getDestinationPosX();
-//        }
         array[8] = command.getDestinationPosY();
         array[9] = command.getCommand();
 
@@ -490,31 +385,15 @@
         array[2] = command.getTaskMode();
 
         array[3] = command.getSourcePosZ();
-//        if (rowOne.contains(command.getSourcePosX())){
-//            array[4] = (short)1;
-//        }else if (rowTwo.contains(command.getSourcePosX())){
-//            array[4] = (short)2;
-//        }else if (rowThree.contains(command.getSourcePosX())){
-//            array[4] = (short)3;
-//        }else if (rowFour.contains(command.getSourcePosX())){
-//            array[4] = (short)4;
-//        }else {
-            array[4] = command.getSourcePosX();
-//        }
+
+        array[4] = command.getSourcePosX();
+
         array[5] = command.getSourcePosY();
 
         array[6] = command.getDestinationPosZ();
-//        if (rowOne.contains(command.getDestinationPosX())){
-//            array[7] = (short)1;
-//        }else if (rowTwo.contains(command.getDestinationPosX())){
-//            array[7] = (short)2;
-//        }else if (rowThree.contains(command.getDestinationPosX())){
-//            array[7] = (short)3;
-//        }else if (rowFour.contains(command.getDestinationPosX())){
-//            array[7] = (short)4;
-//        }else {
-            array[7] = command.getDestinationPosX();
-//        }
+
+        array[7] = command.getDestinationPosX();
+
         array[8] = command.getDestinationPosY();
         array[9] = command.getCommand();
 
@@ -522,17 +401,6 @@
 
         // 浣滀笟淇℃伅
         OperateResult result = siemensNet.Write("DB100.0", array);
-//        // 浠诲姟鍙� + 瀹屾垚浣�
-//        short[] array2 = new short[2];
-//        array2[0] = command.getTaskNo();
-//        array2[1] = command.getAckFinish();
-//        OperateResult result1 = siemensNet.Write("DB10.24", array2);
-//
-//        // 缁撴潫浣�
-//        if (command.getAckFinish() == 0) {
-//            OperateResult result2 = siemensNet.Write("DB10.28.1", true);
-//        }
-
         // 鏃ュ織璁板綍
 //        try {
             if (command.getAckFinish() != 1) {
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 931fedf..b13d8d1 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -213,7 +213,7 @@
             }
         }
 
-        Thread.sleep(200);
+        //Thread.sleep(200);
         OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
         if (result1.IsSuccess) {
             for (int i = 0; i < staNoSize; i++) {
@@ -238,7 +238,7 @@
 
         if (slave.getId() == 1){
             //鏉$爜
-            Thread.sleep(200);
+            //Thread.sleep(200);
             OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.102",(short)60);
             if (result2.IsSuccess) {
                 for (int i = 0; i < 6; i++) {
@@ -251,7 +251,7 @@
             }
 
             // 澶栧舰妫�娴� - 102
-            Thread.sleep(100);
+            //Thread.sleep(100);
             OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.160", (short)1);
             if (result4.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
@@ -265,7 +265,7 @@
                 staProtocol.setBarcodeErr(status[6]);
             }
             // 澶栧舰妫�娴� - 107
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB101.164", (short)1);
             if (result5.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
@@ -279,7 +279,7 @@
                 staProtocol.setBarcodeErr(status[6]);
             }
             // 澶栧舰妫�娴� - 111
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB101.168", (short)1);
             if (result6.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result6.Content, 0, 1);
@@ -293,7 +293,7 @@
                 staProtocol.setBarcodeErr(status[6]);
             }
             // 澶栧舰妫�娴� - 115
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result7 = siemensS7Net.Read("DB101.172", (short)1);
             if (result7.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result7.Content, 0, 1);
@@ -307,7 +307,7 @@
                 staProtocol.setBarcodeErr(status[6]);
             }
             // 澶栧舰妫�娴� - 119
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result8 = siemensS7Net.Read("DB101.176", (short)1);
             if (result8.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result8.Content, 0, 1);
@@ -321,7 +321,7 @@
                 staProtocol.setBarcodeErr(status[6]);
             }
             // 澶栧舰妫�娴� - 123
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result9 = siemensS7Net.Read("DB101.180", (short)1);
             if (result9.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result9.Content, 0, 1);
@@ -336,7 +336,7 @@
             }
         } else if (slave.getId() == 3) {
             // 澶栧舰妫�娴� - 111
-            Thread.sleep(50);
+            //Thread.sleep(50);
             OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
             if (result10.IsSuccess) {
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
@@ -645,12 +645,12 @@
 //                        commandInfoLogService.insert(commandInfoLog);
 
                         //鏇存柊浠诲姟姝ュ簭
-                        TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
-                        TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
-                        if (taskWrk != null) {
-                            taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
-                            taskWrkService.updateById(taskWrk);
-                        }
+//                        TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
+//                        TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
+//                        if (taskWrk != null) {
+//                            taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
+//                            taskWrkService.updateById(taskWrk);
+//                        }
 
                         break;
                     } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index bd0d313..c0881c6 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -118,12 +118,12 @@
     <select id="selectToBeHistoryData" resultMap="BaseResultMap">
         select * from dbo.wcs_task_wrk
         where 1=1
-        and (status=3 or status=4)
+        and (status=5 or status=4)
         order by io_pri desc,create_time,wrk_no ASC
     </select>
 
     <insert id="saveToHistory">
-        insert into wcs_task_wrk_log select * from wcs_task_wrk where task_no = #{taskNo} and (status=3 or status=4)
+        insert into wcs_task_wrk_log select * from wcs_task_wrk where task_no = #{taskNo} and (status=5 or status=4)
     </insert>
 
     <select id="selectWorkingTask" resultMap="BaseResultMap">

--
Gitblit v1.9.1