From 335095c9fdb8bc93340feb72397befc9ea10c890 Mon Sep 17 00:00:00 2001 From: crz <1278080563@qq.com> Date: 星期二, 11 三月 2025 08:51:13 +0800 Subject: [PATCH] 补充字段 --- MES.Service/service/MesSalesOrderManager.cs | 63 ++++++++++++++++++------------- 1 files changed, 37 insertions(+), 26 deletions(-) diff --git a/MES.Service/service/MesSalesOrderManager.cs b/MES.Service/service/MesSalesOrderManager.cs index c58baac..d938127 100644 --- a/MES.Service/service/MesSalesOrderManager.cs +++ b/MES.Service/service/MesSalesOrderManager.cs @@ -36,6 +36,7 @@ case "3": return UpdateData(db, mesSalesOrder, mesSalesOrderDetails) ? 1 : 0; case "2": + case "4": return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDetails) ? 1 : 0; @@ -61,12 +62,12 @@ if (mesSalesOrderDetails.Count > 0) { - var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.LineNumber }).ToList(); + var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.OrderType }).ToList(); db.Deleteable<MesSalesOrderDetail>() .Where(it => mesSalesOrderDetails .Any(p => p.OrderId == it.OrderId - && p.LineNumber == it.LineNumber)) + && p.OrderType == it.OrderType)) .ExecuteCommand(); }; @@ -88,9 +89,10 @@ it.OrderType == mesSalesOrder.OrderType) .ExecuteCommand() > 0; - var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.LineNumber }).ToList(); + var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.OrderType }).ToList(); - var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>().Where(it => mesSalesOrderDetail.Any(p => p.OrderId == it.OrderId && p.LineNumber==it.LineNumber)).ExecuteCommand() > 0; + var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>(). + Where(it => mesSalesOrderDetail.Any(p => p.OrderId == it.OrderId && p.OrderType == it.OrderType)).ExecuteCommand() > 0; if (update && insertOrUpdate) return true; @@ -103,14 +105,14 @@ { OrderId = dto.FBillNo, OrderType = dto.FBillTypeID, - DocumentDate = DateTime.TryParseExact(dto.FDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime documentDate) ? (DateTime?)documentDate : null, + DocumentDate = !string.IsNullOrEmpty(dto.FDate) && DateTime.TryParseExact(dto.FDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime documentDate) ? (DateTime?)documentDate : null, CustomerId = dto.FCustId, - CustomerOrderId= dto.F_UNW_Text_KHDD, - DepartmentId= dto.FSaleDeptId, - TotalQuantity = long.TryParse(dto.FNote, out long quantity) ? (long?)quantity : null, - Remarks =dto.F_UNW_LargeText_TBKHBZ, - ApprovalDate = DateTime.TryParse(dto.FApproveDate, out DateTime approveDate) ? (DateTime?)approveDate : null, - Approver = dto.FApproverId + OrderDate = !string.IsNullOrEmpty(dto.FOrderDate) && (DateTime.TryParseExact(dto.FOrderDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime orderDate) || DateTime.TryParseExact(dto.FOrderDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out orderDate)) ? (DateTime?)orderDate : null, + DeliveryDate = !string.IsNullOrEmpty(dto.FDeliveryDate) && (DateTime.TryParseExact(dto.FDeliveryDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime deliveryDate) || DateTime.TryParseExact(dto.FDeliveryDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out deliveryDate)) ? (DateTime?)deliveryDate : null, + Remarks = dto.FNote, + Approver = dto.FApproverId, + DebugDate = !string.IsNullOrEmpty(dto.FDebugDate) && (DateTime.TryParseExact(dto.FDebugDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime debugDate) || DateTime.TryParseExact(dto.FDebugDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out debugDate)) ? (DateTime?)debugDate : null, + DeliverAddress = dto.FDeliverAddress }; return entity; } @@ -118,24 +120,33 @@ private List<MesSalesOrderDetail> MapErpDETAILtoMesSalesOrderDetail(List<ErpDETAIL> dtoList) { var detailList = new List<MesSalesOrderDetail>(); - + foreach (var dto in dtoList) { var mesSalesOrderDetail = new MesSalesOrderDetail { - - OrderId= dto.F_UNW_Text_xsddh, - LineNumber = dto.LineNumber, - ProductCode =dto.FMaterialId, - ProductName =dto.FMaterialName, - ProductSpec=dto.FMaterialModel, - ScheduledDeliveryDate = DateTime.TryParse(dto.FMinPlanDeliveryDate, out DateTime scheduledDeliveryDate) ? (DateTime?)scheduledDeliveryDate : null, - OrderQuantity = long.TryParse(dto.FQty, out long quantity) ? (long?)quantity : null, - Unit = dto.FUnitID, - UnitPrice = long.TryParse(dto.FPrice, out long price) ? (long?)price : null, - Amount = long.TryParse(dto.FAmount, out long amount) ? (long?)amount : null, - - + OrderId = dto.F_UNW_Text_xsddh, + OrderType = dto.FOrderType, + OrderNumber = dto.FOrderNumber, + ProductCode = dto.FMaterialId, + ProductName = dto.FMaterialName, + ProductSpec = dto.FMaterialModel, + Warehouse = dto.FWarehouse, + GiftQuantity=dto.FGiftQuantity, + UnsettledBorrowedQty=dto.FUnsettledBorrowedQty, + ConfigurationPlan=dto.FConfigurationPlan, + ScheduledDeliveryDate = !string.IsNullOrEmpty(dto.FMinPlanDeliveryDate) && (DateTime.TryParseExact(dto.FMinPlanDeliveryDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime scheduledDeliveryDate) || DateTime.TryParseExact(dto.FMinPlanDeliveryDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out scheduledDeliveryDate)) ? (DateTime?)scheduledDeliveryDate : null, + OrderQuantity = dto.FQty, + DeliveredGiftQuantity = dto.FDeliveredGiftQuantity, + Remarks = dto.FEntryNote, + DeviceModel = dto.FDeviceModel, + CustomerProductId = dto.FCustomerProductId, + CustomerProductName = dto.FCustomerProductName, + CustomerSpec = dto.FCustomerSpec, + CustomerOrderId = dto.FCustomerOrderId, + Unit=dto.FUnitID, + DeliveredQuantity=dto.FDeliCommitQty, + IsClosed=dto.FIsClosed }; detailList.Add(mesSalesOrderDetail); } @@ -155,7 +166,7 @@ var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>() .Where(it => it.OrderId == data.FBillNo - && it.LineNumber == data.FBillTypeID) + && it.OrderType == data.FBillTypeID) .ExecuteCommand() > 0; -- Gitblit v1.9.3