From c250003dc425746c0b31598b8966a785a5aac473 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 24 二月 2024 11:17:47 +0800 Subject: [PATCH] pda开发agv转运 --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 85 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82 insertions(+), 3 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 6d8b44b..a0d290b 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -124,6 +124,29 @@ throw ex; } } + + //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲� + public string GetAsnDetailQtyList(int id) + { + try + { + var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == id); + if (detail == null) + { + throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟槑缁�"); + } + + var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m => m.Qty); + var qty = detail.Qty - labelQty; + + return qty.ToString(); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + //鑾峰彇鐗╂枡淇℃伅锛堟坊鍔犲叆搴撳崟鏄庣粏浣跨敤锛� public List<MaterialsDto> GetMaterialsList(GetMaterialsVm model) { @@ -133,12 +156,20 @@ switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧 { case "0"://鎴愬搧鍏ュ簱 + skuType = "(2)"; + break; case "3"://閫�璐у叆搴� + skuType = "(2)"; + break; case "5"://鍏跺畠鍏ュ簱 + skuType = "(0,1,3)"; + break; case "6"://浠e偍鍏ュ簱 skuType = "(2)"; break; case "1"://閲囪喘鍏ュ簱 + skuType = "(0,1,3)"; + break; case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� skuType = "(0,1,3)"; break; @@ -224,6 +255,15 @@ if (string.IsNullOrEmpty(model.Type)) { throw new Exception("鍗曟嵁绫诲瀷涓嶅彲涓虹┖!"); + } + } + //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴� + // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� + if (model.Type == "1" || model.Type == "4") + { + if (!string.IsNullOrWhiteSpace(model.LotNo)) + { + throw new Exception("閲囪喘鍏ュ簱鎴栦綑鏂欓��鍥炰笉鍙緭鍏ユ壒娆★紝涓嶅彲缂栬緫!"); } } @@ -319,6 +359,18 @@ string sqlDetailStr = string.Empty; try { + //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴� + // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� + int isType = 0; + if (model.Type == "1" || model.Type == "4") + { + isType = 1; + if (!string.IsNullOrWhiteSpace(model.LotNo)) + { + strMessage = "-1:閲囪喘鍏ュ簱鎴栦綑鏂欓��鍥炰笉鍙緭鍏ユ壒娆★紝涓嶅彲缂栬緫;"; + return strMessage; + } + } if (model.Origin != "褰曞叆") { strMessage = "-1:涓婃父绯荤粺涓嬪彂鐨勫崟鎹紝涓嶅彲缂栬緫;"; @@ -373,7 +425,7 @@ strMessage = "-1:鏁伴噺蹇呴』澶т簬0;"; continue; } - if (string.IsNullOrEmpty(detailModel.LotNo)) + if (string.IsNullOrEmpty(detailModel.LotNo) && isType != 1) { strMessage = "-1:鎵规鍙蜂笉鍙负绌�;"; continue; @@ -478,6 +530,7 @@ } + // 鍒犻櫎鎬诲崟 sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',"; sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; @@ -487,10 +540,30 @@ sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',"; sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + + //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴� + // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� + int notdel = 0; + if (model.Type == "1" || model.Type == "4") + { + //鑾峰彇鍗曟嵁鐢熸垚瀵瑰簲鏍囩 + var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null); + + //楠岃瘉瀵瑰簲绠辨敮淇℃伅鏄惁瀛樺湪 + if (list == null) + { + return "-1:宸叉湁绠辩爜宸茬粦瀹氭墭鐩樻垨宸插叆搴擄紝涓嶅彲鍒犻櫎!"; + } + + // 鍒犻櫎瀵瑰簲绠辨敮淇℃伅 + sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',"; + sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; + sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + notdel = 1; + } Db.Ado.BeginTran(); int rowCount = Db.Ado.ExecuteCommand(sqlString); - - if (rowCount < 2) + if (rowCount < 2 + notdel) { Db.RollbackTran(); return "-1:鍒犻櫎澶辫触锛�"; @@ -501,6 +574,7 @@ } catch (Exception ex) { + Db.RollbackTran(); throw ex; } } @@ -577,6 +651,11 @@ //{ // throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚"); //} + var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2").ToList(); + if (palletBind != null && palletBind.Count > 0) + { + throw new Exception("瀛樺湪鏈叆搴撳畬鎴愭墭鐩樹俊鎭紝涓嶅厑璁稿叧鍗�"); + } var sqlString = ""; -- Gitblit v1.8.0