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