From 252c8f5f4241e548097f79bbc399ffee607a5327 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 21 四月 2022 11:07:23 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/model/MesPakinParam.java          |   43 ++++++++++++++
 src/main/java/com/zy/common/constant/MesConstant.java         |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    3 
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java        |   24 +++-----
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java  |   77 +++++++++++++++++++++++++
 5 files changed, 132 insertions(+), 17 deletions(-)

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 f346e05..6c3b9f9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -289,13 +289,12 @@
                 for (DetlDto detlDto : detlDtos) {
                     mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getMatnr(), detlDto.getAnfme()));
                 }
-                System.out.println(JSON.toJSONString(mesCombParam));
                 String response;
                 try {
                     response  = new HttpHandler.Builder()
                             .setUri(MesConstant.URL)
                             .setPath(MesConstant.PACK_DOWN_URL)
-                            .setJson(JSON.toJSONString(param))
+                            .setJson(JSON.toJSONString(mesCombParam))
                             .build()
                             .doPost();
                     JSONObject jsonObject = JSON.parseObject(response);
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 05d7cba..58bd818 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.OrderService;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.OrderSyncHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -18,6 +20,8 @@
 public class OrderSyncScheduler {
 
     @Autowired
+    private OrderSyncHandler orderSyncHandler;
+    @Autowired
     private OrderService orderService;
 
     @Scheduled(cron = "0/3 * * * * ? ")
@@ -30,24 +34,14 @@
 //        }
     }
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+    @Scheduled(cron = "0/5 * * * * ? ")
     private void completeAndReport(){
-        // 鎵�鏈夎鍗�
         List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
         for (Order order : orders) {
-//            OpenOrderCompeteResult result = new OpenOrderCompeteResult();
-//            results.add(result);
-//            result.setOrderNo(order.getOrderNo());
-//            result.setOrderTime(order.getOrderTime());
-//            result.setOrderType(order.getDocType$());
-//            List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-//            for (OrderDetl orderDetl : orderDetls) {
-//                result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
-//            }
-//            // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-//            if (!orderService.updateSettle(order.getId(), 6L, null)) {
-//                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-//            }
+            ReturnT<String> result = orderSyncHandler.start(order);
+            if (!result.isSuccess()) {
+                log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+            }
         }
     }
 
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
new file mode 100644
index 0000000..a933ebc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -0,0 +1,77 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.DateUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.constant.MesConstant;
+import com.zy.common.model.MesPakinParam;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Slf4j
+@Service
+public class OrderSyncHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    @Transactional
+    public ReturnT<String> start(Order order) {
+        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+
+        MesPakinParam pakinParam = new MesPakinParam();
+        pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
+        pakinParam.setLgortFrom("5008");
+        pakinParam.setLgortTo("5006");
+        for (OrderDetl orderDetl : orderDetls) {
+            pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr(), orderDetl.getAnfme()));
+        }
+
+        try {
+            String response = new HttpHandler.Builder()
+                        .setUri(MesConstant.URL)
+                        .setPath(MesConstant.PAKIN_URL)
+                        .setJson(JSON.toJSONString(pakinParam))
+                        .build()
+                        .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger("code").equals(200)) {
+                // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+                if (!orderService.updateSettle(order.getId(), 6L, null)) {
+                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                }
+            } else {
+                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(pakinParam), response);
+                throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+
+}
diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java
index db2a78c..d69c1d2 100644
--- a/src/main/java/com/zy/common/constant/MesConstant.java
+++ b/src/main/java/com/zy/common/constant/MesConstant.java
@@ -10,4 +10,6 @@
 
     public static final String PACK_DOWN_URL = "mes/api/zy/v1/packDown/sendList";
 
+    public static final String PAKIN_URL = "mes/api/zy/v1/warehouse/sendList";
+
 }
diff --git a/src/main/java/com/zy/common/model/MesPakinParam.java b/src/main/java/com/zy/common/model/MesPakinParam.java
new file mode 100644
index 0000000..4e9b4cf
--- /dev/null
+++ b/src/main/java/com/zy/common/model/MesPakinParam.java
@@ -0,0 +1,43 @@
+package com.zy.common.model;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2022/4/21
+ */
+@Data
+public class MesPakinParam {
+
+    // 鍏ュ簱鏃堕棿
+    private String pakinTime;
+
+    // 鏉ユ簮鍦� - 鍐欐
+    private String lgortFrom;
+
+    // 鐩殑鍦� - 鍐欐
+    private String lgortTo;
+
+    private List<Detl> list = new ArrayList<>();
+
+    @Data
+    public static class Detl {
+
+        // 鐗╂枡鏉$爜
+        private String barcode;
+
+        // 鏁伴噺
+        private Double anfme;
+
+        public Detl() {
+        }
+
+        public Detl(String barcode, Double anfme) {
+            this.barcode = barcode;
+            this.anfme = anfme;
+        }
+    }
+
+}

--
Gitblit v1.9.1