From 173c2665d9d53534489a5374abe855dad19b86a6 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期五, 11 十月 2024 08:40:39 +0800
Subject: [PATCH] 入库:添加仓库编码逻辑

---
 src/main/java/com/zy/asrs/service/OrderService.java           |    7 -
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   12 ++--
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java  |   79 ++++++++++++++++---------
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    4 
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java        |    2 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java  |   31 +++++-----
 src/main/java/com/zy/asrs/entity/AgvLocMast.java              |    2 
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java    |    4 
 src/main/java/com/zy/asrs/entity/Order.java                   |    4 +
 9 files changed, 83 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/AgvLocMast.java b/src/main/java/com/zy/asrs/entity/AgvLocMast.java
index ec6e2a7..46699fb 100644
--- a/src/main/java/com/zy/asrs/entity/AgvLocMast.java
+++ b/src/main/java/com/zy/asrs/entity/AgvLocMast.java
@@ -41,7 +41,7 @@
     @TableField("whs_type")
     private Long whsType;
 
-    @ApiModelProperty(value= "")
+    @ApiModelProperty(value= "erp浠撳簱缂栫爜")
     @TableField("plt_type")
     private Integer pltType;
 
diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index 02f85b4..4a955b4 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -261,6 +261,10 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "erp浠撳簱缂栫爜")
+    @TableField("plt_type")
+    private Integer pltType;
+
     public Order() {}
 
     public Order(String uuid,String orderNo,String orderTime,Long docType,Long itemId,String itemName,Long allotItemId,String defNumber,String number,Long cstmr,String cstmrName,String tel,String operMemb,Double totalFee,Double discount,Double discountFee,Double otherFee,Double actFee,Integer payType,String salesman,Integer accountDay,Integer postFeeType,Double postFee,Date payTime,Date sendTime,String shipName,String shipCode,Long settle,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 645a580..e41d209 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -1,10 +1,7 @@
 package com.zy.asrs.service;
 
 import com.baomidou.mybatisplus.service.IService;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
 import com.zy.common.model.OrderMergeVo;
 
 import java.util.List;
@@ -17,7 +14,7 @@
 
     boolean updateSettle(Long orderId, Long settle, Long userId);
 
-    void checkComplete(String orderNo);
+    void checkComplete(String orderNo, String locNo);
 
     boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 754c295..da6cbe8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -526,7 +526,7 @@
         //鍒犻櫎鍏ュ簱閫氱煡妗�
         waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet));
 
-        orderService.checkComplete(waitPakinList.get(0).getOrderNo());
+        orderService.checkComplete(waitPakinList.get(0).getOrderNo(),locNo);
 
 
     }
@@ -596,7 +596,7 @@
         manLocDetlService.update(manLocDetl,manLocDetlWrapper);
 
         //妫�娴嬭鍗曟槸鍚﹀畬鎴�
-        orderService.checkComplete(param.getOrderNo());
+        orderService.checkComplete(param.getOrderNo(),param.getLocNo());
 
     }
 
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index a5bc1f3..a3ed3c7 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -11,9 +11,11 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
 import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.entity.param.ReportErpParam;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.task.handler.OrderSyncHandler;
 import com.zy.common.model.DetlDto;
 import com.zy.common.model.OrderDto;
 import com.zy.common.model.OrderMergeVo;
@@ -25,7 +27,8 @@
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 @Slf4j
 @Service("orderService")
@@ -58,6 +61,12 @@
     @Autowired
     private ManPakOutService manPakOutService;
 
+    @Autowired
+    private OrderSyncHandler orderSyncHandler;
+
+    @Autowired
+    private AgvLocMastService agvLocMastService;
+
     @Value("${u8.url}")
     private String url;
 
@@ -84,9 +93,9 @@
     }
 
     @Override
-    public void checkComplete(String orderNo) {
+    public void checkComplete(String orderNo, String locNo) {
         Order order = this.selectByNo(orderNo);
-        if(Cools.isEmpty(order)){
+        if (Cools.isEmpty(order)) {
             return;
         }
         if (order.getSettle() >= 4L) {
@@ -101,20 +110,27 @@
                 break;
             }
         }
+        //浠撳簱缂栫爜
+        if (Cools.isEmpty(order.getPltType())) {
+            AgvLocMast locNo1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+            order.setPltType(locNo1.getPltType());
+            super.updateById(order);
+        }
         // 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹�
         int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
         boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
-        boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no",orderNo)) < 1;
-        boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no",orderNo)) < 1;
+        boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no", orderNo)) < 1;
+        boolean waitPakinExist = agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().like("order_no", orderNo)) < 1;
 
         ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
 
-        boolean manPakoutExist = Cools.isEmpty(manPakOut) ||  (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
+        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
         if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
             if (!this.updateSettle(order.getId(), 4L, null)) {
                 throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
             }
         }
+
 
     }
 
@@ -153,7 +169,7 @@
             }
             for (DetlDto detlDto : detlDtos) {
                 // 淇敼璁㈠崟鏄庣粏鏁伴噺
-                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme(),detlDto.getCsocode(),detlDto.getIsoseq())) {
+                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme(), detlDto.getCsocode(), detlDto.getIsoseq())) {
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
                 }
             }
@@ -179,26 +195,30 @@
     public void report(Long orderId, String username) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Order order = this.selectById(orderId);
-        Map<String, Object> param = new HashMap<>();
-        param.put("id",order.getOrderNo());
-        param.put("dDate",sdf.format(new Date()));
-        param.put("cHandler",username);
-
-        List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
-        param.put("orderDetails",orderDetlsParam);
+//        Map<String, Object> param = new HashMap<>();
+//        param.put("id",order.getOrderNo());
+//        param.put("dDate",sdf.format(new Date()));
+//        param.put("cHandler",username);
+//
+//        List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
+//        param.put("orderDetails",orderDetlsParam);
 
         List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(orderId);
 
-        for (OrderDetl orderDetl : orderDetls){
-            Map<String, Object> odMap = new HashMap<>();
-            odMap.put("autoid",orderDetl.getItemNum());
-            odMap.put("iQuantity",orderDetl.getQty());
-            orderDetlsParam.add(odMap);
-        }
+        ReportErpParam reportErpParam = new ReportErpParam();
+        orderSyncHandler.mappingParam(order, reportErpParam);
+        orderSyncHandler.mappingParamChildren(orderDetls, reportErpParam);
 
-        int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
+//        for (OrderDetl orderDetl : orderDetls){
+//            Map<String, Object> odMap = new HashMap<>();
+//            odMap.put("autoid",orderDetl.getItemNum());
+//            odMap.put("iQuantity",orderDetl.getQty());
+//            orderDetlsParam.add(odMap);
+//        }
+
+        int code = doHttpRequest(reportErpParam, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
         //int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", "localhost:8080", "/test/report", null, "127.0.0.1");
-        if(code == 0){
+        if (code == 0) {
             order.setSettle(6L);
             this.updateById(order);
         }
@@ -219,7 +239,7 @@
             for (OrderDetl orderDetl : orderDetls) {
                 Double leave = orderDetl.getAnfme() - orderDetl.getQty();
                 OrderMergeVo vo = new OrderMergeVo(orderDetl.getMatnr(), orderDetl.getBatch(), leave);
-                OrderDto orderDto = new OrderDto(orderDetl.getOrderNo(), null,null, leave);
+                OrderDto orderDto = new OrderDto(orderDetl.getOrderNo(), null, null, leave);
                 if (OrderMergeVo.has(result, vo)) {
                     OrderMergeVo exist = OrderMergeVo.find(result, vo.getMatnr(), vo.getBatch());
                     assert exist != null;
@@ -240,6 +260,7 @@
         }
         return result;
     }
+
     @Override
     public List<Order> selectorderNoL(String orderNo) {
         return this.baseMapper.selectorderNoL(orderNo);
@@ -247,12 +268,12 @@
 
     @Override
     public List<Order> selectToBeHistoryOrder() {
-        return this.selectList(new EntityWrapper<Order>().eq("status",1).ge("settle",6));
+        return this.selectList(new EntityWrapper<Order>().eq("status", 1).ge("settle", 6));
 
         //return this.baseMapper.selectToBeHistoryOrder();
     }
 
-    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
+    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip) {
         String response = "";
         boolean success = false;
 
@@ -265,20 +286,20 @@
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
 
-            if(Cools.isEmpty(jsonObject.get("errCode"))){
+            if (Cools.isEmpty(jsonObject.get("errCode"))) {
                 throw new CoolException(jsonObject.get("Message").toString());
             }
 
             int code = (int) jsonObject.get("errCode");
-            if(code != 0){
+            if (code != 0) {
                 throw new CoolException(jsonObject.get("errMsg").toString());
             }
             success = true;
             return code;
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error(e.getMessage());
             throw new CoolException("璋冪敤鎺ュ彛鍝嶅簲閿欒");
-        }finally {
+        } finally {
             apiLogService.save(
                     namespace,
                     url + path,
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 65a84cc..7cbfb3e 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -88,7 +88,7 @@
     public void completeOrder() {
         List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
         orderList.forEach(order -> {
-            orderService.checkComplete(order.getOrderNo());
+            orderService.checkComplete(order.getOrderNo(),null);
         });
     }
 
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index ea153f8..c7a658d 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -290,12 +290,12 @@
 
             if(!isJSON(orderNo)){
                 //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
-                orderService.checkComplete(orderNo);
+                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
             }else{
                 List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                 maps.forEach(map -> {
                     String o = map.get("orderNo").toString();
-                    orderService.checkComplete(o);
+                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                 });
             }
 
@@ -391,12 +391,12 @@
             agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
             if(!isJSON(orderNo)){
                 //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
-                orderService.checkComplete(orderNo);
+                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
             }else{
                 List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                 maps.forEach(map -> {
                     String o = map.get("orderNo").toString();
-                    orderService.checkComplete(o);
+                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                 });
             }
 
@@ -448,12 +448,12 @@
             agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
             if(!isJSON(orderNo)){
                 //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
-                orderService.checkComplete(orderNo);
+                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
             }else{
                 List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                 maps.forEach(map -> {
                     String o = map.get("orderNo").toString();
-                    orderService.checkComplete(o);
+                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                 });
             }
             //涓婃姤mes
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 04d1f5d..73bde27 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -50,10 +50,10 @@
     @Transactional
     public ReturnT<String> start(Order order) {
 
-        List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�","閾跺骇濮斿鏉愭枡鍑哄簱鍗�","閾跺骇濮斿鍏ュ簱鍗�","閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+        List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇濮斿鍏ュ簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
 
         DocType docType = docTypeService.selectById(order.getDocType());
-        if(!docNames.contains(docType.getDocName())){
+        if (!docNames.contains(docType.getDocName())) {
             order.setSettle(8L);
             orderService.updateById(order);
             return SUCCESS;
@@ -70,11 +70,11 @@
         List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
 
         ReportErpParam param = new ReportErpParam();
-        mappingParam(order,param);
-        mappingParamChildren(orderDetlList,param);
+        mappingParam(order, param);
+        mappingParamChildren(orderDetlList, param);
 
         int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
-        if(code == 0){
+        if (code == 0) {
             order.setSettle(6L);
             orderService.updateById(order);
         }
@@ -82,12 +82,12 @@
         return SUCCESS;
     }
 
-    private void mappingParam(Order order, ReportErpParam param){
+    public void mappingParam(Order order, ReportErpParam param) {
         param.set鎿嶄綔绯荤粺鍙�(order.getDefNumber());
         param.set鎿嶄綔鍗曟嵁(order.getDocType$());
         param.set鎿嶄綔绫诲瀷("add");
         param.setDdate(order.getOrderTime());
-        param.setCWhCode("");
+        param.setCWhCode(Cools.isEmpty(order.getPltType()) ? "" : order.getPltType() + "");
         param.setCDepCode("YZ");
         param.setCOrderCode(order.getOrderNo());
         param.setCMaker("");
@@ -95,10 +95,10 @@
         param.setCDefine14(order.getOrderNo());
     }
 
-    private void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param){
+    public void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param) {
         List<ReportErpParam.ChildInfo> paramChild = new ArrayList<>();
         param.setChildren(paramChild);
-        for (OrderDetl orderDetl : orderDetlList){
+        for (OrderDetl orderDetl : orderDetlList) {
             ReportErpParam.ChildInfo childInfo = new ReportErpParam.ChildInfo();
             childInfo.setIrowno(orderDetl.getItemNum());
             childInfo.setCInvCode(orderDetl.getMatnr());
@@ -110,7 +110,6 @@
             childInfo.setIPOsID(orderDetl.getSku());
             childInfo.setCOrderCode(orderDetl.getOrderNo());
             childInfo.setIvouchrowno(orderDetl.getItemNum());
-            childInfo.setCBatch("");
             childInfo.setDefine22(orderDetl.getThreeCode());
 
             paramChild.add(childInfo);
@@ -118,7 +117,7 @@
 
     }
 
-    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
+    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip) {
         String response = "";
         boolean success = false;
 
@@ -131,22 +130,22 @@
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
 
-            if(Cools.isEmpty(jsonObject.get("succeed"))){
+            if (Cools.isEmpty(jsonObject.get("succeed"))) {
                 throw new CoolException(jsonObject.get("dsc").toString());
             }
 
             String succeed = jsonObject.get("succeed").toString();
 
-            int code = Cools.eq("0",succeed) ? 0 : 1;
-            if(code != 0){
+            int code = Cools.eq("0", succeed) ? 0 : 1;
+            if (code != 0) {
                 throw new CoolException(jsonObject.get("dsc").toString());
             }
             success = true;
             return code;
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error(e.getMessage());
             throw new CoolException("璋冪敤鎺ュ彛鍝嶅簲閿欒");
-        }finally {
+        } finally {
             apiLogService.save(
                     namespace,
                     url + path,
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 15b1c83..a98cf91 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -120,12 +120,12 @@
             // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
             for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
                 if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
-                    orderService.checkComplete(wrkDetl.getOrderNo());
+                    orderService.checkComplete(wrkDetl.getOrderNo(),wrkMast.getLocNo());
                 } else {
                     // 璁㈠崟鍚堝苟鍑哄簱
                     List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                     for (OrderDto one : orderDtoList) {
-                        orderService.checkComplete(one.getOrderNo());
+                        orderService.checkComplete(one.getOrderNo(),wrkMast.getLocNo());
                     }
                 }
             }

--
Gitblit v1.9.1