From 1d7d162b102320c08ca09eab8401ec2203b83e12 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 01 八月 2024 08:28:19 +0800
Subject: [PATCH] 盘点

---
 HTML/js/public.js                              |    9 
 Wms/Wms/Controllers/PdaSoController.cs         |  125 +-----
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs        |  642 ++++++++++++++++-------------------
 Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs        |   25 
 Pda/js/public.js                               |  171 ++++++---
 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs |   62 ++
 Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs   |   28 +
 Wms/Wms/Controllers/DownApiController.cs       |    1 
 8 files changed, 538 insertions(+), 525 deletions(-)

diff --git a/HTML/js/public.js b/HTML/js/public.js
index f209f46..59bbbe0 100644
--- a/HTML/js/public.js
+++ b/HTML/js/public.js
@@ -38,8 +38,15 @@
   if (url!=IP+"/WeatherForecast/Login") {
     if (!$.cookie('token')) {
       callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+      try{
+        parent.window.location.href = '/views/Login.html';
+      }
+      catch(error){
+        window.location.href = '/views/Login.html';
+      }
+      return;
     }
-    if(isExpired = isTokenExpired($.cookie('token'))){
+    if(isTokenExpired($.cookie('token'))){
       try{
         parent.window.location.href = '/views/Login.html';
       }
diff --git a/Pda/js/public.js b/Pda/js/public.js
index f5ee6a9..5217d3a 100644
--- a/Pda/js/public.js
+++ b/Pda/js/public.js
@@ -1,8 +1,8 @@
 //  var IP = "http://47.104.149.73:1991";//鎺ュ彛IP
 // var IP = "https://localhost:44368";
- //var IP = "http://localhost:13243/api";
- var IP = "http://localhost:50515/api";
- //var IP = "http://192.168.1.2:8017/";
+//var IP = "http://localhost:13243/api";
+var IP = "http://localhost:50515/api";
+//var IP = "http://192.168.1.2:8017/";
 // var IP = "http://192.168.10.112/WmsService/";
 // var IP = "http://192.168.1.226:8086";
 // var IP = "http://192.168.62.200:8888/api";  
@@ -10,92 +10,141 @@
 function sendData(url, data, type, callbackFun) {
 	// callbackFun("{}");
 	// return;
-	
- 	var deferred = $.Deferred();
- 	if (type != "get") {
+	var deferred = $.Deferred();
+	if (type != "get") {
 		data = JSON.stringify(data);
-	} 
-	if (url!=IP+"/WeatherForecast/Login") {
+	}
+	if (url != IP + "/WeatherForecast/Login") {
 		if (!$.cookie('token')) {
 			callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+			try {
+				parent.window.location.href = '/views/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/views/Login.html';
+			}
+			return;
 		}
-	} 
- 	$.ajax({
- 		url: url,
- 		data: data,
- 		type: type,
- 		headers: {
- 			'Content-Type': 'application/json',
-			"ToKen":$.cookie('token')
- 		},
- 		timeout: 45000,
- 		async: true,
- 		cache: false,
- 		beforeSend: function(xhr, settings) {},
- 		success: function(res, status, xhr) {
- 			callbackFun(res);
- 		},
- 		error: function(xhr, status, error) {
+		if (isTokenExpired($.cookie('token'))) {
+			try {
+				parent.window.location.href = '/views/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/views/Login.html';
+			}
+			return;
+		}
+	}
+	$.ajax({
+		url: url,
+		data: data,
+		type: type,
+		headers: {
+			'Content-Type': 'application/json',
+			"ToKen": $.cookie('token')
+		},
+		timeout: 45000,
+		async: true,
+		cache: false,
+		beforeSend: function (xhr, settings) { },
+		success: function (res, status, xhr) {
+			callbackFun(res);
+		},
+		error: function (xhr, status, error) {
 			callbackFun(xhr, status, error);
 			// layer.msg(xhr.statusText, {
 			//   icon: 2,
 			//   time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 			// }, function() {});
- 		}
- 	});
+		}
+	});
 }
 function synData(url, data, type, callbackFun) {
 	var deferred = $.Deferred();
 	if (type != "get") {
 		data = JSON.stringify(data);
-	} 
-	if (url!=IP+"/WeatherForecast/Login") {
+	}
+	if (url != IP + "/WeatherForecast/Login") {
 		if (!$.cookie('token')) {
 			callbackFun("鐧诲綍浜轰俊鎭凡澶辨晥");
+			try {
+				parent.window.location.href = '/view/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/view/Login.html';
+			}
+			return;
 		}
-	} 
+		if (isTokenExpired($.cookie('token'))) {
+			try {
+				parent.window.location.href = '/view/Login.html';
+			}
+			catch (error) {
+				window.location.href = '/view/Login.html';
+			}
+			return;
+		}
+	}
 	$.ajax({
-	  url: url,
-	  data: data,
-	  type: type,
-	  headers: {
-		"Content-Type": "application/json",
-		"ToKen":$.cookie('token'),
-	  },
-	  timeout: 45000,
-	  async: false,
-	  cache: false,
-	  beforeSend: function (xhr, settings) {},
-	  success: function (res, status, xhr) {
-		callbackFun(res);
-	  },
-	  error: function (xhr, status, error) {
-		console.log("澶辫触浜�");
-		console.log(xhr);
-		callbackFun(xhr, status, error);
-	  },
+		url: url,
+		data: data,
+		type: type,
+		headers: {
+			"Content-Type": "application/json",
+			"ToKen": $.cookie('token'),
+		},
+		timeout: 45000,
+		async: false,
+		cache: false,
+		beforeSend: function (xhr, settings) { },
+		success: function (res, status, xhr) {
+			callbackFun(res);
+		},
+		error: function (xhr, status, error) {
+			console.log("澶辫触浜�");
+			console.log(xhr);
+			callbackFun(xhr, status, error);
+		},
 	});
 }
-  
-$("#navIcon").click(function(){
-    if($(".nav_list").css('display')=='none'){
-        $(".nav_list").show();
-    }else{
-        $(".nav_list").hide();
-    }
+
+$("#navIcon").click(function () {
+	if ($(".nav_list").css('display') == 'none') {
+		$(".nav_list").show();
+	} else {
+		$(".nav_list").hide();
+	}
 });
 
 //娣辨嫹璐�
 function deepCopy(obj) {
 	let newobj = null     // 鎺ュ彈鎷疯礉鐨勬柊瀵硅薄
-	if(typeof(obj) == 'object' && typeof(obj) !== null) {   // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
-		newobj = obj instanceof Array? []: {}               // 鍒ゆ柇鏄暟缁勮繕鏄璞�
-		for(var i in obj) {   
+	if (typeof (obj) == 'object' && typeof (obj) !== null) {   // 鍒ゆ柇鏄惁鏄紩鐢ㄧ被鍨�
+		newobj = obj instanceof Array ? [] : {}               // 鍒ゆ柇鏄暟缁勮繕鏄璞�
+		for (var i in obj) {
 			newobj[i] = deepCopy(obj[i])                        // 鍒ゆ柇涓嬩竴绾ф槸鍚﹁繕鏄紩鐢ㄧ被鍨�
-		} 
+		}
 	} else {
 		newobj = obj
 	}
-	
+
 	return newobj
 }
+
+function isTokenExpired(token) {
+	const tokenParts = token.split('.');
+	if (tokenParts.length !== 3) {
+	  return true; // JWT 鏍煎紡涓嶆纭�
+	}
+	const payloadBase64 = tokenParts[1];
+	const payload = JSON.parse(atob(payloadBase64));
+	
+	if (!payload || !payload.exp) {
+	  return true; // 娌℃湁鏈夋晥杞借嵎鎴栬�呮病鏈夎繃鏈熸椂闂�
+	}
+	
+	const now = Date.now() / 1000; // 褰撳墠鏃堕棿鎴筹紙绉掞級
+	const expiration = payload.exp;
+	
+	return now >= expiration;
+  }
\ No newline at end of file
diff --git a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
index 0558089..a67e6e5 100644
--- a/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
+++ b/Wms/Model/ModelVm/BllCheckVm/StockCheckVm.cs
@@ -99,4 +99,32 @@
     { 
         public string taskNo { get; set; }
     }
+
+    public class CheckVm
+    {
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public string CrNo { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string SkuNo { get; set; }
+        /// <summary>
+        /// 鎵规
+        /// </summary>
+        public string LotNo { get; set; }
+        /// <summary>
+        /// 鎵樼洏鍙�
+        /// </summary>
+        public string PalletNo { get; set; }
+        /// <summary>
+        /// 绠辩爜鍙�
+        /// </summary>
+        public string BoxNo { get; set; }
+        /// <summary>
+        /// 鏀爜鍙�
+        /// </summary>
+        public List<string> BoxNo3 { get; set; }
+    }
 }
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 2b7ea82..22739af 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -1423,9 +1423,8 @@
                 #endregion
                 if (locate.Status == "1") //鏈夌墿鍝�
                 {
-                    #region 娣诲姞鍑哄簱浠诲姟
+                    #region 娣诲姞瑙嗚鐩樼偣浠诲姟
                     var taskNo = new Common().GetMaxNo("TK");
-                    //娣诲姞鍑哄簱浠诲姟
                     var exTask = new LogTask
                     {
                         TaskNo = taskNo,
@@ -1440,7 +1439,7 @@
                         IsFinish = 1,//鏄惁鍙畬鎴�
                         Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                         Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
-                        OrderType = "5",////0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 5瑙嗚鐩樼偣
+                        OrderType = "6",////0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 6瑙嗚鐩樼偣
                         Msg = $"{locateNo}鐨勮瑙夌洏鐐逛换鍔�",
                         CreateTime = time
                     };
@@ -1471,7 +1470,7 @@
                             await Db.Updateable(notice).ExecuteCommandAsync();
                         }
                     }
-                    locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
+                    //locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
                     await Db.Updateable(locate).ExecuteCommandAsync();
 
                     item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
@@ -1572,6 +1571,42 @@
             return outDtoList;
             #endregion
         }
+
+        /// <summary>
+        /// 瑙嗚鐩樼偣浼犵粨鏋�
+        /// </summary>
+        /// <param name="crNo"></param>
+        /// <param name="url"></param>
+        /// <param name="str"></param>
+        /// <returns></returns>
+        public async Task CheckVision(CheckVm model)
+        {
+            if (string.IsNullOrWhiteSpace(model.CrNo))
+            {
+                throw Oops.Bah("鐩樼偣鍗曟嵁涓嶈兘涓虹┖");
+            }
+            if (string.IsNullOrWhiteSpace(model.SkuNo))
+            {
+                throw Oops.Bah("鐗╂枡涓嶈兘涓虹┖");
+            }
+            if (string.IsNullOrWhiteSpace(model.LotNo))
+            {
+                throw Oops.Bah("鐗╂枡鎵规涓嶈兘涓虹┖");
+            }
+            if (string.IsNullOrWhiteSpace(model.PalletNo))
+            {
+                throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�");
+            }
+            //鐩樼偣鏄庣粏
+            var checkDetail = await Db.Queryable<BllStockCheckDetail>().FirstAsync(m =>
+                m.IsDel == "0" && m.CRNo == model.CrNo && m.PalletNo == model.PalletNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
+            if (checkDetail == null)
+            {
+                throw Oops.Bah("鏈煡璇㈠埌鏈洏鐐圭殑鐩樼偣鏄庣粏淇℃伅");
+            }
+            var modSku = await Db.Queryable<SysMaterials>().Where(s => s.SkuNo == model.SkuNo).FirstAsync();
+
+        }
         //鐩樼偣鍑哄簱瀹屾垚
         public async Task CheckSuccess(string taskNo, int userId)
         {
@@ -1600,15 +1635,18 @@
                 task.IsFinish = 0;
                 task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
                 await Db.Updateable(task).ExecuteCommandAsync();
-                locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
-                await Db.Updateable(locate).ExecuteCommandAsync();
-                foreach (var item in stockDetail)
+                if(task.OrderType != "6")//瑙嗚鐩樼偣涓嶆洿鏀圭姸鎬�
                 {
-                    item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
-                    item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
-                    item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
-                    item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
-                    await Db.Updateable(item).ExecuteCommandAsync();
+                    locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
+                    await Db.Updateable(locate).ExecuteCommandAsync();
+                    foreach (var item in stockDetail)
+                    {
+                        item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+                        item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+                        item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+                        item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+                        await Db.Updateable(item).ExecuteCommandAsync();
+                    }
                 }
                 //鐩樼偣鏄庣粏锛堟洿鏀圭姸鎬侊級
                 var checkDetails = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == 1 && m.PalletNo == task.PalletNo))).ToListAsync();
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 6526b6b..a8d053b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -20,6 +20,8 @@
 using WMS.Entity.LogEntity;
 using WMS.Entity.BllQualityEntity;
 using WMS.Entity.BllAsnEntity;
+using System.Threading.Tasks;
+using Utility;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -28,344 +30,292 @@
         private static readonly SqlSugarScope Db = DataContext.Db;
 
         //楠岃瘉鎵樼洏鏄惁瀛樺湪骞舵槸鍚﹀彲鍑哄簱
-        public string IsEnableOkPalletNo(string palletNo)
+        public async Task<string> IsEnableOkPalletNo(string palletNo)
         {
-            try
-            {
-                string sqlMsg = "";
-                var models = Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+            string sqlMsg = "";
+            var models = await Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToListAsync();
 
-                if (models.Count > 1)
-                {
-                    sqlMsg = "-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!";
-                    return sqlMsg;
-                }
-                if (models.Count > 0)
-                {
-                    if (models[0].Status == "0")
-                    {
-                        sqlMsg = "-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!";
-                    }
-                }
-                else
-                {
-                    sqlMsg = "-1:鎵樼洏鍙蜂笉瀛樺湪!";
-                }
-
-                return sqlMsg;
-            }
-            catch (Exception ex)
+            if (models.Count > 1)
             {
-                throw new Exception(ex.Message);
+                throw Oops.Bah("-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!");
             }
+            if (models.Count > 0)
+            {
+                if (models[0].Status == "0")
+                {
+                    throw Oops.Bah("-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!");
+                }
+            }
+            else
+            {
+                throw Oops.Bah("-1:鎵樼洏鍙蜂笉瀛樺湪!");
+            }
+
+            return sqlMsg;
         }
 
         //鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁
-        public List<string> GetRunSoNoticeList(string palletNo, string type)
+        public async Task<List<string>> GetRunSoNoticeList(string palletNo, string type)
         {
-            try
+            if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
             {
-                if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
-                {
-                    throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
-                }
-                var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
-                if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
-                {
-                    throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
-                }
-                if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
-                {
-                    var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-                    return allotList;
-                }
-                //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
-                var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-
-                //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-                //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
-                //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
-
-                return allotList2;
+                throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
             }
-            catch (Exception ex)
+            var palletInfo = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == palletNo);
+            if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
             {
-                throw new Exception(ex.Message);
+                throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�");
             }
+            if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
+            {
+                var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+                return allotList;
+            }
+            //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
+            var allotList2 = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+
+            //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+            //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
+            //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+
+            return allotList2;
         }
 
         //鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
-        public List<DetailIdSkuLotNo> GetSoSkuLotNoListByPallet(string palletNo, string soNo)
+        public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo)
         {
-            try
+            if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
             {
-                if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
-                {
-                    throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
-                }
-                //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
-                var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo);
-                //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5");
-                if (!string.IsNullOrWhiteSpace(soNo))
-                {
-                    allotList = allotList.Where(m => m.SONo == soNo);
-                }
-
-                var list = allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo()
-                {
-                    SoDetailId = m.SODetailNo,
-                    PalletNo = m.PalletNo,
-                    SkuNo = m.SkuNo,
-                    SkuName = m.SkuName,
-                    LotNo = m.LotNo,
-                }).ToList();
-
-                return list;
+                throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
             }
-            catch (Exception ex)
+            //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
+            var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo);
+            //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5");
+            if (!string.IsNullOrWhiteSpace(soNo))
             {
-                throw new Exception(ex.Message);
+                allotList = allotList.Where(m => m.SONo == soNo);
             }
+
+            var list = await allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo()
+            {
+                SoDetailId = m.SODetailNo,
+                PalletNo = m.PalletNo,
+                SkuNo = m.SkuNo,
+                SkuName = m.SkuName,
+                LotNo = m.LotNo,
+            }).ToListAsync();
+
+            return list;
         }
 
         //鑾峰彇鍑哄簱鍙c�佽鏍笺�佸緟鎷e強宸叉嫞鏁伴噺锛堟牴鎹嚭搴撳崟鏄庣粏ID銆佹墭鐩樺彿锛�
-        public OutPdaInfo GetOutlets(string soDetailId, string palletNo)
+        public async Task<OutPdaInfo> GetOutlets(string soDetailId, string palletNo)
         {
-            try
+            var allotInfo = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync();
+            if (allotInfo.Count == 0)
             {
-
-                var allotInfo = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList();
-                if (allotInfo.Count == 0)
-                {
-                    throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
-                }
-                if (allotInfo.Count > 1)
-                {
-                    throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
-                }
-                var data = allotInfo.First();
-                var data2 = new OutPdaInfo()
-                {
-                    OutModel = data.OutMode,
-                    Standard = data.Standard,
-                    PickQty = data.Qty,
-                    PickedQty = data.CompleteQty
-                };
-                return data2;
+                throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
             }
-            catch (Exception e)
+            if (allotInfo.Count > 1)
             {
-                throw new Exception(e.Message);
+                throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
             }
+            var data = allotInfo.First();
+            var data2 = new OutPdaInfo()
+            {
+                OutModel = data.OutMode,
+                Standard = data.Standard,
+                PickQty = data.Qty,
+                PickedQty = data.CompleteQty
+            };
+            return data2;
         }
 
         //鑾峰彇鍑哄簱鍗曠殑璁″垝鏁伴噺鍜屽畬鎴�
-        public OutPdaInfo GetPlanAndFinishQty(string soDetailId)
+        public async Task<OutPdaInfo> GetPlanAndFinishQty(string soDetailId)
         {
-            try
+            var detail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0");
+            if (detail == null)
             {
-                var detail = Db.Queryable<BllExportNoticeDetail>().First(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0");
-                if (detail == null)
-                {
-                    throw new Exception("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏");
-                }
-                var data = new OutPdaInfo()
-                {
-                    PlanQty = detail.Qty,
-                    FinishQty = detail.CompleteQty
-                };
-                return data;
+                throw Oops.Bah("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏");
             }
-            catch (Exception e)
+            var data = new OutPdaInfo()
             {
-                throw new Exception(e.Message);
-            }
+                PlanQty = detail.Qty,
+                FinishQty = detail.CompleteQty
+            };
+            return data;
         }
 
         //鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇㈠強鎷h揣鏄庣粏涓嫞璐ф暟閲忥級
-        public List<Model.ModelDto.BoxInfo> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3)
+        public async Task<List<BoxInfo>> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3)
         {
-            try
+            if (string.IsNullOrWhiteSpace(palletNo))
             {
-                if (string.IsNullOrWhiteSpace(palletNo))
+                throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�");
+            }
+            Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>()
+                .And(it => it.PalletNo == palletNo)
+                .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo)
+                .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3)
+                .And(m => m.IsDel == "0")
+                .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+            var info = Db.Queryable<DataBoxInfo>().Where(item);
+            if (info.Count() == 0)
+            {
+                throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅");
+            }
+
+            var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠�
+            var list = new List<BoxInfo>();
+            if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖
+            {
+                foreach (var demo in await info.ToListAsync())
                 {
-                    throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
-                }
-                Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>()
-                    .And(it => it.PalletNo == palletNo)
-                    .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo)
-                    .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3)
-                    .And(m => m.IsDel == "0")
-                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-                var info = Db.Queryable<DataBoxInfo>().Where(item);
-                if (info.Count() == 0)
-                {
-                    throw new Exception("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅");
+                    var t = new BoxInfo()
+                    {
+                        BoxNo = demo.BoxNo3,
+                        Qty = demo.Qty,
+                        //SkuNo = demo.SkuNo,
+                        //SkuName = demo.SkuName,
+                        //LotNo = demo.LotNo, 
+                    };
+                    list.Add(t);
                 }
 
-                var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠�
-                var list = new List<BoxInfo>();
-                if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖
+            }
+            else if (!string.IsNullOrWhiteSpace(palletNo))
+            {
+                list = await info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo
                 {
-                    foreach (var demo in info.ToList())
+                    BoxNo = it.BoxNo,
+                    Qty = SqlFunc.AggregateSum(it.Qty)
+                }).ToListAsync();
+                type = "1";
+            }
+            if (!string.IsNullOrWhiteSpace(soDetailId))
+            {
+                var allotInfos = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync();
+                if (allotInfos.Count == 0)
+                {
+                    throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
+                }
+                if (allotInfos.Count > 1)
+                {
+                    throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
+                }
+                var allotInfo = allotInfos.First();
+                var comInfo = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToListAsync();
+                if (comInfo.Count != 0)
+                {
+                    if (type == "0")
                     {
-                        var t = new BoxInfo()
+                        foreach (var demo in list)
                         {
-                            BoxNo = demo.BoxNo3,
-                            Qty = demo.Qty,
-                            //SkuNo = demo.SkuNo,
-                            //SkuName = demo.SkuName,
-                            //LotNo = demo.LotNo, 
-                        };
-                        list.Add(t);
-                    }
+                            //if (!string.IsNullOrWhiteSpace(boxNo3))
+                            //{
+                            //    var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
+                            //}
+                            //else if (!string.IsNullOrWhiteSpace(boxNo))
+                            //{
+                            //    if (expr)
+                            //    {
 
-                }
-                else if (!string.IsNullOrWhiteSpace(palletNo))
-                {
-                    list = info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo
-                    {
-                        BoxNo = it.BoxNo,
-                        Qty = SqlFunc.AggregateSum(it.Qty)
-                    }).ToList();
-                    type = "1";
-                }
-                if (!string.IsNullOrWhiteSpace(soDetailId))
-                {
-                    var allotInfos = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList();
-                    if (allotInfos.Count == 0)
-                    {
-                        throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�");
-                    }
-                    if (allotInfos.Count > 1)
-                    {
-                        throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄");
-                    }
-                    var allotInfo = allotInfos.First();
-                    var comInfo = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToList();
-                    if (comInfo.Count != 0)
-                    {
-                        if (type == "0")
-                        {
-                            foreach (var demo in list)
+                            //    }
+
+                            //}
+                            var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
+                            if (com != null)
                             {
-                                //if (!string.IsNullOrWhiteSpace(boxNo3))
-                                //{
-                                //    var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
-                                //}
-                                //else if (!string.IsNullOrWhiteSpace(boxNo))
-                                //{
-                                //    if (expr)
-                                //    {
-
-                                //    }
-
-                                //}
-                                var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
-                                if (com != null)
-                                {
-                                    demo.PickedQty = com.CompleteQty;
-                                }
-                            }
-                        }
-                        if (type == "1")
-                        {
-                            var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo
-                            {
-                                BoxNo = it.Key,
-                                PickedQty = it.Sum(a => a.CompleteQty)
-                            }).ToList();
-                            foreach (var demo in list)
-                            {
-
-                                var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo);
-                                if (com2 != null)
-                                {
-                                    demo.PickedQty = com2.PickedQty;
-                                }
+                                demo.PickedQty = com.CompleteQty;
                             }
                         }
                     }
+                    if (type == "1")
+                    {
+                        var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo
+                        {
+                            BoxNo = it.Key,
+                            PickedQty = it.Sum(a => a.CompleteQty)
+                        }).ToList();
+                        foreach (var demo in list)
+                        {
 
+                            var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo);
+                            if (com2 != null)
+                            {
+                                demo.PickedQty = com2.PickedQty;
+                            }
+                        }
+                    }
                 }
 
-                return list;
             }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
+
+            return list;
         }
 
         //鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅
-        public List<Model.ModelDto.BoxInfo> GetAllotPlnInfo(string soDetailId, string palletNo)
+        public async Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo)
         {
-            try
+            #region 鍒ゆ柇
+
+            //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭�
+            if (string.IsNullOrWhiteSpace(palletNo))
             {
-                #region 鍒ゆ柇
-
-                //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭�
-                if (string.IsNullOrWhiteSpace(palletNo))
-                {
-                    throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
-                }
-                //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭�
-                var boxInfo = Db.Queryable<DataBoxInfo>().First(b => b.IsDel == "0" && b.PalletNo == palletNo);
-                if (boxInfo != null)
-                {
-                    throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒");
-                }
-
-                BllExportAllot allot = null;
-                if (!string.IsNullOrWhiteSpace(soDetailId))
-                {
-                    //鍑哄簱鍗曟槑缁�
-                    var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
-                    if (noticeDetail == null)
-                    {
-                        throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
-                    }
-                    //鍑哄簱鍗曟�诲崟
-                    var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
-                    if (notice == null)
-                    {
-                        throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
-                    }
-                    //鍒嗛厤淇℃伅
-                    allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
-                    if (allot == null)
-                    {
-                        throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
-                    }
-                }
-
-                //搴撳瓨鏄庣粏
-                var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo);
-                if (detail == null)
-                {
-                    throw new Exception($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�");
-                }
-
-                #endregion
-
-                List<BoxInfo> pdaInfo = new List<BoxInfo>();
-
-                BoxInfo info = new BoxInfo()
-                {
-                    SkuNo = detail.SkuNo,
-                    BoxNo = detail.SkuNo,
-                    Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty,
-                    PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
-                };
-
-                pdaInfo.Add(info);
-                return pdaInfo;
-
+                throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�");
             }
-            catch (Exception e)
+            //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭�
+            var boxInfo = await Db.Queryable<DataBoxInfo>().FirstAsync(b => b.IsDel == "0" && b.PalletNo == palletNo);
+            if (boxInfo != null)
             {
-                throw new Exception(e.Message);
+                throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒");
             }
+
+            BllExportAllot allot = null;
+            if (!string.IsNullOrWhiteSpace(soDetailId))
+            {
+                //鍑哄簱鍗曟槑缁�
+                var noticeDetail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
+                if (noticeDetail == null)
+                {
+                    throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
+                }
+                //鍑哄簱鍗曟�诲崟
+                var notice = await Db.Queryable<BllExportNotice>().FirstAsync(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
+                if (notice == null)
+                {
+                    throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
+                }
+                //鍒嗛厤淇℃伅
+                allot = await Db.Queryable<BllExportAllot>().FirstAsync(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
+                if (allot == null)
+                {
+                    throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
+                }
+            }
+
+            //搴撳瓨鏄庣粏
+            var detail = await Db.Queryable<DataStockDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo);
+            if (detail == null)
+            {
+                throw Oops.Bah($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�");
+            }
+
+            #endregion
+
+            List<BoxInfo> pdaInfo = new List<BoxInfo>();
+
+            BoxInfo info = new BoxInfo()
+            {
+                SkuNo = detail.SkuNo,
+                BoxNo = detail.SkuNo,
+                Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty,
+                PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
+            };
+
+            pdaInfo.Add(info);
+            return pdaInfo;
         }
 
         //鍑哄簱pda鎷h揣
@@ -545,7 +495,7 @@
                             }
                         }
                     }
-                    
+
                 }
                 else
                 {
@@ -767,11 +717,11 @@
                         if (notice.IsWave == "1")
                         {
                             var waveNum = Db.Queryable<BllExportNotice>()
-                                .Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status !="4");
+                                .Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
                             if (waveNum == 0)
                             {
                                 var wave = Db.Queryable<BllWaveMage>().First(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
-                                if (wave!= null)
+                                if (wave != null)
                                 {
                                     wave.Status = "4";
                                     wave.UpdateUser = userId;
@@ -997,7 +947,7 @@
                         }
                     }
                 }
-                
+
 
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
                 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
@@ -1285,7 +1235,7 @@
 
                 #region 楠岃瘉鍌ㄤ綅鐘舵�佹槸鍚︽甯�
 
-                var locat = Db.Queryable<SysStorageLocat>().First(a=>a.IsDel == "0" && a.LocatNo == result.LocatNo);
+                var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == result.LocatNo);
                 if (locat == null)
                 {
                     throw new Exception("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!");
@@ -2798,7 +2748,7 @@
                             CreateUser = userId
                         };
                         comList.Add(completeDetail);
-                        
+
                         if (palletNo != palletNoNew)
                         {
                             item.StockDetailId = sdId;
@@ -2838,7 +2788,7 @@
                         stockDetail.SONo = soNo;
                         Db.Updateable(stockDetail).ExecuteCommand();
                     }
-                   
+
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.CompleteQty += pickQty;
                     Db.Updateable(noticeDetail).ExecuteCommand();
@@ -3100,7 +3050,7 @@
                         Db.Updateable(pinStockDetail).ExecuteCommand();
                     }
                 }
-                
+
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
                 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId);
                 Db.CommitTran();
@@ -3441,7 +3391,7 @@
                     throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�");
                 }
 
-                var boxInfo = Db.Queryable<DataBoxInfo>().Count(m=>m.IsDel == "0" && m.StockDetailId == detail.Id);
+                var boxInfo = Db.Queryable<DataBoxInfo>().Count(m => m.IsDel == "0" && m.StockDetailId == detail.Id);
 
                 //鍒ゆ柇鎵樼洏涓婃槸鍚︽湁绠辩爜淇℃伅
                 if (boxInfo > 0)
@@ -3465,7 +3415,7 @@
         {
             try
             {
-                var data = Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m=>m.QcNo).ToList();
+                var data = Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m => m.QcNo).ToList();
                 return data;
             }
             catch (Exception e)
@@ -3480,14 +3430,14 @@
             try
             {
                 var data = new InspectionRequestDto();
-                var inspectionRequest = Db.Queryable<BllQualityInspectionRequest>().First(m=>m.IsDel == "0" && m.QcNo == qcNo);
-                var samplingQty = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).Sum(m=>m.CompleteQty);
+                var inspectionRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.QcNo == qcNo);
+                var samplingQty = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).Sum(m => m.CompleteQty);
 
                 data.QcNo = qcNo;
                 data.Sku = inspectionRequest.SkuNo;
                 data.LotNo = inspectionRequest.LotNo;
                 data.Qty = inspectionRequest.SamplingQty.ToString();
-                data.SamplingQty = samplingQty == null? "0": samplingQty.ToString();
+                data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString();
 
                 return data;
             }
@@ -3700,24 +3650,24 @@
 
                     //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
                     //{
-                        var sampleDetail = new BllSamplingDetails()
-                        {
-                            QcNo = qcNo,
-                            ASNNo = inspecd.ASNNo,
-                            PalletNo = palletNo,
-                            BoxNo = boxInfo.BoxNo,
-                            BoxNo2 = boxInfo.BoxNo2,
-                            BoxNo3 = boxInfo.BoxNo3,
-                            SkuNo = boxInfo.SkuNo,
-                            SkuName = boxInfo.SkuName,
-                            Standard = boxInfo.Standard,
-                            LotNo = boxInfo.LotNo,
-                            SupplierLot = boxInfo.SupplierLot,
-                            CompleteQty = decimal.Parse(pickQty),
-                            CreateTime = DateTime.Now,
-                            CreateUser = userId
-                        };
-                        Db.Insertable(sampleDetail).ExecuteCommand();
+                    var sampleDetail = new BllSamplingDetails()
+                    {
+                        QcNo = qcNo,
+                        ASNNo = inspecd.ASNNo,
+                        PalletNo = palletNo,
+                        BoxNo = boxInfo.BoxNo,
+                        BoxNo2 = boxInfo.BoxNo2,
+                        BoxNo3 = boxInfo.BoxNo3,
+                        SkuNo = boxInfo.SkuNo,
+                        SkuName = boxInfo.SkuName,
+                        Standard = boxInfo.Standard,
+                        LotNo = boxInfo.LotNo,
+                        SupplierLot = boxInfo.SupplierLot,
+                        CompleteQty = decimal.Parse(pickQty),
+                        CreateTime = DateTime.Now,
+                        CreateUser = userId
+                    };
+                    Db.Insertable(sampleDetail).ExecuteCommand();
                     //}
                     //else
                     //{
@@ -3742,7 +3692,7 @@
                     {
                         item.BitBoxMark = "1";
                         item.InspectMark = "1";
-                            
+
                         if (unpackWarranty > 0 && boxInfoList.Count(m => m.ProductionTime != null) > 0)
                         {
                             if (item.ProductionTime != null)
@@ -3757,7 +3707,7 @@
 
                     }
                     Db.Updateable(boxInfoList).ExecuteCommand();
-                    
+
                     //搴撳瓨绠辩爜
                     boxInfo.Qty -= decimal.Parse(pickQty);
                     if (boxInfo.Qty == 0)
@@ -3830,24 +3780,24 @@
 
                         //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
                         //{
-                            var sampleDetail = new BllSamplingDetails()
-                            {
-                                QcNo = qcNo,
-                                ASNNo = inspecd.ASNNo,
-                                PalletNo = palletNo,
-                                BoxNo = boxInfo.BoxNo,
-                                BoxNo2 = boxInfo.BoxNo2,
-                                BoxNo3 = boxInfo.BoxNo3,
-                                SkuNo = boxInfo.SkuNo,
-                                SkuName = boxInfo.SkuName,
-                                Standard = boxInfo.Standard,
-                                LotNo = boxInfo.LotNo,
-                                SupplierLot = boxInfo.SupplierLot,
-                                CompleteQty = boxInfo.Qty,
-                                CreateTime = DateTime.Now,
-                                CreateUser = userId
-                            };
-                            Db.Insertable(sampleDetail).ExecuteCommand();
+                        var sampleDetail = new BllSamplingDetails()
+                        {
+                            QcNo = qcNo,
+                            ASNNo = inspecd.ASNNo,
+                            PalletNo = palletNo,
+                            BoxNo = boxInfo.BoxNo,
+                            BoxNo2 = boxInfo.BoxNo2,
+                            BoxNo3 = boxInfo.BoxNo3,
+                            SkuNo = boxInfo.SkuNo,
+                            SkuName = boxInfo.SkuName,
+                            Standard = boxInfo.Standard,
+                            LotNo = boxInfo.LotNo,
+                            SupplierLot = boxInfo.SupplierLot,
+                            CompleteQty = boxInfo.Qty,
+                            CreateTime = DateTime.Now,
+                            CreateUser = userId
+                        };
+                        Db.Insertable(sampleDetail).ExecuteCommand();
                         //}
                         //else
                         //{
@@ -3867,7 +3817,7 @@
 
                         //鎷嗗寘鏈夋晥鏈熸洿鏀�
                         var unpackWarranty = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo).UnpackWarranty;
-                        
+
                         foreach (var item in boxInfoList)
                         {
                             item.BitBoxMark = "1";
@@ -4025,10 +3975,10 @@
                 #endregion
 
                 //鍙栨牱鏄庣粏璁板綍琛�
-                var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo ).ToList();
+                var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToList();
                 var qty = decimal.Parse(pickQty);
                 //var isAddSampld = sampld.Count(m => m.PalletNo == palletNo) == 0; 
-                  
+
 
                 #region 鍒ゆ柇鏁伴噺
 
@@ -4047,25 +3997,25 @@
 
                 #region 娣诲姞鎴栦慨鏀瑰彇鏍锋槑缁�
 
-                Db.BeginTran();     
+                Db.BeginTran();
 
                 //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏
                 //{
-                    var sampleDetail = new BllSamplingDetails()
-                    {
-                        QcNo = qcNo,
-                        ASNNo = inspecd.ASNNo,
-                        PalletNo = palletNo,
-                        SkuNo = stockDetail.SkuNo,
-                        SkuName = stockDetail.SkuName,
-                        Standard = stockDetail.Standard,
-                        LotNo = stockDetail.LotNo,
-                        SupplierLot = stockDetail.SupplierLot,
-                        CompleteQty = qty,
-                        CreateTime = DateTime.Now,
-                        CreateUser = userId
-                    };
-                    Db.Insertable(sampleDetail).ExecuteCommand();
+                var sampleDetail = new BllSamplingDetails()
+                {
+                    QcNo = qcNo,
+                    ASNNo = inspecd.ASNNo,
+                    PalletNo = palletNo,
+                    SkuNo = stockDetail.SkuNo,
+                    SkuName = stockDetail.SkuName,
+                    Standard = stockDetail.Standard,
+                    LotNo = stockDetail.LotNo,
+                    SupplierLot = stockDetail.SupplierLot,
+                    CompleteQty = qty,
+                    CreateTime = DateTime.Now,
+                    CreateUser = userId
+                };
+                Db.Insertable(sampleDetail).ExecuteCommand();
                 //}
                 //else
                 //{
@@ -4133,7 +4083,7 @@
                 }
                 Db.Updateable(inspecd).ExecuteCommand();
                 #endregion
-                 
+
 
 
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 4de44c9..39cad2a 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -1,8 +1,9 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using Model.InterFaceModel;
-using Model.ModelDto; 
+using Model.ModelDto;
 using Model.ModelVm.PdaVm;
 
 namespace WMS.IBLL.IPdaServer
@@ -14,7 +15,7 @@
         /// </summary>
         /// <param name="palletNo">鎵樼洏鍙�</param>
         /// <returns>"":鍙娇鐢� -1:涓嶅彲浣跨敤锛堝師鍥�)</returns>
-        string IsEnableOkPalletNo(string palletNo);
+        Task<string> IsEnableOkPalletNo(string palletNo);
 
         /// <summary>
         /// 鑾峰彇鎵ц涓殑鍑哄簱鍗�(鏍规嵁鎵樼洏鐮�)
@@ -22,15 +23,15 @@
         /// <param name="palletNo">鎵樼洏鐮�</param>
         /// <param name="type">绫诲瀷 鍖哄垎鏄惁鏄钩搴撳嚭搴撹幏鍙栧崟鎹�</param>
         /// <returns></returns>
-        List<string> GetRunSoNoticeList(string palletNo, string type);
-        
+        Task<List<string>> GetRunSoNoticeList(string palletNo, string type);
+
         /// <summary>
         /// 鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
         /// </summary>
         /// <param name="palletNo">鎵樼洏鐮�</param>
         /// <param name="soNo">鍗曟嵁鍙�</param>
         /// <returns></returns>
-        List<DetailIdSkuLotNo> GetSoSkuLotNoListByPallet(string palletNo,string soNo);
+        Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo);
 
         /// <summary>
         /// 鑾峰彇鍑哄簱鍙c�佽鏍笺�佸緟鎷e強宸叉嫞鏁伴噺锛堟牴鎹嚭搴撳崟鏄庣粏ID銆佹墭鐩樺彿锛�
@@ -38,14 +39,14 @@
         /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
         /// <param name="palletNo">鎵樼洏鍙�</param>
         /// <returns></returns>
-        OutPdaInfo GetOutlets(string soDetailId, string palletNo);
+        Task<OutPdaInfo> GetOutlets(string soDetailId, string palletNo);
 
         /// <summary>
         /// 鑾峰彇鍑哄簱鍗曠殑璁″垝鏁伴噺鍜屽畬鎴�
         /// </summary>
         /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
         /// <returns></returns>
-        OutPdaInfo GetPlanAndFinishQty(string soDetailId);
+        Task<OutPdaInfo> GetPlanAndFinishQty(string soDetailId);
 
         /// <summary>
         /// 鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇級
@@ -55,7 +56,7 @@
         /// <param name="boxNo">绠辩爜</param>
         /// <param name="boxNo3">鏀�/琚嬬爜</param>
         /// <returns></returns>
-        List<BoxInfo> GetDataComBoxInfo(string soDetailId,string palletNo, string boxNo, string boxNo3);
+        Task<List<BoxInfo>> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3);
 
         /// <summary>
         /// 鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅
@@ -63,7 +64,7 @@
         /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
         /// <param name="palletNo">鎵樼洏鍙�</param>
         /// <returns></returns>
-        List<BoxInfo> GetAllotPlnInfo(string soDetailId,string palletNo);
+        Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo);
 
         /// <summary>
         /// 鍑哄簱pda鎷h揣
@@ -94,7 +95,7 @@
         /// <param name="userId">鍑哄簱鍙�</param>
         /// <param name="url">涓嬪彂璺緞</param>
         /// <returns></returns>
-        string IssuePlnOutHouse(OutModePalletVm model, int userId,string url);
+        string IssuePlnOutHouse(OutModePalletVm model, int userId, string url);
 
 
         /// <summary>
@@ -113,7 +114,7 @@
         /// <param name="palletNo">鎵樼洏鍙�</param>
         /// <param name="userId">鎿嶄綔浜�</param>
         /// <returns></returns>
-        void PlaneExportSuccess(string soNo, string palletNo,int userId);
+        void PlaneExportSuccess(string soNo, string palletNo, int userId);
 
         /// <summary>
         /// 鏍规嵁鎵樼洏鍙疯幏鍙栧彇鏍风被鍨� 
@@ -156,7 +157,7 @@
         /// <param name="boxNo3">鏀�/琚嬬爜</param>
         /// <param name="palletNo">鏂版墭鐩樺彿</param> 
         /// <param name="userId">鎿嶄綔浜�</param>
-        void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty,string palletNoNew, int userId);
+        void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, string palletNoNew, int userId);
         /// <summary>
         /// 鎷兼墭鍑哄簱pda鎷h揣-鏁伴噺
         /// </summary>
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index d8da14f..2c35f9c 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -18,6 +18,7 @@
 using Model.ModelVm.BllTaskVm;
 using Utility;
 using System.Threading.Tasks;
+using Model.ModelVm.BllCheckVm;
 
 namespace Wms.Controllers
 {
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index b918daa..60d5e5b 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -12,6 +12,7 @@
 using Model.ModelDto;
 using Model.ModelVm;
 using Wms.Tools;
+using Utility;
 
 namespace Wms.Controllers
 {
@@ -23,14 +24,15 @@
         #region 渚濊禆娉ㄥ叆
         private readonly ApiUrlConfig _config; //鎺ュ彛浜や簰璺緞
         private readonly IPdaSoServer _pdaSoSvc;
+        private readonly UserManager _userManager;
 
-        public PdaSoController(IOptions<ApiUrlConfig> setting,IPdaSoServer pdaSoSvc)
+        public PdaSoController(IOptions<ApiUrlConfig> setting, IPdaSoServer pdaSoSvc, UserManager userManager)
         {
             _config = setting.Value;
             _pdaSoSvc = pdaSoSvc;
+            _userManager = userManager;
         }
         #endregion
-
 
 
         /// <summary>
@@ -39,25 +41,10 @@
         /// <param name="model">PalletNo锛氭墭鐩樻潯鐮�</param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult IsEnableOkPalletNo(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task IsEnableOkPalletNo(PdaSoVm model)
         {
-            try
-            {
-                var strMsg = _pdaSoSvc.IsEnableOkPalletNo(model.PalletNo);
-
-                if (strMsg == "")
-                {
-                    return Ok(new { code = 0, msg = "鎵樼洏鍙敤!" });
-                }
-                else
-                {
-                    return Ok(new { code = 1, msg = strMsg });
-                }
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            await _pdaSoSvc.IsEnableOkPalletNo(model.PalletNo);
         }
 
         /// <summary>
@@ -66,18 +53,10 @@
         /// <param name="model">PalletNo:鎵樼洏鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetRunSoNoticeList(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<List<string>> GetRunSoNoticeList(PdaSoVm model)
         {
-            try
-            {
-                var list = _pdaSoSvc.GetRunSoNoticeList(model.PalletNo,model.Type);
-
-                return Ok(new { code = 0, msg = "鍑哄簱鍗曚俊鎭�", data = list });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return await _pdaSoSvc.GetRunSoNoticeList(model.PalletNo, model.Type);
         }
 
         /// <summary>
@@ -86,18 +65,10 @@
         /// <param name="model">PalletNo:鎵樼洏鐮併�丼oNo:鍗曟嵁鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetSoSkuLotNoListByPallet(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task GetSoSkuLotNoListByPallet(PdaSoVm model)
         {
-            try
-            {
-                var models = _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
-
-                return Ok(new { code = 0, msg = "鐗╂枡-鎵规淇℃伅", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            var models = await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
         }
 
         /// <summary>
@@ -106,18 +77,10 @@
         /// <param name="model">SoDetailId:鍑哄簱鍗曟槑缁咺D銆丳alletNo:鎵樼洏鐮�</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetOutlets(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<OutPdaInfo> GetOutlets(PdaSoVm model)
         {
-            try
-            {
-                var models = _pdaSoSvc.GetOutlets(model.SoDetailId, model.PalletNo);
-
-                return Ok(new { code = 0, msg = "鎵樼洏涓婄墿鏂欑瓑淇℃伅", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return await _pdaSoSvc.GetOutlets(model.SoDetailId, model.PalletNo);
         }
 
         /// <summary>
@@ -126,18 +89,10 @@
         /// <param name="model">SoDetailId:鍑哄簱鍗曟槑缁咺D</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetPlanAndFinishQty(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<OutPdaInfo> GetPlanAndFinishQty(PdaSoVm model)
         {
-            try
-            {
-                var models = _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
-
-                return Ok(new { code = 0, msg = "鍑哄簱鍗曟槑缁嗘暟閲忎俊鎭�", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
         }
 
         /// <summary>
@@ -146,18 +101,10 @@
         /// <param name="model">BoxNo:绠辩爜鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetDataComBoxInfo(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<List<BoxInfo>> GetDataComBoxInfo(PdaSoVm model)
         {
-            try
-            {
-                var models = _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId,model.PalletNo, model.BoxNo, model.BoxNo3);
-
-                return Ok(new { code = 0, msg = "绠辩爜淇℃伅", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
         }
 
         /// <summary>
@@ -166,18 +113,10 @@
         /// <param name="model">BoxNo:绠辩爜鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetAllotPlnInfo(PdaSoVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<List<BoxInfo>> GetAllotPlnInfo(PdaSoVm model)
         {
-            try
-            {
-                var models = _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
-
-                return Ok(new { code = 0, msg = "绠辩爜淇℃伅", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            return await _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
         }
 
 
@@ -203,7 +142,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
 
-                _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3,model.PickQty ,int.Parse(userId));
+                _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, int.Parse(userId));
 
                 return Ok(new { code = 0, msg = "鎷h揣瀹屾垚", data = "" });
             }
@@ -235,7 +174,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
 
-                _pdaSoSvc.SoSetQtyPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty,  int.Parse(userId));
+                _pdaSoSvc.SoSetQtyPick(model.SoNo, model.SoDetailId, model.PalletNo, model.PickQty, int.Parse(userId));
 
                 return Ok(new { code = 0, msg = "鎷h揣瀹屾垚", data = "" });
             }
@@ -297,7 +236,7 @@
         {
             try
             {
-                var list = _pdaSoSvc.GetPingKuInfoByPallet(soNo,palletNo); 
+                var list = _pdaSoSvc.GetPingKuInfoByPallet(soNo, palletNo);
                 return Ok(new { data = list, code = 0, msg = "鑾峰彇骞冲簱鎵樼洏淇℃伅鎴愬姛" });
             }
             catch (Exception e)
@@ -335,9 +274,9 @@
             }
             catch (Exception e)
             {
-                return Ok(new { data = "", code = 1, msg = "骞冲簱鍑哄簱閿欒锛�"+e.Message });
+                return Ok(new { data = "", code = 1, msg = "骞冲簱鍑哄簱閿欒锛�" + e.Message });
             }
-           
+
         }
 
 
@@ -360,7 +299,7 @@
                 if (string.IsNullOrWhiteSpace(UserId))
                 {
                     throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
-                } 
+                }
 
                 var type = _pdaSoSvc.GetSampleType(palletNo);
 
@@ -415,7 +354,7 @@
                 }
                 int uid = Convert.ToInt32(UserId);
 
-                _pdaSoSvc.SampleSoSetPick(model.Type,model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, uid);
+                _pdaSoSvc.SampleSoSetPick(model.Type, model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, model.AsnNo, uid);
 
                 return Ok(new { data = "", code = 0, msg = "(鏍囩)鍙栨牱鍑哄簱鎷h揣" });
             }

--
Gitblit v1.8.0