From f1e8863e65a15e9c3117d81a6fa6b28cb5fdfce2 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 13 十二月 2022 14:38:59 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

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 e063e4d..9a0bc7f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -9,9 +9,12 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.CombParam;
 import com.zy.asrs.entity.param.MobileAdjustParam;
+import com.zy.asrs.entity.param.OffSaleParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
+import com.zy.common.CodeRes;
 import com.zy.common.constant.MesConstant;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.DetlDto;
@@ -68,6 +71,13 @@
     private StaDescService staDescService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    private NodeService nodeService;
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+    @Autowired
+    private ManLocDetlMapper manLocDetlMapper;
+
 
     @Override
     @Transactional
@@ -80,6 +90,13 @@
                 eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
             throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
         }
+
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+        if (countLoc > 0 || countWrk > 0) {
+            throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
+        }
+
         Date now = new Date();
 
         // 鏃犲崟缁勬墭
@@ -174,6 +191,62 @@
 
     }
 
+    // 鍟嗗搧涓婃灦
+    @Override
+    public void onSale(CombParam param) {
+        Date now = new Date();
+        // 鑾峰彇搴撲綅鍙�
+        String locno = param.getLocno();
+        Node node = nodeService.selectByUuid(locno);
+        if (Cools.isEmpty(node)) {
+            throw new CoolException(param.getLocno() + ":搴撲綅涓嶅瓨鍦�");
+        }
+
+        // 鑾峰彇鍟嗗搧鍒楄〃
+        for(CombParam.CombMat combMat : param.getCombMats()){
+            Mat mat = matService.selectByMatnr(combMat.getMatnr());
+            if (Cools.isEmpty(mat)){
+                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧妗f涓嶅瓨鍦紒");
+            }
+            if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme()==0){
+                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�");
+            }
+            if (Cools.isEmpty(combMat.getBatch())){
+//                throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�");
+            }
+            ManLocDetl manLocDetl = new ManLocDetl();
+            manLocDetl.setLocNo(locno);
+            manLocDetl.setNodeId(node.getId());
+            manLocDetl.setMaktx(mat.getMaktx());
+            manLocDetl.setMatnr(mat.getMatnr());
+            manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch());
+            manLocDetl.setAnfme(combMat.getAnfme());
+            manLocDetl.setModiTime(now);
+            if (!manLocDetlService.insert(manLocDetl)) {
+                throw new CoolException("鍟嗗搧涓婃灦澶辫触锛�");
+            }
+        }
+    }
+
+    // 鍟嗗搧涓嬫灦
+    @Override
+    public void offSale(OffSaleParam offSaleParam) {
+        ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
+        if (Cools.isEmpty(manLocDetl)){
+            throw new CoolException("鏃犳鍟嗗搧锛�");
+        }
+        double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme();
+        if (anfme < 0) {
+            throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�");
+        } else if (anfme == 0){
+            manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
+        }
+        manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId());
+    }
+
+    // 鏌ユ壘鍟嗗搧
+
+
     @Override
     @Transactional
     public void adjust(MobileAdjustParam param, Long userId) {

--
Gitblit v1.9.1