From 157abc191c34e57c1b958ae74fc3de6518ca8a30 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期五, 28 二月 2025 11:06:36 +0800 Subject: [PATCH] 修改客户需求 --- Wms/WMS.BLL/DataServer/StockServer.cs | 565 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 564 insertions(+), 1 deletions(-) diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs index 2f70ce4..8ab0b61 100644 --- a/Wms/WMS.BLL/DataServer/StockServer.cs +++ b/Wms/WMS.BLL/DataServer/StockServer.cs @@ -4,15 +4,23 @@ using System.Linq; using System.Runtime.Intrinsics.X86; using System.Security.Claims; +using System.Security.Policy; using System.Text; +using Model.InterFaceModel; using Model.ModelDto; using Model.ModelDto.DataDto; using Model.ModelDto.SysDto; using Model.ModelVm.DataVm; +using Newtonsoft.Json; using SqlSugar; +using Utility.Tools; +using WMS.BLL.LogServer; using WMS.DAL; +using WMS.Entity.BllAsnEntity; +using WMS.Entity.BllSoEntity; using WMS.Entity.Context; using WMS.Entity.DataEntity; +using WMS.Entity.LogEntity; using WMS.Entity.SysEntity; using WMS.IBLL.IDataServer; @@ -203,7 +211,7 @@ } if (!string.IsNullOrEmpty(categoryNo)) { - str += " and area.CategoryNo = @categoryNo"; + str += " and cat.CategoryNo = @categoryNo"; } if (!string.IsNullOrEmpty(type)) { @@ -1021,5 +1029,560 @@ return stockDetailsList; } #endregion + + #region AGV灏忚溅浠诲姟瀹屾垚鏇存柊搴撳瓨 + + /// <summary> + /// AGV鍏ュ簱瀹屾垚 + /// </summary> + /// <param name="TaskCode">浠诲姟鍙�</param> + /// <param name="wcsurl">涓嬪彂WCS鏀捐揣瀹屾垚鍦板潃</param> + /// <returns></returns> + public void ArriveFinish(string TaskCode,string wcsurl) + { + try + { + var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "0" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭� + if (palletNo == null) + { + throw new Exception("姝や换鍔″凡瀹屾垚"); + + } + var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅 + var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); + //寮�鍚簨鍔� + Db.BeginTran(); + + //淇敼璧峰搴撲綅鐘舵�� + storageLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(storageLocat).ExecuteCommand(); + + //淇敼浠诲姟鐘舵�� + palletNo.Status = "2"; //宸插畬鎴� + Db.Updateable(palletNo).ExecuteCommand(); + + + if (stockDetail !=null) + { + //淇敼搴撳瓨鏄庣粏 + stockDetail.Status = "0";//寰呭垎閰� + stockDetail.LocatNo = ""; + stockDetail.AreaNo = ""; + stockDetail.RoadwayNo = ""; + stockDetail.WareHouseNo = ""; + Db.Updateable(stockDetail).ExecuteCommand(); + } + + + #region 涓嬪彂WCS鏀捐揣瀹屾垚 + var data = new + { + Port = palletNo.EndLocat + }; + var jsonData = JsonConvert.SerializeObject(data); + string response = ""; + try + { + var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") + response = HttpHelper.DoPost(wcsurl, jsonData, "涓嬪彂缁橶CS鏀捐揣瀹屾垚鍛戒护", "WCS"); + var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") + + //////瑙f瀽杩斿洖鏁版嵁 + var res = JsonConvert.DeserializeObject<WcsModel>(response); + if (res.StatusCode == -1) + { + throw new Exception("鏀捐揣澶辫触锛學CS杩斿洖淇℃伅閿欒"); + } + } + + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + #endregion + + + Db.CommitTran(); + + } + catch (Exception ex) + { + Db.RollbackTran(); + throw new Exception("AGV杩斿洖鍏ュ簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex); + } + } + + /// <summary> + /// AGV鍑哄簱瀹屾垚 + /// </summary> + /// <param name="TaskCode">浠诲姟鍙�</param> + /// <param name="url">鍙嶉MES澶囨枡瀹屾垚鍦板潃</param> + /// <returns></returns> + public void SoFinish(string TaskCode,string url) + { + try + { + var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "1" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭� + if (palletNo == null) + { + throw new Exception("姝や换鍔″凡瀹屾垚"); + } + var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅 + var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅 + var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //鑾峰彇搴撳瓨淇℃伅 + + //寮�鍚簨鍔� + Db.BeginTran(); + //淇敼鐩殑搴撲綅鐘舵�� + storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(storageLocat).ExecuteCommand(); + + //淇敼浠诲姟鐘舵�� + palletNo.Status = "2"; //宸插畬鎴� + Db.Updateable(palletNo).ExecuteCommand(); + + //淇敼搴撳瓨鏄庣粏 + stockDetail.Status = "2";// 0:寰呭垎閰� 1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾 + stockDetail.LocatNo = storageLocat.LocatNo; + stockDetail.AreaNo = storageLocat.AreaNo; + stockDetail.RoadwayNo = storageLocat.RoadwayNo; + stockDetail.WareHouseNo = storageLocat.WareHouseNo; + Db.Updateable(stockDetail).ExecuteCommand(); + + + Db.CommitTran(); + + } + catch (Exception ex ) + { + + throw new Exception("AGV杩斿洖鍑哄簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細" + ex); + } + } + + + //瀹屾垚鎺ュ彛淇敼锛堟湭瀹屾垚锛� + //try + //{ + // var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭� + // if (palletNo == null) + // { + // throw new Exception("姝や换鍔″凡瀹屾垚"); + // } + // var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇搴撲綅淇℃伅 + // var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇搴撲綅淇℃伅 + // var stockDetail = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo).ToList(); + // if (stockDetail.Count == 0) + // { + // throw new Exception("鎵樼洏涓婄墿鏂欏簱瀛樻槑缁嗕俊鎭笉瀛樺湪,璇锋鏌�!"); + // } + // //寮�鍚簨鍔� + // Db.BeginTran(); + // if (storageLocat != null) + // { + // if (storageLocat.AreaNo == "B12")//杞﹂棿缂撳瓨浣嶉渶瑕侀�氱煡MES + // { + // var data = new List<RequertBeiliaoInfoModel>(); + // //鏇存敼搴撳瓨鏄庣粏 + // foreach (var item in stockDetail) + // { + // item.LocatNo = item.LocatNo;//鍌ㄤ綅鏇存敼 + // item.WareHouseNo = item.WareHouseNo;//鎵�灞炰粨搴撴洿鏀� + // item.RoadwayNo = item.RoadwayNo;//鎵�灞炲贩閬撴洿鏀� + // item.AreaNo = item.AreaNo;//鎵�灞炲尯鍩熸洿鏀� + + // Db.Updateable(item).ExecuteCommand(); + + + // if (string.IsNullOrWhiteSpace(item.SONo)) + // { + // throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏"); + // } + // var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList(); + // if (boxInfo.Count == 0) + // { + // throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!"); + // } + // //var boxno = boxInfo.GroupBy(w => w.BoxNo).ToList(); + // var boxno = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).GroupBy(m => new + // { + // m.BoxNo + // }).Select(it => new DataBoxInfo() + // { + // BoxNo = it.BoxNo + // }).ToList(); + + // //璁板綍鎵樼洏涓婁俊鎭粰MES + // foreach (var item2 in boxno) + // { + // var a = item.ProductionTime.ToString(); + // data.Add(new RequertBeiliaoInfoModel() + // { + // no = item2.BoxNo, + // materiel_no = item.SkuNo, + // materiel_name = item.SkuName, + // qty = item.Qty, + // batch = item.LotNo, + // producttime = item.ProductionTime.ToString().Substring(0, 10), + // expiry = item.ExpirationTime.ToString().Substring(0, 10) + + // }); + // } + // //搴撳瓨绠辩爜鏄庣粏鍒犻櫎 + // Db.Deleteable(boxInfo).ExecuteCommand(); + // //鍒犻櫎搴撳瓨鎵樼洏淇℃伅 + // Db.Deleteable(item).ExecuteCommand(); + // //鏇存敼搴撳瓨鎬昏〃 + // var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); + // stock.LockQty -= (decimal)item.Qty; + // stock.Qty -= (decimal)item.Qty; + // Db.Updateable(stock).ExecuteCommand(); + // //鏇存敼鎵樼洏鐘舵�� + // var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); + // if (pallet != null) + // { + // pallet.Status = "0"; + // Db.Updateable(pallet).ExecuteCommand(); + // } + + // } + + // //鑾峰彇浠ょ墝 + // //var token = new Token().GetMesToken(mesTokenUrl); + // var token = ""; + // Dictionary<string, string> mesDic = new Dictionary<string, string>() + // { + // {"Authorization",token } + // }; + // var endlono = palletNo.EndLocat; + // //缂撳瓨搴撲綅杞崲 + // switch (palletNo.EndLocat.ToString().Substring(4, 1)) + // { + // case "1": + // endlono = "Y003_00" + palletNo.EndLocat.ToString().Substring(6, 1); + // break; + // case "2": + // endlono = "Y138_0" + palletNo.EndLocat.ToString().Substring(5, 2); + // break; + // case "3": + // endlono = "Y128_0" + palletNo.EndLocat.ToString().Substring(5, 2); + // break; + // default: + // break; + // } + // var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First(); + // var mesData = new RequertBeiliaoModel() + // { + // morder_no = mescode.OrderCode, + // pallet = stockDetail.First().PalletNo, + // layer_no = endlono, + // items = data + // }; + // var jsonData = JsonConvert.SerializeObject(mesData); + // //璋冪敤鎺ュ彛 + // var response = HttpHelper.DoPost(url, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic); + + // var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 + // if (obj.status != "success") + // { + // throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message); + // } + + + // } + // //淇敼鐩殑搴撲綅鐘舵�� + // storageLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + // Db.Updateable(storageLocat).ExecuteCommand(); + + // //淇敼浠诲姟鐘舵�� + // palletNo.Status = "2"; //宸插畬鎴� + // Db.Updateable(palletNo).ExecuteCommand(); + + // //淇敼搴撳瓨鏄庣粏 + // item.Status = "2";// 0:寰呭垎閰� 1:閮ㄥ垎鍒嗛厤 2锛氬凡鍒嗛厤 3锛氱洏鐐归攣瀹氾細 4绉诲簱閿佸畾 + // stockDetail.LocatNo = storageLocat.LocatNo; + // stockDetail.AreaNo = storageLocat.AreaNo; + // stockDetail.RoadwayNo = storageLocat.RoadwayNo; + // stockDetail.WareHouseNo = storageLocat.WareHouseNo; + // Db.Updateable(stockDetail).ExecuteCommand(); + // } + // Db.CommitTran(); + + //} + /// <summary> + /// AGV绉诲簱瀹屾垚 + /// </summary> + /// <param name="TaskCode">浠诲姟鍙�</param> + /// <param name="url">鍙嶉MES澶囨枡瀹屾垚鍦板潃</param> + /// <returns></returns> + public void MoveFinish(string TaskCode,string url) + { + try + { + var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "3" && m.Status == "1");//鑾峰彇姝e湪鎵ц鐨勪换鍔′俊鎭� + if (palletNo == null) + { + throw new Exception("姝や换鍔″凡瀹屾垚"); + } + var startLocat = new SysStorageLocat(); + + var endLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //鑾峰彇鐩殑搴撲綅淇℃伅 + if (endLocat == null) + { + throw new Exception("鏈壘鍒扮浉搴旂殑鐩殑搴撲綅"); + } + var storageStart = new SysStorageLocat(); + + int isstock = 1; + var bindDetail = new BllPalletBind(); + var sysPanlno = new SysPallets(); + + var stockDetail = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo).ToList(); //鑾峰彇搴撳瓨淇℃伅 + if (stockDetail.Count == 0) + { + //鏈壘鍒板簱瀛樺悗闇�瑕佸垽鏂槸鍚︽槸绌烘墭鐩樼Щ搴� + isstock = 0; + bindDetail = Db.Queryable<BllPalletBind>().OrderByDescending(w=>w.Id).First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat);//鑾峰彇缁勬墭鐩樹俊鎭� + if (bindDetail == null) + { + bindDetail = Db.Queryable<BllPalletBind>().OrderByDescending(w => w.Id).First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat);//鑾峰彇缁勬墭鐩樹俊鎭� + if (bindDetail == null) + { + throw new Exception("鏈壘鍒扮┖鎵樼洏缁勬墭淇℃伅"); + } + } + } + else + { + storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇璧峰搴撲綅淇℃伅 + if (storageStart == null) + { + throw new Exception("鏈壘鍒扮浉搴旂殑璧峰搴撲綅"); + } + } + //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅 + + + //寮�鍚簨鍔� + Db.BeginTran(); + + //淇敼鐩殑搴撲綅鐘舵�� + endLocat.Status = "1";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(endLocat).ExecuteCommand(); + + //淇敼浠诲姟鐘舵�� + palletNo.Status = "2"; //宸插畬鎴� + Db.Updateable(palletNo).ExecuteCommand(); + + if (isstock == 1) + { + startLocat = Db.Queryable<SysStorageLocat>().First(w=> w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); + //淇敼璧峰搴撲綅鐘舵�� + startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(startLocat).ExecuteCommand(); + + //璋冪敤MES澶囨枡鍙嶉瀹屾垚鎺ュ彛 + #region MES澶囨枡瀹屾垚鍙嶉 + var data = new List<RequertBeiliaoInfoModel>(); + + //鏇存敼搴撳瓨鏄庣粏 + foreach (var item in stockDetail) + { + item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼 + item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀� + item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀� + item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀� + + Db.Updateable(item).ExecuteCommand(); + + if (endLocat != null && endLocat.AreaNo == "B12") //鏄惁鏄�3妤肩紦瀛樺尯 鏄細鍒犻櫎搴撳瓨 + { + if (string.IsNullOrWhiteSpace(item.SONo)) + { + throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏"); + } + var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList(); + if (boxInfo.Count == 0) + { + throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!"); + } + //var boxno = boxInfo.GroupBy(w => w.BoxNo).ToList(); + var boxno = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).GroupBy(m => new + { + m.BoxNo, + m.ProductionTime, + m.ExpirationTime, + }).Select(it => new DataBoxInfo() + { + BoxNo = it.BoxNo, + ProductionTime = it.ProductionTime, + ExpirationTime = it.ExpirationTime, + }).ToList(); + + //璁板綍鎵樼洏涓婁俊鎭粰MES + foreach (var item2 in boxno) + { + //var a = item.ProductionTime.ToString(); + data.Add(new RequertBeiliaoInfoModel() + { + no = item2.BoxNo, + materiel_no = item.SkuNo, + materiel_name = item.SkuName, + qty = item.Qty, + batch = item.LotNo, + producttime = item2.ProductionTime.ToString().Substring(0, 10), + expiry = item2.ExpirationTime.ToString().Substring(0, 10) + + }); + } + //搴撳瓨绠辩爜鏄庣粏鍒犻櫎 + Db.Deleteable(boxInfo).ExecuteCommand(); + //鍒犻櫎搴撳瓨鎵樼洏淇℃伅 + Db.Deleteable(item).ExecuteCommand(); + //鏇存敼搴撳瓨鎬昏〃 + var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); + stock.LockQty -= (decimal)item.Qty; + stock.Qty -= (decimal)item.Qty; + Db.Updateable(stock).ExecuteCommand(); + //鏇存敼鎵樼洏鐘舵�� + var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo); + if (pallet != null) + { + pallet.Status = "0"; + Db.Updateable(pallet).ExecuteCommand(); + } + } + } + + + if (endLocat != null && endLocat.AreaNo == "B12") + { + //鑾峰彇浠ょ墝 + //var token = new Token().GetMesToken(mesTokenUrl); + var token = ""; + Dictionary<string, string> mesDic = new Dictionary<string, string>() + { + {"Authorization",token } + }; + var endlono = endLocat.LocatNo; + //缂撳瓨搴撲綅杞崲 + switch (endLocat.LocatNo.ToString().Substring(4, 1)) + { + case "1": + endlono = "Y003_0" + endLocat.LocatNo.ToString().Substring(5, 2); + break; + + } + var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First(); + var mesData = new RequertBeiliaoModel() + { + morder_no = mescode.OrderCode, + pallet = stockDetail.First().PalletNo, + layer_no = endlono, + items = data + }; + var jsonData = JsonConvert.SerializeObject(mesData); + //璋冪敤鎺ュ彛 + var response = HttpHelper.DoPost(url, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic); + + var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.status != "success") + { + throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message); + } + + } + #endregion + } + else //绌烘墭鐩樺鐞� + { + //淇敼缁勬墭淇℃伅 + if (bindDetail.WareHouseNo == "W01") //1銆佺┖鎵樼洏鍨涘埌绌烘墭鐩樻敹闆嗗櫒锛� + { + bindDetail.WareHouseNo = "W02"; + bindDetail.LocatNo = endLocat.LocatNo; + bindDetail.RoadwayNo = ""; + //淇敼璧峰搴撲綅鐘舵�� + startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(startLocat).ExecuteCommand(); + } + else//2銆佹嫞璐у彨绌烘墭鐩橈紝灏忚溅瀹屾垚涓�娆★紝鎵e噺涓�涓┖鎵樼洏鍨涗笂鏁伴噺 + { + bindDetail.Qty = bindDetail.Qty - 1; + if (bindDetail.Qty == 0)//鏁伴噺涓�0鍚庢洿鏀圭粍鎵樼姸鎬佸拰鎵樼洏浣跨敤鐘舵�� + { + bindDetail.Status = "2"; + bindDetail.IsDel = "1"; + //淇敼璧峰搴撲綅鐘舵�� + startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(startLocat).ExecuteCommand(); + } + else + { + bindDetail.LocatNo = startLocat.LocatNo;//?????鎷h揣浣嶆墭鐩樺浣曞鐞嗭紝鎷h揣浣嶆槸鍚﹂渶瑕佹洿鏀圭姸鎬侊紝鏄惁闇�瑕佸鍔犲簱瀛橈紱 + } + } + Db.Updateable(bindDetail).ExecuteCommand(); + } + Db.CommitTran(); + } + catch (Exception ex) + { + Db.RollbackTran(); + throw new Exception("AGV杩斿洖绉诲簱瀹屾垚淇″彿澶勭悊閿欒锛岄敊璇俊鎭細"+ex); + } + } + #endregion + + #region 鏁板瓧瀛敓绯荤粺鑾峰彇搴撳瓨淇℃伅 + + /// <summary> + /// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅 + /// </summary> + /// <param name=""></param> + /// <returns></returns> + public List<ReLocateDataModel> GetLocateList() + { + try + { + + //搴撳瓨淇℃伅 + var stockDetailsList = Db.Queryable<DataStockDetail>().ToList(); + var sql = "select LocatNo,PalletNo,SkuName,Standard,LotNo,InspectStatus,Qty,ExpirationTime as Warranty from DataStockDetail "; + + List<ReLocateDataModel> list = Db.Ado.SqlQuery<ReLocateDataModel>(sql); + + //if (stockDetailsList.Count == 0) + //{ + // return list; + //} + //foreach (var item in stockDetailsList) + //{ + // list.Add(item); + + //} + //for (int i = 0; i < stockDetailsList.Count; i++) + //{ + + // list.Add(stockDetailsList); + // list[i].LocatNo = stockDetailsList[i].LocatNo; //搴撲綅 + // list[i].PalletNo = stockDetailsList[i].PalletNo; //鎵樼洏鍙� + // list[i].SkuName = stockDetailsList[i].SkuName; //鐗╂枡鍚嶇О + // list[i].Stadard = stockDetailsList[i].Standard; //瑙勬牸 + // list[i].LotNo = stockDetailsList[i].LotNo; //鎵规 + // list[i].InspectStatus = stockDetailsList[i].InspectStatus; //璐ㄩ噺鐘舵�� + // list[i].Qty = stockDetailsList[i].Qty.ToString(); //搴撳瓨鏁伴噺 + // list[i].Warranty = stockDetailsList[i].ExpirationTime.ToString(); //鏈夋晥鏈� ??杩囨湡鏃堕棿锛屾槸鍚﹁鏇存敼 + //} + return list; + } + catch (Exception ex) + { + + throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex); + } + } + #endregion } } -- Gitblit v1.8.0