From e9c1fb1cae94c52d2a634f6e21a3a87354b52716 Mon Sep 17 00:00:00 2001
From: test <15284381150@163.com>
Date: 星期一, 15 九月 2025 13:47:55 +0800
Subject: [PATCH] Merge branch 'master' into djp

---
 Wms/WMS.BLL/HttpServer.cs                     |   17 ++
 Pda/View/AsnSetting/productEnterQuantity.html |  252 ++++++++++++++++++++++-------------------
 Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs       |   18 ++-
 Wms/WMS.BLL/Logic/AllotLocation.cs            |   26 +++
 4 files changed, 183 insertions(+), 130 deletions(-)

diff --git a/Pda/View/AsnSetting/productEnterQuantity.html b/Pda/View/AsnSetting/productEnterQuantity.html
index 5c3f2d4..df0fe21 100644
--- a/Pda/View/AsnSetting/productEnterQuantity.html
+++ b/Pda/View/AsnSetting/productEnterQuantity.html
@@ -917,135 +917,153 @@
 
             }
 
-
+            var isChongFu = true;
             //缁戝畾鍒版墭鐩樹簨浠�
             form.on('submit(formBind)', function (data) {
-                if (xianshiyemian == 0) {
-                    console.log($("#goodSelect").val());
-                    if ($("#bar").val() == "") {
-                        layer.msg('璇烽�夋嫨鍏ュ簱鍗�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    if ($("#goodSelect").val() == "") {
-                        layer.msg('璇烽�夋嫨鐗╂枡鍙婃槑缁�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    if ($("#STOCKCODE").val() == "") {
-                        layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    if ($("#BOXCODE").val() == "") {
-                        layer.msg('璇锋壂鎻忓绠辨潯鐮�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    var param = {
-                        AsnNo: $("#bar").val(),
-                        PalletNo: $("#STOCKCODE").val(),
-                        AsnDetailId: parseInt($("#goodSelect").val()),
-                        LotNo: $("#goodSelect").find("option:selected").text(),
-                        BoxNo: $("#BOXCODE").val(),
-                        IsContinue: isContinue,
-                        TailBoxNo: $("#BOXCODE2").val(),
-                        Origin: "PDA",
-                        TableType: xianshiyemian,
-                    }
-                    console.log(param)
-                    //缁勭洏
-                    sendData(IP + "/PdaAsn/BindPallet", param, 'post', function (res) {
-                        if (res.code == 0) { //鎴愬姛
-                            layer.msg(res.msg, {
-                                icon: 1,
-                                time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                            }, function () {
-                                setOrderGoods();
-                                //refreshTable();
-                                $("#BOXCODE").val("");
-                                $("#BOXCODE2").val("");
-                                $("#QTY").val("");
-                            });
-                        } else { //涓嶆垚鍔�
-                            layer.msg(res.msg, {
+                if (isChongFu == true) {
+                    isChongFu = false; 
+
+                    if (xianshiyemian == 0) {                      
+                        if ($("#bar").val() == "") {
+                            layer.msg('璇烽�夋嫨鍏ュ簱鍗�', {
                                 icon: 2,
                                 time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                            }, function () {
-                                //鍥炶皟
                             });
+                            return;
                         }
-                    });
-                }
-                else if (xianshiyemian == 1) {
-                    if ($("#bar1").val() == "") {
-                        layer.msg('璇烽�夋嫨鍏ュ簱鍗�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    if ($("#goodSelect1").val() == "") {
-                        layer.msg('璇烽�夋嫨鐗╂枡鍙婃槑缁�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    if ($("#STOCKCODE1").val() == "") {
-                        layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        });
-                        return;
-                    }
-                    // 鑾峰彇杈撳叆鐨勫�煎苟澶勭悊
-                    var skuQty = parseFloat($("#SkuQty").val()) || 0;
-                    // 纭繚鏄剧ず鏃朵繚鐣�4浣嶅皬鏁�
-                    var formattedQty = skuQty.toFixed(4);
-
-                    var param = {
-                        AsnNo: $("#bar1").val(), //鍑哄簱鍗曟嵁
-                        PalletNo: $("#STOCKCODE1").val(), //鎵樼洏鏉$爜
-                        AsnDetailId: parseInt($("#goodSelect1").val()), //鍏ュ簱鍗曟槑缁咺D
-                        LotNo: $("#goodSelect1").find("option:selected").text(),  //鐗╂枡鎵规
-                        SkuQty: Number(skuQty), //鐗╂枡鏁伴噺
-                        Demo: $("#NoticeDemo").val(), //鐗╂枡鏁伴噺
-                        Origin: "PDA",
-                        TableType: xianshiyemian,
-                    }
-
-                    console.log(param)
-                    //缁勭洏
-                    sendData(IP + "/PdaAsn/BindPallet", param, 'post', function (res) {
-                        if (res.code == 0) { //鎴愬姛
-                            layer.msg(res.msg, {
-                                icon: 1,
-                                time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                            }, function () {
-                                setOrderGoods();
-                                //refreshTable();
-                                $("#STOCKCODE").val("");
-                                $("#SkuQty").val("");
-                            });
-                        } else { //涓嶆垚鍔�
-                            layer.msg(res.msg, {
+                        if ($("#goodSelect").val() == "") {
+                            layer.msg('璇烽�夋嫨鐗╂枡鍙婃槑缁�', {
                                 icon: 2,
                                 time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                            }, function () {
-                                //鍥炶皟
                             });
+                            return;
                         }
+                        if ($("#STOCKCODE").val() == "") {
+                            layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            });
+                            return;
+                        }
+                        if ($("#BOXCODE").val() == "") {
+                            layer.msg('璇锋壂鎻忓绠辨潯鐮�', {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            });
+                            return;
+                        }
+                        var param = {
+                            AsnNo: $("#bar").val(),
+                            PalletNo: $("#STOCKCODE").val(),
+                            AsnDetailId: parseInt($("#goodSelect").val()),
+                            LotNo: $("#goodSelect").find("option:selected").text(),
+                            BoxNo: $("#BOXCODE").val(),
+                            IsContinue: isContinue,
+                            TailBoxNo: $("#BOXCODE2").val(),
+                            Origin: "PDA",
+                            TableType: xianshiyemian,
+                        }
+                        layer.msg('鏁版嵁鎻愪氦涓紝姝e湪缁勬墭...');
+                        setTimeout(function() {
+                            //缁勭洏
+                            sendData(IP + "/PdaAsn/BindPallet", param, 'post', function (res) {
+                                if (res.code == 0) { //鎴愬姛
+                                    layer.msg(res.msg, {
+                                        icon: 1,
+                                        time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                    }, function () {
+                                        setOrderGoods();
+                                        //refreshTable();
+                                        $("#BOXCODE").val("");
+                                        $("#BOXCODE2").val("");
+                                        $("#QTY").val("");
+
+                                        isChongFu = true;
+                                    });
+                                } else { //涓嶆垚鍔�
+                                    layer.msg(res.msg, {
+                                        icon: 2,
+                                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                    }, function () {
+                                        //鍥炶皟
+                                        isChongFu = true;
+                                    });
+                                }
+                            });
+                        }, 2000); // 寤惰繜 1.5 绉�
+                        
+                    }
+                    else if (xianshiyemian == 1) {
+                        if ($("#bar1").val() == "") {
+                            layer.msg('璇烽�夋嫨鍏ュ簱鍗�', {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            });
+                            return;
+                        }
+                        if ($("#goodSelect1").val() == "") {
+                            layer.msg('璇烽�夋嫨鐗╂枡鍙婃槑缁�', {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            });
+                            return;
+                        }
+                        if ($("#STOCKCODE1").val() == "") {
+                            layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
+                                icon: 2,
+                                time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                            });
+                            return;
+                        }
+                        // 鑾峰彇杈撳叆鐨勫�煎苟澶勭悊
+                        var skuQty = parseFloat($("#SkuQty").val()) || 0;
+                        // 纭繚鏄剧ず鏃朵繚鐣�4浣嶅皬鏁�
+                        var formattedQty = skuQty.toFixed(4);
+
+                        var param = {
+                            AsnNo: $("#bar1").val(), //鍑哄簱鍗曟嵁
+                            PalletNo: $("#STOCKCODE1").val(), //鎵樼洏鏉$爜
+                            AsnDetailId: parseInt($("#goodSelect1").val()), //鍏ュ簱鍗曟槑缁咺D
+                            LotNo: $("#goodSelect1").find("option:selected").text(),  //鐗╂枡鎵规
+                            SkuQty: Number(skuQty), //鐗╂枡鏁伴噺
+                            Demo: $("#NoticeDemo").val(), //鐗╂枡鏁伴噺
+                            Origin: "PDA",
+                            TableType: xianshiyemian,
+                        }
+
+                        console.log(param)
+                        //缁勭洏
+                        sendData(IP + "/PdaAsn/BindPallet", param, 'post', function (res) {
+                            if (res.code == 0) { //鎴愬姛
+                                layer.msg(res.msg, {
+                                    icon: 1,
+                                    time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                }, function () {
+                                    setOrderGoods();
+                                    //refreshTable();
+                                    $("#STOCKCODE").val("");
+                                    $("#SkuQty").val("");
+
+                                    isChongFu = true;
+                                });
+                            } else { //涓嶆垚鍔�
+                                layer.msg(res.msg, {
+                                    icon: 2,
+                                    time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                                }, function () {
+                                    //鍥炶皟
+                                    isChongFu = true;
+                                });
+                            }
+                        });
+                    }
+                }else{
+                    layer.msg("璇峰嬁閲嶅鐐瑰嚮", {
+                        icon: 2,
+                        time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
                     });
                 }
+                
 
                 return false; //闃绘琛ㄥ崟璺宠浆銆傚鏋滈渶瑕佽〃鍗曡烦杞紝鍘绘帀杩欐鍗冲彲銆�
             });
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 0f6f459..314ce04 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -701,9 +701,9 @@
             {
                 throw Oops.Bah("鎵樼洏鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
             }
-            if (models.WareHouseNo != "W04")
+            if (models.WareHouseNo != "W04" && models.WareHouseNo != "W02")
             {
-                throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
+                throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴鎴栬揣鏋跺簱鍐�,璇锋鏌�!");
             }
             return models.LocatNo;
         }
@@ -731,7 +731,7 @@
                 {
                     throw Oops.Bah("鎵樼洏鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
                 }
-                if (models.WareHouseNo != "W04")
+                if (models.WareHouseNo != "W04" && models.WareHouseNo != "W02")
                 {
                     throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
                 }
@@ -741,8 +741,14 @@
                     throw Oops.Bah("鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
                 }
 
-                
-                storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04").OrderBy(o => o.AreaNo).ToListAsync();
+                if (models.WareHouseNo == "W02")
+                {
+                    storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04" && (w.AreaNo == "B01" || w.AreaNo == "B02")).OrderBy(o => o.AreaNo).ToListAsync();
+                }
+                else
+                {
+                    storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04").OrderBy(o => o.AreaNo).ToListAsync();
+                }
                 
             }
             return storageArea;
@@ -839,7 +845,7 @@
                 {
                     throw Oops.Bah("鎵樼洏鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
                 }
-                if (stockDetail.WareHouseNo != "W04")
+                if (stockDetail.WareHouseNo != "W04" && stockDetail.WareHouseNo != "W02")
                 {
                     throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
                 }
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 05980e4..ba26307 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -144,7 +144,12 @@
                 for (int i = 1; i <= 2; i++)
                 {
                     var iStr = i.ToString();
-                    locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", iStr);
+                    try
+                    {
+                        locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", iStr);
+                    }
+                    catch (Exception e)
+                    { }
                     if (locate != null)
                     {
                         break;
@@ -840,7 +845,15 @@
                 var roadStr = Db.Queryable<SysStorageRoadway>().Where(m => m.IsDel == "0" && m.Status == "0").Select(m=>m.RoadwayNo).ToList();
                 //宸烽亾缁勪俊鎭�
                 var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo) && roadStr.Contains(m.RoadwayNo))
-                    .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
+                    .GroupBy(m => m.RoadwayNo)
+                    .Select(m => m.RoadwayNo)
+                    .ToList()
+                    .OrderBy(roadwayNo =>
+                    {
+                        // 绉婚櫎鎵�鏈夐潪鏁板瓧瀛楃锛屽彧淇濈暀鏁板瓧
+                        var numbersOnly = new string(roadwayNo.Where(char.IsDigit).ToArray());
+                        return int.TryParse(numbersOnly, out int result) ? result : 0;
+                    }).ToList();
 
                 #endregion
 
diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index 2a5c1f1..10284fe 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -43,7 +43,7 @@
             {
                 // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣�
                  
-                var locateCount = db.Queryable<SysStorageLocat>().Count(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l);
+                var locateCount = db.Queryable<SysStorageLocat>().Count(m => m.IsDel=="0" && m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l);
                 
                 var bindNum = db.Queryable<LogTask>().Where(m => m.IsDel == "0" && (m.Status == "0" || m.Status == "1") && m.EndRoadway == l)
                             .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count();
@@ -312,6 +312,22 @@
 
                 var roadList = db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) )
                     .GroupBy(m=>m.RoadwayNo).Select(m=>m.RoadwayNo).ToList();
+
+                if (houseNo == "W02")
+                {
+                    //涓�妤煎贩閬�
+                    var conveyList1 = new List<string>() { "LR01", "LR02", "LR03", "LR04", "LR05", "LR06", "LR07", "LR08" };
+                    //浜屾ゼ宸烽亾
+                    var conveyList2 = new List<string>() { "LR09", "LR10", "LR11", "LR12" };
+                    if (ceng == "1")
+                    {
+                        roadList = roadList.Where(m => conveyList1.Contains(m)).ToList();
+                    }
+                    else if (ceng == "2")
+                    {
+                        roadList = roadList.Where(m => conveyList2.Contains(m)).ToList();
+                    }
+                }
 
                 //鏁版嵁瀛楀吀(鑾峰彇瀛楀吀涓粨搴撶被鍨�)
                 var dic = db.Queryable<SysDictionary>().First(m => m.Id.ToString() == house.Type);
@@ -601,10 +617,10 @@
             foreach (var area in areaList)
             {
                 var sql = $@"select * from SysStorageLocat where IsDel = 0 and Layer!= '3' and Flag = 0 and [Status] = 0 and RoadwayNo = '{roadwayNo}' and AreaNo = '{area}' and LocatNo not in({str}) ";
-                if (!string.IsNullOrWhiteSpace(ceng))
-                {
-                    sql += $"and Layer = '{ceng}' ";
-                }
+                //if (!string.IsNullOrWhiteSpace(ceng))
+                //{
+                //    sql += $"and Layer = '{ceng}' ";        
+                //}
                 sql += "order by ";
                 sql += topOrBom == 0 ? "Layer desc, " : "Layer, ";
                 sql += leftOrRight == 0 ? "[Column], " : "[Column] desc, ";

--
Gitblit v1.8.0