From ec583e53bb8f1f79f48063c48d554fa895e321a6 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 02 一月 2024 10:14:29 +0800
Subject: [PATCH] 四项库出库作业 出库相同物料不同料箱号报错bug修复 新增平库无组托上架功能

---
 src/main/java/com/zy/common/model/OutLocDto.java              |    9 +++++++++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/MobileController.java    |    7 +++++++
 src/main/java/com/zy/asrs/service/MobileService.java          |    2 ++
 4 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index dc5563c..08b1789 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -482,6 +482,13 @@
 
     }
 
+    //骞冲簱涓婃灦(鏃犵粍鎵樹笂鏋�)
+    @RequestMapping("/node/pakin/v1")
+    public R nodePakinNoComb(@RequestBody CombParam param){
+        mobileService.nodePakinNoComb(param);
+        return R.ok();
+    }
+
     private String findNodeLoc(List<LocRule> locRules){
         for (LocRule locRule : locRules) {
             if (Cools.isEmpty(locRule.getOther())) {
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6c6f79e..13a57fd 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -28,4 +28,6 @@
     void nodePakout(NodePakoutParam param, User user);
 
     void modifyWrkDetl(List<WrkDetl> wrkDetls, List<ModifyPakoutParam.CA> params, Long userId);
+
+    void nodePakinNoComb(CombParam param);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 541d386..163d97b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -615,6 +615,48 @@
         });
     }
 
+    @Override
+    public void nodePakinNoComb(CombParam param) {
+        if(Cools.isEmpty(param.getLocno())){
+            throw new CoolException("搴撲綅鍙锋湭濉啓锛屾棤娉曞叆搴�");
+        }
+        param.getCombMats().forEach(combMat -> {
+            Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>().eq("loc_no", param.getLocno()).eq("matnr",combMat.getMatnr());
+            Utils.wapperSetCondition(wrapper,"container_code",combMat.getContainerCode());
+            Utils.wapperSetCondition(wrapper,"batch",combMat.getBatch());
+            Utils.wapperSetCondition(wrapper,"csocode",combMat.getCsocode());
+            Utils.wapperSetCondition(wrapper,"isoseq",combMat.getIsoseq());
+            ManLocDetl manLocDetl = manLocDetlService.selectOne(wrapper);
+            if(Cools.isEmpty(manLocDetl)){
+                saveManlocDetl(combMat,param.getLocno());
+            }else{
+                manLocDetl.setAnfme(manLocDetl.getAnfme() + combMat.getAnfme());
+                manLocDetlService.update(manLocDetl,wrapper);
+            }
+            //鐢熸垚骞冲簱鍏ュ嚭搴撴棩蹇�
+            SaasUtils.insertLog(0,param.getLocno(),combMat.getMatnr(), combMat.getAnfme(),"");
+        });
+
+    }
+
+    private boolean saveManlocDetl(CombParam.CombMat combMat, String locNo){
+        Node node = nodeService.selectOne(new EntityWrapper<Node>()
+                .eq("name", locNo));
+        Mat mat = matService.selectByMatnr(combMat.getMatnr());
+        ManLocDetl manLocDetl = new ManLocDetl();
+        BeanUtils.copyProperties(mat,manLocDetl);
+        manLocDetl.setAnfme(combMat.getAnfme());
+        manLocDetl.setNodeId(node.getId());
+        manLocDetl.setContainerCode(combMat.getContainerCode());
+        manLocDetl.setCsocode(combMat.getCsocode());
+        manLocDetl.setIsoseq(combMat.getIsoseq());
+        manLocDetl.setCreateTime(new Date());
+        manLocDetl.setModiTime(new Date());
+        manLocDetl.setLocNo(locNo);
+        manLocDetl.setStatus(1);
+        return manLocDetlService.insert(manLocDetl);
+    }
+
     private void saveManlocDetl(WaitPakin waitPakin, Date now, String locNo){
 
         Node node = nodeService.selectOne(new EntityWrapper<Node>()
diff --git a/src/main/java/com/zy/common/model/OutLocDto.java b/src/main/java/com/zy/common/model/OutLocDto.java
index 77e050b..e75f276 100644
--- a/src/main/java/com/zy/common/model/OutLocDto.java
+++ b/src/main/java/com/zy/common/model/OutLocDto.java
@@ -47,6 +47,15 @@
                 if (!Cools.eq(next.getLocDetl().getBatch(), locDetl.getBatch())) {
                     continue;
                 }
+                if(!Cools.eq(next.getLocDetl().getSuppCode(),locDetl.getSuppCode())){
+                    continue;
+                }
+                if(!Cools.eq(next.getLocDetl().getThreeCode(),locDetl.getThreeCode())){
+                    continue;
+                }
+                if(!Cools.eq(next.getLocDetl().getDeadTime(),locDetl.getDeadTime())){
+                    continue;
+                }
                 if (next.getCount() > locDetl.getAnfme()) {
                     throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
                 }

--
Gitblit v1.9.1