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