From 207823b94f5627fae49d29b51b5ce7186a70c8e0 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期六, 04 一月 2025 09:59:48 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 68 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..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("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } -- Gitblit v1.9.1