diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index d6f10178..df8852dc 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -600,6 +600,81 @@ 出库单同步金蝶 + + + 单据编号 + + + + + 单据类型 + + + + + 发货组织 + + + + + 收货客户 + + + + + 创建时间(出库时间) + + + + + 结算币别默认为: 人民币 + + + + + 销售组织取对应发货通知单的销售组织 + + + + + 销售部门取对应发货通知单的销售部门 + + + + + 物料Id + + + + + 仓库ID + + + + + 出库数量 + + + + + 出库数量 + + + + + 应发数量,取对应发货通知单的销售数量 + + + + + 单价 取对应发货通知单对应物料编码行的 单价 + + + + + 含税单价 取对应发货通知单对应物料编码行的 含税单价 + + erp-采购入库-返回数据源 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 249cb649..7bf76156 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -670,6 +670,11 @@ 单据编号 + + + 来源单号 + + 单据状态 @@ -680,6 +685,16 @@ 单据类型 + + + 发货组织 + + + + + 收货客户 + + 创建人 @@ -726,26 +741,11 @@ 单据头Id - - - 来源单号 - - 销售订单号 - - - 发货组织 - - - - - 收货客户 - - 物料Id @@ -786,6 +786,16 @@ 来源单号 + + + 发货组织 + + + + + 收货客户 + + 单据状态 @@ -849,16 +859,6 @@ 销售订单号 - - - 发货组织 - - - - - 收货客户 - - 物料Id diff --git a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpOutStockSaveDto.cs b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpOutStockSaveDto.cs index 067ffbf8..52994d25 100644 --- a/src/WMS.Web.Core/Dto/Erp/OutStock/ErpOutStockSaveDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/OutStock/ErpOutStockSaveDto.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Text; @@ -9,5 +10,85 @@ namespace WMS.Web.Core.Dto.Erp.OutStock /// public class ErpOutStockSaveDto { + /// + /// 单据编号 + /// + [JsonProperty("BillNo")] + public string BillNo { get; set; } + /// + /// 单据类型 + /// + [JsonProperty("BillNo")] + public string Type { get; set; } + /// + /// 发货组织 + /// + [JsonProperty("DeliveryOrgId")] + public int DeliveryOrgId { get; set; } + /// + /// 收货客户 + /// + [JsonProperty("ReceiptCustomerId")] + public int ReceiptCustomerId { get; set; } + /// + /// 创建时间(出库时间) + /// + [JsonProperty("CreateTime")] + public DateTime CreateTime { get; set; } = DateTime.Now; + /// + /// 结算币别默认为: 人民币 + /// + [JsonProperty("Currency")] + public string Currency { get; set; } + /// + /// 销售组织取对应发货通知单的销售组织 + /// + [JsonProperty("Currency")] + public string SalOrg { get; set; } + /// + /// 销售部门取对应发货通知单的销售部门 + /// + [JsonProperty("Currency")] + public string SalDept { get; set; } + + } + + public class ErpOutStockSaveDetailsDto + { + /// + /// 物料Id + /// + [JsonProperty("MaterialId")] + public string MaterialId { get; set; } + /// + /// 仓库ID + /// + [JsonProperty("StockId")] + public string StockId { get; set; } + /// + /// 出库数量 + /// + [JsonProperty("UnitId")] + public string UnitId { get; set; } + /// + /// 出库数量 + /// + [JsonProperty("Qty")] + public decimal Qty { get; set; } + /// + /// 应发数量,取对应发货通知单的销售数量 + /// + [JsonProperty("YFQty")] + public string YFQty { get; set; } + /// + /// 单价 取对应发货通知单对应物料编码行的 单价 + /// + [JsonProperty("Price")] + public string Price { get; set; } + /// + ///含税单价 取对应发货通知单对应物料编码行的 含税单价 + /// + [JsonProperty("HSPrice")] + public string HSPrice { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/OutStock.cs b/src/WMS.Web.Domain/Entitys/OutStock.cs index 89c8edb3..a7b84333 100644 --- a/src/WMS.Web.Domain/Entitys/OutStock.cs +++ b/src/WMS.Web.Domain/Entitys/OutStock.cs @@ -31,6 +31,11 @@ namespace WMS.Web.Domain.Entitys [Column("BillNo")] public string BillNo { get; set; } /// + /// 来源单号 + /// + [Column("SourceBillNo")] + public string SourceBillNo { get; set; } + /// /// 单据状态 /// [Column("Status")] @@ -40,7 +45,16 @@ namespace WMS.Web.Domain.Entitys /// [Column("Type")] public OrderType Type { get; set; } = OrderType.Sal_Out; - + /// + /// 发货组织 + /// + [Column("DeliveryOrgId")] + public int DeliveryOrgId { get; set; } + /// + /// 收货客户 + /// + [Column("ReceiptCustomerId")] + public int ReceiptCustomerId { get; set; } /// /// 创建人 /// diff --git a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs index 14d9aec8..5c973682 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs @@ -25,26 +25,13 @@ namespace WMS.Web.Domain.Entitys /// [Column("Fid")] public int Fid { get; set; } - /// - /// 来源单号 - /// - [Column("SourceBillNo")] - public string SourceBillNo { get; set; } + /// /// 销售订单号 /// [Column("SaleBillNo")] public string SaleBillNo { get; set; } - /// - /// 发货组织 - /// - [Column("DeliveryOrgId")] - public int DeliveryOrgId { get; set; } - /// - /// 收货客户 - /// - [Column("ReceiptCustomerId")] - public int ReceiptCustomerId { get; set; } + /// /// 物料Id /// diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs index e0f92dec..5909e22a 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs @@ -33,6 +33,16 @@ namespace WMS.Web.Domain.Entitys [Column("SourceBillNo")] public string SourceBillNo { get; set; } /// + /// 发货组织 + /// + [Column("DeliveryOrgId")] + public int DeliveryOrgId { get; set; } + /// + /// 收货客户 + /// + [Column("ReceiptCustomerId")] + public int ReceiptCustomerId { get; set; } + /// /// 单据状态 /// [Column("Status")] @@ -100,10 +110,11 @@ namespace WMS.Web.Domain.Entitys // 符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致 if (list.Where(w => w.Status != OutStockStatus.Wait).Any()) return Result.ReFailure(ResultCodes.MergeStatusError); if (list.Where(w => w.Type != OrderType.Sal_Out).Any()) return Result.ReFailure(ResultCodes.MergeStatusError); + if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); + if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); var details = list.SelectMany(s => s.Details).ToList(); - if (details.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); - if (details.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); + if (details.GroupBy(g => g.StockId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError); //清空数据绑定 diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs index ec2294aa..d9da6d54 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs @@ -32,16 +32,6 @@ namespace WMS.Web.Domain.Entitys [Column("SaleBillNo")] public string SaleBillNo { get; set; } /// - /// 发货组织 - /// - [Column("DeliveryOrgId")] - public int DeliveryOrgId { get; set; } - /// - /// 收货客户 - /// - [Column("ReceiptCustomerId")] - public int ReceiptCustomerId { get; set; } - /// /// 物料Id /// [Column("MaterialId")] diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 1b9c107f..2ca30412 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -97,13 +97,13 @@ namespace WMS.Web.Repositories if (ids.Count() > 0) query = query.Where(w => ids.Contains(w.order.CreatorId)); if (!string.IsNullOrEmpty(dto.SourceBillNo)) - query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNo, "%" + dto.SourceBillNo + "%")); + query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%")); if (dto.Type != null) query = query.Where(w => w.order.Type == (OrderType)dto.Type); if (dto.SuccessSync != null) query = query.Where(w => w.order.SuccessSync == dto.SuccessSync); if (dto.DeliveryOrgId != null) - query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId); + query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId); if (dto.StockId != null) query = query.Where(w => w.detail.StockId == dto.StockId); if (dto.CreateBeginDate != null) @@ -123,10 +123,10 @@ namespace WMS.Web.Repositories CreateTime = s.order.CreateTime.DateToStringSeconds(), SuccessSync = s.order.SuccessSync, Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId), - SourceBillNo = s.detail.SourceBillNo, + SourceBillNo = s.order.SourceBillNo, SaleBillNo = s.detail.SaleBillNo, DeliveryOrg = "", - ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId), + ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.order.ReceiptCustomerId), MaterialName = "", MaterialNumber = "", Specifications = "", diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index 47fd5754..d37eb6f3 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -229,7 +229,7 @@ namespace WMS.Web.Repositories if (dto.Status != null) query = query.Where(w => w.order.Status == (OutStockStatus)dto.Status); if (dto.DeliveryOrgId != null) - query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId); + query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId); if (dto.StockId != null) query = query.Where(w => w.detail.StockId == dto.StockId); if (dto.CreateBeginDate != null) @@ -251,7 +251,7 @@ namespace WMS.Web.Repositories SourceBillNo = s.order.SourceBillNo, SaleBillNo = s.detail.SaleBillNo, DeliveryOrg = "", - ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId), + ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.order.ReceiptCustomerId), MaterialName = "", MaterialNumber = "", Specifications = ""