CRZ
22 小时以前 85ba3b8ad0bead0baf95d4623f4804c404721bac
MES.Service/service/MesSalesOrderManager.cs
@@ -58,7 +58,8 @@
                        it.OrderType == mesSalesOrder.OrderType)
           .ExecuteCommand();
        };
        }
        ;
        if (mesSalesOrderDetails.Count > 0)
        {
@@ -70,7 +71,8 @@
             && p.OrderType == it.OrderType))
            .ExecuteCommand();
        };
        }
        ;
        var orUpdate = db.Insertable(mesSalesOrder).ExecuteCommand();
        var baOrUpdate = db.Insertable(mesSalesOrderDetails).ExecuteCommand();
@@ -90,7 +92,7 @@
        .ExecuteCommand() > 0;
        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.OrderType == it.OrderType)).ExecuteCommand() > 0;
@@ -105,15 +107,19 @@
        {
            OrderId = dto.FBillNo,
            OrderType = dto.FBillTypeID,
            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,
            // 支持多种日期格式: yyyy-MM-dd HH:mm:ss, yyyyMMdd, yyyy-MM-dd, yyyy/MM/dd
            DocumentDate = !string.IsNullOrEmpty(dto.FDate) && (DateTime.TryParseExact(dto.FDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime documentDate) || DateTime.TryParseExact(dto.FDate, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out documentDate) || DateTime.TryParseExact(dto.FDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out documentDate) || DateTime.TryParseExact(dto.FDate, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out documentDate)) ? (DateTime?)documentDate : null,
            CustomerId = dto.FCustId,
            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,
            // 支持多种日期格式: yyyyMMdd, yyyy-MM-dd, yyyy-MM-dd HH:mm:ss, yyyy/MM/dd
            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.TryParseExact(dto.FOrderDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out orderDate) || DateTime.TryParseExact(dto.FOrderDate, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out orderDate)) ? (DateTime?)orderDate : null,
            // 支持多种日期格式: yyyyMMdd, yyyy-MM-dd, yyyy-MM-dd HH:mm:ss, yyyy/MM/dd
            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.TryParseExact(dto.FDeliveryDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out 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,
            // 支持多种日期格式: yyyyMMdd, yyyy-MM-dd, yyyy-MM-dd HH:mm:ss, yyyy/MM/dd
            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.TryParseExact(dto.FDebugDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out debugDate) || DateTime.TryParseExact(dto.FDebugDate, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out debugDate)) ? (DateTime?)debugDate : null,
            DeliverAddress = dto.FDeliverAddress,
            Over = dto.FOver
            Over = dto.FOver ?? 0  // 确保OVER默认为0,如果ERP推送的值为null则使用0
        };
        return entity;
    }
@@ -133,9 +139,9 @@
                ProductName = dto.FMaterialName,
                ProductSpec = dto.FMaterialModel,
                Warehouse = dto.FWarehouse,
                GiftQuantity=dto.FGiftQuantity,
                UnsettledBorrowedQty=dto.FUnsettledBorrowedQty,
                ConfigurationPlan=dto.FConfigurationPlan,
                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,
@@ -145,9 +151,9 @@
                CustomerProductName = dto.FCustomerProductName,
                CustomerSpec = dto.FCustomerSpec,
                CustomerOrderId = dto.FCustomerOrderId,
                Unit=dto.FUnitID,
                DeliveredQuantity=dto.FDeliCommitQty,
                IsClosed=dto.FIsClosed
                Unit = dto.FUnitID,
                DeliveredQuantity = dto.FDeliCommitQty,
                IsClosed = dto.FIsClosed
            };
            detailList.Add(mesSalesOrderDetail);
        }
@@ -166,7 +172,7 @@
                   .ExecuteCommand() > 0;
            var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>()
                  .Where(it => it.OrderId == data.FBillNo
                  .Where(it => it.OrderId == data.FBillNo
                         && it.OrderType == data.FBillTypeID)
                  .ExecuteCommand() > 0;
@@ -180,5 +186,5 @@
    }
}