From 15c8f00ab3a1e3d2d96b56bae0ec11efedd60231 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期三, 29 九月 2021 11:14:15 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
index cce8080..2b6f447 100644
--- a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.StockOutParam;
@@ -49,6 +50,8 @@
     private LocNormalService locNormalService;
     @Autowired
     private JdbcTemplate jdbcTemplate;
+    @Autowired
+    private OutStockService outStockService;
 
     @Override
     public Page<OutStockBillEntry> queryOutStock(Page<OutStockBillEntry> page) {
@@ -129,6 +132,31 @@
     @Override
     @Transactional
     public void startupFullTakeStore(StockOutParam param, Long userId) {
+        //鍒ゆ柇鍑哄簱鐔熺粌鏄惁澶т簬搴撳瓨鏁伴噺
+        for (StockOutParam.LocDetl detl : param.getLocDetls()) {
+            LocDetl locDetl = locDetlService.selectById(detl.getLocNo());
+            if(locDetl != null){
+                if(detl.getCount() > locDetl.getAnfme()){
+                    throw new CoolException("鍑哄簱鏁伴噺瓒呰繃浜嗗簱瀛樻暟閲廩locNo=" + detl.getLocNo() + "]");
+                }
+            }
+        }
+        //鍒ゆ柇鍑哄簱鏁伴噺鏄惁澶т簬閫氱煡妗f暟閲�
+        Integer FInterI = outStockService.queryOutStockFInterID(param.getFbillNo()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+        List<OutStockBillEntry>  entryList = outStockService.selectList(new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI));
+        for(OutStockBillEntry one : entryList){
+            String Fnumber = one.getFnumber();
+            BigDecimal qty = new BigDecimal(0);
+            for (StockOutParam.LocDetl detl : param.getLocDetls()) {
+                if(detl.getMatnr().equals(Fnumber)){
+                    qty = qty.add(BigDecimal.valueOf(detl.getCount()));
+                }
+            }
+            if(qty.compareTo(one.getFQty()) == 1){
+                throw new CoolException("鍑哄簱鏁伴噺澶т簬閫氱煡妗f暟閲廩FInterID=" + FInterI + ",Fnumber=" + Fnumber + "]");
+            }
+        }
+
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
         // 鑾峰彇搴撲綅鏄庣粏
@@ -238,6 +266,15 @@
                 if (!wrkDetlService.insert(wrkDetl)) {
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                 }
+
+                //鏇存柊鍑哄簱閫氱煡妗amount瀛楁锛岄槻姝㈤噸澶嶄笅鍙戜换鍔� 2021-09-28 TQS ADD
+                Integer FInterI = outStockService.queryOutStockFInterID(fbillNo); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+                Wrapper wrapper1 = new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI).eq("Fnumber",detlDto.getLocDetl().getMatnr());
+                OutStockBillEntry outStockBillEntry = outStockService.selectOne(wrapper1);
+                outStockBillEntry.setFAmount(outStockBillEntry.getFAmount().add(BigDecimal.valueOf(anfme)));  //鍊熺敤amount瀛楁锛屾帶鍒朵笅鍙戝嚭搴撲换鍔℃暟閲�
+                if(!outStockService.update(outStockBillEntry,wrapper1)){
+                    throw new CoolException("鏇存柊鍑哄簱閫氱煡妗f槑缁咶Amount澶辫触[FInterID="+FInterI+",Fnumber="+detlDto.getLocDetl().getMatnr()+"]");
+                }
             }
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(dto.getLocNo());

--
Gitblit v1.9.1