From 901dfbf8d57ffb54f9154e6d7db6899b9b4dcc92 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 28 十二月 2023 16:56:13 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/entity/param/OpenOrderPakmoveParam.java | 44 +++++++++++ src/main/java/com/zy/asrs/controller/OpenController.java | 4 src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java | 12 +++ src/main/java/com/zy/common/model/DetlDto.java | 4 + src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 116 +++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/OpenService.java | 2 6 files changed, 180 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index dcf29f2..509f025 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -142,8 +142,8 @@ } - OpenOrderPakinParam param = new OpenOrderPakinParam(param1); - openService.pakinOrderCreate(param); + OpenOrderPakmoveParam param = new OpenOrderPakmoveParam(param1); + openService.pakmoveOrderCreate(param); return R.ok(); } diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java index 5cf405f..c38e2d2 100644 --- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java +++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java @@ -51,6 +51,18 @@ this.owner=owner; this.entryId=entryId; } + + public DetlDto2(String matnr, String maktx, String batch, String specs, Double anfme, String owner, int entryId, String sourceLocName, String targetLocName) { + this.matnr = matnr; + this.maktx = maktx; + this.batch = batch; + this.specs = specs; + this.anfme = anfme; + this.owner = owner; + this.entryId = entryId; + this.sourceLocName = sourceLocName; + this.targetLocName = targetLocName; + } } } diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakmoveParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakmoveParam.java new file mode 100644 index 0000000..e7aa55d --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakmoveParam.java @@ -0,0 +1,44 @@ +package com.zy.asrs.entity.param; + +import com.zy.common.model.DetlDto; +import com.zy.erp.kingdee.enums.KingDeeUtilType; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by vincent on 2022/4/8 + */ +@Data +public class OpenOrderPakmoveParam { + + private String formid; + + private String orderNo; + + private String orderType; + + private String orderTime; + + private List<DetlDto> orderDetails; + + public OpenOrderPakmoveParam(){} + + public OpenOrderPakmoveParam(OpenOrderPakinJDParam param1){ + this.orderNo=param1.getOrderNo(); + KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(param1.getId()); + this.orderType=kingDeeUtilType.desc; + this.orderTime=param1.getCreateDate(); + List<OpenOrderPakinJDParam.DetlDto2> matList = param1.getMatList(); + List<DetlDto> dtos = new ArrayList<>(); + for (OpenOrderPakinJDParam.DetlDto2 detlDto2:matList){ + DetlDto detlDto = new DetlDto(detlDto2); + detlDto.setSourceLocName(detlDto2.getSourceLocName()); + detlDto.setTargetLocName(detlDto2.getTargetLocName()); + dtos.add(detlDto); + } + this.orderDetails = dtos; + } + +} diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index ace06ba..0a9eb26 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -14,6 +14,8 @@ */ void pakinOrderCreate(OpenOrderPakinParam param); + void pakmoveOrderCreate(OpenOrderPakmoveParam param); + /** * 鍏ュ簱鍗曞洖鍐� */ 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 ee02c94..f06bbaa 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -276,6 +276,122 @@ @Override @Transactional + public void pakmoveOrderCreate(OpenOrderPakmoveParam param) { + Order order = orderService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(order)) { + throw new CoolException(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); + } + } + } + DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); + Date now = new Date(); + // 鍗曟嵁涓绘。 + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + param.getOrderNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + null, // 椤圭洰缂栧彿 + null, // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + null, // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 1, // 鐘舵�� + 9527L, // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + 9527L, // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + if (!orderService.insert(order)) { + throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + // 鍗曟嵁鏄庣粏妗� + List<DetlDto> list = new ArrayList<>(); + List<DetlDto> orderDetails = param.getOrderDetails(); + 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); + } + dto.setWeight(detail.getWeight()); + } + for (DetlDto detlDto : list) { + Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); + } + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(mat); + + //鎵瑰彿涓虹┖浼氬嚭鐜伴棶棰橈紝璁剧疆涓�涓粯璁ゅ�� + if (detlDto.getBatch() == null) { + orderDetl.setBatch(""); + } else { + orderDetl.setBatch(detlDto.getBatch()); + + } + orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(9527L); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(9527L); + orderDetl.setUpdateTime(now); + LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName())); + if (Cools.isEmpty(locOwner)){ + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + }else { + orderDetl.setOwner(locOwner.getId()); + } + orderDetl.setPayment(detlDto.getPayment()); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + orderDetl.setBeBatch(detlDto.getBeBatch()); + orderDetl.setWeight(detlDto.getWeight()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + } + + @Override + @Transactional public List<StockVo> queryStock(StockVo stockVo) { return locDetlService.queryStockTotal(stockVo); } diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java index 661c314..4915203 100644 --- a/src/main/java/com/zy/common/model/DetlDto.java +++ b/src/main/java/com/zy/common/model/DetlDto.java @@ -29,6 +29,10 @@ private Double weight; + private String sourceLocName;//婧愪粨搴� + private String targetLocName;//鐩爣浠撳簱 + + public DetlDto() { } -- Gitblit v1.9.1