From fba48d2d676cd9b6d493163aef9d87f6e5090aee Mon Sep 17 00:00:00 2001
From: 如洲 陈 <1278080563@qq.com>
Date: 星期五, 12 九月 2025 19:02:00 +0800
Subject: [PATCH] 出库检和退货检验
---
MES.Service/service/Warehouse/MesReturnwareManager.cs | 122 ++++++++++++++++++++++++++++++++++++----
1 files changed, 110 insertions(+), 12 deletions(-)
diff --git a/MES.Service/service/Warehouse/MesReturnwareManager.cs b/MES.Service/service/Warehouse/MesReturnwareManager.cs
index c83afa9..7bb85c8 100644
--- a/MES.Service/service/Warehouse/MesReturnwareManager.cs
+++ b/MES.Service/service/Warehouse/MesReturnwareManager.cs
@@ -4,6 +4,7 @@
using MES.Service.DB;
using MES.Service.Modes;
using MES.Service.Dto.webApi;
+using System.Data;
namespace MES.Service.service
{
@@ -92,7 +93,12 @@
var orUpdate = base.Insert(mesReturnware);
var baOrUpdate = ReturnwareDetailsManager.InsertRange(mesReturnwareDetails);
- if (orUpdate && baOrUpdate) return true;
+ if (orUpdate && baOrUpdate)
+ {
+ // 淇濆瓨鎴愬姛鍚庯紝璋冪敤瀛樺偍杩囩▼鐢熸垚妫�楠屽崟
+ GenerateInspectionOrder(db, mesReturnware, mesReturnwareDetails);
+ return true;
+ }
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
@@ -117,7 +123,12 @@
var insertOrUpdate = db.Deleteable<MesReturnwareDetails>().Where(it => mesReturnwareDetail.Any(p => p.ReturnwareNo == it.ReturnNo && p.ReturnwareType == it.ReturnType)).ExecuteCommand() > 0;
- if (update && insertOrUpdate) return true;
+ if (update && insertOrUpdate)
+ {
+ // 鏇存柊鎴愬姛鍚庯紝璋冪敤瀛樺偍杩囩▼鐢熸垚妫�楠屽崟
+ GenerateInspectionOrder(db, mesReturnware, mesReturnwareDetails);
+ return true;
+ }
throw new NotImplementedException("鏇存柊澶辫触");
}
@@ -187,27 +198,114 @@
public bool Delete(YFDelete data)
{
-
-
return UseTransaction(db =>
{
- var update = db.Deleteable<MesReturnware>()
- .Where(it => it.ReturnNo == data.FBillNo &&
- it.ReturnType == data.FBillTypeID)
- .ExecuteCommand() > 0;
-
- var insertOrUpdate = db.Deleteable<MesReturnwareDetails>()
+ // 鍏堝垹闄ら��璐ч�氱煡鍗曟槑缁�
+ var detailsDeleted = db.Deleteable<MesReturnwareDetails>()
.Where(it => it.ReturnNo == data.FBillNo &&
it.ReturnType == data.FBillTypeID)
.ExecuteCommand() > 0;
+ // 鍐嶅垹闄ら��璐ч�氱煡鍗曚富琛�
+ var mainDeleted = db.Deleteable<MesReturnware>()
+ .Where(it => it.ReturnNo == data.FBillNo &&
+ it.ReturnType == data.FBillTypeID)
+ .ExecuteCommand() > 0;
-
- if (update && insertOrUpdate) return 1;
+ if (detailsDeleted && mainDeleted)
+ {
+ // 鍒犻櫎鎴愬姛鍚庯紝璋冪敤瀛樺偍杩囩▼鍒犻櫎瀵瑰簲鐨勬楠屽崟
+ DeleteInspectionOrder(db, data.FBillTypeID, data.FBillNo);
+ return 1;
+ }
+
throw new NotImplementedException("鍒犻櫎澶辫触");
}) > 0;
+ }
+ /// <summary>
+ /// 璋冪敤瀛樺偍杩囩▼鐢熸垚妫�楠屽崟
+ /// </summary>
+ /// <param name="mesReturnware">閫�璐ч�氱煡鍗曚富琛�</param>
+ /// <param name="mesReturnwareDetails">閫�璐ч�氱煡鍗曟槑缁嗚〃</param>
+ private void GenerateInspectionOrder(SqlSugarScope db, MesReturnware mesReturnware, List<MesReturnwareDetails> mesReturnwareDetails)
+ {
+ try
+ {
+ // 瀹氫箟杈撳叆鍙傛暟
+ var inputParam1 = new SugarParameter("P_RETURN_TYPE", mesReturnware.ReturnType ?? "");
+ var inputParam2 = new SugarParameter("P_RETURN_NO", mesReturnware.ReturnNo ?? "");
+
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outParam1 = new SugarParameter("P_RESULT", null, true);
+ var outParam2 = new SugarParameter("P_MESSAGE", null, true);
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ db.Ado.ExecuteCommand("BEGIN SP_GEN_RETURN_INSP(:P_RETURN_TYPE,:P_RETURN_NO,:P_RESULT,:P_MESSAGE); END;",
+ inputParam1, inputParam2, outParam1, outParam2);
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ int result = int.Parse((string)outParam1.Value);
+ string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
+
+ if (result != 1)
+ {
+ // 璁板綍璀﹀憡鏃ュ織锛屼絾涓嶅奖鍝嶉��璐ч�氱煡鍗曠殑淇濆瓨
+ Console.WriteLine($"鐢熸垚妫�楠屽崟璀﹀憡: {message}");
+ }
+ else
+ {
+ Console.WriteLine($"鐢熸垚妫�楠屽崟鎴愬姛: {message}");
+ }
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍閿欒鏃ュ織锛屼絾涓嶅奖鍝嶉��璐ч�氱煡鍗曠殑淇濆瓨
+ Console.WriteLine($"鐢熸垚妫�楠屽崟鏃跺彂鐢熼敊璇�: {ex.Message}");
+ }
+ }
+
+ /// <summary>
+ /// 璋冪敤瀛樺偍杩囩▼鍒犻櫎妫�楠屽崟
+ /// </summary>
+ /// <param name="db">鏁版嵁搴撹繛鎺�</param>
+ /// <param name="returnType">閫�璐у崟鍒�</param>
+ /// <param name="returnNo">閫�璐у崟鍙�</param>
+ private void DeleteInspectionOrder(SqlSugarScope db, string returnType, string returnNo)
+ {
+ try
+ {
+ // 瀹氫箟杈撳叆鍙傛暟
+ var inputParam1 = new SugarParameter("P_RETURN_TYPE", returnType ?? "");
+ var inputParam2 = new SugarParameter("P_RETURN_NO", returnNo ?? "");
+
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outParam1 = new SugarParameter("P_RESULT", null, true);
+ var outParam2 = new SugarParameter("P_MESSAGE", null, true);
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ db.Ado.ExecuteCommand("BEGIN SP_DEL_RETURN_INSP(:P_RETURN_TYPE,:P_RETURN_NO,:P_RESULT,:P_MESSAGE); END;",
+ inputParam1, inputParam2, outParam1, outParam2);
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ int result = int.Parse((string)outParam1.Value);
+ string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
+
+ if (result != 1)
+ {
+ // 璁板綍璀﹀憡鏃ュ織锛屼絾涓嶅奖鍝嶉��璐ч�氱煡鍗曠殑鍒犻櫎
+ Console.WriteLine($"鍒犻櫎妫�楠屽崟璀﹀憡: {message}");
+ }
+ else
+ {
+ Console.WriteLine($"鍒犻櫎妫�楠屽崟鎴愬姛: {message}");
+ }
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍閿欒鏃ュ織锛屼絾涓嶅奖鍝嶉��璐ч�氱煡鍗曠殑鍒犻櫎
+ Console.WriteLine($"鍒犻櫎妫�楠屽崟鏃跺彂鐢熼敊璇�: {ex.Message}");
+ }
}
--
Gitblit v1.9.3