From 540fc5ffc0db7ba2c01866f4079b3daae4a27e9b Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期三, 06 八月 2025 15:55:57 +0800
Subject: [PATCH] 退补料完成
---
service/Warehouse/MesItemBlManager.cs | 76 ++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index bf74ff4..c9b5ff5 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -597,6 +597,82 @@
public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode(
WarehouseQuery query)
{
+
+ // 杈撳叆鍙傛暟楠岃瘉锛堜繚鎸佷笉鍙橈級
+ if (string.IsNullOrEmpty(query.userName))
+ throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
+
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ if (string.IsNullOrEmpty(query.barcode))
+ throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+
+ if ((query.Num ?? 0) <= 0)
+ throw new Exception("璇疯緭鍏ユ纭殑鍙戞枡鏁伴噺锛�");
+
+ if (string.IsNullOrEmpty(query.blNo))
+ throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�");
+
+ // 鍑嗗瀛樺偍杩囩▼鍙傛暟
+ var outMsg = "";
+ var outSum = -1;
+ var outCfBar = "";
+
+ try
+ {
+ // 璋冪敤瀛樺偍杩囩▼
+ var parameters = new List<SugarParameter>
+ {
+ new SugarParameter("@C_USER", query.userName), // 鎿嶄綔浜哄憳
+ new SugarParameter("@P_BILL_NO", query.billNo), // 宸ュ崟鍙�
+ new SugarParameter("@P_ITEM_BARCODE", query.barcode), // 鏉$爜
+ new SugarParameter("@P_BL_NO", query.blNo), // 琛ユ枡鍗曞彿
+ new SugarParameter("@P_TYPE", query.Type), // 绫诲瀷(鐢熶骇琛ユ枡/鐢熶骇瓒呴)
+ new SugarParameter("@NUM", query.Num), // 鎷嗗垎鏁�
+ new SugarParameter("@OUT_MSG", null, true), // 杈撳嚭娑堟伅
+ new SugarParameter("@OUT_SUM", null, true), // 鎵ц缁撴灉(1鎴愬姛,-1澶辫触)
+ new SugarParameter("@OUT_CF_BAR", null, true) // 杈撳嚭鏂版潯鐮佺紪鍙�
+ };
+
+ // 鎵ц瀛樺偍杩囩▼
+ Db.Ado.UseStoredProcedure().ExecuteCommand("PRC_PDA_SCBLCL_CF", parameters);
+
+ // 鑾峰彇杈撳嚭鍙傛暟
+ outMsg = parameters.First(p => p.ParameterName == "@OUT_MSG").Value?.ToString();
+ outSum = Convert.ToInt32(parameters.First(p => p.ParameterName == "@OUT_SUM").Value);
+ outCfBar = parameters.First(p => p.ParameterName == "@OUT_CF_BAR").Value?.ToString();
+
+ // 澶勭悊瀛樺偍杩囩▼杩斿洖缁撴灉
+ if (outSum != 1)
+ {
+ throw new Exception(outMsg ?? "鎿嶄綔澶辫触");
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(outMsg ?? ex.Message);
+ }
+
+ // 鑾峰彇寰呭彂鏂欐槑缁嗗垪琛紙淇濇寔涓嶅彉锛�
+ 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 MesItemBlDetail
+ {
+ Bld012 = b.Bld012,
+ Bld002 = b.Bld002,
+ Bld003 = b.Bld003,
+ Bld004 = b.Bld004,
+ Bld007 = b.Bld007,
+ Bld008 = b.Bld008
+ })
+ .ToList();
+
+ // 杩斿洖缁撴灉锛堟垚鍔熺姸鎬佸拰寰呭彂鏂欏垪琛級
+ return (outSum == 1, pendingList);
+
//if (string.IsNullOrEmpty(query.userName))
// throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
--
Gitblit v1.9.3