From 82e14834b38c398f6bc75e8b7454a0b223be2a66 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 04 十二月 2023 17:13:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/param/TaskOverToWms.java          |   19 +++
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java               |   58 +++++++++++
 src/main/webapp/views/taskWrkLog/commandManageLog.html             |   46 ++++----
 src/main/java/com/zy/asrs/controller/TaskWrkController.java        |  110 +++++++++++++++++++--
 src/main/java/com/zy/asrs/controller/CommandInfoLogController.java |   15 +++
 src/main/java/com/zy/asrs/controller/TaskWrkLogController.java     |    6 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java        |    4 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java            |    2 
 src/main/java/com/zy/asrs/entity/TaskWrkLog.java                   |    6 
 9 files changed, 219 insertions(+), 47 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java b/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java
index ece9e75..32dafd9 100644
--- a/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java
+++ b/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
+import com.zy.asrs.entity.CommandInfo;
 import com.zy.asrs.entity.CommandInfoLog;
 import com.zy.asrs.service.CommandInfoLogService;
 import com.core.annotations.ManagerAuth;
@@ -24,6 +25,20 @@
     @Autowired
     private CommandInfoLogService commandInfoLogService;
 
+    @RequestMapping(value = "/commandInfoLog/listLog/auth")
+    @ManagerAuth
+    public R listLog(@RequestParam(defaultValue = "1")Integer curr,
+                     @RequestParam(defaultValue = "10")Integer limit,
+                     @RequestParam(required = false)String orderByField,
+                     @RequestParam(required = false)String orderByType,
+                     @RequestParam Map<String, Object> param){
+        EntityWrapper<CommandInfoLog> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(commandInfoLogService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
     @RequestMapping(value = "/commandInfoLog/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index f82660e..00a2fbf 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -1,28 +1,42 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
 import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.entity.CommandInfo;
 import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.param.TaskOverToWms;
+import com.zy.asrs.service.CommandInfoService;
 import com.zy.asrs.service.TaskWrkService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 
 @RestController
+@Slf4j
 public class TaskWrkController extends BaseController {
+
+    @Value("${wms.url}")
+    private String wmsUrl;
 
     @Autowired
     private TaskWrkService taskWrkService;
+
+    @Autowired
+    private CommandInfoService commandInfoService;
 
     @RequestMapping(value = "/taskWrk/{wrkNo}/auth")
     @ManagerAuth
@@ -149,22 +163,79 @@
     @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟")
     public R complete(@RequestParam String taskNo) {
         TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo);
-        if (taskWrk == null) {
-            return R.error();
+
+
+        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(getTaskType(taskWrk.getIoType())); // 浠诲姟绫诲瀷
+        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()); //婧愬簱浣�
         }
-        if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) {
-            return R.error(taskWrk.getTaskNo() + "宸插畬缁�");
-        }
-        Date now = new Date();
-        taskWrk.setStatus(TaskStatusType.COMPLETE.id);
-        taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
-        try{
-            taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
+
+        taskOverToWms.setTaskStatus("handle"); //浠诲姟鐘舵��
+        String response = null;
+        try {
+            response = new HttpHandler.Builder()
+                    .setHeaders(map)
+                    .setUri(wmsUrl)
+                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+                    .setJson(JSON.toJSONString(taskOverToWms))
+                    .build()
+                    .doPost();
         }catch (Exception e){
-            taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
+            log.error("wms杩炴帴澶辫触");
         }
-        taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
-        taskWrkService.updateById(taskWrk);
+
+        JSONObject jsonObject = JSON.parseObject(response);
+        if (jsonObject.getInteger("code").equals(200)){
+            if (taskWrk == null) {
+                return R.error();
+            }
+            if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) {
+                return R.error(taskWrk.getTaskNo() + "宸插畬缁�");
+            }
+            Date now = new Date();
+            taskWrk.setStatus(TaskStatusType.COMPLETE.id);
+            taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
+            try{
+                taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
+            }catch (Exception e){
+                taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
+            }
+            taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
+            taskWrkService.updateById(taskWrk);
+
+
+            if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) > 0) {
+                //浠诲姟宸茬粡杞棩蹇楋紝灏嗚浠诲姟涓嬮潰鐨勬寚浠よ浆鏃ュ織
+                commandInfoService.saveToHistory(taskWrk.getTaskNo());
+
+                //鍒犻櫎浠诲姟
+                taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo()));
+                //鍒犻櫎鎸囦护
+                commandInfoService.delete(new EntityWrapper<CommandInfo>().eq("task_no", taskWrk.getTaskNo()));
+            }
+        }else {
+            return R.error("wms閫氳澶辫触");
+        }
+
+
         return R.ok();
     }
 
@@ -206,4 +277,17 @@
         return R.ok();
     }
 
+    public static String getTaskType(Integer paramIoType){
+        switch (paramIoType){
+            case 1:
+                return "RK";
+            case 2:
+                return "CK";
+            case 3:
+                return "YK";
+            default:
+                return "鏈煡";
+        }
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
index 05f445f..13e4d95 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkLogController.java
@@ -67,7 +67,7 @@
 	@RequestMapping(value = "/taskWrkLog/update/auth")
 	@ManagerAuth
     public R update(TaskWrkLog taskWrkLog){
-        if (Cools.isEmpty(taskWrkLog) || null==taskWrkLog.getId()){
+        if (Cools.isEmpty(taskWrkLog)){
             return R.error();
         }
         taskWrkLogService.updateById(taskWrkLog);
@@ -103,8 +103,8 @@
         List<Map<String, Object>> result = new ArrayList<>();
         for (TaskWrkLog taskWrkLog : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
-            map.put("id", taskWrkLog.getId());
-            map.put("value", taskWrkLog.getId());
+            map.put("id", taskWrkLog.getTaskNo());
+            map.put("value", taskWrkLog.getTaskNo());
             result.add(map);
         }
         return R.ok(result);
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index 742db07..9c6d6fe 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -173,9 +173,9 @@
     @TableField("command_step")
     private Integer commandStep;
 
-    @ApiModelProperty(value= "")
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
+//    @ApiModelProperty(value= "")
+//    @TableId(value = "id", type = IdType.AUTO)
+//    private Long id;
 
 
     @ApiModelProperty(value = "绉诲簱鏍囪")
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskOverToWms.java b/src/main/java/com/zy/asrs/entity/param/TaskOverToWms.java
new file mode 100644
index 0000000..ab034cd
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/TaskOverToWms.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class TaskOverToWms {
+    private String feedbackFrom;
+    private String warehouseId;
+    private String taskType;
+    private String equipmentCode;
+    private String taskNo;
+    private String taskStatus;
+    private String sourceLocationCode;
+    private String targetLocationCode;
+    private String containerCode;
+    private String containerTypeCode;
+    private String emptyContainer;
+    private String errorCode;
+}
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 431c17e..4c3b4fe 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -133,7 +133,7 @@
         map.put("J-1107",114);map.put("J-1108",113);
         map.put("J-1109",118);map.put("J-1110",117);
         map.put("J-1111",122);map.put("J-1112",121);
-
+        map.put("H-1101",305);map.put("H-1102",300);
         // 鏍规嵁杈撻�佺嚎plc閬嶅巻
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 鑾峰彇鍏ュ簱绔欎俊鎭�
@@ -155,7 +155,7 @@
                     }else {
                         if (staProtocol.isLoading() && !staProtocol.isCar() && workNo == 0){
                             //AGV鍏ュ簱瀹屾垚浠ュ悗
-                            staProtocol.setWorkNo((short) 9998);
+                            staProtocol.setWorkNo((short) 9999);
                             staProtocol.setStaNo(inSta.getStaNo().shortValue());
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (result) {
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index 7913470..b784d74 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -1,20 +1,27 @@
 package com.zy.asrs.task;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.CommandInfo;
 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.CommandInfoService;
 import com.zy.asrs.service.TaskWrkService;
 import com.zy.asrs.utils.PostMesDataUtils;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.io.IOException;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 瀹氭椂灏嗕换鍔�(瀹屾垚銆佸彇娑�)杞垚鏃ュ織
@@ -34,15 +41,60 @@
     private String movePath;
 
     @Scheduled(cron = "0/3 * * * * ? ")
-    public void execute() {
+    public void execute() throws IOException {
         for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
             TaskStatusFeedbackParam taskStatusFeedbackParam = new TaskStatusFeedbackParam(taskWrk);
             if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) {//瀹屾垚
                 taskStatusFeedbackParam.setTaskStatus("done");
-                new PostMesDataUtils().postMesData("瀹屾垚涓婃姤",wmsUrl,movePath,taskWrk);
+                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(taskStatusFeedbackParam.getTaskType()); // 浠诲姟绫诲瀷
+                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("done"); //浠诲姟鐘舵��
+                String response = null;
+                try {
+                    response = new HttpHandler.Builder()
+                            .setHeaders(map)
+                            .setUri(wmsUrl)
+                            .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+                            .setJson(JSON.toJSONString(taskOverToWms))
+                            .build()
+                            .doPost();
+                }catch (Exception e){
+                    continue;
+                }
+
+
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getInteger("code").equals(200)){
+
+                }else {
+                    continue;
+                }
+
+                //new PostMesDataUtils().postMesData("瀹屾垚涓婃姤",wmsUrl,movePath,taskWrk);
             } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
                 taskStatusFeedbackParam.setTaskStatus("cancelled");
-                new PostMesDataUtils().postMesData("鍙栨秷浠诲姟瀹屾垚",wmsUrl,movePath,taskWrk);
+                //new PostMesDataUtils().postMesData("鍙栨秷浠诲姟瀹屾垚",wmsUrl,movePath,taskWrk);
             }
 
             if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) > 0) {
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index f4c283d..4278b5e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -351,7 +351,7 @@
         }
 
 
-        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB13.2", (short) 100);
+        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB13.2", (short) (staNoSize*4));
         if (resultErr.IsSuccess) {
             for (int i = 0; i < staNoSize; i++) {
                 Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
diff --git a/src/main/webapp/views/taskWrkLog/commandManageLog.html b/src/main/webapp/views/taskWrkLog/commandManageLog.html
index d5cfe9a..7c98688 100644
--- a/src/main/webapp/views/taskWrkLog/commandManageLog.html
+++ b/src/main/webapp/views/taskWrkLog/commandManageLog.html
@@ -118,7 +118,7 @@
 						data.curr = this.currentPage
 						data.limit = this.pageSize
 						$.ajax({
-							url: baseUrl + "/commandInfo/list/auth",
+							url: baseUrl + "/commandInfoLog/list/auth",
 							headers: {
 								'token': localStorage.getItem('token')
 							},
@@ -141,28 +141,30 @@
 							}
 						});
 
-						$.ajax({
-							url: baseUrl + "/taskWrk/" + this.tableSearchParam.wrk_no + "/auth",
-							headers: {
-								'token': localStorage.getItem('token')
-							},
-							data: data,
-							dataType: 'json',
-							contentType: 'application/json;charset=UTF-8',
-							method: 'GET',
-							success: function(res) {
-								if (res.code == 200) {
-									that.commandStep = parseInt(res.data.commandStep)
-								} else if (res.code === 403) {
-									top.location.href = baseUrl + "/";
-								} else {
-									that.$message({
-										message: res.msg,
-										type: 'error'
-									});
+						if (this.tableSearchParam.wrk_no != null) {
+							$.ajax({
+								url: baseUrl + "/taskWrk/" + this.tableSearchParam.wrk_no + "/auth",
+								headers: {
+									'token': localStorage.getItem('token')
+								},
+								data: data,
+								dataType: 'json',
+								contentType: 'application/json;charset=UTF-8',
+								method: 'GET',
+								success: function(res) {
+									if (res.code == 200) {
+										that.commandStep = parseInt(res.data.commandStep)
+									} else if (res.code === 403) {
+										top.location.href = baseUrl + "/";
+									} else {
+										that.$message({
+											message: res.msg,
+											type: 'error'
+										});
+									}
 								}
-							}
-						});
+							});
+						}
 					},
 					handleSizeChange(val) {
 						console.log(`姣忛〉 ${val} 鏉);

--
Gitblit v1.9.1