From 383c6139926563f02fba4432effbfc27f87d88c5 Mon Sep 17 00:00:00 2001
From: bfwms <1>
Date: 星期三, 30 七月 2025 14:36:57 +0800
Subject: [PATCH] ERP对接

---
 src/main/java/com/zy/asrs/task/ERPReportScheduler.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/ERPReportScheduler.java b/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
index 4ccfb10..9292c76 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));
 
@@ -62,6 +64,9 @@
                 if(wrkDetls!=null&&wrkDetls.size()>0){
                     List<LinkedHashMap<String,Object>> datas=new ArrayList<>();
                     for(WrkDetl wrkDetl:wrkDetls){
+                        if(Cools.isEmpty(wrkDetl.getOrderNo())){
+                            continue;
+                        }
                         OrderDetl orderDetl= orderDetlService.selectItem(wrkDetl.getOrderNo(),wrkDetl.getMatnr(),wrkDetl.getBatch());
                         if(orderDetl==null){
                             log.error("orderNo={}锛宮atnr={}锛宐atch={}锛屾病鏈夋煡璇㈠埌璁㈠崟鏄庣粏",wrkDetl.getOrderNo(),wrkDetl.getMatnr(),wrkDetl.getBatch());
@@ -74,29 +79,52 @@
                         }
                         DocType docType = docTypeService.selectById(order.getDocType());//鍗曟嵁缂栧彿
                         LinkedHashMap<String,Object> map=new LinkedHashMap<>();
-                        map.put("orgNo",orderDetl.getManu());//缁勭粐缂栫爜
+                        if(wrkMast.getIoType()<50){
+                            map.put("orgNo",orderDetl.getManu());//缁勭粐缂栫爜
+                            map.put("docType",docType.getMemo());
+                            map.put("cellNo",orderDetl.getBrand());
+                        }else{
+                            map.put("orgNo","2");//缁勭粐缂栫爜
+                            int i = orderDetl.getOrderNo().indexOf("5D");
+                            if(i!=-1){
+                                map.put("docType","B064");
+                            }else{
+                                map.put("docType","D001");
+                            }
+                            map.put("cellNo","L01A20");
+                        }
+
                         map.put("docNo",orderDetl.getOrderNo());
-                        map.put("docType",docType.getMemo());
                         map.put("docSeqNo",orderDetl.getModel());
                         map.put("itemNo",orderDetl.getMatnr());
                         map.put("qty",wrkDetl.getAnfme());
                         map.put("unitNo",orderDetl.getUnit());
-                        map.put("warehouseNo",orderDetl.getColor());
-                        map.put("cellNo",orderDetl.getBrand());
+                        map.put("warehouseNo","02201");
+
                         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()<50){
+                        path=inReportAddress;
+                        work="鍏ュ簱";
+                    }else{
+                        path=outReportAddress;
+                        work="鍑哄簱";
+                    }
+                    path=outReportAddress;
                     HashMap<String,Object> map=new HashMap<>();
                     map.put("data",datas);
+                    System.out.println(map.toString());
                     //涓婃姤ERP
                     String response = "";
                     boolean success = false;
                     try {
                         response = new HttpHandler.Builder()
                                 .setUri(URL)
-                                .setPath(outAddress)
+                                .setPath(path)
                                 .setJson(JSON.toJSONString(map))
                                 .build()
                                 .doPost();
@@ -107,6 +135,7 @@
                             }else{
                                 wrkMast.setWrkSts(18L);//鍑哄簱杞巻鍙叉。
                             }
+                            wrkMastService.updateById(wrkMast);
                         } else {
                             log.error("浠诲姟鍙�={}锛屼笂鎶ュけ璐�",wrkMast.getWrkNo());
                         }
@@ -116,8 +145,8 @@
                         try {
                             // 淇濆瓨鎺ュ彛鏃ュ織
                             apiLogService.save(
-                                    "涓婃姤浠诲姟缁撴灉缁橢RP",
-                                    URL + outAddress,
+                                    "涓婃姤"+work+"浠诲姟缁撴灉缁橢RP",
+                                    URL + path,
                                     null,
                                     "127.0.0.1",
                                     map.toString(),

--
Gitblit v1.9.1