From dcdfc93b50febf61301832d91dfcddcfa1ca5403 Mon Sep 17 00:00:00 2001 From: 1 <1@123> Date: 星期三, 14 五月 2025 14:06:36 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 275 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 212 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index ce40209..ec82562 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -7,11 +7,9 @@ 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.LocMast; import com.zy.asrs.entity.TaskWrk; -import com.zy.asrs.entity.param.TaskOverToWms; -import com.zy.asrs.service.CommandInfoService; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.TaskWrkService; import com.core.annotations.ManagerAuth; @@ -25,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.*; @RestController @@ -38,10 +37,13 @@ private TaskWrkService taskWrkService; @Autowired - private CommandInfoService commandInfoService; + private LocMastService locMastService; + + @Value("${wms.taskStatusFeedbackPath}") + private String taskStatusFeedbackPath; @Autowired - private LocMastService locMastService; + private ApiLogService apiLogService; @RequestMapping(value = "/taskWrk/{wrkNo}/auth") @ManagerAuth @@ -56,11 +58,45 @@ @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));} - return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper)); + + try{ + Integer wrkNo = null; + Integer taskNo = null; + Integer status = null; + Date modiTimeStart = null, modiTimeEnd = null; + for (Map.Entry<String, Object> entry : param.entrySet()) { + String val = String.valueOf(entry.getValue()); + if (Cools.isEmpty(val)) { + continue; + } + if (val.contains(RANGE_TIME_LINK)) { + String[] dates = val.split(RANGE_TIME_LINK); + modiTimeStart = DateUtils.convert(dates[0]); + modiTimeEnd = DateUtils.convert(dates[1]); + } else if (entry.getKey().equals("wrk_no")) { + wrkNo = Integer.parseInt(val); + } else if (entry.getKey().equals("task_no")) { + taskNo = Integer.parseInt(val); + } else if (entry.getKey().equals("status")) { + status = Integer.parseInt(val); + } + } + + EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + + List<TaskWrk> taskWrkList = taskWrkService.selectTaskWrkList(wrkNo,taskNo,status,modiTimeStart,modiTimeEnd, curr, limit); + Page<TaskWrk> page = new Page<TaskWrk>(curr, limit).setRecords(taskWrkList); + page.setTotal(taskWrkService.selectTaskWrkListTotal(wrkNo,taskNo,status,modiTimeStart,modiTimeEnd)); + return R.ok(page); +// return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper)); + + } catch (Exception e) { + return R.error("鏌ヨ澶辫触,璇锋鏌ュ弬鏁�:"+e.getMessage()); + } + } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ @@ -113,10 +149,30 @@ @RequestMapping(value = "/taskWrk/delete/auth") @ManagerAuth - public R delete(@RequestParam(value="ids[]") Long[] ids){ - for (Long id : ids){ - taskWrkService.deleteById(id); + public R delete(@RequestParam String taskNo){ +// for (Long id : ids){ +// taskWrkService.deleteById(id); +// } + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (taskWrk == null) { + return R.error(); } + Date now = new Date(); + taskWrk.setMemo("鎵嬪姩寮哄埗鍒犻櫎锛侊紒锛�"); + taskWrk.setModiTime(now); + taskWrk.setModiUser(getUserId()); + if (!taskWrkService.updateById(taskWrk)){ + log.error("鍒犻櫎澶辫触" + taskWrk); + return R.error("鍒犻櫎澶辫触" + taskWrk); + + } + if (taskWrkService.saveToHistoryD(taskWrk.getTaskNo()) == 0) { + log.error("浠诲姟妗h浆浠诲姟鍘嗗彶妗eけ璐�" + taskWrk); + return R.error("浠诲姟妗h浆浠诲姟鍘嗗彶妗eけ璐�" + taskWrk); + + } + //鍒犻櫎浠诲姟 + taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo())); return R.ok(); } @@ -172,43 +228,78 @@ 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()); - + 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); - taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 - taskWrk.setModiTime(new Date()); - taskWrkService.updateById(taskWrk); + locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if(Cools.isEmpty(locMast)){ + R.error("娌℃湁鎵惧埌璇ュ簱浣�") ; + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + } + String response=""; + + Date now = new Date(); + locMast.setModiTime(now); + taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 + taskWrk.setModiTime(now); + taskWrk.setCompleteTime(now); +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,null +// ,"127.0.0.1" +// ,JSON.toJSONString(headParam) +// ,response +// ,true +// ); +// }catch (Exception e){ +// log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); +//// throw new CoolException(e); +// } + locMastService.updateById(locMast); + taskWrkService.updateById(taskWrk); return R.ok(); } @@ -225,27 +316,45 @@ Date now = new Date(); taskWrk.setStatus(TaskStatusType.CANCEL.id); taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setCancelTime(now); try{ taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� }catch (Exception e){ - taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + taskWrk.setModiUser(1111L);//鎿嶄綔鍛� } + String response=""; +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// +// log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,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); - return R.ok(); - } - - @PostMapping(value = "/taskWrk/updateCommandStep") - @ManagerAuth(memo = "鏇存柊姝ュ簭") - public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) { - TaskWrk taskWrk = taskWrkService.selectByWrkNo(wrkNo); - if (taskWrk == null) { - return R.error(); - } - Date now = new Date(); - taskWrk.setCommandStep(commandStep); - taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 - taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� taskWrkService.updateById(taskWrk); return R.ok(); } @@ -262,5 +371,45 @@ return "鏈煡"; } } + @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); + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//娲惧彂鐘舵�� + taskWrkService.updateById(taskWrk); + if(!taskWrkService.updateById(taskWrk)){ + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + }else{ + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曢噸鏂扮粰鍫嗗灈鏈轰笅鍙戜换鍔�"); + } + + } + @PostMapping(value = "/taskWrk/assign/auth") + @ManagerAuth(memo = "杈撻�佺嚎涓嬪彂瀹屾垚") + public R returnAssign(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==1){ + taskWrk.setStatus(TaskStatusType.RECEIVE.id);//娲惧彂鐘舵�� + taskWrk.setWrkSts(2); + if(!taskWrkService.updateById(taskWrk)){ + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + }else{ + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曡烦杞�"); + } + + } + } -- Gitblit v1.9.1