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/controller/OpenController.java   |    4 +-
 src/main/webapp/static/js/common.js                        |    2 
 src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java |   37 ++++++++++++++----
 src/main/java/com/zy/asrs/task/ERPReportScheduler.java     |   30 ++++++++++----
 src/main/resources/application.yml                         |   15 ++++---
 5 files changed, 61 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 9b837e3..025696b 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -165,7 +165,7 @@
     public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
                                             @RequestBody OpenOrderPakoutParam param,
                                             HttpServletRequest request) {
-        auth(appkey, param, request);
+//        auth(appkey, param, request);
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
@@ -191,7 +191,7 @@
     public synchronized R againOut(@RequestHeader(required = false) String appkey,
                                             @RequestBody PackParam param,
                                             HttpServletRequest request) {
-        auth(appkey, param, request);
+//        auth(appkey, param, request);
         if (Cools.isEmpty(param)||Cools.isEmpty(param.getBarcode())) {
             return R.error("鎵樼洏鐮佷负绌�,璇锋鏌�");
         }
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());
diff --git a/src/main/java/com/zy/asrs/task/ERPReportScheduler.java b/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
index 4ccfb10..7005ede 100644
--- a/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
@@ -27,8 +27,10 @@
 
     @Value("${erp.address.URL}")
     private String URL;
-    @Value("${erp.address.outaddress}")
-    private String outAddress;
+    @Value("${erp.address.outReportAddress}")
+    private String outReportAddress;
+    @Value("${erp.address.inReportAddress}")
+    private String inReportAddress;
     @Autowired
     private OrderDetlService orderDetlService;
     @Autowired
@@ -49,7 +51,7 @@
      * 鍗曚釜浠诲姟涓婃姤erp
      */
     @Scheduled(cron = "0/10 * * * * ? ")
-    private void execute() {
+    private synchronized void execute() {
         //鏌ユ壘鎵�鏈変换鍔℃。浠诲姟鐘舵�佷负40ERP涓婃姤涓殑浠诲姟
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 40));
 
@@ -81,13 +83,22 @@
                         map.put("itemNo",orderDetl.getMatnr());
                         map.put("qty",wrkDetl.getAnfme());
                         map.put("unitNo",orderDetl.getUnit());
-                        map.put("warehouseNo",orderDetl.getColor());
+                        map.put("warehouseNo","02201");
                         map.put("cellNo",orderDetl.getBrand());
                         map.put("combinationLotNo",String.valueOf(orderDetl.getBatch()));
-                        map.put("barcode",wrkDetl.getZpallet());
+                        map.put("barcode",wrkDetl.getMatnr());
                         datas.add(map);
                     }
-
+                    String path= "";
+                    String work= "";
+                    if(wrkMast.getIoType()<100){
+                        path=inReportAddress;
+                        work="鍏ュ簱";
+                    }else{
+                        path=outReportAddress;
+                        work="鍑哄簱";
+                    }
+                    path=outReportAddress;
                     HashMap<String,Object> map=new HashMap<>();
                     map.put("data",datas);
                     //涓婃姤ERP
@@ -96,7 +107,7 @@
                     try {
                         response = new HttpHandler.Builder()
                                 .setUri(URL)
-                                .setPath(outAddress)
+                                .setPath(path)
                                 .setJson(JSON.toJSONString(map))
                                 .build()
                                 .doPost();
@@ -107,6 +118,7 @@
                             }else{
                                 wrkMast.setWrkSts(18L);//鍑哄簱杞巻鍙叉。
                             }
+                            wrkMastService.updateById(wrkMast);
                         } else {
                             log.error("浠诲姟鍙�={}锛屼笂鎶ュけ璐�",wrkMast.getWrkNo());
                         }
@@ -116,8 +128,8 @@
                         try {
                             // 淇濆瓨鎺ュ彛鏃ュ織
                             apiLogService.save(
-                                    "涓婃姤浠诲姟缁撴灉缁橢RP",
-                                    URL + outAddress,
+                                    "涓婃姤"+work+"浠诲姟缁撴灉缁橢RP",
+                                    URL + path,
                                     null,
                                     "127.0.0.1",
                                     map.toString(),
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a7f92bb..d5dd6c9 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8080
+  port: 8082
   servlet:
     context-path: /@pom.build.finalName@
   compression:
@@ -13,7 +13,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:1433;databasename=bfasrs
+    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs2
 #    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
     username: sa
 #    password: Zoneyung@zy56$
@@ -63,9 +63,10 @@
 erp:
   #鍦板潃
   address:
-    URL: http://192.168.3.102:16001
+    URL: http://192.168.118.36:18180
     #鍏ュ簱鍗曟嵁
-    inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc
-    #缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧�
-    outaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc
-
+    inaddress: dapilc/restful/service/ilcwmsplus/IKWebService/cusInventoryTaskInfo
+    #鍑哄簱缁撴灉涓婃姤
+    outReportAddress: dapilc/restful/service/ilcwmsplus/IKWebService/cusOutboundCompletionReport
+    #鍏ュ簱缁撴灉涓婃姤
+    inReportAddress: dapilc/restful/service/ilcwmsplus/IKWebService/cusInventoryCompletionReport
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index cc739b9..7ee1329 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -231,7 +231,7 @@
     {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true, width: 200}
     ,{field: 'specs', align: 'center',title: '瑙勬牸', width: 200}
     ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true, width: 150}
-    ,{field: 'order_no', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
+    ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
     ,{field: 'batch', align: 'center',title: '鎵瑰彿', sort:true, hide: false}
     ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
     ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}

--
Gitblit v1.9.1