From c19cf2f4c2419e403294ebdc025fe90ff7dee74c Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 13 三月 2025 14:28:48 +0800 Subject: [PATCH] 配置信息 --- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 268 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 163 insertions(+), 105 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index 00a2fbf..e1740ef 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -5,17 +5,18 @@ 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.DateUtils; import com.core.common.R; +import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.CommandInfoService; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.TaskWrkService; import com.zy.common.utils.HttpHandler; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; @@ -38,6 +39,28 @@ @Autowired private CommandInfoService commandInfoService; + @Autowired + private LocMastService locMastService; + + @Value("${wms.TaskExecCallback}") + private String TaskExecCallback; + + @Autowired + private ApiLogService apiLogService; + + public static String getTaskType(Integer paramIoType) { + switch (paramIoType) { + case 1: + return "RK"; + case 2: + return "CK"; + case 3: + return "YK"; + default: + return "鏈煡"; + } + } + @RequestMapping(value = "/taskWrk/{wrkNo}/auth") @ManagerAuth public R get(@PathVariable("wrkNo") Integer wrkNo) { @@ -46,22 +69,24 @@ @RequestMapping(value = "/taskWrk/list/auth") @ManagerAuth - public R list(@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){ + public R list(@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<TaskWrk> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); - if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + if (!Cools.isEmpty(orderByField)) { + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + } return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper)); } - private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ - for (Map.Entry<String, Object> entry : map.entrySet()){ + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { + for (Map.Entry<String, Object> entry : map.entrySet()) { String val = String.valueOf(entry.getValue()); - if (val.contains(RANGE_TIME_LINK)){ + if (val.contains(RANGE_TIME_LINK)) { String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); @@ -78,9 +103,9 @@ return R.ok(); } - @RequestMapping(value = "/taskWrk/update/auth") - @ManagerAuth - public R update(TaskWrk taskWrk){ + @RequestMapping(value = "/taskWrk/update/auth") + @ManagerAuth + public R update(TaskWrk taskWrk) { if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { return R.error(); } @@ -90,7 +115,7 @@ @RequestMapping(value = "/taskWrk/updatePoint/auth") @ManagerAuth - public R updatePoint(TaskWrk taskWrk){ + public R updatePoint(TaskWrk taskWrk) { if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { return R.error(); } @@ -108,8 +133,8 @@ @RequestMapping(value = "/taskWrk/delete/auth") @ManagerAuth - public R delete(@RequestParam(value="ids[]") Long[] ids){ - for (Long id : ids){ + public R delete(@RequestParam(value = "ids[]") Long[] ids) { + for (Long id : ids) { taskWrkService.deleteById(id); } return R.ok(); @@ -117,7 +142,7 @@ @RequestMapping(value = "/taskWrk/export/auth") @ManagerAuth - public R export(@RequestBody JSONObject param){ + public R export(@RequestBody JSONObject param) { EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("taskWrk")); @@ -133,7 +158,7 @@ wrapper.like("id", condition); Page<TaskWrk> page = taskWrkService.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); - for (TaskWrk taskWrk : page.getRecords()){ + for (TaskWrk taskWrk : page.getRecords()) { Map<String, Object> map = new HashMap<>(); map.put("id", taskWrk.getTaskNo()); map.put("value", taskWrk.getTaskNo()); @@ -146,7 +171,7 @@ @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<TaskWrk> wrapper = new EntityWrapper<TaskWrk>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); - if (null != taskWrkService.selectOne(wrapper)){ + if (null != taskWrkService.selectOne(wrapper)) { return R.parse(BaseRes.REPEAT).add(getComment(TaskWrk.class, String.valueOf(param.get("key")))); } return R.ok(); @@ -163,80 +188,98 @@ @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟") public R complete(@RequestParam String taskNo) { TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - - - 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 (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) { + return R.error("宸插畬缁撴垨宸插彇娑�"); } + LocMast locMast = new LocMast(); + if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎 + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛 + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + } else if (taskWrk.getIoType() == 3) { + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); - taskOverToWms.setTaskStatus("handle"); //浠诲姟鐘舵�� - String response = null; + } + String response = ""; try { + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", taskWrk.getTaskNo()); + headParam.put("Result", 1); +// headParam.put("reportTime",new Date()); + log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); response = new HttpHandler.Builder() - .setHeaders(map) + // .setHeaders(headParam) .setUri(wmsUrl) - .setPath("wcsManager/wcsInterface/taskStatusFeedback") - .setJson(JSON.toJSONString(taskOverToWms)) + .setPath(TaskExecCallback) + .setJson(JSON.toJSONString(headParam)) .build() .doPost(); - }catch (Exception e){ - log.error("wms杩炴帴澶辫触"); + + JSONObject jsonObject = JSON.parseObject(response); + apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" + , wmsUrl + TaskExecCallback + , null + , "127.0.0.1" + , JSON.toJSONString(headParam) + , response + , true + ); + } catch (Exception e) { + log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk, response); +// throw new CoolException(e); } - - 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閫氳澶辫触"); - } - - + locMastService.updateById(locMast); + taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 + taskWrk.setModiTime(new Date()); + taskWrkService.updateById(taskWrk); return R.ok(); + } + + @PostMapping(value = "/taskWrk/returnWorkingCondition/auth") + @ManagerAuth(memo = "閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟") + public R returnWorkingCondition(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 12) { + taskWrk.setWrkSts(11); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 3) { + taskWrk.setWrkSts(2); + taskWrkService.updateById(taskWrk); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else { + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曢噸鏂扮粰鍫嗗灈鏈轰笅鍙戜换鍔�"); + } + } @PostMapping(value = "/taskWrk/cancel/auth") @@ -252,10 +295,38 @@ Date now = new Date(); taskWrk.setStatus(TaskStatusType.CANCEL.id); taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 - try{ + try { taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� - }catch (Exception e){ + } catch (Exception e) { taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + } + String response = ""; + try { + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", taskWrk.getTaskNo()); + headParam.put("Result", 0); +// headParam.put("reportTime",new Date()); + + log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(TaskExecCallback) + .setJson(JSON.toJSONString(headParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" + , wmsUrl + TaskExecCallback + , null + , "127.0.0.1" + , JSON.toJSONString(headParam) + , response + , true + ); + } catch (Exception e) { + log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk, response); +// throw new CoolException(e); } taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); @@ -275,19 +346,6 @@ taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� taskWrkService.updateById(taskWrk); 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 "鏈煡"; - } } } -- Gitblit v1.9.1