From c2233dd6f802e22a0b546c5c494402884f259e0a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 24 十二月 2024 15:03:28 +0800
Subject: [PATCH] 出入库限制

---
 src/main/webapp/views/basDevp/basDevp_detail.html             |   12 ++--
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java   |   12 ++++
 src/main/webapp/static/js/basDevp/basDevp.js                  |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   46 +++++++++------
 src/main/java/com/zy/common/web/WcsController.java            |    5 -
 src/main/java/com/zy/common/utils/OutStockInterceptUtil.java  |   60 +++++++++----------
 6 files changed, 77 insertions(+), 60 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 e2f5bc5..e9ab1b0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -88,25 +88,29 @@
     public R inLocCallAgv(String sta, String inSta) {
 
         BasDevp basDevp = basDevpMapper.selectById(inSta);
-        // 0.鍑哄簱妯″紡锛�1.agv鍏ュ簱涓紝2.鐢熸垚鍏ュ簱浠诲姟
-        if (basDevp.getDevMk().equals("0")) { // 鏄嚭搴�
-             // 鍒ゆ柇鏄惁鏈夊嚭搴撲换鍔�
-            Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().lt("wrk_sts", 14).in("io_type", 101, 103, 107, 110);
-            switch (inSta) {
-                case "1040": wrapper.in("source_sta_no","1043","1044");break;
-                case "2010": wrapper.in("source_sta_no","2013","2014"); break;
-                case "2000": wrapper.in("source_sta_no","2003","2004");break;
-                case "3010": wrapper.in("source_sta_no","3013","3014");break;
-                default:
-            }
-            int count = wrkMastService.selectCount(wrapper);
-            if (count == 0) {
-                // 娌℃湁鍑哄簱浠诲姟锛屾洿鏀逛负鍏ュ簱妯″紡
-                basDevp.setDevMk("1");
-                basDevpMapper.updateById(basDevp);
-            } else {
-                return R.parse(inSta + "绔欑偣瀛樺湪鍑哄簱浠诲姟");
-            }
+
+        // 鍒ゆ柇鏄惁鏈夊嚭搴撲换鍔�
+        Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().lt("wrk_sts", 14).in("io_type", 101, 103, 107, 110);
+
+        switch (inSta) {
+            case "1040":
+                wrapper.in("source_sta_no", "1043", "1044");
+                break;
+            case "2010":
+                wrapper.in("source_sta_no", "2013", "2014");
+                break;
+            case "2000":
+                wrapper.in("source_sta_no", "2003", "2004");
+                break;
+            case "3010":
+                wrapper.in("source_sta_no", "3013", "3014");
+                break;
+            default:
+        }
+        int count = wrkMastService.selectCount(wrapper);
+        log.info("鍏ュ簱鍛煎彨agv鍛煎彨绔欑偣锛歿}锛岀洰鏍囩珯鐐癸細{},鍑哄簱浠诲姟鏁帮細{}",sta,inSta,count);
+        if (count != 0) {
+            return R.parse(inSta + "绔欑偣瀛樺湪鍑哄簱浠诲姟");
         }
 
         // 鍏堢粦瀹�
@@ -140,6 +144,10 @@
             JSONObject jsonObject = JSON.parseObject(response);
             if (jsonObject.getInteger("code").equals(0)) {
                 success = true;
+                // 娌℃湁鍑哄簱浠诲姟锛屾洿鏀逛负鍏ュ簱妯″紡
+                basDevp.setDevMk("1");
+                basDevp.setInQty(basDevp.getInQty() + 1);
+                basDevpMapper.updateById(basDevp);
             } else {
                 message = jsonObject.getString("message");
                 log.error("鍏ュ簱鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 435a15e..d925e11 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.SpringUtils;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.BasDevpMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -332,6 +334,16 @@
                 default:
                     break;
             }
+
+            // 鏇存柊鍏ュ簱绔欑偣鐨勫叆搴撴殏瀛樻暟
+            int sourceStaNo = wrkMast.getSourceStaNo() == null ? 0 : wrkMast.getSourceStaNo();
+            if (sourceStaNo == 1041 || sourceStaNo == 2011 || sourceStaNo == 2001 || sourceStaNo == 3011 ) {
+                BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class);
+                BasDevp basDevp = basDevpMapper.selectById(sourceStaNo - 1);
+                basDevp.setInQty(basDevp.getInQty() -1);
+                basDevpMapper.updateById(basDevp);
+            }
+
             // 淇敼宸ヤ綔涓绘。鐘舵��
             wrkMast.setWrkSts(5L);
             wrkMast.setModiTime(now);
diff --git a/src/main/java/com/zy/common/utils/OutStockInterceptUtil.java b/src/main/java/com/zy/common/utils/OutStockInterceptUtil.java
index e28bbf7..9334e90 100644
--- a/src/main/java/com/zy/common/utils/OutStockInterceptUtil.java
+++ b/src/main/java/com/zy/common/utils/OutStockInterceptUtil.java
@@ -1,13 +1,10 @@
 package com.zy.common.utils;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.BasDevpMapper;
-import com.zy.asrs.mapper.WrkMastMapper;
+import lombok.extern.slf4j.Slf4j;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -17,6 +14,7 @@
  * @description 鍑哄簱鎷︽埅宸ュ叿绫�
  * @createDate 2024/11/9 14:29
  */
+@Slf4j
 public class OutStockInterceptUtil {
 
     /**
@@ -35,36 +33,36 @@
      * 鍫嗗灈鏈哄嚭搴撴搷浣滄椂鎷︽埅鍑哄簱绔欑偣锛屽垽鏂嚭鍏ュ簱妯″紡
      * @param site 鍑哄簱绔欑偣
      */
-    public static void outStockIntercept(Integer site){
+    public static void outStockIntercept(Integer site) {
+        log.info("鍑哄簱鍒ゆ柇鏄惁鏈夊叆搴撲换鍔★紝鍑哄簱绔欑偣:{}",site);
         // 鍙垽鏂爢鍨涙満搴撶殑鍏ュ簱绔欑偣
         if (inSiteMap.get(site) != null) {
             BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class);
-            BasDevp basDevp = basDevpMapper.selectById(site);
-            String devMk = basDevp.getDevMk();
-            if (devMk.equals("1")) {
-                 throw new CoolException("璇ュ嚭搴撶珯鐐筧gv姝e湪鎵ц鍏ュ簱涓�");
-            } else if (devMk.equals("2")) {
-                 // 鍒ゆ柇璇ョ珯鐐瑰叆搴撲换鍔℃槸鍚﹀畬鎴�
-                WrkMastMapper wrkMastMapper = SpringUtils.getBean(WrkMastMapper.class);
-                Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().in("io_type", 1, 10, 53, 57);
-                switch (site) {
-                    case 1040: wrapper.in("sta_no","1043","1044");break;
-                    case 1042: wrapper.in("sta_no","1043","1044");break;
-                    case 2010: wrapper.in("sta_no","2013","2014"); break;
-                    case 2012: wrapper.in("sta_no","2013","2014"); break;
-                    case 2000: wrapper.in("sta_no","2003","2004");break;
-                    case 2002: wrapper.in("sta_no","2003","2004");break;
-                    case 3010: wrapper.in("sta_no","3013","3014");break;
-                    case 3012: wrapper.in("sta_no","3013","3014");break;
-                    default:
-                }
-                int count = wrkMastMapper.selectCount(wrapper);
-                if (count == 0) {
-                    basDevp.setDevMk("0"); // 娌℃湁鍏ュ簱浠诲姟锛屽垏鎹㈡垚鍑哄簱妯″紡
-                    basDevpMapper.updateById(basDevp);
-                } else {
-                    throw new CoolException("璇ュ嚭搴撶珯鐐瑰瓨鍦ㄦ墽琛岀殑鍏ュ簱浠诲姟");
-                }
+            int inSite = 0;
+            switch (site) {
+                case 1040:
+                case 1042:
+                    inSite = 1040;
+                    break;
+                case 2010:
+                case 2012:
+                    inSite = 2010;
+                    break;
+                case 2000:
+                case 2002:
+                    inSite = 2000;
+                    break;
+                case 3010:
+                case 3012:
+                    inSite = 3010;
+                    break;
+                default:
+            }
+            BasDevp basDevp = basDevpMapper.selectById(inSite);
+            Integer inQty = basDevp.getInQty();
+            log.info("鍏ュ簱浠诲姟鏁版湁锛歿}鏉�", inQty);
+            if (inQty != 0) {
+                throw new CoolException("璇ュ嚭搴撶珯鐐瑰瓨鍦ㄦ墽琛岀殑鍏ュ簱浠诲姟");
             }
         }
     }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 5df75e4..a113970 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -21,7 +21,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
@@ -519,7 +518,7 @@
         wrkMast.setIoTime(new Date());
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
-        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setIoPri(12D); // 浼樺厛绾�
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -593,7 +592,7 @@
         wrkMast.setIoTime(new Date());
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
-        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setIoPri(12D); // 浼樺厛绾�
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
diff --git a/src/main/webapp/static/js/basDevp/basDevp.js b/src/main/webapp/static/js/basDevp/basDevp.js
index 05d0019..0f55992 100644
--- a/src/main/webapp/static/js/basDevp/basDevp.js
+++ b/src/main/webapp/static/js/basDevp/basDevp.js
@@ -22,7 +22,7 @@
 //            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
             ,{field: 'devNo', align: 'center',sort:true,title: '缂栧彿'}
             // ,{field: 'decDesc', align: 'center',title: '璁惧鎻忚堪'}
-            ,{field: 'devMk', align: 'center',title: '鍑哄叆鐘舵��'}
+            // ,{field: 'devMk', align: 'center',title: '鍑哄叆鐘舵��'}
             ,{field: 'inEnable', align: 'center',title: '鍙叆', templet:function(row){
                     var html = "<input value='inEnable' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
                     if(row.inEnable === 'Y'){html += " checked ";}
diff --git a/src/main/webapp/views/basDevp/basDevp_detail.html b/src/main/webapp/views/basDevp/basDevp_detail.html
index fc38e31..fcfd832 100644
--- a/src/main/webapp/views/basDevp/basDevp_detail.html
+++ b/src/main/webapp/views/basDevp/basDevp_detail.html
@@ -240,12 +240,12 @@
 <!--                <input id="decDesc" class="layui-input" type="text">-->
 <!--            </div>-->
 <!--        </div>-->
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label">绔欑偣鍑哄叆鐘舵��</label>
-            <div class="layui-input-inline">
-                <input id="devMk" class="layui-input" type="text">
-            </div>
-        </div>
+<!--        <div class="layui-inline"  style="width:31%;">-->
+<!--            <label class="layui-form-label">绔欑偣鍑哄叆鐘舵��</label>-->
+<!--            <div class="layui-input-inline">-->
+<!--                <input id="devMk" class="layui-input" type="text">-->
+<!--            </div>-->
+<!--        </div>-->
 
 
         <hr class="layui-bg-gray">

--
Gitblit v1.9.1