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