From fa3e00c4d5e91613e3f2a1f2692cb68635d4ad2d Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 22 七月 2025 08:31:50 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/mdqdasrsVersion' into mdqdasrsVersion --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 72 insertions(+), 19 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..52b0e1d 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("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -614,7 +667,7 @@ log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); } } else { - mat.sync(param); + mat.sync(matParam); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } -- Gitblit v1.9.1