From 63fd84ee4ad4a9e39d875fb8000f2ddd12864248 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期一, 12 九月 2022 15:39:07 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java index a0a9408..ee0c8e8 100644 --- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java @@ -9,6 +9,7 @@ import com.zy.asrs.entity.ManLocDetl; import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.Node; +import com.zy.asrs.entity.param.InitPakoutParam; import com.zy.asrs.entity.param.MatnrDto; import com.zy.asrs.entity.param.PakinParam; import com.zy.asrs.entity.result.Pakin; @@ -19,8 +20,11 @@ import com.zy.asrs.utils.VersionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.beans.Transient; import java.util.Date; +import java.util.List; @Service("nodeService") public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements NodeService { @@ -110,4 +114,52 @@ } return R.ok("鍏ュ簱鎴愬姛"); } + + @Transactional + @Override + public R initPakout(List<InitPakoutParam> params, Long userId, Long hostId) { + if (!Cools.isEmpty(params)) { + Date now = new Date(); + for (InitPakoutParam param : params) { + ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() + .eq("node_id", param.getNodeId()) + .eq("matnr", param.getMatnr())); + Node node = nodeService.selectOne(new EntityWrapper<Node>() + .eq("id", param.getNodeId())); + if (node == null) { + return R.error("鎵句笉鍒拌搴撲綅,璇疯仈绯荤鐞嗗憳:" + param.getNodeId() ); + } + if (manLocDetl == null) { + return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑涓嶅瓨鍦�"); + } + if (manLocDetl.getAnfme() - param.getCount() < 0) { + return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑鏁伴噺涓嶈冻"); + }else { + manLocDetl.setAnfme(manLocDetl.getAnfme() - param.getCount()); + manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>() + .eq("loc_no",node.getUuid()) + .eq("matnr",param.getMatnr())); + } + } + } + return R.ok("鍑哄簱鎴愬姛"); + } + + @Transactional + @Override + public void locMove(String sourceLocNo, String targetLocNo, Long userId) { + List<ManLocDetl> targets = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>() + .like("loc_no", sourceLocNo)); + for (ManLocDetl target : targets) { + Node uuid = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid", targetLocNo)); + if (uuid == null || uuid.equals("")) { + throw new RuntimeException("鏃犳硶鏌ヨ鍒扮Щ搴撶殑鐩爣搴撲綅"); + } + manLocDetlService.deleteById(target); + target.setLocNo(uuid.getUuid()); + target.setNodeId(uuid.getId()); + manLocDetlService.insert(target); + } + } } -- Gitblit v1.9.1