From bc45a927c185386b327a1d6f34021b3c02634bc7 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 14 四月 2025 08:55:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++---------
1 files changed, 71 insertions(+), 18 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 f06bbaa..ba355f6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -18,6 +18,7 @@
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
+import com.zy.erp.kingdee.enums.KingDeeUtilType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -133,14 +134,26 @@
for (DetlDto detail : orderDetails) {
DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getOwnerName(),detail.getPayment());
dto.setBeBatch(detail.getBeBatch());
- if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
- assert detlDto != null;
- detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
- } else {
- list.add(dto);
+ KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
+ if (kingDeeUtilType.entryId==1){
+ if (DetlDto.has2(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),detail.getOwnerName(),detail.getBeBatch());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+ } else {
+ list.add(dto);
+ }
+ dto.setWeight(detail.getWeight());
+ }else {
+ if (DetlDto.has1(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),detail.getOwnerName());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+ } else {
+ list.add(dto);
+ }
+ dto.setWeight(detail.getWeight());
}
- dto.setWeight(detail.getWeight());
}
for (DetlDto detlDto : list) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
@@ -164,11 +177,12 @@
orderDetl.setCreateTime(now);
orderDetl.setUpdateBy(9527L);
orderDetl.setUpdateTime(now);
+ orderDetl.setPrice(0.0);
LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
if (Cools.isEmpty(locOwner)){
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}else {
- orderDetl.setOwner(locOwner.getId().intValue());
+ orderDetl.setOwner(locOwner.getId());
}
orderDetl.setPayment(detlDto.getPayment());
orderDetl.setStatus(1);
@@ -185,6 +199,20 @@
@Transactional
public void pakoutOrderCreate(OpenOrderPakoutParam param) {
Order order = orderService.selectByNo(param.getOrderNo());
+
+ for (DetlDto detlDto : param.getOrderDetails()){
+ if (Cools.isEmpty(detlDto) || Cools.isEmpty(detlDto.getOwnerName(),detlDto.getPayment())){
+ throw new CoolException(param.getOrderNo() + "缂哄皯璐т富鎴栬揣鐗╁舰鎬�");
+ }else {
+ LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
+ if (Cools.isEmpty(locOwner)){
+ LocOwner locOwner1 = new LocOwner();
+ locOwner1.setOwner(detlDto.getOwnerName());
+ locOwnerService.insert(locOwner1);
+ }
+ }
+ }
+
// 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
if (!Cools.isEmpty(order)) {
if (order.getSettle() > 1L) {
@@ -238,16 +266,28 @@
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.getBatch(), detail.getAnfme(),detail.getOwnerName(),detail.getPayment());
dto.setBeBatch(detail.getBeBatch());
- if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
- assert detlDto != null;
- detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
- } else {
- list.add(dto);
+ KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName());
+ if (kingDeeUtilType.entryId==1){
+ if (DetlDto.has2(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),detail.getOwnerName(),detail.getBeBatch());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+ } else {
+ list.add(dto);
+ }
+ dto.setWeight(detail.getWeight());
+ }else {
+ if (DetlDto.has1(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),detail.getOwnerName());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
+ } else {
+ list.add(dto);
+ }
+ dto.setWeight(detail.getWeight());
}
- dto.setWeight(detail.getWeight());
}
for (DetlDto detlDto : list) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
@@ -266,8 +306,16 @@
orderDetl.setUpdateTime(now);
orderDetl.setStatus(1);
orderDetl.setQty(0.0D);
+ orderDetl.setPrice(0.0);//鍒濆鍖栧凡涓婃姤鏁伴噺
+ orderDetl.setOwner(detlDto.getOwner());
orderDetl.setBeBatch(detlDto.getBeBatch());
orderDetl.setWeight(detlDto.getWeight());
+ LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
+ if (Cools.isEmpty(locOwner)){
+ throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }else {
+ orderDetl.setOwner(locOwner.getId());
+ }
if (!orderDetlService.insert(orderDetl)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}
@@ -342,8 +390,10 @@
for (DetlDto detail : orderDetails) {
DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getOwnerName(),detail.getPayment());
dto.setBeBatch(detail.getBeBatch());
- if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+ dto.setSourceLocName(detail.getSourceLocName());
+ dto.setTargetLocName(detail.getTargetLocName());
+ if (DetlDto.has3(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getOwnerName(),dto.getSourceLocName(),dto.getTargetLocName());
assert detlDto != null;
detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
} else {
@@ -373,6 +423,7 @@
orderDetl.setCreateTime(now);
orderDetl.setUpdateBy(9527L);
orderDetl.setUpdateTime(now);
+ orderDetl.setPrice(0.0);
LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName()));
if (Cools.isEmpty(locOwner)){
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
@@ -384,6 +435,8 @@
orderDetl.setQty(0.0D);
orderDetl.setBeBatch(detlDto.getBeBatch());
orderDetl.setWeight(detlDto.getWeight());
+ orderDetl.setSourceLocName(detlDto.getSourceLocName());
+ orderDetl.setTargetLocName(detlDto.getTargetLocName());
if (!orderDetlService.insert(orderDetl)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}
--
Gitblit v1.9.1