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