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