From ed62b1bb0e4bbb8b7d4b6f4d980c941cfd11233e Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 17 十二月 2025 17:36:20 +0800
Subject: [PATCH] 1.商品信息增加删除权限2.并板出库不带工作明细

---
 src/main/java/com/zy/asrs/controller/InOutController.java    |   11 +++
 src/main/webapp/views/matInOut/matInOut.html                 |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java  |   38 ++++++------
 src/main/java/com/zy/asrs/utils/MatCompareUtils.java         |    2 
 src/main/webapp/static/js/matInOut/matInOut.js               |    9 +-
 src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java |   67 +++++++++++++++++++++-
 src/main/java/com/zy/asrs/controller/MobileController.java   |    2 
 src/main/java/com/zy/asrs/service/InOutService.java          |    4 +
 src/main/java/com/zy/asrs/service/MobileService.java         |    5 -
 9 files changed, 107 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/InOutController.java b/src/main/java/com/zy/asrs/controller/InOutController.java
index 4a2af20..ad217c0 100644
--- a/src/main/java/com/zy/asrs/controller/InOutController.java
+++ b/src/main/java/com/zy/asrs/controller/InOutController.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
@@ -79,4 +80,14 @@
         List<InOut> list = inOutService.selectList(wrapper);
         return R.ok(exportSupport(list, fields));
     }
+
+    @RequestMapping(value = "/matInOut/delete/auth")
+    @ManagerAuth(memo = "鍟嗗搧淇℃伅鎵归噺鍒犻櫎")
+    public R delete(@RequestBody List<InOut> inOutList){
+        if (Cools.isEmpty(inOutList)){
+            return R.error(BaseRes.PARAM);
+        }
+        inOutService.deleteInOut(inOutList);
+        return R.ok();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index b2ab2ba..7518529 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -556,7 +556,7 @@
     @RequestMapping("/combMeger/auth")
     @ManagerAuth(memo = "骞舵澘")
     public synchronized R adjustNewV2(@RequestBody MobileAdjustParam combParam) {
-        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
+//        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
         return R.ok("骞舵澘鎴愬姛");
     }
 
diff --git a/src/main/java/com/zy/asrs/service/InOutService.java b/src/main/java/com/zy/asrs/service/InOutService.java
index d332fa1..9f2588c 100644
--- a/src/main/java/com/zy/asrs/service/InOutService.java
+++ b/src/main/java/com/zy/asrs/service/InOutService.java
@@ -4,6 +4,10 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.InOut;
 
+import java.util.List;
+
 public interface InOutService extends IService<InOut> {
     InOut selectByMatnr(String matnr);
+
+    void deleteInOut(List<InOut> inOutList);
 }
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 0fde44f..1dd48c7 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,10 +1,7 @@
 package com.zy.asrs.service;
 
 import com.alibaba.fastjson.JSONObject;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.WaitPakin;
+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;
diff --git a/src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java
index a83e08c..eb6e7cb 100644
--- a/src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java
@@ -1,21 +1,82 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.zy.asrs.entity.InOut;
-import com.zy.asrs.entity.MatBarcode;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.InOutMapper;
-import com.zy.asrs.service.InOutService;
+import com.zy.asrs.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 @Service("InOutService")
 public class InOutServiceImpl extends ServiceImpl<InOutMapper, InOut> implements InOutService {
 
     @Autowired
     private InOutMapper inOutMapper;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private MatBarcodeService matBarcodeService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private MatService matService;
+    @Autowired
+    private WrkMastService wrkMastService;
 
     @Override
     public InOut selectByMatnr(String matnr) {
         return inOutMapper.selectByMatnr(matnr);
     }
+
+    @Transactional
+    @Override
+    public void deleteInOut(List<InOut> inOutList) {
+        for (InOut inOut : inOutList) {
+            //娌℃湁鍟嗗搧缂栧彿  鐩存帴鍒犻櫎
+            if (inOut.getMatnr() == null){
+                inOutMapper.deleteById(inOut.getId());
+            }
+            //鍒ゆ柇鏄惁鏈夊簱瀛�
+            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("matnr", inOut.getMatnr()));
+            if (locDetl != null){
+                throw new CoolException("璇ユā鍏峰瓨鍦ㄥ簱瀛�,涓嶈兘鍒犻櫎--->" + inOut.getMatnr());
+            }
+            //鍒ゆ柇鏄惁缁戝畾
+            MatBarcode matBarcode = matBarcodeService.selectbyMatnr(inOut.getMatnr());
+            if (matBarcode != null){
+                throw new CoolException("璇ユā鍏峰凡缁戝畾鎵樼洏,涓嶈兘鍒犻櫎--->" + inOut.getMatnr());
+            }
+            //鍒ゆ柇鏄惁鏈夊伐浣滄。
+            WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("matnr", inOut.getMatnr()));
+            if (wrkDetl != null){
+                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()));
+                if (wrkMast == null){
+                    throw new CoolException("宸ヤ綔妗e紓甯革紝鏈夊伐浣滄槑缁嗘。锛屾棤宸ヤ綔涓绘。");
+                }
+                if ((wrkMast.getIoType() != 101 && wrkMast.getWrkSts() != 15) || (wrkMast.getIoType() != 103 && wrkMast.getWrkSts() != 14)){
+                    throw new CoolException("璇ユā鍏峰瓨鍦ㄥ伐浣滄。,涓嶈兘鍒犻櫎--->" + inOut.getMatnr());
+                }
+            }
+            //鍒ゆ柇鏄惁缁勬墭
+            List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("matnr", inOut.getMatnr()));
+            if (!Cools.isEmpty(waitPakins)){
+                throw new CoolException("璇ユā鍏峰凡缁勬墭,涓嶈兘鍒犻櫎--->" + inOut.getMatnr());
+            }
+            //鍒ゆ柇鏄惁鏈夊晢鍝佹。妗�
+            Mat mat = matService.selectByMatnr(inOut.getMatnr());
+            if (mat != null){
+                throw new CoolException("鍟嗗搧妗f瀛樺湪璇ユā鍏�,涓嶈兘鍒犻櫎--->" + inOut.getMatnr());
+            }
+
+            inOutMapper.deleteById(inOut.getId());
+        }
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 84186b8..91ca50b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1349,25 +1349,25 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
-            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
-                if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
-                    continue;
-                }
-                WrkDetl wrkDetl = new WrkDetl();
-                wrkDetl.sync(detlDto.getLocDetl());
-                wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
-                wrkDetl.setWrkNo(workNo);
-                wrkDetl.setIoTime(now);
-                Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
-                wrkDetl.setAnfme(anfme); // 鏁伴噺
-                wrkDetl.setAppeTime(now);
-                wrkDetl.setAppeUser(userId);
-                wrkDetl.setModiTime(now);
-                wrkDetl.setModiUser(userId);
-                if (!wrkDetlService.insert(wrkDetl)) {
-                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
-                }
-            }
+//            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+//                if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
+//                    continue;
+//                }
+//                WrkDetl wrkDetl = new WrkDetl();
+//                wrkDetl.sync(detlDto.getLocDetl());
+//                wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
+//                wrkDetl.setWrkNo(workNo);
+//                wrkDetl.setIoTime(now);
+//                Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
+//                wrkDetl.setAnfme(anfme); // 鏁伴噺
+//                wrkDetl.setAppeTime(now);
+//                wrkDetl.setAppeUser(userId);
+//                wrkDetl.setModiTime(now);
+//                wrkDetl.setModiUser(userId);
+//                if (!wrkDetlService.insert(wrkDetl)) {
+//                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+//                }
+//            }
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(dto.getLocNo());
             if (locMast.getLocSts().equals("F")) {
diff --git a/src/main/java/com/zy/asrs/utils/MatCompareUtils.java b/src/main/java/com/zy/asrs/utils/MatCompareUtils.java
index 192f4af..ae845f1 100644
--- a/src/main/java/com/zy/asrs/utils/MatCompareUtils.java
+++ b/src/main/java/com/zy/asrs/utils/MatCompareUtils.java
@@ -19,7 +19,7 @@
 
     private static final Logger log = LoggerFactory.getLogger(MatCompareUtils.class);
 
-    private static final String[] sameFields = {"matnr", "batch", "outOrderNo", "luHao", "packing", "sPgNO", "proType","color"};
+    private static final String[] sameFields = {"matnr", "batch", "outOrderNo", "luHao", "packing", "sPgNO", "proType"};
 
 
     public static boolean compare(Object object1, Object object2) {
diff --git a/src/main/webapp/static/js/matInOut/matInOut.js b/src/main/webapp/static/js/matInOut/matInOut.js
index 3dde393..53ceebf 100644
--- a/src/main/webapp/static/js/matInOut/matInOut.js
+++ b/src/main/webapp/static/js/matInOut/matInOut.js
@@ -1,7 +1,8 @@
 var pageCurr;
 function getCol() {
     var cols = [
-        {field: 'locNo$', align: 'center',title: '搴撲綅鍙�', hide: true}
+        {type: 'checkbox', fixed: 'left'}
+        ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�', hide: true}
         ,{field: 'storeDate', align: 'center',title: '搴撻緞(澶�)', sort:true, hide: true}
         ,{field: 'matnr', align: 'center',title: '鍟嗗搧妯″叿鍚嶇О', sort:true}
         ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
@@ -40,7 +41,6 @@
         ,{field: 'temp1', align: 'center',title: '灞炴��', hide: false}
         ,{field: 'temp2', align: 'center',title: '濂楀彿', hide: false}
         ,{field: 'temp3', align: 'center',title: '搴撲綅鍙�', hide: false}
-
     ];
 
     // cols.push.apply(cols, detlCols);
@@ -158,9 +158,10 @@
                 } else {
                     layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
                         $.ajax({
-                            url: baseUrl+"/locDetl/delete/auth",
+                            url: baseUrl+"/matInOut/delete/auth",
                             headers: {'token': localStorage.getItem('token')},
-                            data: {param: JSON.stringify(data)},
+                            data: JSON.stringify(checkStatus.data),
+                            contentType:'application/json;charset=UTF-8',
                             method: 'POST',
                             traditional:true,
                             success: function (res) {
diff --git a/src/main/webapp/views/matInOut/matInOut.html b/src/main/webapp/views/matInOut/matInOut.html
index e4e90cb..411fa01 100644
--- a/src/main/webapp/views/matInOut/matInOut.html
+++ b/src/main/webapp/views/matInOut/matInOut.html
@@ -52,7 +52,6 @@
     <div class="layui-inline">
         <div class="layui-input-inline">
             <select name="temp1" id="temp1" class="layui-input" type="text" placeholder="灞炴��" autocomplete="off">
-                <!--                    <option style="display: none"></option>-->
                 <option value="">灞炴��</option>
                 <option value="鍦ㄥ簱">鍦ㄥ簱</option>
                 <option value="涓嶅湪搴�">涓嶅湪搴�</option>
@@ -101,6 +100,7 @@
 </div>
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData" style="margin-top: 10px">鍒犻櫎</button>
         <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button>
     </div>
 </script>

--
Gitblit v1.9.1