From aea629d098bdab0918d90e0c51af9d7b099bca12 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 31 五月 2024 20:45:51 +0800
Subject: [PATCH] #新旧物料更新接口
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 171 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 121 insertions(+), 50 deletions(-)
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 3307d90..536b54f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -20,6 +20,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -115,7 +116,7 @@
for (DetlDto detail : orderDetails) {
DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null);
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
} else {
@@ -160,7 +161,7 @@
result.setOrderType(order.getDocType$());
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetls) {
- result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
+ //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
}
if (order.getSettle() == 4L) {
// 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
@@ -180,7 +181,7 @@
result.setOrderType(order.getDocType$());
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetls) {
- result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
+ //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
}
// 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
if (!orderService.updateSettle(order.getId(), 6L, null)) {
@@ -250,7 +251,7 @@
for (DetlDto detail : orderDetails) {
DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getCsocode(),dto.getIsoseq(),null);
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
} else {
@@ -294,7 +295,7 @@
result.setOrderType(order.getDocType$());
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetls) {
- result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
+ //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
}
if (order.getSettle() == 4L) {
// 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
@@ -314,7 +315,7 @@
result.setOrderType(order.getDocType$());
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
for (OrderDetl orderDetl : orderDetls) {
- result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
+ //result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty()));
}
// 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
if (!orderService.updateSettle(order.getId(), 6L, null)) {
@@ -531,8 +532,9 @@
List<DetlDto> detlDtos = new ArrayList<>();
param.getCombMats().forEach(elem -> {
DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+ detlDto.setContainerCode(elem.getContainerCode());
if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+ DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
assert one != null;
one.setAnfme(one.getAnfme() + detlDto.getAnfme());
} else {
@@ -615,16 +617,24 @@
@Transactional
public boolean syncMat(MatInfoParam param) {
- if(!Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){
- callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
- param.setType(false);
- param.setMemo("鍟嗗搧宸插瓨鍦紒");
- return false;
- }
Date now = new Date();
- Mat mat = new Mat();
+ Mat mat = matService.selectByMatnr(param.getCinvcode());
+ boolean update = true;
+ if(Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){
+ //鐗╂枡鍙�
+ mat = new Mat();
+ mat.setMatnr(param.getCinvcode());
+ mat.setCreateTime(now);
+ mat.setCreateBy(9999L);
+ update = false;
+// callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+// param.setType(false);
+// param.setMemo("鍟嗗搧宸插瓨鍦紒");
+// return false;
+ }
+ //Mat mat = new Mat();
//鐗╂枡鍙�
- mat.setMatnr(param.getCinvcode());
+ //mat.setMatnr(param.getCinvcode());
//鐗╂枡鍚嶇О
mat.setMaktx(param.getCinvname());
//瑙勬牸鍨嬪彿
@@ -648,25 +658,40 @@
//閫氱敤鍨嬪彿
mat.setModel(param.getCinvdefine4());
- mat.setCreateTime(now);
+ //9999琛ㄧずerp涓嬪彂
+
+ mat.setUpdateBy(9999L);
+ mat.setTagId(1L);
+
mat.setUpdateTime(now);
- if (matService.insert(mat)) {
- callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
- param.setType(true);
- } else {
- callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
- param.setType(false);
- param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ if(update){
+ if (matService.updateById(mat)){
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ param.setUpdate(true);
+ } else {
+ callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ param.setError(true);
+ param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ }
+ }else {
+ if (matService.insert(mat)) {
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ param.setInsert(true);
+ } else {
+ callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ param.setError(true);
+ param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ }
}
- matService.insert(mat);
+
return true;
}
@Transactional
- public boolean syncOrder(Map<String, Object> param) {
+ public boolean syncOrder(Map<String, Object> param, boolean pakin) {
if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){
throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅");
}
@@ -674,11 +699,12 @@
if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){
throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�");
}
- Order order = orderMapping(param);
+ Date now = new Date();
+ Order order = orderMapping(param,now,pakin);
orderService.insert(order);
List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails");
orderDetails.forEach(odParam -> {
- OrderDetl od = orderDetlMapping(order.getOrderNo(),odParam);
+ OrderDetl od = orderDetlMapping(order,odParam,now);
orderDetlService.insert(od);
});
@@ -702,34 +728,43 @@
return true;
}
- private Order orderMapping(Map<String, Object> param){
- Date now = new Date();
+ private Order orderMapping(Map<String, Object> param, Date now, boolean pakin){
Order order = new Order();
//uuid
order.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
//鏍哥畻涓讳綋
- order.setItemName(param.get("account").toString());
+ //order.setItemName(param.get("account").toString());
+ order.setItemName(toString(param.get("account")));
//鍗曟嵁鍞竴琛ㄧず
- order.setOrderNo(param.get("id").toString());
+ //order.setOrderNo(param.get("id").toString());
+ order.setOrderNo(toString(param.get("id")));
//涓氬姟绫诲瀷
- order.setDefNumber(param.get("cBusType").toString());
+ //order.setDefNumber(param.get("cBusType").toString());
+ order.setDefNumber(toString(param.get("cVouchType")));
//鍗曟嵁绫诲瀷
- DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE);
+ DocType docType = docTypeService.selectOrAdd(param.get("cBusType").toString(), pakin);
order.setDocType(docType.getDocId());
//鍗曟嵁鏃ユ湡
- order.setOrderTime(param.get("dDate").toString());
+ //order.setOrderTime(param.get("dDate").toString());
+ order.setOrderTime(toString(param.get("dDate")));
//渚涘簲鍟�/瀹㈡埛缂栫爜
- order.setCstmrName(param.get("ks").toString());
+ //order.setCstmrName(param.get("ks").toString());
+ order.setCstmrName(toString(param.get("ks")));
//浠撳簱
- order.setTel(param.get("cWhName").toString());
+ //order.setTel(param.get("cWhName").toString());
+ order.setTel(toString(param.get("cWhName")));
//鍑哄叆搴撶被鍒�
- order.setOperMemb(param.get("cRdName").toString());
+ //setOperMemb(param.get("cRdName").toString());
+ order.setOperMemb(toString(param.get("cRdName")));
//閮ㄩ棬
- order.setSalesman(param.get("cDepCode").toString());
+ //order.setSalesman(param.get("cDepCode").toString());
+ order.setSalesman(toString(param.get("cDepCode")));
//澶囨敞
- order.setMemo(param.get("cMemo").toString());
+ //order.setMemo(param.get("cMemo").toString());
+ order.setMemo(toString(param.get("cMemo")));
//鍒跺崟浜�
- order.setShipCode(param.get("cMaker").toString());
+ //order.setShipCode(param.get("cMaker").toString());
+ order.setShipCode(toString(param.get("cMaker")));
order.setCreateTime(now);
order.setUpdateTime(now);
@@ -741,29 +776,57 @@
return order;
}
- private OrderDetl orderDetlMapping(String orderId, Map<String, Object> odParam){
+ private OrderDetl orderDetlMapping(Order order, Map<String, Object> odParam, Date now){
OrderDetl od = new OrderDetl();
- od.setOrderNo(orderId);
+ od.setOrderId(order.getId());
+ od.setOrderNo(order.getOrderNo());
//琛屽敮涓�鏍囪瘑
- od.setItemNum(odParam.get("autoId").toString());
+ //od.setItemNum(odParam.get("autoId").toString());
+ od.setItemNum(toString(odParam.get("autoId")));
//瀛樿揣缂栫爜
- od.setMatnr(odParam.get("cInvCode").toString());
+ //od.setMatnr(odParam.get("cInvCode").toString());
+ od.setMatnr(toString(odParam.get("cInvCode")));
//瀛樿揣鍚嶇О
- od.setMaktx(odParam.get("cInvName").toString());
+ //od.setMaktx(odParam.get("cInvName").toString());
+ od.setMaktx(toString(odParam.get("cInvName")));
//瑙勬牸鍨嬪彿
- od.setSpecs(odParam.get("cInvStd").toString());
+ //od.setSpecs(odParam.get("cInvStd").toString());
+ od.setSpecs(toString(odParam.get("cInvStd")));
//璁¢噺鍗曚綅
- od.setUnit(odParam.get("cComUnitName").toString());
+ //od.setUnit(odParam.get("cComUnitName").toString());
+ od.setUnit(toString(odParam.get("cComUnitName")));
//鏁伴噺
od.setAnfme(Double.parseDouble(odParam.get("iQuantity").toString()));
+ //od.setAnfme(toString(odParam.get("iQuantity")));
//琛屽彿
- od.setBrand(odParam.get("irowno").toString());
+ //od.setBrand(odParam.get("irowno").toString());
+ //od.setBrand(toString(odParam.get("irowno")));
+ od.setManu(toString(odParam.get("irowno")));
//閿�鍞鍗曞彿
- od.setColor(odParam.get("csocode").toString());
+ //od.setColor(odParam.get("csocode").toString());
+ //od.setColor(toString(odParam.get("csocode")));
+ od.setThreeCode(toString(odParam.get("csocode")));
//閿�鍞鍗曡鍙�
- od.setOrigin(odParam.get("isoseq").toString());
+ //od.setOrigin(odParam.get("isoseq").toString());
+ //od.setOrigin(toString(odParam.get("isoseq")));
+ od.setDeadTime(toString(odParam.get("isoseq")));
+
+ od.setStatus(1);
+ od.setQty(0.0D);
+ od.setCreateBy(9999L);
+ od.setCreateTime(now);
+ od.setUpdateBy(9999L);
+ od.setUpdateTime(now);
return od;
+ }
+
+ private String toString(Object o){
+ if(StringUtils.isEmpty(o)){
+ return null;
+ }else{
+ return o.toString();
+ }
}
@@ -773,4 +836,12 @@
response, bool);
}
+ public static void main(String[] args) {
+ Object s = null;
+ if(StringUtils.isEmpty(s)){
+ System.out.println("null");
+ }else {
+ System.out.println(s.toString());
+ }
+ }
}
--
Gitblit v1.9.1