From e1749547c76a5d8bae94e47d38d4d75b481610c1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 09 九月 2021 10:51:15 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/MainService.java | 64 ++++++++++++++++++++++++++++++- 1 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java index 6c81900..827ef29 100644 --- a/src/main/java/zy/cloud/wms/common/service/MainService.java +++ b/src/main/java/zy/cloud/wms/common/service/MainService.java @@ -7,11 +7,20 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import zy.cloud.wms.common.config.CodeCoolException; import zy.cloud.wms.common.model.MatnrDto; import zy.cloud.wms.common.model.OrderStoDto; +import zy.cloud.wms.common.service.asrs.AsrsService; +import zy.cloud.wms.common.service.asrs.entity.Result; +import zy.cloud.wms.common.service.asrs.entity.Result1; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; -import zy.cloud.wms.manager.service.*; +import zy.cloud.wms.manager.entity.param.StockTransferParam; +import zy.cloud.wms.manager.entity.result.PakoutVo; +import zy.cloud.wms.manager.service.LocDetlService; +import zy.cloud.wms.manager.service.MatService; +import zy.cloud.wms.manager.service.OrderService; +import zy.cloud.wms.manager.service.PakoutService; import java.util.*; @@ -32,6 +41,8 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private OrderService orderService; + @Autowired + private AsrsService asrsService; @Transactional public List<StoPreTab> stockOutPreview(OrderStoDto orderStoDto) { @@ -40,7 +51,17 @@ } List<StoPreTab> res = new ArrayList<>(); // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶� - locDetlService.checkLocDetlCount(orderStoDto.getDtos()); + List<StockTransferParam> transferParams = locDetlService.checkLocDetlCountOfRes(orderStoDto.getDtos()); + if (!Cools.isEmpty(transferParams)) { + // 鏌ョ湅绔嬪簱搴撳瓨 + Result result = asrsService.stockTransferPrew(transferParams); + if (result.getCode() == 500) { + throw new CodeCoolException("20001-" + String.valueOf(result.getMsg())); + } + if (result.getCode() == 200) { + res = (List<StoPreTab>) result.getData(); + } + } for (MatnrDto matnrDto : orderStoDto.getDtos()) { // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪 @@ -97,7 +118,44 @@ } Date now = new Date(); // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶� - locDetlService.checkLocDetlCount(orderStoDto.getDtos()); + List<StockTransferParam> transferParams = locDetlService.checkLocDetlCountOfRes(orderStoDto.getDtos()); + if (!Cools.isEmpty(transferParams)) { + // 鏌ョ湅绔嬪簱搴撳瓨 + Result1 result = asrsService.stockTransfer(transferParams); + if (result.getCode() == 500) { + if (Cools.isEmpty(result.getData())) { + throw new CoolException(result.getMsg()); + } else { + throw new CodeCoolException("20001-" + result.getData()); + } + } + if (result.getCode() == 200) { + for (PakoutVo vo : result.getData()) { + // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪 + Mat mat = matService.selectByMatnr(vo.getMatnr()); + if (null == mat) { + throw new CoolException(vo.getMatnr() + "鐗╂枡灏氭湭鏇存柊銆�" + orderStoDto.getOrderNo() +"鍗曟嵁鍥犳涓柇锛�"); + } + Pakout pakout = new Pakout(); + pakout.setWrkSts(1L); + pakout.setAnfme(vo.getAnfme()); + pakout.setZpallet(vo.getZpallet()); + pakout.setLocNo(vo.getLocNo()); + pakout.setNodeId(-1L); + pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId())); + VersionUtils.setPakout(pakout, mat); + pakout.setDocId(order.getDocType()); // 鍗曟嵁绫诲瀷 + pakout.setDocNum(order.getOrderNo()); // 鍗曟嵁缂栧彿 + pakout.setCreateTime(now); + pakout.setUpdateTime(now); + pakout.setStatus(1); + if (!pakoutService.insert(pakout)) { + throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�"); + } + } + + } + } for (MatnrDto matnrDto : orderStoDto.getDtos()) { // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪 -- Gitblit v1.9.1