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/BllPdaServer/PdaSoServer.cs | 382 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 279 insertions(+), 103 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 7ccaf70..12de074 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -20,6 +20,7 @@ using WMS.Entity.LogEntity; using Model.ModelDto.SysDto; using Model.ModelDto.BllSoDto; +using System.Security.Policy; namespace WMS.BLL.BllPdaServer { @@ -388,7 +389,7 @@ { throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); } - if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0) + if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0) { throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } @@ -399,9 +400,21 @@ { throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); } - if (notice.Status != "3") + var type1 = new List<string>() { "0", "4" }; //鎷h揣涓嶅彲澶氬嚭 鎴愬搧鍑哄簱銆佷笉鍚堟牸鍝佸嚭搴� + var type2 = new List<string>() { "1", "2", "3", "5", "6", "7", "8" };//鎷h揣鍙鍑� 棰嗘枡鍑哄簱銆佹娊妫�鍑哄簱銆佺墿鏂欏彇鏍峰嚭搴撱�佷腑闂村搧鍑哄簱銆佷唬鍌ㄥ嚭搴撱�佸叾浠栧嚭搴撱�佸瘎瀛樺嚭搴� + if (type1.Contains(notice.Type)) { - throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); + if (notice.Status != "3") + { + throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); + } + } + if (type2.Contains(notice.Type)) + { + if (notice.Status != "3" && notice.Status != "4") + { + throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛屾垨鎵ц瀹屾垚锛屼笉鑳芥嫞璐�"); + } } //鍑哄簱鍗曟槑缁� var noticeDetail = Db.Queryable<BllExportNoticeDetail>() @@ -539,7 +552,7 @@ { var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐� List<DataBoxInfo> boxInfos; - var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo); + var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo && m.StockDetailId == stockDetail.Id); if (boxInfo.Count() == 0) { throw new Exception("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); @@ -580,18 +593,18 @@ biaoShi = "1"; } - else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 + else if (!string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 { if (boxInfo.Count() > 1) { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } decimal boxQty = boxInfo.First().Qty; - if (Convert.ToInt32(pickQty1) > boxQty) + if (Convert.ToDecimal(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } - if (Convert.ToInt32(pickQty1) > needQty) + if (Convert.ToDecimal(pickQty1) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } @@ -653,6 +666,7 @@ if (biaoShi != "2") { + pickQty += item.Qty; //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } @@ -660,17 +674,20 @@ { if (decimal.Parse(pickQty1) == item.Qty) { + pickQty += item.Qty; //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); + } else { + pickQty += decimal.Parse(pickQty1); item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 Db.Updateable(item).ExecuteCommand(); } } - pickQty += item.Qty; + } //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅 if (biaoShi == "1") @@ -817,7 +834,7 @@ } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; - if (int.Parse(PickQty) > needQty) + if (decimal.Parse(PickQty) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); } @@ -880,7 +897,7 @@ } else if (isComplete == 1) { - complete.CompleteQty += int.Parse(PickQty); + complete.CompleteQty += decimal.Parse(PickQty); complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); @@ -888,7 +905,7 @@ } //淇敼鍑哄簱鍒嗛厤淇℃伅 - allot.CompleteQty += int.Parse(PickQty); + allot.CompleteQty += decimal.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); @@ -897,8 +914,8 @@ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� - stockDetail.Qty -= int.Parse(PickQty); - stockDetail.LockQty -= int.Parse(PickQty); + stockDetail.Qty -= decimal.Parse(PickQty); + stockDetail.LockQty -= decimal.Parse(PickQty); if (stockDetail.Qty == stockDetail.LockQty) { stockDetail.Status = "2"; @@ -921,8 +938,8 @@ Db.Updateable(stockDetail).ExecuteCommand(); } //鍒犻櫎鎴栦慨鏀瑰簱瀛� - stock.Qty -= int.Parse(PickQty); - stock.LockQty -= int.Parse(PickQty); + stock.Qty -= decimal.Parse(PickQty); + stock.LockQty -= decimal.Parse(PickQty); if (stock.Qty <= 0) { Db.Deleteable(stock).ExecuteCommand(); @@ -1348,35 +1365,35 @@ { #region 鍒嗛厤 - //娣诲姞鍒嗛厤琛ㄤ俊鎭� - var allot = new BllExportAllot - { - SONo = "", - WaveNo = "", - SODetailNo = 0, - StockId = s.Id, - LotNo = "", - LotText = "", - SupplierLot = "", - SkuNo = s.SkuNo, - SkuName = s.SkuName, - Standard = s.Standard, - PalletNo = s.PalletNo, - IsBale = "0", //鏄惁瑁瑰寘 - IsBelt = "0", //鏄惁鎵撳甫 + ////娣诲姞鍒嗛厤琛ㄤ俊鎭� + //var allot = new BllExportAllot + //{ + // SONo = "", + // WaveNo = "", + // SODetailNo = 0, + // StockId = s.Id, + // LotNo = "", + // LotText = "", + // SupplierLot = "", + // SkuNo = s.SkuNo, + // SkuName = s.SkuName, + // Standard = s.Standard, + // PalletNo = s.PalletNo, + // IsBale = "0", //鏄惁瑁瑰寘 + // IsBelt = "0", //鏄惁鎵撳甫 - //BoxexQty = s.Qty, - Qty = (int)s.Qty, - CompleteQty = 0, - Status = "1", - LogisticsId = 0, - IsAdvance = "0", - OutMode = model.OutMode,//鍑哄簱鍙� + // //BoxexQty = s.Qty, + // Qty = (int)s.Qty, + // CompleteQty = 0, + // Status = "1", + // LogisticsId = 0, + // IsAdvance = "0", + // OutMode = model.OutMode,//鍑哄簱鍙� - CreateUser = userId, - CreateTime = DateTime.Now - }; - Db.Insertable(allot).ExecuteCommand(); + // CreateUser = userId, + // CreateTime = DateTime.Now + //}; + //Db.Insertable(allot).ExecuteCommand(); #endregion @@ -1391,7 +1408,10 @@ } //鑾峰彇绉诲簱鐨勫簱浣� var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, SkuNo, slotBefore.AreaNo); - + if (string.IsNullOrWhiteSpace(newSlot)) + { + continue; + } var taskNo = new Common().GetMaxNo("TK"); var exTask = new LogTask //鍑哄簱浠诲姟 { @@ -1411,7 +1431,7 @@ OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� CreateTime = serverTime, //鍒涘缓鏃堕棿 CreateUser = userId, //鍒涘缓浜� - Msg = "Pda绌烘墭浠�" + locat == null ? "" : s.LocatNo + "鍒�" + newSlot + "鐨勭Щ搴撲换鍔�", //鍏抽敭淇℃伅 + Msg = "Pda绌烘墭浠�" + locat == null ? "" : slotBefore.LocatNo + "鍒�" + newSlot + "鐨勭Щ搴撲换鍔�", //鍏抽敭淇℃伅 //FinishDate = serverTime, //瀹屾垚鏃堕棿 }; moveDto.Add(new OutCommandDto() @@ -1421,7 +1441,7 @@ StartRoadway = locat.RoadwayNo, //鎵�灞炲贩閬� EndLocate = exTask.EndLocat, // 鐩爣浣嶇疆 TaskNo = exTask.TaskNo, // 浠诲姟鍙� - TaskType = "2",// 浠诲姟绫诲瀷 (鍑哄簱) + TaskType = "2",// 浠诲姟绫诲瀷 (绉诲簱) OutMode = "", //鐩爣鍦板潃 Order = 1 }); @@ -1433,6 +1453,12 @@ //鏇存敼鍌ㄤ綅鐘舵�佷负绉诲嚭涓� slotBefore.Status = "5"; //5 绉诲嚭涓� Db.Updateable(slotBefore).ExecuteCommand();//淇敼鍌ㄤ綅淇℃伅 + var newSlot2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == newSlot && m.IsDel == "0"); + if (newSlot2!= null) + { + newSlot2.Status = "4";//绉诲叆涓� + Db.Updateable(newSlot2).ExecuteCommand();//淇敼鍌ㄤ綅淇℃伅 + } #endregion } else //鍑哄簱 @@ -1440,17 +1466,17 @@ #region 鏀瑰彉搴撳瓨 //澧炲姞搴撳瓨閿佸畾鏁伴噺 - stock.LockQty += (int)s.Qty; //閿佸畾鏁伴噺 + stock.LockQty += (int)pallSku.Qty; //閿佸畾鏁伴噺 stock.UpdateTime = serverTime; //淇敼鏃堕棿 stock.UpdateUser = userId; //淇敼浜� Db.Updateable(stock).ExecuteCommand();//淇敼搴撳瓨鎬昏〃淇℃伅 //澧炲姞搴撳瓨鏄庣粏閿佸畾鏁伴噺 - s.LockQty += (int)s.Qty; //閿佸畾鏁伴噺 - s.UpdateTime = serverTime; //淇敼鏃堕棿 - s.UpdateUser = userId; //淇敼浜� - s.Status = "2"; //2 宸插垎閰� - Db.Updateable(s).ExecuteCommand();//淇敼搴撳瓨鏄庣粏淇℃伅 + pallSku.LockQty += (int)pallSku.Qty; //閿佸畾鏁伴噺 + pallSku.UpdateTime = serverTime; //淇敼鏃堕棿 + pallSku.UpdateUser = userId; //淇敼浜� + pallSku.Status = "2"; //2 宸插垎閰� + Db.Updateable(pallSku).ExecuteCommand();//淇敼搴撳瓨鏄庣粏淇℃伅 #endregion @@ -1462,19 +1488,19 @@ SONo = "", WaveNo = "", SODetailNo = 0, - StockId = s.Id, + StockId = pallSku.Id, LotNo = "", LotText = "", SupplierLot = "", - SkuNo = s.SkuNo, - SkuName = s.SkuName, - Standard = s.Standard, - PalletNo = s.PalletNo, + SkuNo = pallSku.SkuNo, + SkuName = pallSku.SkuName, + Standard = pallSku.Standard, + PalletNo = pallSku.PalletNo, IsBale = "0", //鏄惁瑁瑰寘 IsBelt = "0", //鏄惁鎵撳甫 //BoxexQty = s.Qty, - Qty = (int)s.Qty, + Qty = (int)pallSku.Qty, CompleteQty = 0, Status = "1", LogisticsId = 0, @@ -1498,9 +1524,9 @@ Receiver = "PDA", IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 - StartLocat = locat == null ? "" : s.LocatNo,//璧峰浣嶇疆 + StartLocat = locat == null ? "" : pallSku.LocatNo,//璧峰浣嶇疆 EndLocat = model.OutMode,//鐩爣浣嶇疆 - PalletNo = s.PalletNo,//鎵樼洏鐮� + PalletNo = pallSku.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� IsFinish = 1,//鏄惁鍙畬鎴� @@ -1509,7 +1535,7 @@ OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� CreateTime = serverTime, //鍒涘缓鏃堕棿 CreateUser = userId, //鍒涘缓浜� - Msg = "Pda绌烘墭浠�" + locat == null ? "" : s.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 + Msg = "Pda绌烘墭浠�" + locat == null ? "" : pallSku.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 //FinishDate = serverTime, //瀹屾垚鏃堕棿 }; outDto2.Add(new OutCommandDto() @@ -2386,6 +2412,153 @@ } + /// <summary> + /// WMS鐢宠鎷h揣绌烘墭 + /// </summary> + /// <param name="model"> </param> + /// <param name="userId"> </param> + /// <param name="url"> </param> + /// <returns></returns> + /// <exception cref="Exception"></exception> + public string IssuePlnCehckHouseWcs(CheckModePalletVm model, int userId, string url) + { + try + { + string StartLocate = "" ,EndLocate = ""; + + Db.BeginTran(); + if (model.OutMode == "001") //瑗夸晶鎷h揣浣嶅彨绌烘墭鐩� + { + var xLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")); + if (xLocate == null) + { + throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏"); + } + StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")).LocatNo; + EndLocate = "B15010101"; + } + else//涓滀晶鎷h揣浣嶅彨绌烘墭鐩� + { + var dLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")); + if (dLocate == null) + { + throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏"); + } + StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")).LocatNo; + EndLocate = "B15020101"; + } + + //娣诲姞鍑哄簱浠诲姟 + var taskNo = new Common().GetMaxNo("TK"); + var exTask = new LogTask + { + TaskNo = taskNo, + Sender = "WMS", + Receiver = "AGV", + IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 + + StartLocat = StartLocate,//璧峰浣嶇疆 + EndLocat = EndLocate,//鐩爣浣嶇疆 + PalletNo = "",//鎵樼洏鐮� + Msg = string.Format("杞繍浠诲姟锛歿0}=>>{1}", StartLocate, EndLocate), + IsSend = 1,//鏄惁鍙啀娆′笅鍙� + IsCancel = 1,//鏄惁鍙彇娑� + IsFinish = 1,//鏄惁鍙畬鎴� + Type = "2",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 + Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 + OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + + CreateTime = DateTime.Now + }; + Db.Insertable(exTask).ExecuteCommand(); + + var storageLocatEnd = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == EndLocate); + //淇敼鐩爣鍌ㄤ綅鍦板潃鐘舵�� + if (storageLocatEnd != null) + { + storageLocatEnd.Status = "4";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 + Db.Updateable(storageLocatEnd).ExecuteCommand(); + } + + #region 鍛煎彨灏忚溅浠g爜 + + var endlono = EndLocate; + string tasktype = "D01"; + + //鐐瑰埌鐐规寚浠ら泦鍚� + object[] position = new object[2]; + position[0] = new + { + positionCode = StartLocate, + type = "00" + }; + position[1] = new + { + positionCode = endlono, + type = "00" + }; + + List<AgvSchedulingTask> agvTaskList = new List<AgvSchedulingTask>(); + AgvSchedulingTask agvTask = new AgvSchedulingTask(); + Random r = new Random(); + long ran = DateTime.Now.Ticks; + agvTask.ReqCode = ran.ToString(); + agvTask.TaskCode = taskNo; + agvTask.TaskTyp = tasktype; + agvTask.PositionCodePath = position; + agvTask.CtnrTyp = "1"; + + agvTaskList.Add(agvTask); + + string str = ""; + var list2 = agvTaskList.Select(m => m.TaskCode).ToList(); + var jsonData = JsonConvert.SerializeObject(agvTaskList); + jsonData = jsonData.Substring(1, jsonData.Length - 1); + jsonData = jsonData.Substring(0, jsonData.Length - 1); + string response = ""; + + try + { + var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") + response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV"); + var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") + + //////瑙f瀽杩斿洖鏁版嵁 + var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response); + if (agvModel.Code == "0") + { + //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// + new TaskServer().EditTaskIssueOk(list2, time1, time2); + str += "涓嬪彂鎴愬姛"; + } + if (agvModel.Code == "1") + { + new TaskServer().EditTaskIssueNo(list2, time1, time2, agvModel.Message); + throw new Exception(agvModel.Message); + } + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + + #endregion + + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + var k = new OperationCrServer().AddLogOperationCr("PDA妯″潡", "AGV杞繍", "", "绉诲簱", $"PDA鍛煎彨灏忚溅鎷嗙┖鎵樼洏鎷h揣", userId); + Db.CommitTran(); + + return ""; + } + catch (Exception e) + { + Db.RollbackTran(); + throw new Exception(e.Message); + } + } + + + public string MoveAddress(string oldAddress, string roadWay, string skuNo,string areaNo="")//01020201 鎺�-鍒�-灞�-娣卞害 { string nowAddress = ""; @@ -2725,7 +2898,7 @@ { throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); } - if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0) + if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0) { throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } @@ -2900,7 +3073,7 @@ } biaoShi = "1"; } - else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 + else if (!string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 { if (boxInfo.Count() > 1) { @@ -3066,7 +3239,7 @@ { throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); } - if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0) + if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0) { throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } @@ -3154,18 +3327,18 @@ } biaoShi = "1"; } - else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 + else if (!string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 { if (boxInfo.Count() > 1) { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } decimal boxQty = boxInfo.First().Qty; - if (Convert.ToInt32(pickQty1) > boxQty) + if (Convert.ToDecimal(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } - if (Convert.ToInt32(pickQty1) > needQty) + if (Convert.ToDecimal(pickQty1) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } @@ -3230,6 +3403,7 @@ if (biaoShi != "2") { + pickQty += item.Qty; //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } @@ -3237,17 +3411,19 @@ { if (decimal.Parse(pickQty1) == item.Qty) { + pickQty += item.Qty; //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } else { + pickQty += decimal.Parse(pickQty1); item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 Db.Updateable(item).ExecuteCommand(); } } - pickQty += item.Qty; + } //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅 if (biaoShi == "1") @@ -3526,7 +3702,7 @@ SkuName = allot2.SkuName, Standard = allot2.Standard, PalletNo = palletNo, - CompleteQty = int.Parse(PickQty), + CompleteQty = decimal.Parse(PickQty), InspectMark = "1", CreateUser = userId @@ -3538,7 +3714,7 @@ } else if (isComplete == 1) { - complete.CompleteQty += int.Parse(PickQty); + complete.CompleteQty += decimal.Parse(PickQty); complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); @@ -3548,8 +3724,8 @@ //淇敼鍑哄簱鍒嗛厤淇℃伅 - allot2.Qty += int.Parse(PickQty); - allot2.CompleteQty += int.Parse(PickQty); + allot2.Qty += decimal.Parse(PickQty); + allot2.CompleteQty += decimal.Parse(PickQty); Db.Updateable(allot2).ExecuteCommand(); int isDel = 0; @@ -3557,7 +3733,7 @@ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� stockDetail.InspectMark = "1";//淇敼涓烘娊妫�鎵樻爣璇� - stockDetail.Qty -= int.Parse(PickQty); + stockDetail.Qty -= decimal.Parse(PickQty); if (stockDetail.Qty == stockDetail.LockQty && stockDetail.Qty != 0) { stockDetail.Status = "2"; @@ -3605,10 +3781,10 @@ } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� - noticeDetail.Qty += int.Parse(PickQty); - noticeDetail.AllotQty += int.Parse(PickQty); - noticeDetail.FactQty += int.Parse(PickQty); - noticeDetail.CompleteQty += int.Parse(PickQty); + noticeDetail.Qty += decimal.Parse(PickQty); + noticeDetail.AllotQty += decimal.Parse(PickQty); + noticeDetail.FactQty += decimal.Parse(PickQty); + noticeDetail.CompleteQty += decimal.Parse(PickQty); noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty; Db.Updateable(noticeDetail).ExecuteCommand(); @@ -3657,7 +3833,7 @@ } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; - if (int.Parse(PickQty) > needQty) + if (decimal.Parse(PickQty) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); } @@ -3707,7 +3883,7 @@ SkuName = allot.SkuName, Standard = allot.Standard, PalletNo = palletNo, - CompleteQty = int.Parse(PickQty), + CompleteQty = decimal.Parse(PickQty), CreateUser = userId, CreateTime = Db.GetDate(), @@ -3719,7 +3895,7 @@ } else if (isComplete == 1) { - complete.CompleteQty += int.Parse(PickQty); + complete.CompleteQty += decimal.Parse(PickQty); complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); @@ -3729,7 +3905,7 @@ //淇敼鍑哄簱鍒嗛厤淇℃伅 - allot.CompleteQty += int.Parse(PickQty); + allot.CompleteQty += decimal.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; @@ -3739,8 +3915,8 @@ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� - stockDetail.Qty -= int.Parse(PickQty); - stockDetail.LockQty -= int.Parse(PickQty); + stockDetail.Qty -= decimal.Parse(PickQty); + stockDetail.LockQty -= decimal.Parse(PickQty); if (stockDetail.Qty == stockDetail.LockQty) { stockDetail.Status = "2"; @@ -3763,8 +3939,8 @@ Db.Updateable(stockDetail).ExecuteCommand(); } //鍒犻櫎鎴栦慨鏀瑰簱瀛� - stock.Qty -= int.Parse(PickQty); - stock.LockQty -= int.Parse(PickQty); + stock.Qty -= decimal.Parse(PickQty); + stock.LockQty -= decimal.Parse(PickQty); if (stock.Qty <= 0) { Db.Deleteable(stock).ExecuteCommand(); @@ -3789,7 +3965,7 @@ } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� - noticeDetail.CompleteQty += int.Parse(PickQty); + noticeDetail.CompleteQty += decimal.Parse(PickQty); Db.Updateable(noticeDetail).ExecuteCommand(); var num = Db.Queryable<BllExportNoticeDetail>() @@ -3846,7 +4022,7 @@ { throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); } - if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0) + if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0) { throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } @@ -4142,18 +4318,18 @@ biaoShi = "1"; } - else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 + else if (!string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 { if (boxInfo.Count() > 1) { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } decimal boxQty = boxInfo.First().Qty; - if (Convert.ToInt32(pickQty1) > boxQty) + if (decimal.Parse(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } - if (Convert.ToInt32(pickQty1) > needQty) + if (decimal.Parse(pickQty1) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } @@ -4265,7 +4441,7 @@ PalletNo3 = item.PalletNo3, Qty = decimal.Parse(pickQty1), FullQty = item.FullQty, - Status = "4", + Status = "5", LotNo = item.LotNo, LotText = item.LotText, SkuNo = item.SkuNo, @@ -4300,7 +4476,7 @@ } - pickQty += int.Parse(pickQty1); + pickQty += decimal.Parse(pickQty1); } } //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅 @@ -4470,7 +4646,7 @@ } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; - if (int.Parse(PickQty) > needQty) + if (decimal.Parse(PickQty) > needQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); } @@ -4489,7 +4665,7 @@ } if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� { - if (int.Parse(PickQty) != stockDetail.Qty) + if (decimal.Parse(PickQty) != stockDetail.Qty) { throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�"); } @@ -4538,8 +4714,8 @@ sd.SkuName = stockDetail.SkuName; sd.Standard = stockDetail.Standard; - sd.Qty = int.Parse(PickQty); - sd.LockQty = int.Parse(PickQty); + sd.Qty = decimal.Parse(PickQty); + sd.LockQty = decimal.Parse(PickQty); sd.FrozenQty = 0; sd.InspectQty = 0; @@ -4582,8 +4758,8 @@ if (palletNo != palletNoNew) { //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 - pinStockDetail.Qty += int.Parse(PickQty); - pinStockDetail.LockQty += int.Parse(PickQty); + pinStockDetail.Qty += decimal.Parse(PickQty); + pinStockDetail.LockQty += decimal.Parse(PickQty); Db.Updateable(pinStockDetail).ExecuteCommand(); } else @@ -4627,7 +4803,7 @@ SkuName = allot.SkuName, Standard = allot.Standard, PalletNo = palletNo, - CompleteQty = int.Parse(PickQty), + CompleteQty = decimal.Parse(PickQty), CreateUser = userId, CreateTime = Db.GetDate(), @@ -4639,7 +4815,7 @@ } else if (isComplete == 1) { - complete.CompleteQty += int.Parse(PickQty); + complete.CompleteQty += decimal.Parse(PickQty); complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); @@ -4647,7 +4823,7 @@ } //淇敼鍑哄簱鍒嗛厤淇℃伅 - allot.CompleteQty += int.Parse(PickQty); + allot.CompleteQty += decimal.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); @@ -4658,8 +4834,8 @@ { //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� - stockDetail.Qty -= int.Parse(PickQty); - stockDetail.LockQty -= int.Parse(PickQty); + stockDetail.Qty -= decimal.Parse(PickQty); + stockDetail.LockQty -= decimal.Parse(PickQty); if (stockDetail.Qty == stockDetail.LockQty) { stockDetail.Status = "2"; @@ -4701,7 +4877,7 @@ } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� - noticeDetail.CompleteQty += int.Parse(PickQty); + noticeDetail.CompleteQty += decimal.Parse(PickQty); noticeDetail.Status = "2"; Db.Updateable(noticeDetail).ExecuteCommand(); -- Gitblit v1.8.0