From 89d384623e1acdb3c58ec6d4094f9e8f2ec5ca57 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期三, 22 十月 2025 09:23:58 +0800
Subject: [PATCH] 销售发货同步防呆+合并单号
---
StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs | 37 +++++++++++++++++++++++++++++++------
1 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs b/StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs
index 9175278..1112ba7 100644
--- a/StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs
+++ b/StandardInterface/MES.Service/service/BasicData/Sales/SalesReturnNoticeManager.cs
@@ -47,13 +47,37 @@
private bool UpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn,
List<SalesReturnNoticeDetail> mesSalesReturnDatas)
{
- var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
- var update = base.DeleteById(mesSalesReturn.Id);
- var insertOrUpdate = db
- .Deleteable<SalesReturnNoticeDetail>().In(decimals)
- .ExecuteCommand() > 0;
+ // var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
+ var decimals = mesSalesReturnDatas
+ ?.Where(x => x.Id.HasValue)
+ .Select(x => x.Id.Value)
+ .ToArray() ?? new decimal[0];
+ //鎵爜涓嶅厑璁稿垹闄�
+ var hasMaterialOut = db.Queryable<MesInvItemIns>()
+ .Any(x => x.CbillNo == mesSalesReturn.BillNo);
- if (update && insertOrUpdate) return true;
+ if (hasMaterialOut)
+ {
+ throw new Exception($"MES鏈夐鏂欒褰曪紝鍗曞彿锛歿mesSalesReturn.BillNo}锛屼笉鑳藉垹闄わ紒");
+ }
+ var update = true;
+ if (mesSalesReturn != null)
+ {
+ if (mesSalesReturn.Id != null)
+ {
+ update = base.DeleteById(mesSalesReturn.Id);
+ }
+ }
+ var insertOrUpdate = true;
+ if (decimals != null || decimals.Length > 0)
+ {
+ insertOrUpdate = db.Deleteable<SalesReturnNoticeDetail>().In(decimals).ExecuteCommand() > 0;
+ }
+
+ if (update && insertOrUpdate)
+ {
+ return true;
+ }
throw new NotImplementedException("鏇存柊澶辫触");
}
@@ -107,6 +131,7 @@
BillType = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷
Currency = erpDto.FSettleCurrld, // 缁撶畻甯佸埆
SalesDept = erpDto.FSaleDeptId, //閿�鍞儴闂�
+ SalesOrg = erpDto.FSaleOrgId, //閿�鍞粍缁�
ReturnCustomer = erpDto.FRetcustId, // 閫�璐у鎴�
ReturnReason = erpDto.FRetcustReason, // 閫�璐у師鍥�
DeliveryLocation = erpDto.FHeadLocId, // 浜よ揣鍦扮偣
--
Gitblit v1.9.3