From ddd37f5435ce9c5e8a592a39b53a8058c18a44e4 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 27 五月 2021 19:38:45 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/model/param/ReplenishParam.java | 15 +++++ src/main/java/zy/cloud/wms/manager/controller/OpenController.java | 112 +++++++++++++++++++++++++++++++++++++ src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 44 +++++++------- 3 files changed, 149 insertions(+), 22 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/model/param/ReplenishParam.java b/src/main/java/zy/cloud/wms/common/model/param/ReplenishParam.java new file mode 100644 index 0000000..b529089 --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/model/param/ReplenishParam.java @@ -0,0 +1,15 @@ +package zy.cloud.wms.common.model.param; + +import lombok.Data; + +/** + * Created by vincent on 2021/5/27 + */ +@Data +public class ReplenishParam { + + private String matnr; + + private Double count; + +} diff --git a/src/main/java/zy/cloud/wms/manager/controller/OpenController.java b/src/main/java/zy/cloud/wms/manager/controller/OpenController.java new file mode 100644 index 0000000..cd9390a --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/controller/OpenController.java @@ -0,0 +1,112 @@ +package zy.cloud.wms.manager.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.core.exception.CoolException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import zy.cloud.wms.common.model.param.ReplenishParam; +import zy.cloud.wms.common.utils.VersionUtils; +import zy.cloud.wms.manager.entity.LocDetl; +import zy.cloud.wms.manager.entity.Mat; +import zy.cloud.wms.manager.entity.Node; +import zy.cloud.wms.manager.entity.Prior; +import zy.cloud.wms.manager.service.LocDetlService; +import zy.cloud.wms.manager.service.MatService; +import zy.cloud.wms.manager.service.NodeService; +import zy.cloud.wms.manager.service.PriorService; + +import java.util.Date; +import java.util.List; + +/** + * Created by vincent on 2021/5/27 + */ +@RestController +@RequestMapping("/open/api") +public class OpenController { + + @Autowired + private PriorService priorService; + @Autowired + private NodeService nodeService; + @Autowired + private MatService matService; + @Autowired + private LocDetlService locDetlService; + + @PostMapping("/replenish") + @Transactional + public R asrsReplenish(@RequestBody List<ReplenishParam> params){ + if (Cools.isEmpty(params)) { + return R.parse(BaseRes.PARAM); + } + Date now = new Date(); + for (ReplenishParam param : params) { + Mat mat = matService.selectByMatnr(param.getMatnr()); + List<Prior> priors = priorService.selectList(new EntityWrapper<Prior>().eq("matnr", param.getMatnr())); + // 鏈夋帹鑽愯揣浣� + if (!Cools.isEmpty(priors)) { + Prior prior = priors.get(0); + Node node = nodeService.selectById(prior.getNodeId()); + + LocDetl locDetl = locDetlService.getLocDetl(node.getId(), param.getMatnr()); + if (locDetl == null) { + locDetl = new LocDetl(); + locDetl.setLocNo(node.getName()); + locDetl.setNodeId(node.getId()); + locDetl.setAnfme(param.getCount()); + VersionUtils.setLocDetl(locDetl, mat); + locDetl.setStatus(1); + locDetl.setCreateBy(9527L); + locDetl.setCreateTime(now); + locDetl.setUpdateBy(9527L); + locDetl.setUpdateTime(now); + boolean insert = locDetlService.insert(locDetl); + if (!insert) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } else { + if (!locDetlService.incrementStock(node.getId(), param.getMatnr(), param.getCount())) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } + + // 娌℃湁鎺ㄨ崘璐х墿 + } else { + Node node = nodeService.selectByUuid("A00"); // todo + + LocDetl locDetl = locDetlService.getLocDetl(node.getId(), param.getMatnr()); + if (locDetl == null) { + locDetl = new LocDetl(); + locDetl.setLocNo(node.getName()); + locDetl.setNodeId(node.getId()); + locDetl.setAnfme(param.getCount()); + VersionUtils.setLocDetl(locDetl, mat); + locDetl.setStatus(1); + locDetl.setCreateBy(9527L); + locDetl.setCreateTime(now); + locDetl.setUpdateBy(9527L); + locDetl.setUpdateTime(now); + boolean insert = locDetlService.insert(locDetl); + if (!insert) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } else { + if (!locDetlService.incrementStock(node.getId(), param.getMatnr(), param.getCount())) { + throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); + } + } + } + } + return R.ok(); + } + + +} 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 2b7e6f3..905d81b 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 @@ -616,28 +616,28 @@ } } // 鐩存帴澧炲姞搴撳瓨 - LocDetl locDetl = locDetlService.getLocDetl(param.getNode_id(), param.getMatnr()); - if (locDetl == null) { - // 鏇存柊璐т綅搴撳瓨鏄庣粏 - locDetl = new LocDetl(); - locDetl.setLocNo(node.getName()); - locDetl.setNodeId(node.getId()); - locDetl.setAnfme(anfme); - VersionUtils.setLocDetl(locDetl, mat); - locDetl.setStatus(1); - locDetl.setCreateBy(userId); - locDetl.setCreateTime(new Date()); - locDetl.setUpdateBy(userId); - locDetl.setUpdateTime(new Date()); - boolean insert = locDetlService.insert(locDetl); - if (!insert) { - throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); - } - } else { - if (!locDetlService.incrementStock(node.getId(), param.getMatnr(), anfme)) { - throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); - } - } +// LocDetl locDetl = locDetlService.getLocDetl(param.getNode_id(), param.getMatnr()); +// if (locDetl == null) { +// // 鏇存柊璐т綅搴撳瓨鏄庣粏 +// locDetl = new LocDetl(); +// locDetl.setLocNo(node.getName()); +// locDetl.setNodeId(node.getId()); +// locDetl.setAnfme(anfme); +// VersionUtils.setLocDetl(locDetl, mat); +// locDetl.setStatus(1); +// locDetl.setCreateBy(userId); +// locDetl.setCreateTime(new Date()); +// locDetl.setUpdateBy(userId); +// locDetl.setUpdateTime(new Date()); +// boolean insert = locDetlService.insert(locDetl); +// if (!insert) { +// throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); +// } +// } else { +// if (!locDetlService.incrementStock(node.getId(), param.getMatnr(), anfme)) { +// throw new CoolException("鏂板搴撳瓨鏄庣粏妗eけ璐�"); +// } +// } return R.ok("琛ヤ粨鎴愬姛锛岀瓑寰呯珛搴撹皟鎷�"); } -- Gitblit v1.9.1