From 5d03e942416d07962409f7d3230097463fee63fa Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期三, 17 七月 2024 15:58:26 +0800
Subject: [PATCH] Merge branch 'master' into Liudl

---
 Wms/WMS.BLL/LogServer/OperationSOServer.cs          |   51 -
 HTML/views/SOSetting/ExportAllot.html               |    2 
 Wms/WMS.Entity/Context/DataContext.cs               |    2 
 Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs        |  118 ++--
 Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs |   91 +-
 Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs    |    3 
 Wms/WMS.BLL/BllSoServer/WaveMageServer.cs           |   76 +-
 Wms/Wms/Controllers/BllAsnController.cs             |   54 +-
 Wms/Wms/Controllers/BllCheckController.cs           |   14 
 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs      |  626 ++++++++++++------------
 Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs     |  150 +----
 Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs     |    5 
 Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs       |    6 
 Pda/View/login.html                                 |    4 
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs       |  145 ++---
 Wms/Wms/Controllers/BllSoController.cs              |   79 +--
 Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs  |    5 
 Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs        |    5 
 Wms/WMS.BLL/SysServer/PalletsServer.cs              |   11 
 Wms/Wms/Controllers/DownApiController.cs            |   32 
 20 files changed, 681 insertions(+), 798 deletions(-)

diff --git a/HTML/views/SOSetting/ExportAllot.html b/HTML/views/SOSetting/ExportAllot.html
index 24dfb71..fa289d7 100644
--- a/HTML/views/SOSetting/ExportAllot.html
+++ b/HTML/views/SOSetting/ExportAllot.html
@@ -329,7 +329,7 @@
 			var mxId = "0";
 			var yemianid = 0;
 			refreshTable();
-			refreshTablemx(mxId)
+			//refreshTablemx(mxId)
 			//娓叉煋鍑哄簱鍒嗛厤table
 			//#region 鑷畾涔夎〃澶�
 			var TotalColsArr = [[
diff --git a/Pda/View/login.html b/Pda/View/login.html
index 837a106..8c75686 100644
--- a/Pda/View/login.html
+++ b/Pda/View/login.html
@@ -195,12 +195,12 @@
 							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 						});
 					} else {
-						if(res.code==200){//鎴愬姛
+						if(res.code==0){//鎴愬姛
 							layer.msg('鐧婚檰鎴愬姛', {
 								icon: 1,
 								time: 500 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 							}, function () {
-								$.cookie('token', res.ToKen.TokenStr);
+								$.cookie('token', res.data);
 								//鍥炶皟
 								location.href="/View/index.html";
 							});
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 0af25c8..07e232b 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -3,6 +3,7 @@
 using System.ComponentModel.Design;
 using System.Linq;
 using System.Linq.Expressions;
+using System.Net;
 using System.Text;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Identity;
@@ -340,7 +341,7 @@
                     ParentName = "搴撳唴浣滀笟",
                     MenuName = "鐩樼偣鍗曟嵁",
                     FkNo = model.CrNo,
-                    TypeName = "娣诲姞",
+                    TypeName = "缂栬緫",
                     Msg = $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅"
                 });
                 //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", model.CrNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅", _userManager.UserId);
@@ -889,344 +890,337 @@
         //鐩樼偣涓嬪彂鍑哄簱
         public async Task<List<OutCommandDto>> CheckOutHouse(string crNo, string outMode, string url, string str)
         {
-            try
+            #region 闆嗗悎 
+            var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� 
+                                                        //璁板綍閿欒淇℃伅鐨勯泦鍚� 
+            var flagList = new List<int>();//1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱
+
+            #endregion
+            var com = new Common();
+            //assign.IsHavePyTask();
+            var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0");
+            if (notice == null)
             {
-                #region 闆嗗悎 
-                var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� 
-                //璁板綍閿欒淇℃伅鐨勯泦鍚� 
-                var flagList = new List<int>();//1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱
-
-                #endregion
-                var com = new Common();
-                //assign.IsHavePyTask();
-                var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0");
-                if (notice == null)
+                throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�");
+            }
+            //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅)
+            var funSetting = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "InventoryCheckMethod");
+            if (funSetting == null || funSetting.IsEnable == "OFF")
+            {
+                throw Oops.Bah("闇�閰嶇疆鐩樼偣鏂瑰紡");
+            }
+            var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync();
+            if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏
+            {
+                throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
+            }
+            if (funSetting.SetValue == "once")
+            {
+                if (list.Any(s => s.Status == 1 || s.Status == 2))
                 {
-                    throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�");
+                    throw Oops.Bah("宸叉湁姝e湪鍑哄簱鎴栧緟鐩樼偣鐨勬暟鎹紝璇峰畬鎴愮洏鐐瑰悗鍐嶅嚭搴�");
                 }
-                //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅)
-                var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync();
-                if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏
+                list = new List<BllStockCheckDetail>() { list.FirstOrDefault() };
+            }
+            #region 
+            //瑕佸嚭搴撶殑鎵樼洏闆嗗悎
+            var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList();
+            //瑕佸嚭搴撶殑鏄庣粏闆嗗悎
+            var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync();
+            var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync();
+            //鑾峰彇鐗╂枡淇℃伅
+            var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync();
+            var time = DateTime.Now;
+            //Db.BeginTran();
+            //寰幆鐩樼偣鏄庣粏鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
+            foreach (var item in list)
+            {
+                if (item.Status == 0)
                 {
-                    throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
-                }
-                #region 
-                //瑕佸嚭搴撶殑鎵樼洏闆嗗悎
-                var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList();
-                //瑕佸嚭搴撶殑鏄庣粏闆嗗悎
-                var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync();
-                var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync();
-                //鑾峰彇鐗╂枡淇℃伅
-                var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync();
-                var time = DateTime.Now;
-                Db.BeginTran();
-                try
-                {
-                    //寰幆鐩樼偣鏄庣粏鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
-                    foreach (var item in list)
+                    var logList = new List<BllStockCheckLog>();
+                    //鍒ゆ柇鏄惁涓烘棤鐮佺墿鏂�
+                    if (skuNo.Contains(item.SkuNo))
                     {
-                        if (item.Status == 0)
+                        var de = outStockDetail.First(m => m.IsDel == "0" &&
+                        m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo);
+
+                        var checkLog = new BllStockCheckLog()
                         {
-                            var logList = new List<BllStockCheckLog>();
-                            //鍒ゆ柇鏄惁涓烘棤鐮佺墿鏂�
-                            if (skuNo.Contains(item.SkuNo))
-                            {
-                                var de = outStockDetail.First(m => m.IsDel == "0" &&
-                                m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo);
+                            CRNo = item.CRNo,
+                            PalletNo = item.PalletNo,
+                            BoxNo = "",
+                            BoxNo2 = "",
+                            BoxNo3 = "",
+                            Qty = (int?)de.Qty,
+                            SkuNo = de.SkuNo,
+                            SkuName = de.SkuName,
+                            Standard = de.Standard,
+                            LotNo = de.LotNo,
+                            LotText = de.LotText,
+                            SupplierLot = de.SupplierLot,
 
-                                var checkLog = new BllStockCheckLog()
-                                {
-                                    CRNo = item.CRNo,
-                                    PalletNo = item.PalletNo,
-                                    BoxNo = "",
-                                    BoxNo2 = "",
-                                    BoxNo3 = "",
-                                    Qty = (int?)de.Qty,
-                                    SkuNo = de.SkuNo,
-                                    SkuName = de.SkuName,
-                                    Standard = de.Standard,
-                                    LotNo = de.LotNo,
-                                    LotText = de.LotText,
-                                    SupplierLot = de.SupplierLot,
+                            CreateUser = _userManager.UserId,
+                            CreateTime = time
+                        };
+                        logList.Add(checkLog);
 
-                                    CreateUser = _userManager.UserId,
-                                    CreateTime = time
-                                };
-                                logList.Add(checkLog);
-
-                            }
-                            else
-                            {
-                                var de = outStockDetail.Where(m =>
-                                m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo).Select(m => m.Id).ToList();
-                                var bo = outStockBox.Where(m => de.Contains(m.StockDetailId)).ToList();
-                                foreach (var b in bo)
-                                {
-                                    var checkLog = new BllStockCheckLog()
-                                    {
-                                        CRNo = item.CRNo,
-                                        PalletNo = item.PalletNo,
-                                        BoxNo = b.BoxNo,
-                                        BoxNo2 = b.BoxNo2,
-                                        BoxNo3 = b.BoxNo3,
-                                        Qty = b.Qty,
-                                        SkuNo = b.SkuNo,
-                                        SkuName = b.SkuName,
-                                        Standard = b.Standard,
-                                        LotNo = b.LotNo,
-                                        LotText = b.LotText,
-                                        SupplierLot = b.SupplierLot,
-
-                                        CreateUser = _userManager.UserId,
-                                        CreateTime = time
-                                    };
-                                    logList.Add(checkLog);
-                                }
-                            }
-
-                            //鐢熸垚鐩樼偣璁板綍
-                            await Db.Insertable(logList).ExecuteCommandAsync();
-                        }
-                        // 鍌ㄤ綅鍙�
-                        var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo;
-
-                        #region 鍒ゆ柇
-                        //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐�
-                        if (string.IsNullOrWhiteSpace(locateNo))
+                    }
+                    else
+                    {
+                        var de = outStockDetail.Where(m =>
+                        m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo).Select(m => m.Id).ToList();
+                        var bo = outStockBox.Where(m => de.Contains(m.StockDetailId)).ToList();
+                        foreach (var b in bo)
                         {
-                            var de = outStockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo);
-                            //鍒ゆ柇鏄惁鏄浂绠卞簱锛屽綋鍓嶆槑缁嗕俊鎭洿鎺ユ洿鏂板嚭搴撳畬鎴� 
-                            if (de != null && de.WareHouseNo == "W02")
+                            var checkLog = new BllStockCheckLog()
                             {
-                                //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 
-                                item.Status = 2;
-                                await Db.Updateable(item).ExecuteCommandAsync();
-                                //鐩樼偣淇℃伅淇敼
-                                if (notice.Status == 0)
-                                {
-                                    notice.CheckDate = DateTime.Now;
-                                    notice.Status = 1;
-                                    notice.UpdateUser = _userManager.UserId;
-                                    notice.UpdateTime = time;
-                                    await Db.Updateable(notice).ExecuteCommandAsync();
-                                }
-                                //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
-                                var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync();
-                                foreach (var s in stockDetail)
-                                {
-                                    s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
-                                    s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
-                                    s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
-                                    s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
-                                    await Db.Updateable(s).ExecuteCommandAsync();
-                                }
-                                flagList.Add(5);
-                                continue;
-                            }
-                            //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑
-                            var imBl = com.GetImTask(item.PalletNo);
-                            if (imBl != null)
-                            {
-                                flagList.Add(4);
-                                continue;
-                            }
-                            //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
-                            if (item.Status == 0)
-                            {
-                                //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 
-                                item.Status = 2;//鐘舵�� 
-                                await Db.Updateable(item).ExecuteCommandAsync();
-                                if (notice.Status == 0)
-                                {
-                                    notice.CheckDate = DateTime.Now;
-                                    notice.Status = 1;
-                                    notice.UpdateUser = _userManager.UserId;
-                                    notice.UpdateTime = time;
-                                    await Db.Updateable(notice).ExecuteCommandAsync();
-                                }
-                            }
-                            continue;
-                        }
-                        //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
-                        var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0");
-                        if (locate == null)
-                        {
-                            flagList.Add(2);
-                            continue;
-                        }
-                        //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧�
-                        if (locate.Flag == "2")
-                        {
-                            flagList.Add(3);
-                            continue;
-                        }
-                        #endregion
-                        if (locate.Status == "1") //鏈夌墿鍝�
-                        {
-                            #region 娣诲姞鍑哄簱浠诲姟
-                            var taskNo = new Common().GetMaxNo("TK");
-                            //娣诲姞鍑哄簱浠诲姟
-                            var exTask = new LogTask
-                            {
-                                TaskNo = taskNo,
-                                Sender = "WMS",
-                                Receiver = "WCS",
-                                IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
-                                StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = outMode,//鐩爣浣嶇疆
-                                PalletNo = item.PalletNo,//鎵樼洏鐮�
-                                IsSend = 1,//鏄惁鍙啀娆′笅鍙�
-                                IsCancel = 1,//鏄惁鍙彇娑�
-                                IsFinish = 1,//鏄惁鍙畬鎴�
-                                Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
-                                Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
-                                OrderType = "2",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
+                                CRNo = item.CRNo,
+                                PalletNo = item.PalletNo,
+                                BoxNo = b.BoxNo,
+                                BoxNo2 = b.BoxNo2,
+                                BoxNo3 = b.BoxNo3,
+                                Qty = b.Qty,
+                                SkuNo = b.SkuNo,
+                                SkuName = b.SkuName,
+                                Standard = b.Standard,
+                                LotNo = b.LotNo,
+                                LotText = b.LotText,
+                                SupplierLot = b.SupplierLot,
 
+                                CreateUser = _userManager.UserId,
                                 CreateTime = time
                             };
-                            await Db.Insertable(exTask).ExecuteCommandAsync();
-
-                            outDtoList.Add(new OutCommandDto()
-                            {
-                                PalletNo = item.PalletNo,//鎵樼洏鍙�
-                                StartLocate = locate.LocatNo, // 璧峰浣嶇疆
-                                StartRoadway = locate.RoadwayNo,
-                                EndLocate = "", // 鐩爣浣嶇疆 
-                                TaskNo = exTask.TaskNo, // 浠诲姟鍙�
-                                TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
-                                OutMode = "",  //鐩爣鍦板潃
-                                Order = 1
-                            });
-                            #endregion
-
-                            #region 鏀瑰彉鏁版嵁
-                            if (item.Status == 0)//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩�
-                            {
-                                if (notice.Status == 0)
-                                {
-                                    notice.CheckDate = DateTime.Now;
-                                    notice.Status = 1;
-                                    notice.UpdateUser = _userManager.UserId;
-                                    notice.UpdateTime = time;
-                                    await Db.Updateable(notice).ExecuteCommandAsync();
-                                }
-                            }
-                            locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
-                            await Db.Updateable(locate).ExecuteCommandAsync();
-
-                            item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
-                            item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            await Db.Updateable(item).ExecuteCommandAsync();
-                            #endregion
-
-                            flagList.Add(0);
-                        }
-                        else if (locate.Status == "3") //鍑哄簱涓�
-                        {
-                            #region 鏀瑰彉鏁版嵁
-                            //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
-                            if (item.Status == 0)
-                            {
-                                if (notice.Status == 0)
-                                {
-                                    notice.CheckDate = DateTime.Now;
-                                    notice.Status = 1;
-                                    notice.UpdateUser = _userManager.UserId;
-                                    notice.UpdateTime = time;
-                                    await Db.Updateable(notice).ExecuteCommandAsync();
-
-                                }
-                            }
-                            var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
-                            item.TaskNo = taskNo.TaskNo;
-                            item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            await Db.Updateable(item).ExecuteCommandAsync();
-
-                            #endregion
-                        }
-                        else if (locate.Status == "5") //绉诲嚭涓�
-                        {
-                            flagList.Add(1);
+                            logList.Add(checkLog);
                         }
                     }
-                    //娣诲姞鎿嶄綔鏃ュ織璁板綍
-                    //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId);
-                    await _operation.AddLogOperationCr(new OperationInputVm()
-                    {
-                        ParentName = "搴撳唴浣滀笟",
-                        MenuName = "鐩樼偣鍗曟嵁",
-                        FkNo = crNo,
-                        TypeName = "鍑哄簱",
-                        Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟"
-                    });
-                    Db.CommitTran();
 
-                    str = string.Empty;
-                    if (flagList.Count(m => m == 1) > 0)
-                    {
-                        str += "1.褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�";
-                    }
-                    if (flagList.Count(m => m == 2) > 0)
-                    {
-                        str += "2.鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�";
-                    }
-                    if (flagList.Count(m => m == 3) > 0)
-                    {
-                        str += "4.鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�";
-                    }
-                    if (flagList.Count(m => m == 4) > 0)
-                    {
-                        str += "3.瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱銆�";
-                    }
-                    if (flagList.Count(m => m == 5) > 0)
-                    {
-                        str += "5.瑕佸嚭搴撶殑鎵樼洏鍦ㄩ浂绠卞簱銆�";
-                    }
-                    if (outDtoList.Count > 0)
-                    {
-                        // 姝e紡杩愯绋嬪簭鏀惧紑
-                        var list2 = outDtoList.Select(m => m.TaskNo).ToList();
-                        var jsonData = JsonConvert.SerializeObject(outDtoList);
-                        string response = "";
-
-                        try
-                        {
-                            var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS"); //姝e紡鐗堟湰鏀惧紑
-                            var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
-                            ////瑙f瀽杩斿洖鏁版嵁 
-                            //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                            //if (wcsModel.StatusCode == 0)
-                            //{
-                            //        //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                            //    new TaskServer().EditTaskIssueOk(list2, time1, time2);
-                            //str += "涓嬪彂鎴愬姛";
-                            //}
-                            //if (wcsModel.StatusCode == -1)
-                            //{
-                            //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                            //    throw new Exception(wcsModel.Msg);
-                            //}
-                        }
-                        catch (Exception ex)
-                        {
-                            throw new Exception(ex.Message);
-                        }
-                    }
-                    return outDtoList;
+                    //鐢熸垚鐩樼偣璁板綍
+                    await Db.Insertable(logList).ExecuteCommandAsync();
                 }
-                catch (Exception e)
+                // 鍌ㄤ綅鍙�
+                var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo;
+
+                #region 鍒ゆ柇
+                //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐�
+                if (string.IsNullOrWhiteSpace(locateNo))
                 {
-                    Db.RollbackTran();
-                    throw new Exception(e.Message);
+                    var de = outStockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo);
+                    //鍒ゆ柇鏄惁鏄浂绠卞簱锛屽綋鍓嶆槑缁嗕俊鎭洿鎺ユ洿鏂板嚭搴撳畬鎴� 
+                    if (de != null && de.WareHouseNo == "W02")
+                    {
+                        //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 
+                        item.Status = 2;
+                        await Db.Updateable(item).ExecuteCommandAsync();
+                        //鐩樼偣淇℃伅淇敼
+                        if (notice.Status == 0)
+                        {
+                            notice.CheckDate = DateTime.Now;
+                            notice.Status = 1;
+                            notice.UpdateUser = _userManager.UserId;
+                            notice.UpdateTime = time;
+                            await Db.Updateable(notice).ExecuteCommandAsync();
+                        }
+                        //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+                        var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync();
+                        foreach (var s in stockDetail)
+                        {
+                            s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+                            s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+                            s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+                            s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+                            await Db.Updateable(s).ExecuteCommandAsync();
+                        }
+                        flagList.Add(5);
+                        continue;
+                    }
+                    //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑
+                    var imBl = com.GetImTask(item.PalletNo);
+                    if (imBl != null)
+                    {
+                        flagList.Add(4);
+                        continue;
+                    }
+                    //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
+                    if (item.Status == 0)
+                    {
+                        //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 
+                        item.Status = 2;//鐘舵�� 
+                        await Db.Updateable(item).ExecuteCommandAsync();
+                        if (notice.Status == 0)
+                        {
+                            notice.CheckDate = DateTime.Now;
+                            notice.Status = 1;
+                            notice.UpdateUser = _userManager.UserId;
+                            notice.UpdateTime = time;
+                            await Db.Updateable(notice).ExecuteCommandAsync();
+                        }
+                    }
+                    continue;
+                }
+                //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
+                var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0");
+                if (locate == null)
+                {
+                    flagList.Add(2);
+                    continue;
+                }
+                //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧�
+                if (locate.Flag == "2")
+                {
+                    flagList.Add(3);
+                    continue;
                 }
                 #endregion
+                if (locate.Status == "1") //鏈夌墿鍝�
+                {
+                    #region 娣诲姞鍑哄簱浠诲姟
+                    var taskNo = new Common().GetMaxNo("TK");
+                    //娣诲姞鍑哄簱浠诲姟
+                    var exTask = new LogTask
+                    {
+                        TaskNo = taskNo,
+                        Sender = "WMS",
+                        Receiver = "WCS",
+                        IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+                        StartLocat = locate.LocatNo,//璧峰浣嶇疆
+                        EndLocat = outMode,//鐩爣浣嶇疆
+                        PalletNo = item.PalletNo,//鎵樼洏鐮�
+                        IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+                        IsCancel = 1,//鏄惁鍙彇娑�
+                        IsFinish = 1,//鏄惁鍙畬鎴�
+                        Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
+                        Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+                        OrderType = "2",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
+
+                        CreateTime = time
+                    };
+                    await Db.Insertable(exTask).ExecuteCommandAsync();
+
+                    outDtoList.Add(new OutCommandDto()
+                    {
+                        PalletNo = item.PalletNo,//鎵樼洏鍙�
+                        StartLocate = locate.LocatNo, // 璧峰浣嶇疆
+                        StartRoadway = locate.RoadwayNo,
+                        EndLocate = "", // 鐩爣浣嶇疆 
+                        TaskNo = exTask.TaskNo, // 浠诲姟鍙�
+                        TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
+                        OutMode = "",  //鐩爣鍦板潃
+                        Order = 1
+                    });
+                    #endregion
+
+                    #region 鏀瑰彉鏁版嵁
+                    if (item.Status == 0)//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩�
+                    {
+                        if (notice.Status == 0)
+                        {
+                            notice.CheckDate = DateTime.Now;
+                            notice.Status = 1;
+                            notice.UpdateUser = _userManager.UserId;
+                            notice.UpdateTime = time;
+                            await Db.Updateable(notice).ExecuteCommandAsync();
+                        }
+                    }
+                    locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
+                    await Db.Updateable(locate).ExecuteCommandAsync();
+
+                    item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
+                    item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
+                    await Db.Updateable(item).ExecuteCommandAsync();
+                    #endregion
+
+                    flagList.Add(0);
+                }
+                else if (locate.Status == "3") //鍑哄簱涓�
+                {
+                    #region 鏀瑰彉鏁版嵁
+                    //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
+                    if (item.Status == 0)
+                    {
+                        if (notice.Status == 0)
+                        {
+                            notice.CheckDate = DateTime.Now;
+                            notice.Status = 1;
+                            notice.UpdateUser = _userManager.UserId;
+                            notice.UpdateTime = time;
+                            await Db.Updateable(notice).ExecuteCommandAsync();
+
+                        }
+                    }
+                    var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
+                    item.TaskNo = taskNo.TaskNo;
+                    item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
+                    await Db.Updateable(item).ExecuteCommandAsync();
+
+                    #endregion
+                }
+                else if (locate.Status == "5") //绉诲嚭涓�
+                {
+                    flagList.Add(1);
+                }
             }
-            catch (Exception e)
+            //娣诲姞鎿嶄綔鏃ュ織璁板綍
+            //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId);
+            await _operation.AddLogOperationCr(new OperationInputVm()
             {
-                throw new Exception(e.Message);
+                ParentName = "搴撳唴浣滀笟",
+                MenuName = "鐩樼偣鍗曟嵁",
+                FkNo = crNo,
+                TypeName = "鍑哄簱",
+                Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟"
+            });
+            //Db.CommitTran();
+
+            str = string.Empty;
+            if (flagList.Count(m => m == 1) > 0)
+            {
+                str += "1.褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�";
             }
+            if (flagList.Count(m => m == 2) > 0)
+            {
+                str += "2.鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�";
+            }
+            if (flagList.Count(m => m == 3) > 0)
+            {
+                str += "4.鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�";
+            }
+            if (flagList.Count(m => m == 4) > 0)
+            {
+                str += "3.瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱銆�";
+            }
+            if (flagList.Count(m => m == 5) > 0)
+            {
+                str += "5.瑕佸嚭搴撶殑鎵樼洏鍦ㄩ浂绠卞簱銆�";
+            }
+            if (!string.IsNullOrEmpty(str))
+                throw Oops.Bah(str);
+            if (outDtoList.Count > 0)
+            {
+                // 姝e紡杩愯绋嬪簭鏀惧紑
+                var list2 = outDtoList.Select(m => m.TaskNo).ToList();
+                var jsonData = JsonConvert.SerializeObject(outDtoList);
+                string response = "";
+
+                var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                                         //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS"); //姝e紡鐗堟湰鏀惧紑
+                var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+                ////瑙f瀽杩斿洖鏁版嵁 
+                //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
+                //if (wcsModel.StatusCode == 0)
+                //{
+                //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                //    new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                //    str += "涓嬪彂鎴愬姛";
+                //}
+                //if (wcsModel.StatusCode == -1)
+                //{
+                //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
+                //    throw Oops.Bah(wcsModel.Msg);
+                //}
+            }
+            return outDtoList;
+            #endregion
         }
 
         //鐩樼偣鍑哄簱瀹屾垚
diff --git a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
index bf98076..a0520ce 100644
--- a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
@@ -3,7 +3,9 @@
 using System.Linq;
 using System.Linq.Expressions;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
 using SqlSugar;
 using WMS.DAL;
 using WMS.Entity.BllSoEntity;
@@ -13,118 +15,58 @@
 
 namespace WMS.BLL.BllSoServer
 {
-    public class CompleteDetailServer: DbHelper<BllCompleteDetail>,ICompleteDetailServer
+    public class CompleteDetailServer : DbHelper<BllCompleteDetail>, ICompleteDetailServer
     {
         private static readonly SqlSugarScope Db = DataContext.Db;
-        public CompleteDetailServer():base(Db)
+        public CompleteDetailServer() : base(Db)
         {
         }
 
         //鏌ヨ鎷h揣鏄庣粏绠辩爜淇℃伅锛堝垎缁勫悗锛�
-        public List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count)
+        public async Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count)
         {
-            try
-            {
-                var total = 0;
-                var detailInfo = Db.Queryable<BllCompleteDetail>().First(w => string.IsNullOrEmpty(w.BoxNo) || string.IsNullOrEmpty(w.BoxNo3));
-                if (detailInfo == null)
+            Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>()
+                .And(it => it.ExportAllotId == model.Id)
+                .And(it => it.IsDel == "0")
+                .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+            var data = await GetAllWhereAsync(item)
+                .GroupBy(m => new
                 {
-                    Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>()
-                    .And(it => it.ExportAllotId == id)
-                    .And(it => it.IsDel == "0")
-                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                    var data = GetAllWhereAsync(item)
-                        .GroupBy(m => new
-                        {
-                            m.SONo,
-                            m.SODetailNo,
-                            m.StockId,
-                            m.ExportAllotId,
+                    m.SONo,
+                    m.SODetailNo,
+                    m.StockId,
+                    m.ExportAllotId,
 
-                            m.BoxNo,
-                            m.LotNo,
-                            m.LotText,
-                            m.SupplierLot,
-                            m.SkuNo,
-                            m.SkuName,
-                            m.Standard,
-                            m.PalletNo,
-                            m.NowPalletNo,
-                        })
-                        .Select(a => new CompleteDetailDto()
-                        {
-                            SONo = a.SONo,
-                            SODetailNo = a.SODetailNo,
-                            StockId = a.StockId,
-                            ExportAllotId = a.ExportAllotId,
-
-                            BoxNo = a.BoxNo,
-                            LotNo = a.LotNo,
-                            LotText = a.LotText,
-                            SupplierLot = a.SupplierLot,
-                            SkuNo = a.SkuNo,
-                            SkuName = a.SkuName,
-                            Standard = a.Standard,
-                            PalletNo = a.PalletNo,
-                            CompleteQty = SqlFunc.AggregateSum(a.CompleteQty),
-                            NowPalletNo = a.NowPalletNo,
-                            //CreateTime = a.CreateTime
-                        }).ToOffsetPage(page, limit, ref total);
-                    count = total;
-                    return data;
-                }
-                else //绠辩爜鎴栨敮鐮佷负绌鸿鏄庢槸鎸夋暟閲忔嫞璐э紝澧炲姞 CreateTime 鍒嗙粍鏉′欢
+                    m.BoxNo,
+                    m.LotNo,
+                    m.LotText,
+                    m.SupplierLot,
+                    m.SkuNo,
+                    m.SkuName,
+                    m.Standard,
+                    m.PalletNo,
+                    m.NowPalletNo
+                })
+                .Select(a => new CompleteDetailDto()
                 {
-                    Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>()
-                    .And(it => it.ExportAllotId == id)
-                    .And(it => it.IsDel == "0")
-                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                    var data = GetAllWhereAsync(item)
-                        .GroupBy(m => new
-                        {
-                            m.SONo,
-                            m.SODetailNo,
-                            m.StockId,
-                            m.ExportAllotId,
+                    SONo = a.SONo,
+                    SODetailNo = a.SODetailNo,
+                    StockId = a.StockId,
+                    ExportAllotId = a.ExportAllotId,
 
-                            m.BoxNo,
-                            m.LotNo,
-                            m.LotText,
-                            m.SupplierLot,
-                            m.SkuNo,
-                            m.SkuName,
-                            m.Standard,
-                            m.PalletNo,
-                            m.NowPalletNo,
-                            m.CreateTime
-                        })
-                        .Select(a => new CompleteDetailDto()
-                        {
-                            SONo = a.SONo,
-                            SODetailNo = a.SODetailNo,
-                            StockId = a.StockId,
-                            ExportAllotId = a.ExportAllotId,
+                    BoxNo = a.BoxNo,
+                    LotNo = a.LotNo,
+                    LotText = a.LotText,
+                    SupplierLot = a.SupplierLot,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    Standard = a.Standard,
+                    PalletNo = a.PalletNo,
+                    CompleteQty = SqlFunc.AggregateSum(a.CompleteQty),
+                    NowPalletNo = a.NowPalletNo,
+                }).ToPageListAsync(model.Page, model.Limit, count);
 
-                            BoxNo = a.BoxNo,
-                            LotNo = a.LotNo,
-                            LotText = a.LotText,
-                            SupplierLot = a.SupplierLot,
-                            SkuNo = a.SkuNo,
-                            SkuName = a.SkuName,
-                            Standard = a.Standard,
-                            PalletNo = a.PalletNo,
-                            CompleteQty = SqlFunc.AggregateSum(a.CompleteQty),
-                            NowPalletNo = a.NowPalletNo,
-                        //CreateTime = a.CreateTime
-                    }).ToOffsetPage(page, limit, ref total);
-                    count = total;
-                    return data;
-                }
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+            return data;
         }
 
         //鏌ヨ鎷h揣鏄庣粏鏀爜璇︾粏淇℃伅
@@ -135,7 +77,7 @@
                 Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>()
                     .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo.Trim())
                     .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3.Contains(boxNo3.Trim()))
-                    .ToExpression(); 
+                    .ToExpression();
                 var data = GetAllWhereAsync(item)
                     .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                     .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
@@ -159,7 +101,7 @@
                         CompleteQty = a.CompleteQty,
                         NowPalletNo = a.NowPalletNo,
 
-                        CreateUserName = b.RealName, 
+                        CreateUserName = b.RealName,
                         UpdateUserName = c.RealName,
                         CreateTime = a.CreateTime,
                         UpdateTime = a.UpdateTime,
@@ -201,7 +143,7 @@
                     {
                         page = 1;
                     }
-                    
+
                     sqlString += sqlPub + $" order by 1  offset {((page - 1) * limit)} rows fetch next {limit} rows only;";
 
                     var com = new Common();
@@ -210,7 +152,7 @@
                     var modelList = Db.Ado.SqlQuery<CompleteDetailDto>(sqlString);
                     return modelList;
                 }
-                else 
+                else
                 {
                     string sqlString = string.Empty;
                     string sqlCount = string.Empty;
diff --git a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
index 417f7cb..40a89e1 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
@@ -3,7 +3,9 @@
 using System.Linq;
 using System.Linq.Expressions;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
 using SqlSugar;
 using WMS.BLL.LogServer;
 using WMS.DAL;
@@ -24,72 +26,66 @@
         }
 
         //鏌ヨ鍑哄簱鍒嗛厤琛ㄤ俊鎭�
-        public List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count)
+        public async Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count)
         {
-            try
-            {
-                var strList = new List<int>();
+            var strList = new List<int>();
 
-                if (!string.IsNullOrWhiteSpace(boxNo))
+            if (!string.IsNullOrWhiteSpace(model.BoxNo))
+            {
+                var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(model.BoxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList();
+                strList = detailList;
+            }
+            Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>()
+                .AndIF(!string.IsNullOrWhiteSpace(model.SoNo), it => it.SONo.Contains(model.SoNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), it => it.PalletNo.Contains(model.PalletNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), it => it.SkuName.Contains(model.SkuName.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status)
+                .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo), m => strList.Contains(m.Id))
+                .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+            var total = 0;
+            var data = await GetAllWhereAsync(item)
+                .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
+                .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
+                .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
+                .Select((a, b, c, d) => new ExportAllotDto()
                 {
-                    var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(boxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList();
-                    strList = detailList;
-                }
-                Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>()
-                    .AndIF(!string.IsNullOrWhiteSpace(no), it => it.SONo.Contains(no.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status)
-                    .AndIF(!string.IsNullOrWhiteSpace(boxNo), m => strList.Contains(m.Id))
-                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                var total = 0;
-                var data = GetAllWhereAsync(item)
-                    .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
-                    .Select((a, b, c, d) => new ExportAllotDto()
-                    {
-                        Id = a.Id,
-                        SONo = a.SONo,
-                        WaveNo = a.WaveNo,
-                        SODetailNo = a.SODetailNo,
-                        StockId = a.StockId,
-                        TaskNo = a.TaskNo,
+                    Id = a.Id,
+                    SONo = a.SONo,
+                    WaveNo = a.WaveNo,
+                    SODetailNo = a.SODetailNo,
+                    StockId = a.StockId,
+                    TaskNo = a.TaskNo,
 
-                        LotNo = a.LotNo,
-                        LotText = a.LotText,
-                        SupplierLot = a.SupplierLot,
-                        SkuNo = a.SkuNo,
-                        SkuName = a.SkuName,
-                        Standard = a.Standard,
-                        PalletNo = a.PalletNo,
-                        IsBale = a.IsBale,
-                        IsBelt = a.IsBelt,
-                        Qty = a.Qty,
-                        CompleteQty = a.CompleteQty,
-                        Status = a.Status,
-                        LogisticsId = a.LogisticsId,
-                        LogisticsName = b.CarrierName,
-                        IsAdvance = a.IsAdvance,
-                        OutMode = a.OutMode,
-                        LoadingAddre=a.LoadingAddre,
-                        UnstackingMode=a.UnstackingMode,
+                    LotNo = a.LotNo,
+                    LotText = a.LotText,
+                    SupplierLot = a.SupplierLot,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    Standard = a.Standard,
+                    PalletNo = a.PalletNo,
+                    IsBale = a.IsBale,
+                    IsBelt = a.IsBelt,
+                    Qty = a.Qty,
+                    CompleteQty = a.CompleteQty,
+                    Status = a.Status,
+                    LogisticsId = a.LogisticsId,
+                    LogisticsName = b.CarrierName,
+                    IsAdvance = a.IsAdvance,
+                    OutMode = a.OutMode,
+                    LoadingAddre = a.LoadingAddre,
+                    UnstackingMode = a.UnstackingMode,
 
-                        CreateUserName = c.RealName,
-                        UpdateUserName = d.RealName,
-                        CreateTime = a.CreateTime,
-                        UpdateTime = a.UpdateTime
-                    }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo).ToOffsetPage(page, limit, ref total);
-                count = total;
-                return data;
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+                    CreateUserName = c.RealName,
+                    UpdateUserName = d.RealName,
+                    CreateTime = a.CreateTime,
+                    UpdateTime = a.UpdateTime
+                }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo)
+                .ToPageListAsync(model.Page, model.Limit, count);
+            count = total;
+            return data;
         }
 
         //鎾ら攢鍒嗛厤锛堝垹闄わ級
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs
index f6f4fe9..4ed4983 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs
@@ -26,59 +26,52 @@
         }
         public async Task<List<ExportNoticeDetailDto>> GetExportNoticeDetailList(GetExportNoticeDetailVm model, RefAsync<int> count)
         {
-            try
+            if (string.IsNullOrWhiteSpace(model.SoNo))
             {
-                if (string.IsNullOrWhiteSpace(model.SoNo))
-                {
-                    throw new Exception("鍑哄簱鍗曞彿涓虹┖");
-                }
-                var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault();
-                if (notice == null)
-                {
-                    throw new Exception("鍑哄簱鍗曞彿涓虹┖");
-                }
-
-                var data = await GetAllWhereAsync(a=>a.SONo == model.SoNo)
-                    .LeftJoin<SysPackag>((a,b)=> a.PackagNo == b.PackagNo)
-                    .LeftJoin<SysUserInfor>((a,b,c)=> a.CreateUser == c.Id)
-                    .LeftJoin<SysUserInfor>((a,b,c,d)=> a.UpdateUser == d.Id)
-                    .Select((a, b, c, d) => new ExportNoticeDetailDto()
-                    {
-                        Id = a.Id,
-                        Status = a.Status,
-                        Origin = notice.Origin,
-                        SONo = a.SONo,
-                        SkuNo = a.SkuNo,
-                        SkuName = a.SkuName,
-                        Standard = a.Standard,
-                        LotNo = a.LotNo,
-                        LotText = a.LotText,
-                        Qty = a.Qty,
-                        AllotQty = a.AllotQty,
-                        FactQty = a.FactQty,
-                        CompleteQty = a.CompleteQty,
-                        PackagNo = a.PackagNo,
-                        PackagName = b.PackagName,
-                        Price = a.Price,
-                        Money = a.Money,
-                        IsBale = a.IsBale,
-                        IsBelt = a.IsBelt,
-                        SupplierLot = a.SupplierLot,
-                        IsWave = a.IsWave,
-                        WaveNo = a.WaveNo,
-
-                        CreateUserName = c.RealName,
-                        UpdateUserName = d.RealName,
-                        CreateTime = a.CreateTime,
-                        UpdateTime = a.UpdateTime
-                    }).ToPageListAsync(model.Page, model.Limit, count);
-
-                return data;
+                throw new Exception("鍑哄簱鍗曞彿涓虹┖");
             }
-            catch (Exception e)
+            var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault();
+            if (notice == null)
             {
-                throw new Exception(e.Message);
+                throw new Exception("鍑哄簱鍗曞彿涓虹┖");
             }
+
+            var data = await GetAllWhereAsync(a => a.SONo == model.SoNo)
+                .LeftJoin<SysPackag>((a, b) => a.PackagNo == b.PackagNo)
+                .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
+                .LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id)
+                .Select((a, b, c, d) => new ExportNoticeDetailDto()
+                {
+                    Id = a.Id,
+                    Status = a.Status,
+                    Origin = notice.Origin,
+                    SONo = a.SONo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    Standard = a.Standard,
+                    LotNo = a.LotNo,
+                    LotText = a.LotText,
+                    Qty = a.Qty,
+                    AllotQty = a.AllotQty,
+                    FactQty = a.FactQty,
+                    CompleteQty = a.CompleteQty,
+                    PackagNo = a.PackagNo,
+                    PackagName = b.PackagName,
+                    Price = a.Price,
+                    Money = a.Money,
+                    IsBale = a.IsBale,
+                    IsBelt = a.IsBelt,
+                    SupplierLot = a.SupplierLot,
+                    IsWave = a.IsWave,
+                    WaveNo = a.WaveNo,
+
+                    CreateUserName = c.RealName,
+                    UpdateUserName = d.RealName,
+                    CreateTime = a.CreateTime,
+                    UpdateTime = a.UpdateTime
+                }).ToPageListAsync(model.Page, model.Limit, count);
+
+            return data;
         }
 
         public bool DelExportNoticeDetail(int id, int userId)
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 3f7e3e2..154a06f 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -814,67 +814,60 @@
 
         public async Task<List<ExportNoticeDto>> GetExportNoticeList(GetExportNoticeVm model, RefAsync<int> count)
         {
-            try
-            {
-                var strList = new List<string>();
+            var strList = new List<string>();
 
-                if (!string.IsNullOrWhiteSpace(model.LotNo))
+            if (!string.IsNullOrWhiteSpace(model.LotNo))
+            {
+                var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList();
+                strList = detailList;
+            }
+            Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>()
+                .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type)
+                .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status)
+                .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId)
+                .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave)
+                .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch)
+                .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim()))
+                .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo))
+                .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+
+            var data = await GetAllWhereAsync(item)
+                .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
+                .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
+                .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
+                .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id)
+                .Select((a, b, c, d, e) => new ExportNoticeDto()
                 {
-                    var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList();
-                    strList = detailList;
-                }
-                Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>()
-                    .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type)
-                    .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status)
-                    .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId)
-                    .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave)
-                    .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch)
-                    .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo))
-                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+                    Id = a.Id,
+                    SONo = a.SONo,
+                    Type = a.Type,
+                    Status = a.Status,
+                    Origin = a.Origin,
+                    CustomerNo = a.CustomerNo,
+                    CustomerName = a.CustomerName,
+                    LotNo = a.LotNo,
+                    LotText = a.LotText,
+                    SupplierLot = a.SupplierLot,
+                    LogisticsId = a.LogisticsId,
+                    LogisticsName = b.CarrierName,
+                    IsWave = a.IsWave,
+                    WaveNo = a.WaveNo,
+                    IsDespatch = a.IsDespatch,
+                    Demo = a.Demo,
 
-                var data = await GetAllWhereAsync(item)
-                    .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id)
-                    .Select((a, b, c, d, e) => new ExportNoticeDto()
-                    {
-                        Id = a.Id,
-                        SONo = a.SONo,
-                        Type = a.Type,
-                        Status = a.Status,
-                        Origin = a.Origin,
-                        CustomerNo = a.CustomerNo,
-                        CustomerName = a.CustomerName,
-                        LotNo = a.LotNo,
-                        LotText = a.LotText,
-                        SupplierLot = a.SupplierLot,
-                        LogisticsId = a.LogisticsId,
-                        LogisticsName = b.CarrierName,
-                        IsWave = a.IsWave,
-                        WaveNo = a.WaveNo,
-                        IsDespatch = a.IsDespatch,
-                        Demo = a.Demo,
+                    CreateUserName = c.RealName,
+                    UpdateUserName = c.RealName,
+                    CreateTime = a.CreateTime,
+                    UpdateTime = a.UpdateTime,
 
-                        CreateUserName = c.RealName,
-                        UpdateUserName = c.RealName,
-                        CreateTime = a.CreateTime,
-                        UpdateTime = a.UpdateTime,
+                    CheckUserName = e.RealName,
+                    CheckTime = a.CheckTime
+                })
+                .OrderByDescending(a => a.CreateTime)
+                .ToPageListAsync(model.Page, model.Limit, count);
 
-                        CheckUserName = e.RealName,
-                        CheckTime = a.CheckTime
-                    })
-                    .OrderByDescending(a => a.CreateTime)
-                    .ToPageListAsync(model.Page, model.Limit, count);
-
-                return data;
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+            return data;
         }
 
         //鑾峰彇娣诲姞/缂栬緫鍑哄簱鍗曟椂閫夋嫨鐗╂枡鏄庣粏淇℃伅
@@ -1907,33 +1900,23 @@
         /// <param name="limit">闆舵墭鏍囪</param> 
         /// <param name="count">闆舵墭鏍囪</param> 
         /// <returns></returns>
-        public List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo, string inspectMark, string bitPalletMark, int page, int limit, out int count)
+        public async Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count)
         {
+            Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
+                   .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), m => m.SkuNo.Contains(model.SkuNo.Trim()))
+                   .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), m => m.SkuName.Contains(model.SkuName.Trim()))
+                   .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), m => m.PalletNo.Contains(model.PalletNo.Trim()))
+                   .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), m => m.LotNo.Contains(model.LotNo.Trim()))
+                   .AndIF(!string.IsNullOrWhiteSpace(model.InspectMark), m => m.InspectMark == model.InspectMark)
+                   .AndIF(!string.IsNullOrWhiteSpace(model.BitPalletMark), m => m.BitPalletMark == model.BitPalletMark)
+                   .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo))
+                   .And(a => a.Status == "0")
+                   .And(a => a.WareHouseNo == "W01")
+                   .ToExpression();
+            var data = await Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToPageListAsync(model.Page, model.Limit, count);
+            //data.Select(m => m.Status == "0" && m.IsDel == "0");
 
-            try
-            {
-                Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
-                    .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(skuName.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(inspectMark), m => m.InspectMark == inspectMark)
-                    .AndIF(!string.IsNullOrWhiteSpace(bitPalletMark), m => m.BitPalletMark == bitPalletMark)
-                    .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo))
-                    .And(a => a.Status == "0")
-                    .And(a => a.WareHouseNo == "W01")
-                    .ToExpression();
-                var total = 0;
-                var data = Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToOffsetPage(page, limit, ref total);
-                //data.Select(m => m.Status == "0" && m.IsDel == "0");
-                count = total;
-
-                return data;
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+            return data;
         }
 
         //鎵樼洏鍑哄簱
diff --git a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
index 692cc5c..88419dd 100644
--- a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
@@ -3,8 +3,10 @@
 using System.Linq;
 using System.Linq.Expressions;
 using System.Text;
+using System.Threading.Tasks;
 using Model.InterFaceModel;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
 using Newtonsoft.Json;
 using SqlSugar;
 using WMS.BLL.Logic;
@@ -27,52 +29,44 @@
         }
 
         //鑾峰彇娉㈡鍗曚俊鎭�
-        public List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count)
+        public async Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count)
         {
-            try
-            {
-                Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>()
-                    .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim()))
-                    .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status)
-                    .AndIF(logisticsId != null, it => it.LogisticsId == logisticsId)
-                    .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo))
+            Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>()
+                    .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim()))
+                    .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status)
+                    .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId)
+                    .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo))
                     .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                var total = 0;
-                var data = GetAllWhereAsync(item)
-                    .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
-                    .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
-                    .Select((a, b, c, d) => new WaveMageDto()
-                    {
-                        Id = a.Id,
-                        WaveNo = a.WaveNo,
-                        Status = a.Status,
-                        Origin = a.Origin,
-                        CustomerNo = a.CustomerNo,
-                        CustomerName = a.CustomerName,
-                        LotNo = a.LotNo,
-                        LotText = a.LotText,
-                        SupplierLot = a.SupplierLot,
-                        LogisticsId = a.LogisticsId,
-                        LogisticsName = b.CarrierName,
-                        Address = a.Address,
 
-                        CreateUserName = c.RealName,
-                        UpdateUserName = c.RealName,
-                        CreateTime = a.CreateTime,
-                        UpdateTime = a.UpdateTime,
+            var data = await GetAllWhereAsync(item)
+                .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id)
+                .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
+                .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id)
+                .Select((a, b, c, d) => new WaveMageDto()
+                {
+                    Id = a.Id,
+                    WaveNo = a.WaveNo,
+                    Status = a.Status,
+                    Origin = a.Origin,
+                    CustomerNo = a.CustomerNo,
+                    CustomerName = a.CustomerName,
+                    LotNo = a.LotNo,
+                    LotText = a.LotText,
+                    SupplierLot = a.SupplierLot,
+                    LogisticsId = a.LogisticsId,
+                    LogisticsName = b.CarrierName,
+                    Address = a.Address,
 
-                    })
-                    .OrderByDescending(a => a.CreateTime)
-                    .ToOffsetPage(page, limit, ref total);
-                count = total;
+                    CreateUserName = c.RealName,
+                    UpdateUserName = c.RealName,
+                    CreateTime = a.CreateTime,
+                    UpdateTime = a.UpdateTime,
 
-                return data;
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+                })
+                .OrderByDescending(a => a.CreateTime)
+                .ToPageListAsync(model.Page, model.Limit, count);
+
+            return data;
         }
 
         //鑾峰彇娣诲姞娉㈡鍗曠殑鍑哄簱鍗曚俊鎭�
diff --git a/Wms/WMS.BLL/LogServer/OperationSOServer.cs b/Wms/WMS.BLL/LogServer/OperationSOServer.cs
index f8cff57..f59a724 100644
--- a/Wms/WMS.BLL/LogServer/OperationSOServer.cs
+++ b/Wms/WMS.BLL/LogServer/OperationSOServer.cs
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Linq.Expressions;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.LogDto;
 using SqlSugar;
 using WMS.BLL.SysServer;
@@ -21,43 +22,35 @@
         public OperationSOServer() : base(Db)
         {
         }
-        public List<OperationDto> GetLogOperationSoList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count)
+        public async Task<List<OperationDto>> GetLogOperationSoList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, RefAsync<int> count)
         {
-            try
-            {
-                var item = Expressionable.Create<LogOperationSO>()
+            var item = Expressionable.Create<LogOperationSO>()
                     .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim()))
                     .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type)
                     .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim()))
                     .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime))
                     .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(endTime).AddDays(1))
                     .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                var total = 0;
-                var list = GetAllWhereAsync(item)
-                    .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
-                    .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
-                    .Select((it, dic, users) => new OperationDto()
-                    {
-                        Id = it.Id,
-                        ParentNo = it.ParentNo,
-                        MenuNo = it.MenuNo,
-                        MenuName = it.MenuName,
-                        FkNo = it.FkNo,
-                        Type =  dic.DictName,
-                        Msg = it.Msg,
-                        CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                        CreateUserName =  users.RealName,
-                    })
-                    .OrderByDescending(it => it.CreateTime)
-                    .ToOffsetPage(page, limit, ref total);
 
-                count = total;
-                return list.OrderByDescending(m => m.CreateTime).ToList();
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+            var list = await GetAllWhereAsync(item)
+                .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString())
+                .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id)
+                .Select((it, dic, users) => new OperationDto()
+                {
+                    Id = it.Id,
+                    ParentNo = it.ParentNo,
+                    MenuNo = it.MenuNo,
+                    MenuName = it.MenuName,
+                    FkNo = it.FkNo,
+                    Type = dic.DictName,
+                    Msg = it.Msg,
+                    CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                    CreateUserName = users.RealName,
+                })
+                .OrderByDescending(it => it.CreateTime)
+                .ToPageListAsync(page, limit, count);
+
+            return list.OrderByDescending(m => m.CreateTime).ToList();
         }
         public bool AddLogOperationSo(string parentNo, string menuName, string fkNo, string type, string msg, int userId)
         {
diff --git a/Wms/WMS.BLL/SysServer/PalletsServer.cs b/Wms/WMS.BLL/SysServer/PalletsServer.cs
index 8a7c445..7905c29 100644
--- a/Wms/WMS.BLL/SysServer/PalletsServer.cs
+++ b/Wms/WMS.BLL/SysServer/PalletsServer.cs
@@ -125,8 +125,17 @@
 
                 var str = pallNo.Substring(3, 5);
                 string remove = pallNo.Substring(0, 3);
-                int sibelius = Convert.ToInt16(str);
+                int sibelius = 0;
                 var num = 0;
+                if (remove != "T" + DateTime.Now.ToString("yy"))
+                {
+                    remove = "T" + DateTime.Now.ToString("yy");
+                    sibelius = 0;
+                }
+                else
+                {
+                    sibelius = Convert.ToInt16(str);
+                }
                 for (int i = 0; i < groupCount; i++)
                 {
                     sibelius += 1;
diff --git a/Wms/WMS.Entity/Context/DataContext.cs b/Wms/WMS.Entity/Context/DataContext.cs
index 3598c1b..5378c9d 100644
--- a/Wms/WMS.Entity/Context/DataContext.cs
+++ b/Wms/WMS.Entity/Context/DataContext.cs
@@ -26,7 +26,7 @@
                 //Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
 
                 //鑾峰彇鏃犲弬鏁板寲SQL 瀵规�ц兘鏈夊奖鍝嶏紝鐗瑰埆澶х殑SQL鍙傛暟澶氱殑锛岃皟璇曚娇鐢�
-                //Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars));
+                Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars));
 
             };
 
diff --git a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
index d786a62..20c29d2 100644
--- a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
@@ -1,7 +1,10 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
+using SqlSugar;
 
 namespace WMS.IBLL.IBllSoServer
 {
@@ -15,7 +18,7 @@
         /// <param name="limit"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count);
+        Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鑾峰彇鎷h揣鏄庣粏涓缁嗙鏀俊鎭� 鏍规嵁绠辩爜\鏀爜
diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs
index 6754893..8e63369 100644
--- a/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs
@@ -1,7 +1,10 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
+using SqlSugar;
 
 namespace WMS.IBLL.IBllSoServer
 {
@@ -22,7 +25,7 @@
         /// <param name="limit"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count);
+        Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鎾ら攢鍒嗛厤锛堝垹闄わ級
diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
index 870ddad..c5939bc 100644
--- a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
@@ -110,8 +110,7 @@
         /// <param name="limit"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo,
-            string inspectMark, string bitPalletMark, int page, int limit, out int count);
+        Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鎵樼洏涓嬪彂鍑哄簱
diff --git a/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs b/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs
index 190caf7..16d646b 100644
--- a/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs
@@ -1,8 +1,11 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using Model.InterFaceModel;
 using Model.ModelDto.BllSoDto;
+using Model.ModelVm.BllSoVm;
+using SqlSugar;
 
 namespace WMS.IBLL.IBllSoServer
 {
@@ -19,7 +22,7 @@
         /// <param name="limit">鏁伴噺</param>
         /// <param name="count">涓暟閲�</param>
         /// <returns></returns>
-        List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count);
+        Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鑾峰彇娣诲姞娉㈡鍗曠殑鍑哄簱鍗曚俊鎭�
diff --git a/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs b/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs
index 0197a1a..5043705 100644
--- a/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs
+++ b/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs
@@ -1,7 +1,9 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.LogDto;
+using SqlSugar;
 
 namespace WMS.IBLL.ILogServer
 {
@@ -19,8 +21,8 @@
         /// <param name="limit"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        List<OperationDto> GetLogOperationSoList(string menuName, string type, string msg, string startTime,
-            string endTime, int page, int limit, out int count);
+        Task<List<OperationDto>> GetLogOperationSoList(string menuName, string type, string msg, string startTime,
+            string endTime, int page, int limit, RefAsync<int> count);
         /// <summary>
         /// 娣诲姞鍑哄簱鎿嶄綔鏃ュ織
         /// </summary>
diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs
index 6b3cd21..d92a29a 100644
--- a/Wms/Wms/Controllers/BllAsnController.cs
+++ b/Wms/Wms/Controllers/BllAsnController.cs
@@ -20,7 +20,7 @@
     [Route("api/[controller]/[action]")]
     [ApiController]
     [Authorize]
-    
+
     public class BllAsnController : ControllerBase
     {
         #region 渚濊禆娉ㄥ叆
@@ -36,7 +36,7 @@
         #endregion
 
         #region 鏋勯�犲嚱鏁�
-        public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc,IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc,IOperationASNServer logSvc, IPalletUnbindServer palletUnbind,IAuditLogServer auditLog,IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc)
+        public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc)
         {
             _arrivalNoticeSvc = arrivalNoticeSvc;
             _PalletBindSvc = palletBindSvc;
@@ -64,7 +64,7 @@
             RefAsync<int> count = new RefAsync<int>();
             var bolls = await _arrivalNoticeSvc.GetArrivalNoticeList(model, count);
             return new SqlSugarPagedList() { Items = bolls, Total = count };
-        } 
+        }
 
 
         [HttpPost]
@@ -182,7 +182,7 @@
                 }
                 if (strMesage.Contains("-1"))
                 {
-                    return Ok(new { code = 0, msg = "閮ㄥ垎鎴愬姛 "+ strMesage });
+                    return Ok(new { code = 0, msg = "閮ㄥ垎鎴愬姛 " + strMesage });
                 }
                 else
                 {
@@ -270,7 +270,7 @@
         /// <param name="reason"></param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult CancelOrder(int id,string reason)
+        public IActionResult CancelOrder(int id, string reason)
         {
             try
             {
@@ -284,12 +284,12 @@
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
                 }
-                 
-                _arrivalNoticeSvc.CancelOrder(id,reason,int.Parse(userId));
 
-                 
+                _arrivalNoticeSvc.CancelOrder(id, reason, int.Parse(userId));
+
+
                 return Ok(new { code = 0, msg = "鍏ュ簱鍗曟挙閿�鐢宠鎴愬姛" });
-                 
+
             }
             catch (Exception e)
             {
@@ -364,13 +364,13 @@
         }
 
         [HttpGet]
-        public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3,int bindNo=0)
+        public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3, int bindNo = 0)
         {
             try
             {
-                var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3,bindNo);
+                var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3, bindNo);
 
-                return Ok(new { code = 0, count= models.Count, msg = "绠辨敮鏄庣粏淇℃伅", data = models });
+                return Ok(new { code = 0, count = models.Count, msg = "绠辨敮鏄庣粏淇℃伅", data = models });
             }
             catch (Exception e)
             {
@@ -428,7 +428,7 @@
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
                 }
-                _PalletBindSvc.DelBindBoxInfo(boxNo,int.Parse(userId));
+                _PalletBindSvc.DelBindBoxInfo(boxNo, int.Parse(userId));
 
                 return Ok(new { code = 0, count = 0, msg = "鍒犻櫎鎴愬姛", data = "" });
             }
@@ -460,7 +460,7 @@
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
                 }
-                _PalletBindSvc.CancelPalletBind(id, reason,int.Parse(userId));
+                _PalletBindSvc.CancelPalletBind(id, reason, int.Parse(userId));
 
                 return Ok(new { code = 0, count = 0, msg = "鎵樼洏缁戝畾鎾ら攢鐢宠鎴愬姛", data = "" });
             }
@@ -484,7 +484,7 @@
             {
                 var list = _BoxInfoSvc.GetBoxInfoList(boxNo, isContinue, boxNo2);
                 var num = 0;
-                if (list!=null)
+                if (list != null)
                 {
                     num = list.Count;
                 }
@@ -510,7 +510,7 @@
         {
             try
             {
-                var models = _PalletBindSvc.GetLocateList("W01",model.RoadwayNo,model.Row,model.Column,model.Layer,model.LocateNo,model.StockDetailId, model.Page,model.Limit, out int count);
+                var models = _PalletBindSvc.GetLocateList("W01", model.RoadwayNo, model.Row, model.Column, model.Layer, model.LocateNo, model.StockDetailId, model.Page, model.Limit, out int count);
 
                 return Ok(new { code = 0, count, msg = "鑾峰彇鎸囧畾鍌ㄤ綅淇℃伅", data = models });
             }
@@ -540,7 +540,7 @@
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
                 }
-                _PalletBindSvc.SaveAppointSlot(model.BindId,model.LocateId,int.Parse(userId));
+                _PalletBindSvc.SaveAppointSlot(model.BindId, model.LocateId, int.Parse(userId));
 
                 return Ok(new { code = 0, count = 0, msg = "鎸囧畾鍌ㄤ綅鎴愬姛", data = "" });
             }
@@ -692,7 +692,7 @@
                 RefAsync<int> count = new RefAsync<int>();
                 var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "鍏ュ簱浠诲姟淇℃伅", data = bolls });
+                return Ok(new { code = 0, count = count.Value, msg = "鍏ュ簱浠诲姟淇℃伅", data = bolls });
             }
             catch (Exception e)
             {
@@ -861,9 +861,9 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _auditLog.EditAudit(model.Id,model.Status,model.Opinion, int.Parse(userId));
+                _auditLog.EditAudit(model.Id, model.Status, model.Opinion, int.Parse(userId));
 
-                return Ok(new { code = 0, count=0, msg = "瀹℃牳璁板綍鍒楄〃", data = "" });
+                return Ok(new { code = 0, count = 0, msg = "瀹℃牳璁板綍鍒楄〃", data = "" });
             }
             catch (Exception e)
             {
@@ -920,7 +920,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
                 var list = _BoxInfoSvc.AddLabelBox(model.Id, model.IsReset, decimal.Parse(model.ArriveQty), model.ProductionTime, model.ExpirationTime, model.StoreTime, model.SupplierLot, int.Parse(userId));
-                return Ok(new { code = 0,  msg = "鐢熸垚绠辩爜鏍囩鎴愬姛", data = list });
+                return Ok(new { code = 0, msg = "鐢熸垚绠辩爜鏍囩鎴愬姛", data = list });
             }
             catch (Exception e)
             {
@@ -945,7 +945,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2,model.Type,int.Parse(userId));
+                var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2, model.Type, int.Parse(userId));
                 return Ok(new { code = 0, msg = "鑾峰彇琛ユ墦绠辩爜鏍囩淇℃伅", data = list });
             }
             catch (Exception e)
@@ -986,7 +986,7 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo,model.LotNo,int.Parse(userId));
+                _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo, model.LotNo, int.Parse(userId));
                 return Ok(new { code = 0, msg = "鍒犻櫎鎴愬姛", data = "" });
             }
             catch (Exception e)
@@ -1128,7 +1128,7 @@
         {
             try
             {
-                var type = new List<string>() { "0","1","2" };
+                var type = new List<string>() { "0", "1", "2" };
                 var bolls = _taskSvc.GetArchivingTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, out int count);
 
                 return Ok(new { code = 0, count, msg = "浠诲姟淇℃伅", data = bolls });
@@ -1149,7 +1149,7 @@
         {
             try
             {
-                var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom,model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count);
+                var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom, model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count);
 
                 return Ok(new { code = 0, count, msg = "鍏ュ簱鎿嶄綔鏃ュ織淇℃伅", data = bolls });
             }
@@ -1168,7 +1168,7 @@
         /// <returns>閲囪喘鍗曚俊鎭�</returns>
         [HttpPost]
         [ServiceFilter(typeof(ApiResponseActionFilter))]
-        public async Task<SqlSugarPagedList>  GetProcurePlanNoticeList(ProcurePlanNoticeVm model)
+        public async Task<SqlSugarPagedList> GetProcurePlanNoticeList(ProcurePlanNoticeVm model)
         {
             RefAsync<int> count = new RefAsync<int>();
             var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count);
@@ -1215,7 +1215,7 @@
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
                 }
-               
+
                 _procurePlanSvc.CreateAsnByProcurePlan(Convert.ToInt32(model.Id), int.Parse(UserId));
 
                 return Ok(new { code = 0, msg = "娣诲姞鎴愬姛" });
diff --git a/Wms/Wms/Controllers/BllCheckController.cs b/Wms/Wms/Controllers/BllCheckController.cs
index 812b777..5ac84ab 100644
--- a/Wms/Wms/Controllers/BllCheckController.cs
+++ b/Wms/Wms/Controllers/BllCheckController.cs
@@ -70,7 +70,7 @@
         {
             RefAsync<int> count = new RefAsync<int>();
             var bolls = await _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, count);
-            return Ok(new { code = 0, count, msg = "鐩樼偣鍗曚俊鎭�", data = bolls });
+            return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣鍗曚俊鎭�", data = bolls });
         }
 
         /// <summary>
@@ -84,7 +84,7 @@
             RefAsync<int> count = new RefAsync<int>();
             var bolls = await _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, count);
 
-            return Ok(new { code = 0, count, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls });
+            return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls });
         }
         /// <summary>
         /// 鑾峰彇搴撳瓨鏄庣粏淇℃伅锛堢洏鐐归�夋嫨鏄庣粏鏁版嵁婧愶級
@@ -96,7 +96,7 @@
         {
             RefAsync<int> count = new RefAsync<int>();
             var bolls = await _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, count);
-            return Ok(new { code = 0, count, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls });
+            return Ok(new { code = 0, count = count.Value, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls });
         }
 
         /// <summary>
@@ -175,7 +175,7 @@
                 RefAsync<int> count = new RefAsync<int>();
                 var list = await _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "鐩樼偣璁板綍", data = list });
+                return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣璁板綍", data = list });
             }
             catch (Exception e)
             {
@@ -201,7 +201,7 @@
                 RefAsync<int> count = new RefAsync<int>();
                 var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "搴撳唴浠诲姟淇℃伅", data = bolls });
+                return Ok(new { code = 0, count = count.Value, msg = "搴撳唴浠诲姟淇℃伅", data = bolls });
             }
             catch (Exception e)
             {
@@ -222,7 +222,7 @@
                 RefAsync<int> count = new RefAsync<int>();
                 var bolls = await _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls });
+                return Ok(new { code = 0, count = count.Value, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls });
             }
             catch (Exception e)
             {
@@ -336,7 +336,7 @@
         {
             RefAsync<int> count = new RefAsync<int>();
             List<MateDataStockDto> mateDataStockDtos = await _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, count);
-            return Ok(new { code = 0, count, msg = "鑾峰彇搴撳鎵樼洏淇℃伅鎴愬姛", data = mateDataStockDtos });
+            return Ok(new { code = 0, count = count.Value, msg = "鑾峰彇搴撳鎵樼洏淇℃伅鎴愬姛", data = mateDataStockDtos });
         }
 
         /// <summary>
diff --git a/Wms/Wms/Controllers/BllSoController.cs b/Wms/Wms/Controllers/BllSoController.cs
index f81022e..73a6d6d 100644
--- a/Wms/Wms/Controllers/BllSoController.cs
+++ b/Wms/Wms/Controllers/BllSoController.cs
@@ -522,18 +522,13 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetExportAllotList(GetExportAllotVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetExportAllotList(GetExportAllotVm model)
         {
-            try
-            {
-                var bolls = _exAllotSvc.GetExportAllotList(model.SoNo, model.WaveNo, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.Status,model.BoxNo, model.Page, model.Limit, out int count);
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _exAllotSvc.GetExportAllotList(model, count);
 
-                return Ok(new { code = 0, count, msg = "鍑哄簱鍒嗛厤淇℃伅", data = bolls });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         /// <summary>
@@ -577,18 +572,13 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetCompleteDetailList(GetCompleteDetailVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetCompleteDetailList(GetCompleteDetailVm model)
         {
-            try
-            {
-                var bolls = _comDetailSvc.GetCompleteDetailList(model.Id,model.Page, model.Limit, out int count);
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _comDetailSvc.GetCompleteDetailList(model, count);
 
-                return Ok(new { code = 0, count, msg = "鎷h揣鏄庣粏淇℃伅", data = bolls });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         [HttpGet]
@@ -615,19 +605,14 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        [HttpPost] 
-        public IActionResult GetPalletNoOutList(GetPalletNoOutVm model)
+        [HttpPost]
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetPalletNoOutList(GetPalletNoOutVm model)
         {
-            try
-            {
-                var bolls = _exNoticeSvc.GetPalletNoOutList(model.SkuNo,model.SkuName,model.PalletNo,model.LotNo,model.InspectMark,model.BitPalletMark,model.Page,model.Limit,out int count);
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _exNoticeSvc.GetPalletNoOutList(model, count);
 
-                return Ok(new { code = 0, count, msg = "鑾峰彇鎵樼洏鍑哄簱鏁版嵁寮傚父", data = bolls});
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = "鎵樼洏鍑哄簱鏁版嵁" + e.Message });
-            }
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         /// <summary>
@@ -722,7 +707,7 @@
                 RefAsync<int> count = new RefAsync<int>();
                 var bolls = await _taskSvc.GetTaskList( type, model.Type,model.Status,model.TaskNo,model.IsSuccess,model.PalletNo,model.Msg,model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "鍑哄簱浠诲姟淇℃伅", data = bolls });
+                return Ok(new { code = 0, count = count.Value, msg = "鍑哄簱浠诲姟淇℃伅", data = bolls });
             }
             catch (Exception e)
             {
@@ -865,18 +850,13 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetLogOperationSoList(GetOperationVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetLogOperationSoList(GetOperationVm model)
         {
-            try
-            {
-                var bolls = _logSvc.GetLogOperationSoList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime,model.Page, model.Limit, out int count);
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _logSvc.GetLogOperationSoList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count);
 
-                return Ok(new { code = 0, count, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         #endregion
@@ -910,18 +890,13 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetWaveMageList(GetWaveMageVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetWaveMageList(GetWaveMageVm model)
         {
-            try
-            {
-                var bolls = _waveSvc.GetWaveMageList(model.WaveNo, model.Status, model.LotNo, model.LogisticsId, model.Page, model.Limit, out int count);
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _waveSvc.GetWaveMageList(model, count);
 
-                return Ok(new { code = 0, count, msg = "鍑哄簱鍗曚俊鎭�", data = bolls });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         /// <summary>
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index fd9e65d..8297390 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -174,31 +174,25 @@
         /// <returns></returns>
         [Authorize]
         [HttpGet]
+        [UnitOfWork]
         public async Task<IActionResult> CheckOutHouse(string crNo, string outMode)
         {
-            try
+            //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+            var claimsIdentity = this.User.Identity as ClaimsIdentity;
+            if (claimsIdentity == null)
             {
-                //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                if (claimsIdentity == null)
-                {
-                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
-                }
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                if (string.IsNullOrWhiteSpace(userId))
-                {
-                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
-                }
-                string str = "";
-                var list = await _crCheckSvc.CheckOutHouse(crNo, outMode, _config.WcsHost + _config.IssueComApiUrl, str);
-
-                return Ok(new { code = 0, msg = str, data = list });
-
+                return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
             }
-            catch (Exception e)
+            var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+            if (string.IsNullOrWhiteSpace(userId))
             {
-                return Ok(new { code = 1, msg = e.Message });
+                return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
             }
+            string str = "";
+            var list = await _crCheckSvc.CheckOutHouse(crNo, outMode, _config.WcsHost + _config.IssueComApiUrl, str);
+
+            return Ok(new { code = 0, msg = str, data = list });
+
         }
 
         /// <summary>

--
Gitblit v1.8.0