From 5612526544b3532c5efc9c002d1c97b4af286bd1 Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期二, 02 九月 2025 15:45:08 +0800
Subject: [PATCH] 分步式调拨
---
MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs | 101 +++++++++++++++++++++++++-------------------------
1 files changed, 51 insertions(+), 50 deletions(-)
diff --git a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs b/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
index 70d69b3..e98c108 100644
--- a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
+++ b/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
@@ -10,68 +10,61 @@
{
//褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
- private readonly SalesDeliveryNoticeDetailManager
- _SalesDeliveryDetailManager = new();
+ private readonly SalesDeliveryNoticeDetailManager _SalesDeliveryDetailManager = new();
//ErpSalesRerurn
public bool Save(ErpSalesDelivery SalesDelivery)
{
var erpSalesDeliveryDto = SalesDelivery.OrderDto;
- var mesSalesDelivery =
- ConvertErpToSalesDelivery(SalesDelivery.OrderDto);
- var mesSalesDeliveryDatas =
- ConvertErpToSalesDeliveryDetail(SalesDelivery.Items);
+ var mesSalesDelivery = ConvertErpToSalesDelivery(SalesDelivery.OrderDto);
+ var mesSalesDeliveryDatas = ConvertErpToSalesDeliveryDetail(SalesDelivery.Items);
return UseTransaction(db =>
{
switch (erpSalesDeliveryDto.Type)
{
case "3":
- return DeleteData(db, mesSalesDelivery,
- mesSalesDeliveryDatas)
- ? 1
- : 0;
+ return DeleteData(db, mesSalesDelivery,mesSalesDeliveryDatas) ? 1 : 0;
case "2":
case "4":
- return SaveOrUpdateData(db, mesSalesDelivery,
- mesSalesDeliveryDatas, erpSalesDeliveryDto.Type)
- ? 1
- : 0;
+ return SaveOrUpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas, erpSalesDeliveryDto.Type) ? 1 : 0;
default:
- throw new NotImplementedException(
- $"type娌℃湁{erpSalesDeliveryDto.Type}杩欎釜绫诲瀷");
+ throw new NotImplementedException($"type娌℃湁{erpSalesDeliveryDto.Type}杩欎釜绫诲瀷");
}
}) > 0;
}
- private bool DeleteData(SqlSugarScope db,
- SalesDeliveryNotice mesSalesDelivery,
- List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas)
+ private bool DeleteData(SqlSugarScope db,SalesDeliveryNotice mesSalesDelivery,List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas)
{
var decimals = mesSalesDeliveryDatas.Select(s => s.Id).ToArray();
var update = base.DeleteById(mesSalesDelivery.Id);
- var insertOrUpdate = db.Deleteable<SalesDeliveryNoticeDetail>()
- .In(decimals).ExecuteCommand() > 0;
+ var insertOrUpdate = db.Deleteable<SalesDeliveryNoticeDetail>().In(decimals).ExecuteCommand() > 0;
- if (update && insertOrUpdate) return true;
+ if (update && insertOrUpdate)
+ {
+ return true;
+ }
throw new NotImplementedException("鏇存柊澶辫触");
}
// 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
- private bool SaveOrUpdateData(SqlSugarScope db,
- SalesDeliveryNotice mesSalesDelivery,
- List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas, string type)
+ private bool SaveOrUpdateData(SqlSugarScope db,SalesDeliveryNotice mesSalesDelivery,List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas, string type)
{
- if (mesSalesDelivery.Id != null) base.DeleteById(mesSalesDelivery.Id);
+ if (mesSalesDelivery.Id != null)
+ {
+ base.DeleteById(mesSalesDelivery.Id);
+ }
if (mesSalesDeliveryDatas.Count > 0)
- db.Deleteable<SalesDeliveryNoticeDetail>()
- .Where(s => s.ErpHeadId == mesSalesDelivery.ErpId)
- .ExecuteCommand();
+ {
+ db.Deleteable<SalesDeliveryNoticeDetail>().Where(s => s.ErpHeadId == mesSalesDelivery.ErpId).ExecuteCommand();
+ }
+
var orUpdate = base.Insert(mesSalesDelivery);
- var baOrUpdate =
- _SalesDeliveryDetailManager.InsertRange(mesSalesDeliveryDatas);
- if (orUpdate && baOrUpdate) return true;
-
+ var baOrUpdate =_SalesDeliveryDetailManager.InsertRange(mesSalesDeliveryDatas);
+ if (orUpdate && baOrUpdate)
+ {
+ return true;
+ }
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
@@ -83,17 +76,17 @@
return result.All(b => b);
}
- private SalesDeliveryNotice ConvertErpToSalesDelivery(
- ErpSalesDeliveryDto erpDto)
+ private SalesDeliveryNotice ConvertErpToSalesDelivery(ErpSalesDeliveryDto erpDto)
{
DateTime parsedDate;
// 鏃堕棿鏍煎紡杞崲鍑芥暟锛孍RP鏃堕棿鏍煎紡涓� "yyyy-MM-dd HH:mm:ss"
DateTime? ParseDateTime(string dateStr)
{
- if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss",
- CultureInfo.InvariantCulture, DateTimeStyles.None,
- out parsedDate)) return parsedDate;
+ if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture, DateTimeStyles.None,out parsedDate))
+ {
+ return parsedDate;
+ }
return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
}
@@ -141,13 +134,15 @@
};
var single = base.GetSingle(it => it.ErpId == erpDto.ErpID);
- if (single != null) salesOrder.Id = single.Id;
+ if (single != null)
+ {
+ salesOrder.Id = single.Id;
+ }
return salesOrder;
}
- private List<SalesDeliveryNoticeDetail> ConvertErpToSalesDeliveryDetail(
- List<ErpSalesDeliveryDetailDto> erpDtoList)
+ private List<SalesDeliveryNoticeDetail> ConvertErpToSalesDeliveryDetail(List<ErpSalesDeliveryDetailDto> erpDtoList)
{
var salesOrderSubList = new List<SalesDeliveryNoticeDetail>();
@@ -156,9 +151,10 @@
// 鏃堕棿鏍煎紡杞崲鍑芥暟锛孍RP鏃堕棿鏍煎紡涓� "yyyy-MM-dd HH:mm:ss"
DateTime? ParseDateTime(string dateStr)
{
- if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss",
- CultureInfo.InvariantCulture, DateTimeStyles.None,
- out parsedDate)) return parsedDate;
+ if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture, DateTimeStyles.None,out parsedDate))
+ {
+ return parsedDate;
+ }
return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
}
@@ -179,11 +175,10 @@
LotNumber = erpDto.FLot, //鎵瑰彿
SrcBillNo = erpDto.FSrcBillNo, //婧愬崟缂栧彿
PriceQty = erpDto.FPriceUnitQty, //璁′环鏁伴噺
- OwnerId = erpDto.FOwnerIdHead, //璐т富
+ OwnerId = erpDto.FOwnerId, //璐т富
InventoryUnit = erpDto.FStockUnitID, //搴撳瓨鍗曚綅
InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty), //搴撳瓨鏁伴噺
- PlanDeliveryDate =
- ParseDateTime(erpDto.FPlanDeliveryDate), //璁″垝鍙戣揣鏃ユ湡
+ PlanDeliveryDate = ParseDateTime(erpDto.FPlanDeliveryDate), //璁″垝鍙戣揣鏃ユ湡
OutLmtUnit = erpDto.FOutLmtUnit, //瓒呭彂鎺у埗鍗曚綅
OutMaxQty = erpDto.FOutMaxQty, //鍑哄簱涓婇檺
OutMinQty = erpDto.FOutMinQty, //鍑哄簱涓嬮檺
@@ -203,13 +198,19 @@
};
if (erpDto.FRemainOutQty == 0)
+ {
salesOrderSub.IsFinish = 1;
+ }
else
+ {
salesOrderSub.IsFinish = 0;
+ }
- var single = _SalesDeliveryDetailManager.GetSingle(it =>
- it.ErpLineId == salesOrderSub.ErpLineId);
- if (single != null) salesOrderSub.Id = single.Id;
+ var single = _SalesDeliveryDetailManager.GetSingle(it =>it.ErpLineId == salesOrderSub.ErpLineId);
+ if (single != null)
+ {
+ salesOrderSub.Id = single.Id;
+ }
salesOrderSubList.Add(salesOrderSub);
}
--
Gitblit v1.9.3