From 63817fb8bd1933714c4a51d552f15b6e4342c976 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 29 十二月 2023 09:14:51 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/OrderDetlMapper.xml | 2
src/main/java/com/zy/asrs/entity/OrderDetl.java | 14 +++
src/main/webapp/static/js/order/order.js | 3
src/main/java/com/zy/asrs/entity/OrderDetlLog.java | 14 +++
src/main/java/com/zy/common/model/DetlDto.java | 70 +++++++++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 86 +++++++++++++++++----
6 files changed, 170 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index bb630fc..92345a0 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -306,6 +306,20 @@
private String memo;
/**
+ * 婧愪粨搴�
+ */
+ @ApiModelProperty(value= "婧愪粨搴�")
+ @TableField("source_loc_name")
+ private String sourceLocName;
+
+ /**
+ * 鐩爣浠撳簱
+ */
+ @ApiModelProperty(value= "鐩爣浠撳簱")
+ @TableField("target_loc_name")
+ private String targetLocName;
+
+ /**
* 鎷ユ湁鑰�
*/
@ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠 ")
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlLog.java b/src/main/java/com/zy/asrs/entity/OrderDetlLog.java
index 582b527..be3e8f3 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlLog.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlLog.java
@@ -300,6 +300,20 @@
private Integer owner;
/**
+ * 婧愪粨搴�
+ */
+ @ApiModelProperty(value= "婧愪粨搴�")
+ @TableField("source_loc_name")
+ private String sourceLocName;
+
+ /**
+ * 鐩爣浠撳簱
+ */
+ @ApiModelProperty(value= "鐩爣浠撳簱")
+ @TableField("target_loc_name")
+ private String targetLocName;
+
+ /**
* 璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�
*/
@ApiModelProperty(value= "璐х墿褰㈡��:0锛氫唬閲囥��1锛氫粨鍌�")
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..ed50a08 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());
@@ -168,7 +181,7 @@
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 +198,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 +265,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 +305,15 @@
orderDetl.setUpdateTime(now);
orderDetl.setStatus(1);
orderDetl.setQty(0.0D);
+ 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 +388,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 {
@@ -384,6 +432,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("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 4915203..3250b8f 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -119,12 +119,80 @@
return false;
}
+ public static boolean has1(List<DetlDto> detlDtos, DetlDto detlDto) {
+ for (DetlDto dto : detlDtos) {
+ if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && Cools.eq(dto.getOwnerName(), detlDto.getOwnerName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static boolean has2(List<DetlDto> detlDtos, DetlDto detlDto) {
+ for (DetlDto dto : detlDtos) {
+ if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())
+ && Cools.eq(dto.getOwnerName(), detlDto.getOwnerName()) && dto.getBeBatch()==detlDto.getBeBatch()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static boolean has3(List<DetlDto> detlDtos, DetlDto detlDto) {
+ for (DetlDto dto : detlDtos) {
+ if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && Cools.eq(dto.getOwnerName(), detlDto.getOwnerName())
+ && Cools.eq(dto.getSourceLocName(), detlDto.getSourceLocName()) && Cools.eq(dto.getTargetLocName(), detlDto.getTargetLocName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch) {
if (Cools.isEmpty(matnr)) {
return null;
}
for (DetlDto detlDto : detlDtos) {
- if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())) {
+ if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) ) {
+ return detlDto;
+ }
+ }
+ return null;
+ }
+
+ public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch,String ownerName) {
+ if (Cools.isEmpty(matnr)) {
+ return null;
+ }
+ for (DetlDto detlDto : detlDtos) {
+ if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) && Cools.eq(ownerName, detlDto.getOwnerName())) {
+ return detlDto;
+ }
+ }
+ return null;
+ }
+
+ public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch,String ownerName,int beBatch) {
+ if (Cools.isEmpty(matnr)) {
+ return null;
+ }
+ for (DetlDto detlDto : detlDtos) {
+ if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())
+ && Cools.eq(ownerName, detlDto.getOwnerName()) && beBatch== detlDto.getBeBatch()) {
+ return detlDto;
+ }
+ }
+ return null;
+ }
+
+ public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch,String ownerName,String sourceLocName,String targetLocName) {
+ if (Cools.isEmpty(matnr)) {
+ return null;
+ }
+ for (DetlDto detlDto : detlDtos) {
+ if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())
+ && Cools.eq(ownerName, detlDto.getOwnerName()) && Cools.eq(sourceLocName, detlDto.getSourceLocName())
+ && Cools.eq(targetLocName, detlDto.getTargetLocName())) {
return detlDto;
}
}
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index c2043b0..e2c662b 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -48,6 +48,8 @@
<result column="owner" property="owner" />
<result column="payment" property="payment" />
<result column="uuid" property="uuid" />
+ <result column="source_loc_name" property="sourceLocName" />
+ <result column="target_loc_name" property="targetLocName" />
</resultMap>
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 90c1539..9900430 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -198,6 +198,9 @@
// {field: 'batch', title: '鎵瑰彿'},
{field: 'anfme', title: '鏁伴噺'},
{field: 'batch', title: '鎵规'},
+ {field: 'beBatch', title: '琛屽彿'},
+ {field: 'sourceLocName', title: '婧愪粨搴�'},
+ {field: 'targetLocName', title: '鐩爣浠撳簱'},
{field: 'workQty', title: '浣滀笟鏁伴噺'},
{field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
// {field: 'unit', title: '鍗曚綅'},
--
Gitblit v1.9.1