From e2988c27cb7e250d8834e3097b4821c7dbff6b64 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期二, 31 十二月 2024 13:01:20 +0800 Subject: [PATCH] 1 --- service/Warehouse/MesItemBlManager.cs | 135 ++++++++++++++++++++++++-------------------- 1 files changed, 74 insertions(+), 61 deletions(-) diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index 690c1d7..7181715 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -30,8 +30,9 @@ /// </summary> /// <param name="billNo">琛ユ枡鍗曞彿</param> /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns> - public List<MesItemBlDetail> GetMesItemBlDetailByBillNo( - WarehouseQuery query) + public (string bl001, List<MesItemBlDetail> item) + GetMesItemBlDetailByBillNo( + WarehouseQuery query) { if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊崟鎹彿锛�"); @@ -63,7 +64,7 @@ }) .ToList(); - return blDetails; + return (mesItemBl.Bl001, blDetails); } /// <summary> @@ -78,11 +79,10 @@ /// - userName: 鐢ㄦ埛鍚� /// - blNo: 琛ユ枡鍗曞彿(蹇呭~) /// </remarks> - public (bool success, List<PendingMaterialDto> pendingList) SctlScanBarcode( - WarehouseQuery query) + public (WarehouseQuery item, List<MesItemBlDetail> pendingList) + SctlScanBarcode( + WarehouseQuery query) { - #region 鍙傛暟鏍¢獙 - if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒"); @@ -95,7 +95,6 @@ if (string.IsNullOrEmpty(query.blNo)) throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�"); - #endregion // 妫�楠屾槸鍚﹂噸澶嶆壂鎻� var exists = Db.Queryable<MesInvItemOutCDetails>() @@ -164,17 +163,22 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, + Bld002 = b.Bld002, + Bld003 = b.Bld003, + Bld004 = b.Bld004, + Bld007 = b.Bld007, + Bld008 = b.Bld008 }) .ToList(); - return (false, pendingList); + + query.Num = stockBarcode.Quantity; + query.Fum = quantity; + + return (query, pendingList); } // 寮�鍚簨鍔″鐞� @@ -182,7 +186,7 @@ { // 鑾峰彇鎴栧垱寤哄嚭搴撳崟 var outId = Guid.NewGuid(); - var outNo = BillNo.GetBillNo("SCBL"); + var outNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)"); var existingOut = db.Queryable<MesInvItemOuts>() .Where(a => a.BbillNo == query.blNo @@ -400,17 +404,18 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, + Bld002 = b.Bld002, + Bld003 = b.Bld003, + Bld004 = b.Bld004, + Bld007 = b.Bld007, + Bld008 = b.Bld008 }) .ToList(); - return (true, finalPendingList); + return (query, finalPendingList); } /// <summary> @@ -426,11 +431,9 @@ /// - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0) /// - blNo: 琛ユ枡鍗曞彿(蹇呭~) /// </remarks> - public (bool success, List<PendingMaterialDto> pendingList) SplitBarcode( + public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode( WarehouseQuery query) { - #region 鍙傛暟鏍¢獙 - if (string.IsNullOrEmpty(query.userName)) throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒"); @@ -446,7 +449,6 @@ if (string.IsNullOrEmpty(query.blNo)) throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�"); - #endregion // 妫�楠屾槸鍚﹂噸澶嶆壂鎻� var exists = Db.Queryable<MesInvItemOutCDetails>() @@ -676,7 +678,7 @@ { // 鍒涘缓鏂扮殑鍑哄簱鍗� var outId = Guid.NewGuid(); - var outNo = BillNo.GetBillNo("SCBL"); + var outNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)"); // 鎻掑叆鍑哄簱鍗曚富琛� executeCommand += db.Insertable(new MesInvItemOuts @@ -871,13 +873,14 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, + Bld002 = b.Bld002, + Bld003 = b.Bld003, + Bld004 = b.Bld004, + Bld007 = b.Bld007, + Bld008 = b.Bld008 }) .ToList(); @@ -904,8 +907,9 @@ /// </summary> /// <param name="query">鏌ヨ鍙傛暟</param> /// <returns>鐢熶骇瓒呴鍗曟槑缁嗗垪琛�</returns> - public List<MesItemBlDetail> GetMesItemBlDetailBySccBillNo( - WarehouseQuery query) + public (string bl001, List<MesItemBlDetail> item) + GetMesItemBlDetailBySccBillNo( + WarehouseQuery query) { if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊崟鎹彿锛�"); @@ -952,7 +956,7 @@ }) .ToList(); - return pendingDetails; + return (mesItemBl.Bl001, pendingDetails); } /// <summary> @@ -967,7 +971,7 @@ /// - userName: 鐢ㄦ埛鍚�(蹇呭~) /// - blNo: 瓒呴鍗曞彿(蹇呭~) /// </remarks> - public (bool success, List<PendingMaterialDto> pendingList) + public (WarehouseQuery item, List<MesItemBlDetail> pendingList) ScanBarcodeForOverPicking( WarehouseQuery query) { @@ -1071,17 +1075,21 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, + Bld002 = b.Bld002, + Bld003 = b.Bld003, + Bld004 = b.Bld004, + Bld007 = b.Bld007, + Bld008 = b.Bld008 }) .ToList(); - return (false, pendingList); + query.Num = stockBarcode.Quantity; + query.Fum = quantity; + + return (query, pendingList); } // 鎵ц鏁版嵁搴撲簨鍔� @@ -1102,7 +1110,7 @@ if (outRecord == null) { outId = Guid.NewGuid(); - outNo = BillNo.GetBillNo("SCBL"); // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶 + outNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)"); // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶 // 鎻掑叆鍑哄簱鍗曚富琛� db.Insertable(new MesInvItemOuts @@ -1282,17 +1290,18 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, + Bld002 = b.Bld002, + Bld003 = b.Bld003, + Bld004 = b.Bld004, + Bld007 = b.Bld007, + Bld008 = b.Bld008 }) .ToList(); - return (true, finalPendingList); + return (query, finalPendingList); } /// <summary> @@ -1300,7 +1309,7 @@ /// </summary> /// <param name="query">鏌ヨ鍙傛暟</param> /// <returns>澶勭悊缁撴灉</returns> - public (bool success, List<PendingMaterialDto> pendingList) + public (bool success, List<MesItemBlDetail> pendingList) PrintBarcodeForOverPicking(WarehouseQuery query) { UseTransaction(db => @@ -1505,7 +1514,7 @@ itemOut = new MesInvItemOuts { Guid = Guid.NewGuid(), - ItemOutNo = BillNo.GetBillNo("SCBL"), // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶 + ItemOutNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)"), // 闇�瑕佸疄鐜扮敓鎴愬崟鍙风殑鏂规硶 TaskNo = query.blNo, CreateBy = query.userName, CreateDate = DateTime.Now, @@ -1683,17 +1692,21 @@ // 鑾峰彇鏈�缁堢殑寰呭鐞嗗垪琛� + // 鑾峰彇琛ユ枡鍗曟槑缁嗕腑鏈畬鎴愮殑璁板綍 + // 閫氳繃宸﹁繛鎺ユ煡璇㈣ˉ鏂欏崟(MesItemBl)鍜岃ˉ鏂欏崟鏄庣粏(MesItemBlDetail)琛� + // 鏉′欢: 1.琛ユ枡鍗曞彿鍖归厤 2.璁″垝鏁伴噺(Bld007)鍑忓幓宸茶ˉ鏁伴噺(Bld008)澶т簬0(鍗虫湭瀹屾垚鐨�) var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) - .Select((a, b) => new PendingMaterialDto + .Select((a, b) => new MesItemBlDetail { - SectionCode = b.Bld012.ToString(), - ItemNo = b.Bld002, - ItemName = b.Bld003, - ItemSpec = b.Bld004, - PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0) + Bld012 = b.Bld012, // 鐗╂枡ID + Bld002 = b.Bld002, // 鐗╂枡缂栧彿 + Bld003 = b.Bld003, // 鐗╂枡鍚嶇О + Bld004 = b.Bld004, // 鐗╂枡瑙勬牸 + Bld007 = b.Bld007, // 璁″垝鏁伴噺 + Bld008 = b.Bld008 // 宸茶ˉ鏁伴噺 }) .ToList(); -- Gitblit v1.9.3