From b650e00a5e5ecdad78014452c8bfa60b3ffbfca7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 20 三月 2021 10:56:11 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java index dec1993..b580661 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java @@ -11,12 +11,14 @@ import org.springframework.transaction.annotation.Transactional; import zy.cloud.wms.common.model.OrderStoDto; import zy.cloud.wms.common.service.MainService; +import zy.cloud.wms.common.service.asrs.AsrsService; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.entity.param.*; import zy.cloud.wms.manager.entity.result.StoPrintVo; import zy.cloud.wms.manager.service.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,6 +44,8 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private MatService matService; + @Autowired + private AsrsService asrsService; @Override @Transactional @@ -327,4 +331,34 @@ return R.ok("鐢熸垚閿�鍞鍗�" + param.getNumber() + "鎴愬姛"); } + @Override + public R stockTransfer(String number, Long userId) { + List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1)); + boolean error = false; + List<StockTransferParam> params = new ArrayList<>(); + for (CustOrder custOrder : custOrders) { + Double count = locDetlService.selectCountByMatnr(custOrder.getUserCode()); + if (count == null) { + count = 0.0D; + } + if (count < custOrder.getQty()) { + if (!error) { + error = true; + } + StockTransferParam param = new StockTransferParam(); + param.setMatnr(custOrder.getUserCode()); + param.setAnfme(custOrder.getQty() - count); + params.add(param); + } + } + if (error) { + if (asrsService.stockTransfer(params)) { + return R.ok("搴撳瓨璋冩嫧鎴愬姛"); + } else { + return R.error("绔嬪簱璋冩嫧澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + return R.error("鏆備笉缂鸿揣锛屼笉闇�瑕佺珛搴撹皟鎷�"); + } + } -- Gitblit v1.9.1