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/controller/OpenController.java | 40 ++++++++++++-------
src/main/java/com/zy/common/model/DetlDto.java | 20 +++++++---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 17 ++++++--
src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java | 1
src/main/java/com/zy/asrs/task/ERPReportScheduler.java | 25 ++++++++++--
5 files changed, 73 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 025696b..e83bde1 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
@@ -17,6 +18,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
/**
@@ -162,23 +164,31 @@
*/
@PostMapping("/order/pakout/new/default/v1")
@AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱")
- public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey,
- @RequestBody OpenOrderPakoutParam param,
- HttpServletRequest request) {
+ public synchronized R pakoutOrderCreate(
+ @RequestBody HashMap<String , Object> map
+ ) {
// auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
+ String toJSONString = JSONObject.toJSONString(map.get("data"));
+ List<OpenOrderPakoutParam> openOrderPakoutParams=JSON.parseArray(toJSONString,OpenOrderPakoutParam.class);
+ int i=1;
+ for (OpenOrderPakoutParam param: openOrderPakoutParams){
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getOrderNo())) {
+ return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
+ }
+ System.out.println(i+"-------------------------------"+param.getOrderNo());
+ i++;
+ if (Cools.isEmpty(param.getOrderType())) {
+ return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
+ }
+ if (Cools.isEmpty(param.getOrderDetails())) {
+ return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
+ }
+ openService.pakoutOrderCreate(param);
}
- if (Cools.isEmpty(param.getOrderNo())) {
- return R.error("鍗曟嵁缂栧彿[orderNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getOrderType())) {
- return R.error("鍗曟嵁绫诲瀷[orderType]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getOrderDetails())) {
- return R.error("鍗曟嵁鏄庣粏[orderDetails]涓嶈兘涓虹┖");
- }
- openService.pakoutOrderCreate(param);
+
return R.ok();
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 4f423d8..98861b1 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -247,7 +247,7 @@
List<DetlDto> list = new ArrayList<>();
List<DetlDto> orderDetails = param.getOrderDetails();
for (DetlDto detail : orderDetails) {
- DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
+ DetlDto dto = new DetlDto(detail.getMatnr(),detail.getMaktx(), detail.getBatch(), detail.getAnfme());
if (DetlDto.has(list, dto)) {
DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
assert detlDto != null;
@@ -259,10 +259,17 @@
for (DetlDto detlDto : list) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+ Mat mat1=new Mat();
+ mat1.setTagId(1L);
+ mat1.setMatnr(detlDto.getMatnr());
+ mat1.setMaktx(detlDto.getMaktx());
+ mat1.setMatType(3);
+ matService.insert(mat1);
}
OrderDetl orderDetl = new OrderDetl();
- orderDetl.sync(mat);
+// orderDetl.sync(mat);
+ orderDetl.setMatnr(detlDto.getMatnr());
+ orderDetl.setMaktx(detlDto.getMaktx());
orderDetl.setBatch(detlDto.getBatch());
orderDetl.setAnfme(detlDto.getAnfme());
orderDetl.setOrderId(order.getId());
@@ -286,8 +293,6 @@
wrkMast.setIoType(101);
wrkMast.setWrkSts(17L);
wrkMast.setMemo("鎹℃枡杞叏鏉垮伐浣滄。");
- wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
- .eq("wrk_no", wrkMast.getWrkNo()));
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
for (LocDetl locDetl : locDetls) {
@@ -318,6 +323,8 @@
}
}
locMastService.updateLocSts(wrkMast.getSourceLocNo(), "R");
+ wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
+ .eq("wrk_no", wrkMast.getWrkNo()));
}
diff --git a/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java b/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
index 9dfd3ae..0e6c397 100644
--- a/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CollectOrdersScheduler.java
@@ -144,6 +144,7 @@
mat1.setMatnr(orderResult.getItemNo());
mat1.setMaktx(orderResult.getItemName());
mat1.setSpecs(orderResult.getItemSpec());
+ mat1.setMatType(3);
matService.insert(mat1);
// throw new CoolException(orderResult.getItemNo() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
}
diff --git a/src/main/java/com/zy/asrs/task/ERPReportScheduler.java b/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
index 7005ede..9292c76 100644
--- a/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ERPReportScheduler.java
@@ -64,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());
@@ -76,22 +79,35 @@
}
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","02201");
- map.put("cellNo",orderDetl.getBrand());
+
map.put("combinationLotNo",String.valueOf(orderDetl.getBatch()));
map.put("barcode",wrkDetl.getMatnr());
datas.add(map);
}
String path= "";
String work= "";
- if(wrkMast.getIoType()<100){
+ if(wrkMast.getIoType()<50){
path=inReportAddress;
work="鍏ュ簱";
}else{
@@ -101,6 +117,7 @@
path=outReportAddress;
HashMap<String,Object> map=new HashMap<>();
map.put("data",datas);
+ System.out.println(map.toString());
//涓婃姤ERP
String response = "";
boolean success = false;
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index a792802..ae3b160 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -19,6 +19,8 @@
private String matnr;
+ private String maktx;
+
private String batch;
private Double anfme;
@@ -48,6 +50,12 @@
this.batch = batch;
this.anfme = anfme;
}
+ public DetlDto(String matnr,String maktx, String batch, Double anfme) {
+ this.matnr = matnr;
+ this.maktx = maktx;
+ this.batch = batch;
+ this.anfme = anfme;
+ }
public DetlDto(String matnr, String batch, Double anfme,Long owner) {
this.matnr = matnr;
@@ -57,12 +65,12 @@
}
- public DetlDto(String orderNo, String matnr, String batch, Double anfme) {
- this.orderNo = orderNo;
- this.matnr = matnr;
- this.batch = batch;
- this.anfme = anfme;
- }
+// public DetlDto(String orderNo, String matnr, String batch, Double anfme) {
+// this.orderNo = orderNo;
+// this.matnr = matnr;
+// this.batch = batch;
+// this.anfme = anfme;
+// }
public DetlDto(String matnr, String batch, Double anfme, String memo, String cstmr) {
this.matnr = matnr;
--
Gitblit v1.9.1