From 2fc66774335bfc603aa36b1ca41e5f1be19442b0 Mon Sep 17 00:00:00 2001
From: bfwms <1>
Date: 星期一, 07 七月 2025 16:27:05 +0800
Subject: [PATCH] ERP对接

---
 src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java b/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
index cd2aa4e..9dfd3ae 100644
--- a/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
@@ -49,8 +49,8 @@
     /**
      * 杞鑾峰彇鍏ュ簱璁㈠崟
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
-    private void execute() {
+    @Scheduled(cron = "0/30 * * * * ? ")
+    private synchronized void execute() {
         // 鑾峰彇褰撳墠鏃ユ湡鏃堕棿
         LocalDateTime now = LocalDateTime.now();
 
@@ -63,13 +63,18 @@
         // 鏍煎紡鍖栨棩鏈熸椂闂�
         String formattedDateTime = oneMonthAgo.format(formatter);
 
+        HashMap<String ,Object> hashMap=new HashMap<>();
+
         HashMap<String, Object> map = new HashMap<>();
-        map.put("orgNo", 0);//缁勭粐缂栧彿
+
+        map.put("orgNo", "2");//缁勭粐缂栧彿
 //        map.put("docNo",0);
         map.put("startTime", formattedDateTime);//寮�濮嬫椂闂�
 
         String format = now.format(formatter);
         map.put("endTime", format);//缁撴潫鏃堕棿
+
+        hashMap.put("condition",map);
 
         //鏌ヨ璁㈠崟
         String response = "";
@@ -78,14 +83,14 @@
             response = new HttpHandler.Builder()
                     .setUri(URL)
                     .setPath(inaddress)
-                    .setJson(JSON.toJSONString(map))
+                    .setJson(JSON.toJSONString(hashMap))
                     .build()
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
             if (jsonObject.getInteger("status") == 200) {
                 JSONArray response1 = JSON.parseArray(jsonObject.get("response").toString());
                 for (int j = 0; j < response1.size(); j++) {
-                    OrderResult orderResult = response1.getObject(0, OrderResult.class);
+                    OrderResult orderResult = response1.getObject(j, OrderResult.class);
                     Order order = orderService.selectByNo(orderResult.getDocNo());//鍗曟嵁缂栧彿
                     if (Cools.isEmpty(order)) {
                         Date now1 = new Date();
@@ -127,22 +132,38 @@
                                 now1,    // 淇敼鏃堕棿
                                 null    // 澶囨敞
                         );
+                        if (!orderService.insert(order)) {
+                            throw new CoolException("鐢熸垚鍗曟嵁澶辫触锛岃鑱旂郴绠$悊鍛�");
+                        }
                     }
                     //鐗╂枡缂栫爜
                     Mat mat = matService.selectByMatnr(orderResult.getItemNo());
                     if (Cools.isEmpty(mat)) {
-                        throw new CoolException(orderResult.getItemNo() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                        Mat mat1=new Mat();
+                        mat1.setTagId(1L);
+                        mat1.setMatnr(orderResult.getItemNo());
+                        mat1.setMaktx(orderResult.getItemName());
+                        mat1.setSpecs(orderResult.getItemSpec());
+                        matService.insert(mat1);
+//                        throw new CoolException(orderResult.getItemNo() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
                     }
                     OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
                             .eq("order_no", orderResult.getDocNo())
                             .eq("matnr", orderResult.getItemNo())
                             .eq("batch", orderResult.getDocLotNo()));//鎵瑰彿
+                    if(Cools.isEmpty(orderResult.getDocLotNo())){
+                        orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
+                                .eq("order_no", orderResult.getDocNo())
+                                .eq("matnr", orderResult.getItemNo()));
+                    }
+
                     if (!Cools.isEmpty(orderDetl1)) {
                         continue;
                     }
-                    DocType docType = docTypeService.selectById(orderResult.getDocType());
                     OrderDetl orderDetl = new OrderDetl();
-                    orderDetl.sync(mat);
+                    orderDetl.setMatnr(orderResult.getItemNo());
+                    orderDetl.setMaktx(orderResult.getItemName());
+                    orderDetl.setSpecs(orderResult.getItemSpec());
                     orderDetl.setBatch(orderResult.getDocLotNo());
                     orderDetl.setAnfme(orderResult.getApplyQty());
                     orderDetl.setOrderId(order.getId());

--
Gitblit v1.9.1