From e64b1d5ec0b3ca0c42048903f4ab5f9d588349e8 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期四, 19 六月 2025 08:37:51 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/webapp/views/mat/mat.html                                 |    4 +
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java        |   11 +++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java |    2 
 zy-asrs-wms/src/main/webapp/static/js/mat/mat.js                               |   30 +++++++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java        |   39 +++++++++++++++++--
 5 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
index 9bb182e..c1f3787 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
@@ -26,6 +26,7 @@
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 @Data
 @TableName("wms_loc_detl")
@@ -307,7 +308,15 @@
 
     public Mat getMat$(){
         MatService service = SpringUtils.getBean(MatService.class);
-        Mat mat = service.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
+        Mat mat = null;
+        if (hostId!=null){
+             mat = service.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr).eq(Mat::getHostId,hostId));
+        }else {
+            List<Mat> list = service.list(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
+            if (!list.isEmpty()){
+                mat =list.get(0);
+            }
+        }
         if (!Cools.isEmpty(mat)){
             return mat;
         }
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
index 5ea66e0..1f47c0a 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
@@ -160,7 +160,7 @@
             List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd(), hostId,WHS_TYPE);
             for (LocMast locMast0 : locMasts) {
                 //棰勭暀绌哄簱浣�
-                if (locMastService.checkEmptyCount(locMast0, 10, hostId)) {
+                if (locMastService.checkEmptyCount(locMast0, 5, hostId)) {
                     return locMast0;
                 }
             }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
index 810e5d9..c00b5f1 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -6,10 +6,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.asrs.common.utils.TreeUtils;
 import com.zy.asrs.common.wms.entity.*;
-import com.zy.asrs.common.wms.service.LocDetlService;
-import com.zy.asrs.common.wms.service.LocMastService;
-import com.zy.asrs.common.wms.service.MatService;
-import com.zy.asrs.common.wms.service.WrkMastService;
+import com.zy.asrs.common.wms.service.*;
 import com.zy.asrs.framework.annotations.ManagerAuth;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
@@ -35,6 +32,8 @@
     private LocMastService locMastService;
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
 
     @RequestMapping(value = "/mat/{id}/auth")
     @ManagerAuth
@@ -295,4 +294,36 @@
         }
         return R.ok();
     }
+
+    @PostMapping("/mat/sync")
+    @ManagerAuth
+    public R synchronous(@RequestBody Mat data) {
+        // 妫�鏌ユ槸鍚︽湁浠诲姟涓娇鐢ㄤ簡璇ョ墿鏂�
+        int wrkCount = wrkDetlService.count(new LambdaQueryWrapper<WrkDetl>()
+                .eq(WrkDetl::getMatnr, data.getMatnr()));
+        if (wrkCount > 0) {
+            return R.error("璇ョ墿鏂欐鍦ㄨ浠诲姟浣跨敤锛岀姝㈠悓姝�");
+        }
+
+        // 鏌ヨ瀵瑰簲搴撳瓨鏄庣粏
+        List<LocDetl> locDetls = locDetlService.list(
+                new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getMatnr, data.getMatnr())
+        );
+
+        for (LocDetl locDetl : locDetls) {
+            locDetl.setMaktx(data.getMaktx());
+            locDetl.setSpecs(Cools.isEmpty(data.getSpecs()) ? "" : data.getSpecs());
+            locDetl.setModel(Cools.isEmpty(data.getModel()) ? "" : data.getModel());
+            locDetl.setSku(Cools.isEmpty(data.getSku()) ? "" : data.getSku());
+            locDetl.setItemNum(Cools.isEmpty(data.getImgNum()) ? "" : data.getImgNum());
+            // 鑻ラ渶瑕佸悓姝ラ噸閲忓拰闀垮害锛屽彇娑堟敞閲�
+            // locDetl.setWeight(Cools.isEmpty(data.getWeight()) ? 0.0 : Double.parseDouble(data.getWeight()));
+            // locDetl.setLength(Cools.isEmpty(data.getLength()) ? 0.0 : Double.parseDouble(data.getLength()));
+
+            locDetlService.updateById(locDetl);
+        }
+
+        return R.ok();
+    }
+
 }
diff --git a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
index 409af88..f47f21b 100644
--- a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
+++ b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
@@ -234,6 +234,36 @@
             case 'edit':
                 showEditModel(data)
                 break;
+            case'sync':
+            case 'sync':
+                layer.confirm('纭鍚屾搴撳瓨锛�', function () {
+                    notice.msg('姝e湪鍚屾搴撳瓨......', {icon: 4}); // 鍔犺浇鎻愮ず
+
+                    $.ajax({
+                        url: baseUrl + "/mat/sync",
+                        method: 'POST',
+                        contentType: 'application/json', // 姝g‘鐨凜ontent-Type浣嶇疆
+                        headers: {
+                            'token': localStorage.getItem('token')
+                        },
+                        data: JSON.stringify(data),
+                        success: function (res) {
+                            notice.destroy(); // 绉婚櫎鈥滄鍦ㄥ悓姝モ�濇彁绀�
+
+                            if (res.code === 200) {
+                                layer.msg('鍚屾鎴愬姛 鉁�', {icon: 1}); // 鉁� 鎴愬姛鎻愮ず
+                                $(".layui-laypage-btn")[0].click(); // 瑙﹀彂琛ㄦ牸鍒锋柊
+                            } else {
+                                layer.msg(res.msg || '鍚屾澶辫触 鉂�', {icon: 2}); // 鉂� 澶辫触鎻愮ず
+                            }
+                        },
+                        error: function (xhr) {
+                            notice.destroy();
+                            layer.msg('璇锋眰澶辫触锛�' + (xhr.responseText || '鏈煡閿欒'), {icon: 2});
+                        }
+                    });
+                });
+                break;
         }
     });
 
diff --git a/zy-asrs-wms/src/main/webapp/views/mat/mat.html b/zy-asrs-wms/src/main/webapp/views/mat/mat.html
index 13c27ec..54b3de3 100644
--- a/zy-asrs-wms/src/main/webapp/views/mat/mat.html
+++ b/zy-asrs-wms/src/main/webapp/views/mat/mat.html
@@ -162,7 +162,9 @@
 
 <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="edit">淇敼</a>
+<!--    <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="sync">鍚屾</a>-->
     <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">鎵撳嵃</button>
+    <button class="layui-btn layui-btn-xs btn-sync" lay-event="sync">鍚屾</button>
 </script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
@@ -255,7 +257,7 @@
                 <div class="layui-form-item">
                     <label class="layui-form-label">鏈哄瀷</label>
                     <div class="layui-input-block">
-                        <input name="model" type="number" placeholder="璇疯緭鍏ユ満鍨�" class="layui-input">
+                        <input name="model" placeholder="璇疯緭鍏ユ満鍨�" class="layui-input">
                     </div>
                 </div>
 

--
Gitblit v1.9.1