From c7bcef9d03f58c984d475932710c247ee778d95b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期二, 09 四月 2024 23:31:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/TaskWrkController.java |  170 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 105 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..cacb0a1 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -6,11 +6,15 @@
 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.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 +41,15 @@
 
     @Autowired
     private CommandInfoService commandInfoService;
+
+    @Autowired
+    private LocMastService locMastService;
+
+    @Value("${wms.taskStatusFeedbackPath}")
+    private String taskStatusFeedbackPath;
+
+    @Autowired
+    private ApiLogService apiLogService;
 
     @RequestMapping(value = "/taskWrk/{wrkNo}/auth")
     @ManagerAuth
@@ -163,79 +176,76 @@
     @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("status",taskWrk.getStatus());
+            headParam.put("ioType",taskWrk.getIoType());
+            headParam.put("barcode",taskWrk.getBarcode());
+//            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(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("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();
     }
 
@@ -257,6 +267,36 @@
         }catch (Exception e){
             taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
         }
+        String response="";
+        try{
+            HashMap<String, Object> headParam = new HashMap<>();
+            headParam.put("taskNo",taskWrk.getTaskNo());
+            headParam.put("status",taskWrk.getStatus());
+            headParam.put("ioType",taskWrk.getIoType());
+            headParam.put("barcode",taskWrk.getBarcode());
+//            headParam.put("reportTime",new Date());
+
+            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();

--
Gitblit v1.9.1