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