diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs index 869fd269..59cde91b 100644 --- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs +++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs @@ -311,4 +311,21 @@ public static class MultiLanguageConst [Description("表单复制模板不存在")] public const string FormCopyNotExist = "FormCopy_Not_Exist"; #endregion + + #region 费用相关 + [Description("币别信息已存在")] + public const string FeeCurrencyExist = "Fee_Currency_Exist"; + [Description("汇率设置已存在")] + public const string FeeCurrencyExchangeExist = "Fee_Currency_Exchange_Exist"; + [Description("费用模板已存在")] + public const string FeeTemplateExist = "Fee_Template_Exist"; + [Description("费用模板明细已存在")] + public const string FeeTemplateDetailExist = "Fee_Template_Detail_Exist"; + [Description("往来单位固定费用已存在")] + public const string FeeCustTemplateDetailExist = "Fee_Cust_Template_Detail_Exist"; + [Description("费用代码已存在")] + public const string FeeCodeExist = "Fee_Code_Exist"; + [Description("费用记录已存在")] + public const string FeeRecordExist = "Fee_Record_Exist"; + #endregion } \ No newline at end of file diff --git a/ds-wms-service/DS.Module.Core/DS.Module.Core.csproj b/ds-wms-service/DS.Module.Core/DS.Module.Core.csproj index 7223666b..f2b01030 100644 --- a/ds-wms-service/DS.Module.Core/DS.Module.Core.csproj +++ b/ds-wms-service/DS.Module.Core/DS.Module.Core.csproj @@ -28,8 +28,4 @@ - - - - diff --git a/ds-wms-service/DS.Module.Core/Middlewares/UseCommonMiddlewares.cs b/ds-wms-service/DS.Module.Core/Middlewares/UseCommonMiddlewares.cs new file mode 100644 index 00000000..e3933b8d --- /dev/null +++ b/ds-wms-service/DS.Module.Core/Middlewares/UseCommonMiddlewares.cs @@ -0,0 +1,51 @@ +using DS.Module.Core.Extensions; +using Microsoft.AspNetCore.Builder; + +namespace DS.Module.Core.Middlewares +{ + /// + /// 封装通用中间件 + /// + public static class UseCommonMiddlewares + { + /// + ///为了让主Progarm.cs文件更加简洁,我们将一些中间件的配置放到这里 + /// + /// + /// + public static WebApplication UsePublicMiddlewares(this WebApplication app) + { + var documentName = AppSetting.app(new string[] { "SwaggerDoc", "ContactName" }); + //app + // .UseSwagger(c => { c.RouteTemplate = "{documentName}/swagger.json"; }) + // .UseSwaggerUI(c => + // { + // c.SwaggerEndpoint("/" + documentName + "/swagger.json", + // AppSetting.app(new string[] { "SwaggerDoc", "ContactName" })); + // c.DocExpansion(DocExpansion.None);//DocExpansion设置为None可折叠所有方法 + // c.DefaultModelExpandDepth(-1);//-1 可不显示Models + // }); + //跨域 + var policyName = AppSetting.app(new string[] { "Cors", "PolicyName" }); + if (!policyName.IsNullOrEmpty()) + { + app.UseCors(policyName); //添加跨域中间件 + } + + app.UseRouting(); + + app.UseStaticFiles(); + + // //操作日志中间件 + // app.UseMiddleware(); + + // 先开启认证 + app.UseAuthentication(); + // 然后是授权中间件 + app.UseAuthorization(); + app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); + + return app; + } + } +} diff --git a/ds-wms-service/DS.Module.Nuget/DS.Module.Nuget.csproj b/ds-wms-service/DS.Module.Nuget/DS.Module.Nuget.csproj index ad4407eb..e5af8014 100644 --- a/ds-wms-service/DS.Module.Nuget/DS.Module.Nuget.csproj +++ b/ds-wms-service/DS.Module.Nuget/DS.Module.Nuget.csproj @@ -38,6 +38,7 @@ + diff --git a/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj b/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj index 937a06bf..a802aba9 100644 --- a/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj +++ b/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj @@ -17,9 +17,6 @@ D:\Code\PublishCopy\ds8-mainapi\Data.xml - - - diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeReq.cs new file mode 100644 index 00000000..416a5a3d --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeReq.cs @@ -0,0 +1,135 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用代码请求实体 +/// +public class FeeCodeReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 费用代码 录入费用是作为检索 + /// + public string Code { get; set; } + /// + /// 费用名称 + /// + public string Name { get; set; } + + /// + /// 费用英文名称 + /// + public string EnName { get; set; } + /// + /// 币别Id + /// + public long CurrencyId { get; set; } + + /// + /// 默认计费标准 + /// + public int DefaultUnit { get; set; } + /// + /// 默认收费客户类型 + /// + public int DefaultDebit { get; set; } + /// + /// 默认付费客户类型 + /// + public int DefaultCredit { get; set; } + /// + /// 海运 海运相关模块使用 + /// + public bool? IsSea { get; set; } = false; + /// + /// 空运 空运相关模块使用 + /// + public bool? IsAir { get; set; } = false; + + /// + /// 陆运 陆运相关模块使用 + /// + public bool? IsTrucking { get; set; } = false; + /// + /// 是否陆运固定费用 + /// + public bool? IsTruckingFixed { get; set; } = false; + /// + /// 仓储 仓储相关模块使用 + /// + public bool? IsWms { get; set; } = false; + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + /// + /// 默认是否机密 + /// + public bool? IsOpen { get; set; } = false; + /// + /// 默认是否开票 + /// + public bool? IsInvoice { get; set; } = false; + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 费用分组 枚举可维护 + /// + public string FeeGroup { get; set; } + /// + /// 费用默认FRT 枚举可维护 + /// + public string FeeFrt { get; set; } + + /// + /// 默认发票费用名称 发票费用名称模块可维护 + /// + public string GoodName { get; set; } + + /// + /// 对帐类型 枚举可维护 + /// + public string CheckingType { get; set; } + /// + /// 默认币别 + /// + public string DefaultCurrency { get; set; } + + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeCodeReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeCodeReqValidator() + { + this.RuleFor(o => o.Code) + .NotEmpty().WithName("费用代码"); + this.RuleFor(o => o.Name) + .NotEmpty().WithName("费用名称"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeRes.cs new file mode 100644 index 00000000..844842b6 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCodeRes.cs @@ -0,0 +1,121 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用代码返回实体 +/// +public class FeeCodeRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 费用代码 录入费用是作为检索 + /// + public string Code { get; set; } + /// + /// 费用名称 + /// + public string Name { get; set; } + + /// + /// 费用英文名称 + /// + public string EnName { get; set; } + /// + /// 币别Id + /// + public long CurrencyId { get; set; } + + /// + /// 默认计费标准 + /// + public int DefaultUnit { get; set; } + /// + /// 默认收费客户类型 + /// + public int DefaultDebit { get; set; } + /// + /// 默认付费客户类型 + /// + public int DefaultCredit { get; set; } + /// + /// 海运 海运相关模块使用 + /// + public bool? IsSea { get; set; } = false; + /// + /// 空运 空运相关模块使用 + /// + public bool? IsAir { get; set; } = false; + + /// + /// 陆运 陆运相关模块使用 + /// + public bool? IsTrucking { get; set; } = false; + /// + /// 是否陆运固定费用 + /// + public bool? IsTruckingFixed { get; set; } = false; + /// + /// 仓储 仓储相关模块使用 + /// + public bool? IsWms { get; set; } = false; + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + /// + /// 默认是否机密 + /// + public bool? IsOpen { get; set; } = false; + /// + /// 默认是否开票 + /// + public bool? IsInvoice { get; set; } = false; + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 费用分组 枚举可维护 + /// + public string FeeGroup { get; set; } + /// + /// 费用默认FRT 枚举可维护 + /// + public string FeeFrt { get; set; } + + /// + /// 默认发票费用名称 发票费用名称模块可维护 + /// + public string GoodName { get; set; } + + /// + /// 对帐类型 枚举可维护 + /// + public string CheckingType { get; set; } + /// + /// 默认币别 + /// + public string DefaultCurrency { get; set; } + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeReq.cs new file mode 100644 index 00000000..09d8cd27 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeReq.cs @@ -0,0 +1,82 @@ +using DS.Module.Core; +using FluentValidation; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 汇率设置表请求实体 +/// +public class FeeCurrencyExchangeReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 币别Id + /// + public long CurrencyId { get; set; } + /// + /// 币别代码 + /// + public string CurrencyCode { get; set; } + + /// + /// 应收汇率 + /// + public decimal? DRValue { get; set; } = 0; + + /// + /// 应付汇率 + /// + public decimal? CRValue { get; set; } = 0; + + /// + /// 海关汇率 + /// + public decimal? CustomValue { get; set; } = 0; + /// + /// 开始日期 + /// + public DateTime StartDate { get; set; } + + + /// + /// 结束日期 + /// + public DateTime EndDate { get; set; } + + /// + /// 本位币 + /// + public string LocalCurrency { get; set; } + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeCurrencyExchangeReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeCurrencyExchangeReqValidator() + { + this.RuleFor(o => o.CurrencyCode) + .NotEmpty().WithName("币别代码"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeRes.cs new file mode 100644 index 00000000..d9ad258e --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyExchangeRes.cs @@ -0,0 +1,70 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 汇率设置表返回实体 +/// +public class FeeCurrencyExchangeRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 币别Id + /// + public long CurrencyId { get; set; } + /// + /// 币别代码 + /// + public string CurrencyCode { get; set; } + + /// + /// 应收汇率 + /// + public decimal? DRValue { get; set; } = 0; + + /// + /// 应付汇率 + /// + public decimal? CRValue { get; set; } = 0; + + /// + /// 海关汇率 + /// + public decimal? CustomValue { get; set; } = 0; + /// + /// 开始日期 + /// + public DateTime StartDate { get; set; } + + + /// + /// 结束日期 + /// + public DateTime EndDate { get; set; } + + /// + /// 本位币 + /// + public string LocalCurrency { get; set; } + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyReq.cs new file mode 100644 index 00000000..09b5ec78 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyReq.cs @@ -0,0 +1,70 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 币别信息请求实体 +/// +public class FeeCurrencyReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 币别代码 + /// + public string CodeName { get; set; } + + /// + /// 币别名称 + /// + public string Name { get; set; } + + /// + /// 描述 + /// + public string Description { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } + + + /// + /// 默认对人民币汇率 + /// + public decimal? DefaultRate { get; set; } + + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeCurrencyReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeCurrencyReqValidator() + { + this.RuleFor(o => o.CodeName) + .NotEmpty().WithName("币别代码"); + this.RuleFor(o => o.Name) + .NotEmpty().WithName("币别名称"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyRes.cs new file mode 100644 index 00000000..c8ebb2be --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCurrencyRes.cs @@ -0,0 +1,56 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 币别信息返回实体 +/// +public class FeeCurrencyRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 币别代码 + /// + public string CodeName { get; set; } + + /// + /// 币别名称 + /// + public string Name { get; set; } + + /// + /// 描述 + /// + public string Description { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } + + + /// + /// 默认对人民币汇率 + /// + public decimal? DefaultRate { get; set; } + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailReq.cs new file mode 100644 index 00000000..3b01cd79 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailReq.cs @@ -0,0 +1,125 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 往来单位固定费用请求实体 +/// +public class FeeCustTemplateDetailReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 结算对象 + /// + public string CustomerName { get; set; } + /// + /// 结算对象类型 + /// + public int CustomerType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } + /// + /// 客户Id + /// + public long CustomerId { get; set; } + /// + /// 费用标准 + /// + public string Unit { get; set; } + + /// + /// 是否箱型 + /// + public bool? IsCtn { get; set; } = false; + /// + /// 币别 + /// + public string Currency { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 财务税率 + /// + public decimal? AccTaxRate { get; set; } + /// + /// 税额 + /// + public decimal? Tax { get; set; } + /// + /// 含税单价 + /// + public decimal? TaxUnitPrice { get; set; } + /// + /// 是否开票 + /// + public bool? IsInvoice { get; set; } = false; + + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeCustTemplateDetailReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeCustTemplateDetailReqValidator() + { + this.RuleFor(o => o.CustomerName) + .NotEmpty().WithName("结算对象"); + this.RuleFor(o => o.FeeName) + .NotEmpty().WithName("费用名称"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailRes.cs new file mode 100644 index 00000000..d7889c37 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeCustTemplateDetailRes.cs @@ -0,0 +1,110 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用模板明细表返回实体 +/// +public class FeeCustTemplateDetailRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 结算对象 + /// + public string CustomerName { get; set; } + /// + /// 结算对象类型 + /// + public int CustomerType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } + /// + /// 客户Id + /// + public long CustomerId { get; set; } + /// + /// 费用标准 + /// + public string Unit { get; set; } + + /// + /// 是否箱型 + /// + public bool? IsCtn { get; set; } = false; + /// + /// 币别 + /// + public string Currency { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 财务税率 + /// + public decimal? AccTaxRate { get; set; } + /// + /// 税额 + /// + public decimal? Tax { get; set; } + /// + /// 含税单价 + /// + public decimal? TaxUnitPrice { get; set; } + /// + /// 是否开票 + /// + public bool? IsInvoice { get; set; } = false; + + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordReq.cs new file mode 100644 index 00000000..06bdc786 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordReq.cs @@ -0,0 +1,319 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用记录请求实体 +/// +public class FeeRecordReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 业务Id + /// + public long BusinessId { get; set; } + /// + /// 收付类型(收、付) 1应收 2 应付 + /// + public int FeeType { get; set; } + + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 费用对象 + /// + public string CustomerName { get; set; } + /// + /// 费用对象编码 + /// + public string CustomerCode { get; set; } + /// + /// 费用对象Id + /// + public long CustomerId { get; set; } + /// + /// 费用对象类型 + /// + public int CustomerType { get; set; } + + /// + /// 费用标准 + /// + public string Unit { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 数量 + /// + public decimal? Quantity { get; set; } + /// + /// 金额 + /// + public decimal? Amount { get; set; } + + /// + /// 币别 + /// + public string Currency { get; set; } + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + + /// + /// 驳回原因 + /// + public string Reason { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + + /// + /// Desc:佣金比率 + /// + public decimal? CommissionRate { get; set; } = 0; + + /// + /// Desc:结算金额 + /// + public decimal? SettlementAmount { get; set; } = 0; + /// + /// Desc:开票金额 + /// + public decimal? InvoiceAmount { get; set; } = 0; + /// + /// Desc:申请金额 + /// + public decimal? OrderAmount { get; set; } = 0; + /// + /// Desc:申请开票金额 + /// + public decimal? OrderInvoiceAmount { get; set; } = 0; + /// + /// 提交日期 + /// + public DateTime? SubmitDate { get; set; } + + + /// + /// 审核人Id + /// + public long AuditBy { get; set; } + + /// + /// 审核人 + /// + public string AuditOperator { get; set; } + /// + /// 审核日期 + /// + public DateTime AuditDate { get; set; } + + /// + /// 是否机密费用 + /// + public bool? IsOpen { get; set; } = false; + /// + /// 对帐编号 + /// + public string DebitNo { get; set; } + /// + /// 是否对帐 + /// + public bool IsDebit { get; set; } = false; + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + /// + /// 是否禁开发票 + /// + public bool? IsInvoice { get; set; } = false; + /// + /// 是否销售订舱 + /// + public bool? IsCrmOrderFee { get; set; } = false; + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 费用状态 + /// + public int FeeStatus { get; set; } + + /// + /// 发票号 + /// + public string InvoiceNum { get; set; } + /// + /// 支票号 + /// + public string ChequeNum { get; set; } + + /// + /// 仓储编号 + /// + public string WmsOutBSNO { get; set; } + + /// + /// 行号 + /// + public int LineNum { get; set; } + + /// + /// 税率 + /// + public decimal TaxRate { get; set; } + + /// + /// 不含税金额 + /// + public decimal NoTaxAmount { get; set; } + + /// + /// 财务税率 + /// + public decimal AccTaxRate { get; set; } + + /// + /// 是否生成凭证 + /// + public bool IsVou { get; set; } + + /// + /// 报销编号 + /// + public string BxId { get; set; } + + /// + /// 税额 + /// + public decimal Tax { get; set; } + + /// + /// 申请结算金额 + /// + public decimal OrderSettlementAmount { get; set; } + + /// + /// 含税单价 + /// + public decimal TaxUnitPrice { get; set; } + + /// + /// 申请发票开票金额 + /// + public decimal OrderInvSettlementAmount { get; set; } + + /// + /// 凭证号 + /// + public string VoucherNo { get; set; } + + /// + /// + /// + public string SalesNo { get; set; } + + /// + /// 借款编号 + /// + public string JkId { get; set; } + + /// + /// + /// + public string DeliveryNo { get; set; } + + /// + /// 本位币 + /// + public string LocalCurrency { get; set; } + + /// + /// 责任人 + /// + public string Manager { get; set; } + + /// + /// 是否财务费用 + /// + public bool IsAcc { get; set; } + + /// + /// + /// + public string PaymentId { get; set; } + + /// + /// + /// + public string StatementNo { get; set; } + + /// + /// 核算单位 + /// + public string SaleOrg { get; set; } + + /// + /// 核算单位Id + /// + public long SaleOrgId { get; set; } + /// + /// 发票自助连接 + /// + public string InvLinkId { get; set; } + + /// + /// 提交人 + /// + public string SubmitBy { get; set; } + + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeRecordReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeRecordReqValidator() + { + this.RuleFor(o => o.FeeCode) + .NotEmpty().WithName("费用代码"); + this.RuleFor(o => o.CustomerCode) + .NotEmpty().WithName("费用对象"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordRes.cs new file mode 100644 index 00000000..d430fd13 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeRecordRes.cs @@ -0,0 +1,306 @@ +using DS.Module.Core; +using SqlSugar; +using System.ComponentModel; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用记录返回实体 +/// +public class FeeRecordRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 业务Id + /// + public long BusinessId { get; set; } + /// + /// 收付类型(收、付) 1应收 2 应付 + /// + public int FeeType { get; set; } + + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 费用对象 + /// + public string CustomerName { get; set; } + /// + /// 费用对象编码 + /// + public string CustomerCode { get; set; } + /// + /// 费用对象Id + /// + public long CustomerId { get; set; } + /// + /// 费用对象类型 + /// + public int CustomerType { get; set; } + + /// + /// 费用标准 + /// + public string Unit { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 数量 + /// + public decimal? Quantity { get; set; } + /// + /// 金额 + /// + public decimal? Amount { get; set; } + + /// + /// 币别 + /// + public string Currency { get; set; } + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + + /// + /// 驳回原因 + /// + public string Reason { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + + /// + /// Desc:佣金比率 + /// + public decimal? CommissionRate { get; set; } = 0; + + /// + /// Desc:结算金额 + /// + public decimal? SettlementAmount { get; set; } = 0; + /// + /// Desc:开票金额 + /// + public decimal? InvoiceAmount { get; set; } = 0; + /// + /// Desc:申请金额 + /// + public decimal? OrderAmount { get; set; } = 0; + /// + /// Desc:申请开票金额 + /// + public decimal? OrderInvoiceAmount { get; set; } = 0; + /// + /// 提交日期 + /// + public DateTime? SubmitDate { get; set; } + + + /// + /// 审核人Id + /// + public long AuditBy { get; set; } + + /// + /// 审核人 + /// + public string AuditOperator { get; set; } + /// + /// 审核日期 + /// + public DateTime AuditDate { get; set; } + + /// + /// 是否机密费用 + /// + public bool? IsOpen { get; set; } = false; + /// + /// 对帐编号 + /// + public string DebitNo { get; set; } + /// + /// 是否对帐 + /// + public bool IsDebit { get; set; } = false; + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + /// + /// 是否禁开发票 + /// + public bool? IsInvoice { get; set; } = false; + /// + /// 是否销售订舱 + /// + public bool? IsCrmOrderFee { get; set; } = false; + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 费用状态 + /// + public int FeeStatus { get; set; } + + /// + /// 发票号 + /// + public string InvoiceNum { get; set; } + /// + /// 支票号 + /// + public string ChequeNum { get; set; } + + /// + /// 仓储编号 + /// + public string WmsOutBSNO { get; set; } + + /// + /// 行号 + /// + public int LineNum { get; set; } + + /// + /// 税率 + /// + public decimal TaxRate { get; set; } + + /// + /// 不含税金额 + /// + public decimal NoTaxAmount { get; set; } + + /// + /// 财务税率 + /// + public decimal AccTaxRate { get; set; } + + /// + /// 是否生成凭证 + /// + public bool IsVou { get; set; } + + /// + /// 报销编号 + /// + public string BxId { get; set; } + + /// + /// 税额 + /// + public decimal Tax { get; set; } + + /// + /// 申请结算金额 + /// + public decimal OrderSettlementAmount { get; set; } + + /// + /// 含税单价 + /// + public decimal TaxUnitPrice { get; set; } + + /// + /// 申请发票开票金额 + /// + public decimal OrderInvSettlementAmount { get; set; } + + /// + /// 凭证号 + /// + public string VoucherNo { get; set; } + + /// + /// + /// + public string SalesNo { get; set; } + + /// + /// 借款编号 + /// + public string JkId { get; set; } + + /// + /// + /// + public string DeliveryNo { get; set; } + + /// + /// 本位币 + /// + public string LocalCurrency { get; set; } + + /// + /// 责任人 + /// + public string Manager { get; set; } + + /// + /// 是否财务费用 + /// + public bool IsAcc { get; set; } + + /// + /// + /// + public string PaymentId { get; set; } + + /// + /// + /// + public string StatementNo { get; set; } + + /// + /// 核算单位 + /// + public string SaleOrg { get; set; } + + /// + /// 核算单位Id + /// + public long SaleOrgId { get; set; } + /// + /// 发票自助连接 + /// + public string InvLinkId { get; set; } + + /// + /// 提交人 + /// + public string SubmitBy { get; set; } + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailReq.cs new file mode 100644 index 00000000..d80ba45a --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailReq.cs @@ -0,0 +1,147 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用模板明细表请求实体 +/// +public class FeeTemplateDetailReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 模板Id + /// + public long TemplateId { get; set; } + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 费用英文名称 + /// + public string FeeEnName { get; set; } + /// + /// 结算对象 + /// + public string CustomerName { get; set; } + /// + /// 结算对象类型 + /// + public int CustomerType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } + /// + /// 客户Id + /// + public long CustomerId { get; set; } + /// + /// 费用标准 + /// + public string Unit { get; set; } + + /// + /// 是否箱型 + /// + public bool? IsCtn { get; set; } = false; + /// + /// 币别 + /// + public string Currency { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 财务税率 + /// + public decimal? AccTaxRate { get; set; } + /// + /// 税额 + /// + public decimal? Tax { get; set; } + /// + /// 含税单价 + /// + public decimal? TaxUnitPrice { get; set; } + /// + /// 是否开票 + /// + public bool? IsInvoice { get; set; } = false; + + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + + /// + /// 费用分组 枚举可维护 + /// + public string FeeGroup { get; set; } + /// + /// 费用默认FRT 枚举可维护 + /// + public string FeeFrt { get; set; } + + /// + /// 核算单位Id + /// + public long SaleOrgId { get; set; } + + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeTemplateDetailReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeTemplateDetailReqValidator() + { + this.RuleFor(o => o.CustomerName) + .NotEmpty().WithName("结算对象"); + this.RuleFor(o => o.FeeName) + .NotEmpty().WithName("费用名称"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailRes.cs new file mode 100644 index 00000000..deafc147 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateDetailRes.cs @@ -0,0 +1,132 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用模板明细表返回实体 +/// +public class FeeTemplateDetailRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 模板Id + /// + public long TemplateId { get; set; } + /// + /// 费用Id + /// + public long FeeId { get; set; } + /// + /// 费用代码 录入费用是作为检索 + /// + public string FeeCode { get; set; } + /// + /// 费用名称 + /// + public string FeeName { get; set; } + /// + /// 费用英文名称 + /// + public string FeeEnName { get; set; } + /// + /// 结算对象 + /// + public string CustomerName { get; set; } + /// + /// 结算对象类型 + /// + public int CustomerType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } + /// + /// 客户Id + /// + public long CustomerId { get; set; } + /// + /// 费用标准 + /// + public string Unit { get; set; } + + /// + /// 是否箱型 + /// + public bool? IsCtn { get; set; } = false; + /// + /// 币别 + /// + public string Currency { get; set; } + /// + /// 单价 + /// + public decimal? UnitPrice { get; set; } + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 汇率 + /// + public decimal? ExchangeRate { get; set; } + /// + /// 费用默认税率 + /// + public decimal? TaxRate { get; set; } + /// + /// 财务税率 + /// + public decimal? AccTaxRate { get; set; } + /// + /// 税额 + /// + public decimal? Tax { get; set; } + /// + /// 含税单价 + /// + public decimal? TaxUnitPrice { get; set; } + /// + /// 是否开票 + /// + public bool? IsInvoice { get; set; } = false; + + /// + /// 是否垫付费用 + /// + public bool? IsAdvancedPay { get; set; } = false; + + /// + /// 费用分组 枚举可维护 + /// + public string FeeGroup { get; set; } + /// + /// 费用默认FRT 枚举可维护 + /// + public string FeeFrt { get; set; } + + /// + /// 核算单位Id + /// + public long SaleOrgId { get; set; } + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateReq.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateReq.cs new file mode 100644 index 00000000..c3b90015 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateReq.cs @@ -0,0 +1,67 @@ +using DS.Module.Core; +using FluentValidation; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用模板主表请求实体 +/// +public class FeeTemplateReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 模板名称 + /// + public string TemplateName { get; set; } + /// + /// 业务类型(海运出口、海运进口、空运出口、空运进口) + /// + public int OpType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } = 1; + /// + /// 是否公共标识 + /// + public bool IsPublic { get; set; } = false; + + /// + /// 描述 + /// + public string Description { get; set; } + + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + +} + +/// +/// 验证 +/// +public class FeeTemplateReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public FeeTemplateReqValidator() + { + this.RuleFor(o => o.TemplateName) + .NotEmpty().WithName("模板名称"); + this.RuleFor(o => o.OpType) + .NotEmpty().WithName("业务类型"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateRes.cs b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateRes.cs new file mode 100644 index 00000000..8413d5da --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Dtos/FeeTemplateRes.cs @@ -0,0 +1,53 @@ +using DS.Module.Core; +using SqlSugar; + +namespace DS.WMS.Core.Fee.Dtos; + +/// +/// 费用模板主表返回实体 +/// +public class FeeTemplateRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + + /// + /// 模板名称 + /// + public string TemplateName { get; set; } + /// + /// 业务类型(海运出口、海运进口、空运出口、空运进口) + /// + public int OpType { get; set; } + /// + /// 收付类型(收、付) + /// + public int FeeType { get; set; } + /// + /// 是否公共标识 + /// + public bool IsPublic { get; set; } = false; + + /// + /// 描述 + /// + public string Description { get; set; } + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 备注 + /// + public string Note { get; set; } = ""; + + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCode.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCode.cs index 07b3130c..898a48cc 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCode.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCode.cs @@ -2,7 +2,7 @@ using DS.Module.Core; using DS.Module.Core.Data; using SqlSugar; -namespace DS.WMS.Core.Code.Entity; +namespace DS.WMS.Core.Fee.Entity; /// /// 费用代码设置 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrency.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrency.cs index e13a8849..d65927c1 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrency.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrency.cs @@ -2,7 +2,7 @@ using DS.Module.Core; using DS.Module.Core.Data; using SqlSugar; -namespace DS.WMS.Core.Code.Entity; +namespace DS.WMS.Core.Fee.Entity; /// /// 币别信息表 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrencyExchange.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrencyExchange.cs index 56b51237..5b9a18f7 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrencyExchange.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCurrencyExchange.cs @@ -2,7 +2,7 @@ using DS.Module.Core; using DS.Module.Core.Data; using SqlSugar; -namespace DS.WMS.Core.Code.Entity; +namespace DS.WMS.Core.Fee.Entity; /// /// 汇率设置表 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCustTemplateDetail.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCustTemplateDetail.cs index 741e4407..6abb6f35 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCustTemplateDetail.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeCustTemplateDetail.cs @@ -48,7 +48,7 @@ namespace DS.WMS.Core.Fee.Entity /// 客户Id /// [SugarColumn(ColumnDescription = "客户Id")] - public long ClientId { get; set; } + public long CustomerId { get; set; } /// /// 费用标准 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeRecord.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeRecord.cs index 041e3d3d..d6f53798 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeRecord.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeRecord.cs @@ -52,6 +52,11 @@ namespace DS.WMS.Core.Fee.Entity [SugarColumn(ColumnDescription = "费用对象编码", Length = 100, IsNullable = true)] public string CustomerCode { get; set; } /// + /// 费用对象Id + /// + [SugarColumn(ColumnDescription = "费用对象Id")] + public long CustomerId { get; set; } + /// /// 费用对象类型 /// [SugarColumn(ColumnDescription = "费用对象类型", IsNullable = false, DefaultValue = "1")] diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplate.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplate.cs index ef40fb89..36d400d4 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplate.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplate.cs @@ -2,7 +2,7 @@ using DS.Module.Core; using DS.Module.Core.Data; using SqlSugar; -namespace DS.WMS.Core.Code.Entity; +namespace DS.WMS.Core.Fee.Entity; /// /// 费用模板主表 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplateDetail.cs b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplateDetail.cs index 097b8ef6..022ebe12 100644 --- a/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplateDetail.cs +++ b/ds-wms-service/DS.WMS.Core/Fee/Entity/FeeTemplateDetail.cs @@ -58,7 +58,7 @@ namespace DS.WMS.Core.Fee.Entity /// 客户Id /// [SugarColumn(ColumnDescription = "客户Id")] - public long ClientId { get; set; } + public long CustomerId { get; set; } /// /// 费用标准 /// diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCodeService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCodeService.cs new file mode 100644 index 00000000..7df4c400 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCodeService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeCodeService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeCode(FeeCodeReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeCodeInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyExchangeService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyExchangeService.cs new file mode 100644 index 00000000..3524dee3 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyExchangeService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeCurrencyExchangeService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeCurrencyExchange(FeeCurrencyExchangeReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeCurrencyExchangeInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyService.cs new file mode 100644 index 00000000..6c986110 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCurrencyService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeCurrencyService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeCurrency(FeeCurrencyReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeCurrencyInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCustTemplateDetailService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCustTemplateDetailService.cs new file mode 100644 index 00000000..729ac621 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeCustTemplateDetailService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeCustTemplateDetailService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeCustTemplateDetail(FeeCustTemplateDetailReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeCustTemplateDetailInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeRecordService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeRecordService.cs new file mode 100644 index 00000000..9ba62ccd --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeRecordService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeRecordService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeRecord(FeeRecordReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeRecordInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateDetailService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateDetailService.cs new file mode 100644 index 00000000..6ae8f9c1 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateDetailService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeTemplateDetailService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeTemplateDetail(FeeTemplateDetailReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeTemplateDetailInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateService.cs b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateService.cs new file mode 100644 index 00000000..60458196 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Interface/IFeeTemplateService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.System.Dtos; + +namespace DS.WMS.Core.Fee.Interface; + +public interface IFeeTemplateService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditFeeTemplate(FeeTemplateReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetFeeTemplateInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCodeService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCodeService.cs new file mode 100644 index 00000000..69f390dd --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCodeService.cs @@ -0,0 +1,98 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeCodeService: IFeeCodeService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeCodeService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeCode(FeeCodeReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.Code == req.Code).Any()) + { + return DataResult.Failed("费用代码已存在", MultiLanguageConst.FeeCodeExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeCodeInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyExchangeService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyExchangeService.cs new file mode 100644 index 00000000..c8bbd498 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyExchangeService.cs @@ -0,0 +1,98 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeCurrencyExchangeService : IFeeCurrencyExchangeService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeCurrencyExchangeService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeCurrencyExchange(FeeCurrencyExchangeReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.CurrencyCode == req.CurrencyCode && x.LocalCurrency == req.LocalCurrency).Any()) + { + return DataResult.Failed("汇率设置已存在!", MultiLanguageConst.FeeCurrencyExchangeExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeCurrencyExchangeInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyService.cs new file mode 100644 index 00000000..221160d0 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCurrencyService.cs @@ -0,0 +1,98 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeCurrencyService: IFeeCurrencyService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeCurrencyService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeCurrency(FeeCurrencyReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.CodeName == req.CodeName).Any()) + { + return DataResult.Failed("币别信息已存在!", MultiLanguageConst.FeeCurrencyExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeCurrencyInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCustTemplateDetailService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCustTemplateDetailService.cs new file mode 100644 index 00000000..4ca4d16b --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeCustTemplateDetailService.cs @@ -0,0 +1,99 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; +using Masuit.Tools.Strings; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeCustTemplateDetailService: IFeeCustTemplateDetailService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeCustTemplateDetailService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeCustTemplateDetail(FeeCustTemplateDetailReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.FeeId == req.FeeId && x.CustomerId == req.CustomerId && x.FeeType == req.FeeType).Any()) + { + return DataResult.Failed("往来单位固定费用已存在!", MultiLanguageConst.FeeCustTemplateDetailExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeCustTemplateDetailInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs new file mode 100644 index 00000000..f3c04bea --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs @@ -0,0 +1,98 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeRecordService : IFeeRecordService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeRecordService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeRecord(FeeRecordReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.BusinessId == req.BusinessId && x.FeeType == req.FeeType && x.FeeId == req.FeeId).Any()) + { + return DataResult.Failed("费用记录已存在", MultiLanguageConst.FeeRecordExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeRecordInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateDetailService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateDetailService.cs new file mode 100644 index 00000000..9287ea2e --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateDetailService.cs @@ -0,0 +1,99 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; +using Masuit.Tools.Strings; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeTemplateDetailService: IFeeTemplateDetailService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeTemplateDetailService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeTemplateDetail(FeeTemplateDetailReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.FeeId == req.FeeId && x.CustomerId == req.CustomerId && x.TemplateId == req.TemplateId).Any()) + { + return DataResult.Failed("费用模板明细已存在!", MultiLanguageConst.FeeTemplateDetailExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeTemplateDetailInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateService.cs new file mode 100644 index 00000000..352b3b1e --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeTemplateService.cs @@ -0,0 +1,98 @@ +using DS.Module.Core; +using DS.Module.SqlSugar; +using DS.Module.UserModule; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Entity; +using DS.WMS.Core.Fee.Interface; +using DS.WMS.Core.System.Entity; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; +using Mapster; +using DS.Module.Core.Extensions; + +namespace DS.WMS.Core.Fee.Method +{ + public class FeeTemplateService: IFeeTemplateService + { + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + private readonly ISaasDbService saasService; + /// + /// + /// + /// + public FeeTemplateService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + saasService = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = tenantDb.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + + /// + /// 编辑 + /// + /// + /// + public DataResult EditFeeTemplate(FeeTemplateReq req) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + if (req.Id == 0) + { + if (tenantDb.Queryable() + .Where(x => x.OpType == req.OpType && x.FeeType == req.FeeType).Any()) + { + return DataResult.Failed("费用模板已存在!", MultiLanguageConst.FeeTemplateExist); + } + + var data = req.Adapt(); + + var entity = tenantDb.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand(); + return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess); + } + } + + /// + /// 详情 + /// + /// + /// + public DataResult GetFeeTemplateInfo(string id) + { + var tenantDb = saasService.GetBizDbScopeById(user.TenantId); + var data = tenantDb.Queryable() + .Where(x => x.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess); + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyController.cs new file mode 100644 index 00000000..a5fe7c62 --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyController.cs @@ -0,0 +1,66 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Interface; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.FeeApi.Controllers +{ + /// + /// 币别信息服务 + /// + public class FeeCurrencyController : ApiController + { + private readonly IFeeCurrencyService _invokeService; + + /// + /// 构造函数 + /// + /// + public FeeCurrencyController(IFeeCurrencyService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetFeeCurrencyList")] + public DataResult> GetFeeCurrencyList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditFeeCurrency")] + public DataResult EditFeeCurrency([FromBody] FeeCurrencyReq model) + { + var res = _invokeService.EditFeeCurrency(model); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetFeeCurrencyInfo")] + public DataResult GetFeeCurrencyInfo([FromQuery] string id) + { + var res = _invokeService.GetFeeCurrencyInfo(id); + return res; + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyExchangeController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyExchangeController.cs new file mode 100644 index 00000000..ac0aabda --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCurrencyExchangeController.cs @@ -0,0 +1,66 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Interface; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.FeeApi.Controllers +{ + /// + /// 汇率设置服务 + /// + public class FeeCurrencyExchangeController : ApiController + { + private readonly IFeeCurrencyExchangeService _invokeService; + + /// + /// 构造函数 + /// + /// + public FeeCurrencyExchangeController(IFeeCurrencyExchangeService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetFeeCurrencyExchangeList")] + public DataResult> GetFeeCurrencyExchangeList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditFeeCurrencyExchange")] + public DataResult EditFeeCurrencyExchange([FromBody] FeeCurrencyExchangeReq model) + { + var res = _invokeService.EditFeeCurrencyExchange(model); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetFeeCurrencyExchangeInfo")] + public DataResult GetFeeCurrencyExchangeInfo([FromQuery] string id) + { + var res = _invokeService.GetFeeCurrencyExchangeInfo(id); + return res; + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCustTemplateDetailController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCustTemplateDetailController.cs new file mode 100644 index 00000000..42f3ba46 --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeCustTemplateDetailController.cs @@ -0,0 +1,66 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Interface; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.FeeApi.Controllers +{ + /// + /// 往来单位固定费用-服务 + /// + public class FeeCustTemplateDetailController : ApiController + { + private readonly IFeeCustTemplateDetailService _invokeService; + + /// + /// 构造函数 + /// + /// + public FeeCustTemplateDetailController(IFeeCustTemplateDetailService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetFeeCustTemplateDetailList")] + public DataResult> GetFeeCustTemplateDetailList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditFeeCustTemplateDetail")] + public DataResult EditFeeCustTemplateDetail([FromBody] FeeCustTemplateDetailReq model) + { + var res = _invokeService.EditFeeCustTemplateDetail(model); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetFeeCustTemplateDetailInfo")] + public DataResult GetFeeCustTemplateDetailInfo([FromQuery] string id) + { + var res = _invokeService.GetFeeCustTemplateDetailInfo(id); + return res; + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateController.cs new file mode 100644 index 00000000..c85b8be8 --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateController.cs @@ -0,0 +1,66 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Interface; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.FeeApi.Controllers +{ + /// + /// 费用模板服务 + /// + public class FeeTemplateController : ApiController + { + private readonly IFeeTemplateService _invokeService; + + /// + /// 构造函数 + /// + /// + public FeeTemplateController(IFeeTemplateService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetFeeTemplateList")] + public DataResult> GetFeeTemplateList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditFeeTemplate")] + public DataResult EditFeeTemplate([FromBody] FeeTemplateReq model) + { + var res = _invokeService.EditFeeTemplate(model); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetFeeTemplateInfo")] + public DataResult GetFeeTemplateInfo([FromQuery] string id) + { + var res = _invokeService.GetFeeTemplateInfo(id); + return res; + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateDetailController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateDetailController.cs new file mode 100644 index 00000000..c3f7754a --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeTemplateDetailController.cs @@ -0,0 +1,66 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Fee.Dtos; +using DS.WMS.Core.Fee.Interface; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.FeeApi.Controllers +{ + /// + /// 费用模板明细服务 + /// + public class FeeTemplateDetailController : ApiController + { + private readonly IFeeTemplateDetailService _invokeService; + + /// + /// 构造函数 + /// + /// + public FeeTemplateDetailController(IFeeTemplateDetailService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetFeeTemplateDetailList")] + public DataResult> GetFeeTemplateDetailList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditFeeTemplateDetail")] + public DataResult EditFeeTemplateDetail([FromBody] FeeTemplateDetailReq model) + { + var res = _invokeService.EditFeeTemplateDetail(model); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetFeeTemplateDetailInfo")] + public DataResult GetFeeTemplateDetailInfo([FromQuery] string id) + { + var res = _invokeService.GetFeeTemplateDetailInfo(id); + return res; + } + } +} diff --git a/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile.pubxml b/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 00000000..0cca9f25 --- /dev/null +++ b/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,17 @@ + + + + + false + false + true + Release + Any CPU + FileSystem + D:\Code\PublishCopy\ds8-feeapi + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/FormCopyController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/FormCopyController.cs index 0f223b4a..de52b3ac 100644 --- a/ds-wms-service/DS.WMS.MainApi/Controllers/FormCopyController.cs +++ b/ds-wms-service/DS.WMS.MainApi/Controllers/FormCopyController.cs @@ -12,13 +12,13 @@ namespace DS.WMS.MainApi.Controllers; /// public class FormCopyController : ApiController { - private readonly IFormCopyService _invokeService; + private readonly IFeeCurrencyService _invokeService; /// /// 构造函数 /// /// - public FormCopyController(IFormCopyService invokeService) + public FormCopyController(IFeeCurrencyService invokeService) { _invokeService = invokeService; } diff --git a/ds-wms-service/DS.WMS.OpApi/Properties/PublishProfiles/FolderProfile.pubxml b/ds-wms-service/DS.WMS.OpApi/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 00000000..39e2cb33 --- /dev/null +++ b/ds-wms-service/DS.WMS.OpApi/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,17 @@ + + + + + false + false + true + Release + Any CPU + FileSystem + D:\Code\PublishCopy\ds8-opapi + FileSystem + <_TargetId>Folder + + \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Test/SaasTest.cs b/ds-wms-service/DS.WMS.Test/SaasTest.cs index ea8f1e1e..89651420 100644 --- a/ds-wms-service/DS.WMS.Test/SaasTest.cs +++ b/ds-wms-service/DS.WMS.Test/SaasTest.cs @@ -27,7 +27,7 @@ public class SaasTest { Type[] types= Assembly .LoadFrom("DS.WMS.Core.dll")//如果 .dll报错,可以换成 xxx.exe 有些生成的是exe - .GetTypes().Where(it=>it.FullName.Contains("DS.WMS.Core.Code.Entity.")||it.FullName.Contains("DS.WMS.Core.Info.Entity.")||it.FullName.Contains("DS.WMS.Core.Sea.Entity."))//命名空间过滤,当然你也可以写其他条件过滤 + .GetTypes().Where(it=>it.FullName.Contains("DS.WMS.Core.Code.Entity.")||it.FullName.Contains("DS.WMS.Core.Info.Entity.")||it.FullName.Contains("DS.WMS.Core.Sea.Entity.") || it.FullName.Contains("DS.WMS.Core.Fee.Entity."))//命名空间过滤,当然你也可以写其他条件过滤 .ToArray(); var tenantDb = saasService.GetBizDbScopeById("1750335377144680448"); // var temp = tenantDb.CodeFirst.GetDifferenceTables(types);