From 8bae75b786264cc0d1d95b648e403ad2c3b88c52 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 23 五月 2025 15:52:33 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 220 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 155 insertions(+), 65 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..3c2815c 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -6,11 +6,17 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
+import com.core.exception.CoolException;
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.TaskWrkLog;
+import com.zy.asrs.entity.param.NotifyDto;
import com.zy.asrs.entity.param.TaskOverToWms;
+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.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
@@ -37,6 +43,15 @@
@Autowired
private CommandInfoService commandInfoService;
+
+ @Autowired
+ private LocMastService locMastService;
+
+ @Value("${wms.TaskExecCallback}")
+ private String TaskExecCallback;
+
+ @Autowired
+ private ApiLogService apiLogService;
@RequestMapping(value = "/taskWrk/{wrkNo}/auth")
@ManagerAuth
@@ -163,80 +178,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;
- try {
+ }
+ 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();
+
+ 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("wms杩炴帴澶辫触");
+ 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")
@@ -257,6 +290,35 @@
}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.setWrkSts(9);
taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
taskWrkService.updateById(taskWrk);
return R.ok();
@@ -290,4 +352,32 @@
}
}
+ @PostMapping(value = "/taskWrk/state")
+// @ManagerAuth(memo = "鎺ユ敹RCS浠诲姟鐘舵��")
+ public R taskWrkState(@RequestBody NotifyDto notifyDto) {
+ log.info("鎺ユ敹RCS浠诲姟鐘舵��={}", notifyDto);
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(notifyDto.getSuperTaskNo());//wms浠诲姟鍙�
+ if (taskWrk == null) {
+ return R.error("娌℃湁鎵惧埌璇ヤ换鍔�={"+notifyDto+"}");
+ }
+ Date now = new Date();
+ if(notifyDto.getMsgType().equals("task_complete")&&taskWrk.getIoType()==3){
+ taskWrk.setWrkSts(9);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗�
+
+ //鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣�
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ locMast.setLocSts("O");
+ locMastService.updateById(locMast);
+
+ //鏇存柊鐩爣搴撶姸鎬佷负鍦ㄥ簱
+ LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast2.setLocSts("F");
+ locMastService.updateById(locMast2);
+ taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
+ taskWrk.setModiUser(9998L);//鎿嶄綔鍛�
+ taskWrkService.updateById(taskWrk);
+ }
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1