From 3db81f6a9584803568c5991b1b436846fb37e4c0 Mon Sep 17 00:00:00 2001 From: lvzb <35200379@qq.com> Date: Wed, 20 Mar 2024 15:56:11 +0800 Subject: [PATCH] =?UTF-8?q?wms=E6=B7=BB=E5=8A=A0=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E8=A1=A8=EF=BC=8C=E9=94=80=E5=94=AE=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E8=A1=A8=E3=80=81=E6=A0=87=E5=87=86=E6=88=90=E6=9C=AC?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E8=A1=A8=E4=BB=A5=E5=8F=8A=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/slnx.sqlite | Bin 0 -> 90112 bytes .../Products/mes_product.cs | 16 +++- .../Incoming/PlanReader.cs | 2 +- ...Wms.DataExchange.Application.Contracts.xml | 35 +++++++ .../DTOs/PurchasePriceSheetDTO.cs | 14 +-- .../IPurchasePriceSheetAppService.cs | 3 +- .../SalePrices/DTOs/SalePriceSheetDTO.cs | 88 +++++++++++------ .../DTOs/StdCostPriceSheetDTO.cs | 90 +++++++++++------- .../PurchasePriceSheetAppService.cs | 4 +- .../SalePriceSheetAutoMapperProfile.cs | 2 - .../StdCostPriceSheetAutoMapperProfile.cs | 2 - .../PurchasePrices/PurchasePriceSheet.cs | 29 ++++-- .../SalePrices/SalePriceSheet.cs | 49 +++++++--- .../StdCostPrices/StdCostPriceSheet.cs | 57 ++++++----- ...ceSheetDbContextModelCreatingExtensions.cs | 3 +- ...ceSheetDbContextModelCreatingExtensions.cs | 8 +- ...ceSheetDbContextModelCreatingExtensions.cs | 9 +- 17 files changed, 269 insertions(+), 142 deletions(-) create mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..b0754f55c06262d8c6ac252a6918d297d5ff32c1 GIT binary patch literal 90112 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 literal 0 HcmV?d00001 diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp/Products/mes_product.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp/Products/mes_product.cs index 1e5e69dc1..49cc9042e 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp/Products/mes_product.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp/Products/mes_product.cs @@ -86,12 +86,18 @@ public class mes_product : Entity /// public string mes_product_active { get; set; } /// - /// + /// 最小領用倍數 /// - public string mes_product_qad01 { get; set; } - - // public string mes_product_fih_factory { get; set; } - + public decimal mes_product_qad01 { get; set; } + /// + /// 正廠編號 + /// + public string mes_product_fih_factory { get; set; } + /// + /// 标准成本 + /// + /// + public decimal mes_product_price_std { get; set; } public override object[] GetKeys() { return new object[] { mes_product_part_ser }; diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs index cdca95ebf..0d9bc033f 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs @@ -67,7 +67,7 @@ public class PlanReader : IReader foreach (var plan in toBeProcessedPlans) { if (pobillno.Contains(plan.PlanBillNo)) continue; - var price = await _purchasePriceSheetAppService.GetByItemCodeAsync(plan.ERP).ConfigureAwait(false); + var price = await _purchasePriceSheetAppService.GetByItemCodeAsync(plan.ERP,plan.SupplierCode).ConfigureAwait(false); if (price == null) { pobillno.Add(plan.PlanBillNo); diff --git a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml index 01d68a873..880561d6c 100644 --- a/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml +++ b/be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml @@ -841,6 +841,41 @@ 明细列表 + + + 零件编号 + + + + + 库位编码 + + + + + MesGuid + + + + + id + + + + + 生效日期 + + + + + 数量 + + + + + 返喷数量 + + 产成品物料号 diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/DTOs/PurchasePriceSheetDTO.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/DTOs/PurchasePriceSheetDTO.cs index 307e4ed58..08a19b4a3 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/DTOs/PurchasePriceSheetDTO.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/DTOs/PurchasePriceSheetDTO.cs @@ -23,16 +23,18 @@ public class PurchasePriceSheetDTO : SfsBaseDataDTOBase public string ItemCode { get; set; } /// - /// 物料价格 + /// 供应商编号 /// - [Display(Name = "物料价格")] - public decimal MaterialPrice { get; set; } + [Display(Name = "供应商编号")] + [Required(ErrorMessage = "{0}是必填项")] + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + public string SupplierCode { get; set; } /// - /// 成品价格 + /// 采购价格 /// - [Display(Name = "成品价格")] - public decimal ProductPrice { get; set; } + [Display(Name = "采购价格")] + public decimal PurchasePrice { get; set; } /// /// 价格单描述 diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/IPurchasePriceSheetAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/IPurchasePriceSheetAppService.cs index 2178b0950..12919f44c 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/IPurchasePriceSheetAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/PurchasePrices/IPurchasePriceSheetAppService.cs @@ -1,8 +1,9 @@ using System.Threading.Tasks; +using Microsoft.Extensions.Hosting; namespace Win_in.Sfs.Basedata.Application.Contracts; public interface IPurchasePriceSheetAppService : ISfsBaseDataAppServiceBase { - Task GetByItemCodeAsync(string itemCode); + Task GetByItemCodeAsync(string itemCode,string supplierCode); } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SalePrices/DTOs/SalePriceSheetDTO.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SalePrices/DTOs/SalePriceSheetDTO.cs index 24b4fc2c9..4df127f85 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SalePrices/DTOs/SalePriceSheetDTO.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SalePrices/DTOs/SalePriceSheetDTO.cs @@ -11,56 +11,82 @@ namespace Win_in.Sfs.Basedata.Application.Contracts; /// 销售价格单 /// [Display(Name = "销售价格单")] -public class SalePriceSheetDTO : SfsBaseDataDTOBase, IHasCode, IHasName +public class SalePriceSheetDTO : SfsBaseDataDTOBase { - /// - /// 客户ID + /// 物料代码 /// - [Display(Name = "客户Id")] + [Display(Name = "物料代码")] [Required(ErrorMessage = "{0}是必填项")] - - public Guid CustomerId { get; set; } - - /// - /// 客户名称 - /// - [Display(Name = "客户名称")] - public string CustomerName { get; set; } + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + public string ItemCode { get; set; } /// - /// 价格单名称 + /// 客户代码 /// - [Display(Name = "价格单名称")] - public string Name { get; set; } + [Display(Name = "客户代码")] + [Required(ErrorMessage = "{0}是必填项")] + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + public string CustomerCode { get; set; } /// - /// 代码 + /// 销售价格 /// - [Display(Name = "代码")] - [Required(ErrorMessage = "{0}是必填项")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string Code { get; set; } + [Display(Name = "销售价格")] + public decimal SalePrice { get; set; } /// /// 价格单描述 /// [Display(Name = "价格单描述")] public string Description { get; set; } + ///// + ///// 客户ID + ///// + //[Display(Name = "客户Id")] + //[Required(ErrorMessage = "{0}是必填项")] - /// - /// 货币ID - /// - [Display(Name = "货币Id")] - [Required(ErrorMessage = "{0}是必填项")] + //public Guid CustomerId { get; set; } - public Guid CurrencyId { get; set; } + ///// + ///// 客户名称 + ///// + //[Display(Name = "客户名称")] + //public string CustomerName { get; set; } - /// - /// 货币名称 - /// - [Display(Name = "货币名称")] - public string CurrencyName { get; set; } + ///// + ///// 价格单名称 + ///// + //[Display(Name = "价格单名称")] + //public string Name { get; set; } + + ///// + ///// 代码 + ///// + //[Display(Name = "代码")] + //[Required(ErrorMessage = "{0}是必填项")] + //[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + //public string Code { get; set; } + + ///// + ///// 价格单描述 + ///// + //[Display(Name = "价格单描述")] + //public string Description { get; set; } + + ///// + ///// 货币ID + ///// + //[Display(Name = "货币Id")] + //[Required(ErrorMessage = "{0}是必填项")] + + //public Guid CurrencyId { get; set; } + + ///// + ///// 货币名称 + ///// + //[Display(Name = "货币名称")] + //public string CurrencyName { get; set; } //[Display(Name = "子表单")] //public virtual List SalePriceDetails { get; set; } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/StdCostPrices/DTOs/StdCostPriceSheetDTO.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/StdCostPrices/DTOs/StdCostPriceSheetDTO.cs index b253237bb..fa1cafb39 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/StdCostPrices/DTOs/StdCostPriceSheetDTO.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/StdCostPrices/DTOs/StdCostPriceSheetDTO.cs @@ -8,51 +8,71 @@ namespace Win_in.Sfs.Basedata.Application.Contracts; /// 标准成本价格单 /// [Display(Name = "标准成本价格单")] -public class StdCostPriceSheetDTO : SfsBaseDataDTOBase, IHasCode, IHasName +public class StdCostPriceSheetDTO : SfsBaseDataDTOBase { /// - /// 供应商Id + /// 价格单编码 /// - [Display(Name = "供应商Id")] + [Display(Name = "物料代码")] [Required(ErrorMessage = "{0}是必填项")] - public Guid SupplierId { get; set; } - /// - /// 供应商名称 - /// - [Display(Name = "供应商名称")] - [Required(ErrorMessage = "{0}是必填项")] - public string SupplierName { get; set; } - /// - /// 价格单名称 - /// - [Display(Name = "价格单名称")] - [Required(ErrorMessage = "{0}是必填项")] - [StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string Name { get; set; } + [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + public string ItemCode { get; set; } + /// - /// 代码 + /// 标准成本价格 /// - [Display(Name = "代码")] - [Required(ErrorMessage = "{0}是必填项")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] - public string Code { get; set; } + [Display(Name = "标准成本价格")] + public decimal StdCostPrice { get; set; } + /// /// 价格单描述 /// [Display(Name = "价格单描述")] - [StringLength(SfsEfCorePropertyConst.DescLength, ErrorMessage = "{0}最多输入{1}个字符")] public string Description { get; set; } - /// - /// 货币Id - /// - [Display(Name = "货币Id")] - [StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] - public Guid CurrencyId { get; set; } - /// - /// 货币名称 - /// - [Display(Name = "货币名称")] - [Required(ErrorMessage = "{0}是必填项")] - public string CurrencyName { get; set; } + + ///// + ///// 供应商Id + ///// + //[Display(Name = "供应商Id")] + //[Required(ErrorMessage = "{0}是必填项")] + //public Guid SupplierId { get; set; } + ///// + ///// 供应商名称 + ///// + //[Display(Name = "供应商名称")] + //[Required(ErrorMessage = "{0}是必填项")] + //public string SupplierName { get; set; } + ///// + ///// 价格单名称 + ///// + //[Display(Name = "价格单名称")] + //[Required(ErrorMessage = "{0}是必填项")] + //[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] + //public string Name { get; set; } + ///// + ///// 代码 + ///// + //[Display(Name = "代码")] + //[Required(ErrorMessage = "{0}是必填项")] + //[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + //public string Code { get; set; } + ///// + ///// 价格单描述 + ///// + //[Display(Name = "价格单描述")] + //[StringLength(SfsEfCorePropertyConst.DescLength, ErrorMessage = "{0}最多输入{1}个字符")] + //public string Description { get; set; } + ///// + ///// 货币Id + ///// + //[Display(Name = "货币Id")] + //[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] + //public Guid CurrencyId { get; set; } + ///// + ///// 货币名称 + ///// + //[Display(Name = "货币名称")] + //[Required(ErrorMessage = "{0}是必填项")] + //public string CurrencyName { get; set; } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PurchasePrices/PurchasePriceSheetAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PurchasePrices/PurchasePriceSheetAppService.cs index e2c9e3bce..afdfae2a4 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PurchasePrices/PurchasePriceSheetAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PurchasePrices/PurchasePriceSheetAppService.cs @@ -28,9 +28,9 @@ public class PurchasePriceSheetAppService : SfsBaseDataAppServiceBase /// [HttpGet("by-item-code")] - public virtual async Task GetByItemCodeAsync(string itemCode) + public virtual async Task GetByItemCodeAsync(string itemCode,string supplierCode) { - var entity = await _purchasePriceSheetRepository.FindAsync(p => p.ItemCode== itemCode).ConfigureAwait(false); + var entity = await _purchasePriceSheetRepository.FindAsync(p => p.ItemCode== itemCode&&p.SupplierCode== supplierCode).ConfigureAwait(false); var dto = ObjectMapper.Map(entity); return dto; } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SalePrices/SalePriceSheetAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SalePrices/SalePriceSheetAutoMapperProfile.cs index 87ec4f112..840a4f415 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SalePrices/SalePriceSheetAutoMapperProfile.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SalePrices/SalePriceSheetAutoMapperProfile.cs @@ -10,8 +10,6 @@ public partial class BasedataApplicationAutoMapperProfile : Profile private void SalePriceSheetAutoMapperProfile() { CreateMap() - .Ignore(x => x.CustomerName) - .Ignore(x => x.CurrencyName) .ReverseMap(); } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/StdCostPrices/StdCostPriceSheetAutoMapperProfile.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/StdCostPrices/StdCostPriceSheetAutoMapperProfile.cs index b02916e6c..f99988470 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/StdCostPrices/StdCostPriceSheetAutoMapperProfile.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/StdCostPrices/StdCostPriceSheetAutoMapperProfile.cs @@ -10,8 +10,6 @@ public partial class BasedataApplicationAutoMapperProfile : Profile private void StdCostPriceSheetAutoMapperProfile() { CreateMap() - .Ignore(x => x.SupplierName) - .Ignore(x => x.CurrencyName) .ReverseMap(); } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PurchasePrices/PurchasePriceSheet.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PurchasePrices/PurchasePriceSheet.cs index c728f2fb4..c0136e6fc 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PurchasePrices/PurchasePriceSheet.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/PurchasePrices/PurchasePriceSheet.cs @@ -15,21 +15,30 @@ public class PurchasePriceSheet : SfsBaseDataAggregateRootBase [IgnoreUpdate] public string ItemCode { get; set; } /// - /// 价格单描述 - /// - public string Description { get; set; } - /// - /// 货币ID + /// 供应商编号 /// - public Guid CurrencyId { get; set; } + [IgnoreUpdate] + public string SupplierCode { get; set; } /// - /// 物料价格 + /// 价格单描述 /// - public decimal MaterialPrice { get; set; } + public string Description { get; set; } /// - /// 成品价格 + /// 采购价格 /// - public decimal ProductPrice { get; set; } + public decimal PurchasePrice { get; set; } + ///// + ///// 货币ID + ///// + //public Guid CurrencyId { get; set; } + ///// + ///// 物料价格 + ///// + //public decimal MaterialPrice { get; set; } + ///// + ///// 成品价格 + ///// + //public decimal ProductPrice { get; set; } #region details handler //public virtual void AddDetail(IGuidGenerator guidGenerator, PurchasePriceDetail detail) diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SalePrices/SalePriceSheet.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SalePrices/SalePriceSheet.cs index 58f356aef..785f7496e 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SalePrices/SalePriceSheet.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SalePrices/SalePriceSheet.cs @@ -7,35 +7,56 @@ namespace Win_in.Sfs.Basedata.Domain; /// /// 销售价格单 /// -public class SalePriceSheet : SfsBaseDataAggregateRootBase, IHasCode, IHasName +public class SalePriceSheet : SfsBaseDataAggregateRootBase { - - // public virtual ICollection SalePriceDetails { get; set; } - /// - /// 客户ID + /// 客户 /// [IgnoreUpdate] - public Guid CustomerId { get; set; } + public string CustomerCode { get; set; } /// - /// 编码 + /// 物料号 /// [IgnoreUpdate] - public string Code { get; set; } + public string ItemCode { get; set; } - /// - /// 价格单名称 - /// - public string Name { get; set; } /// /// 价格单描述 /// public string Description { get; set; } + /// - /// 货币ID + /// 销售价格 + /// + public decimal SalePrice { get; set; } + + // public virtual ICollection SalePriceDetails { get; set; } + + /// + /// 客户ID /// - public Guid CurrencyId { get; set; } + //[IgnoreUpdate] + //public Guid CustomerId { get; set; } + + ///// + ///// 编码 + ///// + //[IgnoreUpdate] + //public string Code { get; set; } + + ///// + ///// 价格单名称 + ///// + //public string Name { get; set; } + ///// + ///// 价格单描述 + ///// + //public string Description { get; set; } + ///// + ///// 货币ID + ///// + //public Guid CurrencyId { get; set; } #region details handler //public virtual void AddDetail(IGuidGenerator guidGenerator, SalePriceDetail detail) diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/StdCostPrices/StdCostPriceSheet.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/StdCostPrices/StdCostPriceSheet.cs index 6100cabd5..c3306bbd5 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/StdCostPrices/StdCostPriceSheet.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/StdCostPrices/StdCostPriceSheet.cs @@ -8,33 +8,46 @@ namespace Win_in.Sfs.Basedata.Domain; /// /// 标准成本价格单-主表 /// -public class StdCostPriceSheet : SfsBaseDataAggregateRootBase, IHasCode, IHasName +public class StdCostPriceSheet : SfsBaseDataAggregateRootBase { - [Display(Name = "编码")] - [Required(ErrorMessage = "{0}是必填项")] - [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + /// + /// 物品代码 + /// [IgnoreUpdate] - public string Code { get; set; } + public string ItemCode { get; set; } + /// + /// 价格单描述 + /// + public string Description { get; set; } + /// + /// 标准成本价格 + /// + public decimal StdCostPrice { get; set; } + //[Display(Name = "编码")] + //[Required(ErrorMessage = "{0}是必填项")] + //[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")] + //[IgnoreUpdate] + //public string Code { get; set; } - [Display(Name = "价格单名称")] - [Required(ErrorMessage = "{0}是必填项")] - [StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] - [IgnoreUpdate] - public string Name { get; set; } + //[Display(Name = "价格单名称")] + //[Required(ErrorMessage = "{0}是必填项")] + //[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] + //[IgnoreUpdate] + //public string Name { get; set; } - [Display(Name = "供应商Id")] - [Required(ErrorMessage = "{0}是必填项")] - [IgnoreUpdate] - public Guid SupplierId { get; set; } + //[Display(Name = "供应商Id")] + //[Required(ErrorMessage = "{0}是必填项")] + //[IgnoreUpdate] + //public Guid SupplierId { get; set; } - [Display(Name = "价格单描述")] - [StringLength(SfsEfCorePropertyConst.DescLength, ErrorMessage = "{0}最多输入{1}个字符")] - [IgnoreUpdate] - public string Description { get; set; } + //[Display(Name = "价格单描述")] + //[StringLength(SfsEfCorePropertyConst.DescLength, ErrorMessage = "{0}最多输入{1}个字符")] + //[IgnoreUpdate] + //public string Description { get; set; } - [Display(Name = "货币Id")] - [StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] - [IgnoreUpdate] - public Guid CurrencyId { get; set; } + //[Display(Name = "货币Id")] + //[StringLength(SfsEfCorePropertyConst.NameLength, ErrorMessage = "{0}最多输入{1}个字符")] + //[IgnoreUpdate] + //public Guid CurrencyId { get; set; } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PurchasePrices/PurchasePriceSheetDbContextModelCreatingExtensions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PurchasePrices/PurchasePriceSheetDbContextModelCreatingExtensions.cs index c591fa1e0..05f3b5f56 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PurchasePrices/PurchasePriceSheetDbContextModelCreatingExtensions.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/PurchasePrices/PurchasePriceSheetDbContextModelCreatingExtensions.cs @@ -21,13 +21,14 @@ public static class PurchasePriceSheetDbContextModelCreatingExtensions //Properties b.Property(q => q.ItemCode).HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.SupplierCode).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.Description).HasMaxLength(SfsPropertyConst.DescLength); //Relations //None //Indexes - b.HasIndex(q => new { q.ItemCode }).IsUnique(); + b.HasIndex(q => new { q.ItemCode ,q.SupplierCode}).IsUnique(); }); } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SalePrices/SalePriceSheetDbContextModelCreatingExtensions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SalePrices/SalePriceSheetDbContextModelCreatingExtensions.cs index 34269f448..9babd45a6 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SalePrices/SalePriceSheetDbContextModelCreatingExtensions.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/SalePrices/SalePriceSheetDbContextModelCreatingExtensions.cs @@ -20,17 +20,15 @@ public static class SalePriceSheetDbContextModelCreatingExtensions b.ConfigureSfsBase(); //Properties - b.Property(q => q.Code).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(q => q.Name).HasMaxLength(SfsPropertyConst.NameLength); + b.Property(q => q.ItemCode).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); + b.Property(q => q.CustomerCode).HasMaxLength(SfsPropertyConst.CodeLength); b.Property(q => q.Description).HasMaxLength(SfsPropertyConst.DescLength); - b.Property(x => x.CustomerId).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); - b.Property(x => x.CurrencyId).IsRequired().HasMaxLength(SfsPropertyConst.CodeLength); //Relations //None //Indexes - b.HasIndex(q => new { q.Code, q.CustomerId }).IsUnique(); + b.HasIndex(q => new { q.CustomerCode, q.ItemCode }).IsUnique(); }); } } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/StdCostPrices/StdCostPriceSheetDbContextModelCreatingExtensions.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/StdCostPrices/StdCostPriceSheetDbContextModelCreatingExtensions.cs index 2ba5ff3cb..36015bc33 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/StdCostPrices/StdCostPriceSheetDbContextModelCreatingExtensions.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.EntityFrameworkCore/StdCostPrices/StdCostPriceSheetDbContextModelCreatingExtensions.cs @@ -16,13 +16,12 @@ public static class StdCostPriceSheetDbContextModelCreatingExtensions b.ConfigureByConvention(); b.ConfigureSfsBase(); - b.Property(x => x.SupplierId).IsRequired(); - b.Property(x => x.Code).IsRequired().HasMaxLength(SfsEfCorePropertyConst.CodeLength); - b.Property(x => x.Name).IsRequired().HasMaxLength(SfsEfCorePropertyConst.NameLength); + + b.Property(x => x.ItemCode).IsRequired().HasMaxLength(SfsEfCorePropertyConst.CodeLength); + b.Property(x => x.Description).HasMaxLength(SfsEfCorePropertyConst.DescLength); - b.Property(x => x.CurrencyId).HasMaxLength(SfsEfCorePropertyConst.NameLength); - b.HasIndex(x => new { x.Code, x.SupplierId }).IsUnique(); + b.HasIndex(x => new { x.ItemCode}).IsUnique(); }); } }