diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs index 780828a6..0e41d1a9 100644 --- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs +++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs @@ -154,6 +154,9 @@ public static class MultiLanguageConst [Description("系统参数已存在")] public const string ConfigExist = "Config_Exist"; + [Description("银行信息已存在")] + public const string BankExist = "Bank_Exist"; + [Description("业务参数已存在")] public const string CodeConfigExist = "CodeConfig_Exist"; diff --git a/ds-wms-service/DS.WMS.Core/Check/Method/CheckBillService.cs b/ds-wms-service/DS.WMS.Core/Check/Method/CheckBillService.cs index 38513f2a..69ef6029 100644 --- a/ds-wms-service/DS.WMS.Core/Check/Method/CheckBillService.cs +++ b/ds-wms-service/DS.WMS.Core/Check/Method/CheckBillService.cs @@ -569,7 +569,7 @@ namespace DS.WMS.Core.Check.Method } /// - /// 客户对账模板打印数据 + /// TODO 客户对账模板打印数据 /// /// public DataResult GetCheckBillTemplatePrintInfo(string id) @@ -615,10 +615,33 @@ namespace DS.WMS.Core.Check.Method ).First(); var businessList = tenantDb.Queryable().Where(x => x.CheckId == checkId).ToList(); - //foreach (var item in businessList) + var businessList1 = tenantDb.Queryable().AS("VW_CheckBill_Business").Where("CheckId=@id", new { CheckId = 1 }).ToList(); + //foreach (var item in businessList1) //{ - // item.CreateProperty + // for (global::System.Int32 i = 0; i < feeList.Count; i++) + // { + // var fee = feeList[i]; + // var str = fee.FeeName + "-" + fee.FeeType + "-" + fee.Currency; + + // var sumFee = tenantDb.Queryable().Where(x => x.BusinessId == item.BusinessId && x.FeeId == fee.FeeId).Sum(x=>x.Amount); + // item[str] = sumFee; + + // //var value = db.DynamicBuilder().CreateObjectByType(type, new Dictionary() { { "Id", 1 }, { "Name", "jack" } }) + // } + // //item.CreateProperty //} + var otherList = new List>(); + for (global::System.Int32 i = 0; i < feeList.Count; i++) + { + var fee = feeList[i]; + var str = fee.FeeName + "-" + fee.FeeType + "-" + fee.Currency; + + //var sumFee = tenantDb.Queryable().Where(x => x.BusinessId == item.BusinessId && x.FeeId == fee.FeeId).Sum(x => x.Amount); + //item[str] = sumFee; + + //var value = db.DynamicBuilder().CreateObjectByType(type, new Dictionary() { { "Id", 1 }, { "Name", "jack" } }) + } + return DataResult.Success(data); } diff --git a/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankReq.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankReq.cs new file mode 100644 index 00000000..fc3274ad --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankReq.cs @@ -0,0 +1,91 @@ +using System.ComponentModel.DataAnnotations; +using DS.Module.Core; +using FluentValidation; +using SqlSugar; + +namespace DS.WMS.Core.Sys.Dtos; + +/// +/// 银行信息请求实体 +/// +public class BankReq +{ + /// + /// 主键Id + /// + public long Id { get; set; } + /// + /// 关联Id + /// + public long LinkId { get; set; } + /// + /// 代码 + /// + public string CodeName { get; set; } + + /// + /// 币别 + /// + public string Currency { get; set; } + + /// + /// 银行名称 + /// + public string BankName { get; set; } + /// + /// 银行名称2 + /// + public string BankName2 { get; set; } + /// + /// Desc:银行账户 + /// + public string BankAccountNo { get; set; } + /// + /// Desc:户头名称 + /// + public string AccountName { get; set; } + + /// + /// 科目代码 + /// + public string SubjectCode { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } + /// + /// 是否默认 0否 1是 + /// + public bool IsDefault { get; set; } = false; + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 状态 0 启用 1 禁用 + /// + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + /// + /// 备注 + /// + public string Note { get; set; } = ""; +} + + +/// +/// 验证 +/// +public class BankReqValidator : AbstractValidator +{ + /// + /// 构造函数 + /// + public BankReqValidator() + { + this.RuleFor(o => o.CodeName) + .NotEmpty().WithName("银行代码"); + // this.RuleFor(o => o.ColumnView) + // .NotEmpty().WithName("中文视图名"); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankRes.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankRes.cs new file mode 100644 index 00000000..f6bf1390 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/BankRes.cs @@ -0,0 +1,75 @@ +using DS.Module.Core; + +namespace DS.WMS.Core.Sys.Dtos; + +/// +/// 银行信息返回实体 +/// +public class BankRes +{ + /// + /// 主键Id + /// + public long Id { get; set; } + /// + /// 关联Id + /// + public long LinkId { get; set; } + /// + /// 代码 + /// + public string CodeName { get; set; } + + /// + /// 币别 + /// + public string Currency { get; set; } + + /// + /// 银行名称 + /// + public string BankName { get; set; } + /// + /// 银行名称2 + /// + public string BankName2 { get; set; } + /// + /// Desc:银行账户 + /// + public string BankAccountNo { get; set; } + /// + /// Desc:户头名称 + /// + public string AccountName { get; set; } + + /// + /// 科目代码 + /// + public string SubjectCode { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } + /// + /// 是否默认 0否 1是 + /// + public bool IsDefault { get; set; } = false; + /// + /// 排序 + /// + public int? OrderNo { get; set; } = 100; + + /// + /// 状态 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/Sys/Dtos/SysOrgReq.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgReq.cs index 411adbb0..8795a67b 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgReq.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgReq.cs @@ -45,4 +45,77 @@ public class SysOrgReq /// 状态 /// public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 机构名称 -全称 + /// + public string OrgFullName { get; set; } + /// + /// 机构英文名称 + /// + public string OrgEnName { get; set; } + + /// + /// 地址 + /// + public string Address { get; set; } + /// + /// 英文地址 + /// + public string EnAddress { get; set; } + + /// + /// 邮政编码 + /// + public string PostCode { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 电子邮箱 + /// + public string Email { get; set; } + + /// + /// 公司网址 + /// + public string WebSiteUrl { get; set; } + + /// + /// 工商登记号 + /// + public string LicenseCode { get; set; } + /// + /// 税务登记号 + /// + public string TaxCode { get; set; } + + + /// + /// 票号头字符 + /// + public string BanksHead { get; set; } + /// + /// 本地货币 + /// + public string LocalCurrency { get; set; } + + /// + /// 发票抬头 + /// + public string InvoiceTitle { get; set; } + /// + /// 支票抬头 + /// + public string ChequeTitle { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } } \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgRes.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgRes.cs index 1d957f6f..15783e80 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgRes.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/SysOrgRes.cs @@ -48,4 +48,76 @@ public class SysOrgRes /// 状态 /// public StatusEnum? Status { get; set; } = StatusEnum.Enable; + /// + /// 机构名称 -全称 + /// + public string OrgFullName { get; set; } + /// + /// 机构英文名称 + /// + public string OrgEnName { get; set; } + + /// + /// 地址 + /// + public string Address { get; set; } + /// + /// 英文地址 + /// + public string EnAddress { get; set; } + + /// + /// 邮政编码 + /// + public string PostCode { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 电子邮箱 + /// + public string Email { get; set; } + + /// + /// 公司网址 + /// + public string WebSiteUrl { get; set; } + + /// + /// 工商登记号 + /// + public string LicenseCode { get; set; } + /// + /// 税务登记号 + /// + public string TaxCode { get; set; } + + + /// + /// 票号头字符 + /// + public string BanksHead { get; set; } + /// + /// 本地货币 + /// + public string LocalCurrency { get; set; } + + /// + /// 发票抬头 + /// + public string InvoiceTitle { get; set; } + /// + /// 支票抬头 + /// + public string ChequeTitle { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } } \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserReq.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserReq.cs index 7fb06f09..bf7bad3b 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserReq.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserReq.cs @@ -1,4 +1,5 @@ -using System.ComponentModel.DataAnnotations; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; using DS.Module.Core.Extensions; using FluentValidation; @@ -52,7 +53,7 @@ public class UserReq public DateTime? Birthday { get; set; } = DateTime.MinValue; /// - /// 电话 + /// 手机号码 /// public string Phone { get; set; } = ""; @@ -60,7 +61,22 @@ public class UserReq /// 邮箱 /// public string Email { get; set; } = ""; - + /// + /// 电话 + /// + public string Tel { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } /// /// 职位 /// diff --git a/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserViewModel.cs b/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserViewModel.cs index c36d9f37..565a0f19 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserViewModel.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Dtos/UserViewModel.cs @@ -58,7 +58,7 @@ public class UserViewModel public string MD5Password { get; set; } /// - /// 电话 + /// 手机号码 /// public string Phone { get; set; } @@ -144,4 +144,21 @@ public class UserViewModel /// 默认机构Id /// public long DefaultOrgId { get; set; } + + /// + /// 电话 + /// + public string Tel { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } } \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Entity/SysBank.cs b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysBank.cs new file mode 100644 index 00000000..b0f45e17 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysBank.cs @@ -0,0 +1,82 @@ +using DS.Module.Core; +using DS.Module.Core.Data; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DS.WMS.Core.Sys.Entity +{ + /// + /// 银行账户信息 + /// + [SqlSugar.SugarTable("sys_bank", "银行账户信息")] + public class SysBank : BaseTenantModel + { + /// + /// 关联Id + /// + [SugarColumn(ColumnDescription = "关联Id")] + public long LinkId { get; set; } + /// + /// 代码 + /// + [SugarColumn(ColumnDescription = "代码", IsNullable = true, Length = 50)] + public string CodeName { get; set; } + + /// + /// 币别 + /// + [SugarColumn(ColumnDescription = "币别", IsNullable = true, Length = 20)] + public string Currency { get; set; } + + /// + /// 银行名称 + /// + [SugarColumn(ColumnDescription = "银行名称", IsNullable = true, Length = 100)] + public string BankName { get; set; } + /// + /// 银行名称2 + /// + [SugarColumn(ColumnDescription = "银行名称2", IsNullable = true, Length = 100)] + public string BankName2 { get; set; } + /// + /// Desc:银行账户 + /// + [SugarColumn(ColumnDescription = "银行账户", Length = 40, IsNullable = true)] + public string BankAccountNo { get; set; } + /// + /// Desc:户头名称 + /// + [SugarColumn(ColumnDescription = "户头名称", Length = 100, IsNullable = true)] + public string AccountName { get; set; } + + /// + /// 科目代码 + /// + [SugarColumn(ColumnDescription = "科目代码", IsNullable = true, Length = 100)] + public string SubjectCode { get; set; } + /// + /// 财务软件代码 + /// + [SugarColumn(ColumnDescription = "财务软件代码", IsNullable = true, Length = 50)] + public string FinanceSoftCode { get; set; } + /// + /// 是否默认 0否 1是 + /// + [SugarColumn(ColumnDescription = "是否默认")] + public bool IsDefault { get; set; } = false; + /// + /// 排序 + /// + [SugarColumn(ColumnDescription = "排序")] + public int? OrderNo { get; set; } = 100; + /// + /// 状态 + /// + [SugarColumn(ColumnDescription = "状态")] + public StatusEnum? Status { get; set; } = StatusEnum.Enable; + } +} diff --git a/ds-wms-service/DS.WMS.Core/Sys/Entity/SysOrg.cs b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysOrg.cs index db337c1f..6d236664 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Entity/SysOrg.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysOrg.cs @@ -16,10 +16,10 @@ public class SysOrg: BaseTenantModel public long ParentId { get; set; } /// - /// 机构名称 + /// 机构名称 -简称 /// public string OrgName { get; set; } - + /// /// Desc:负责人 /// Default: @@ -51,4 +51,77 @@ public class SysOrg: BaseTenantModel /// [SugarColumn(ColumnDescription = "状态")] public StatusEnum? Status { get; set; } = StatusEnum.Enable; + + /// + /// 机构名称 -全称 + /// + public string OrgFullName { get; set; } + /// + /// 机构英文名称 + /// + public string OrgEnName { get; set; } + + /// + /// 地址 + /// + public string Address { get; set; } + /// + /// 英文地址 + /// + public string EnAddress { get; set; } + + /// + /// 邮政编码 + /// + public string PostCode { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 电子邮箱 + /// + public string Email { get; set; } + + /// + /// 公司网址 + /// + public string WebSiteUrl { get; set; } + + /// + /// 工商登记号 + /// + public string LicenseCode { get; set; } + /// + /// 税务登记号 + /// + public string TaxCode { get; set; } + + + /// + /// 票号头字符 + /// + public string BanksHead { get; set; } + /// + /// 本地货币 + /// + public string LocalCurrency { get; set; } + + /// + /// 发票抬头 + /// + public string InvoiceTitle { get; set; } + /// + /// 支票抬头 + /// + public string ChequeTitle { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } } \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Entity/SysUser.cs b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysUser.cs index 50bb5fea..0dc5298a 100644 --- a/ds-wms-service/DS.WMS.Core/Sys/Entity/SysUser.cs +++ b/ds-wms-service/DS.WMS.Core/Sys/Entity/SysUser.cs @@ -70,11 +70,28 @@ public class SysUser : UserTenantModel public string MD5Password { get; set; } /// - /// 电话 + /// 手机 /// - [Description("电话")] + [Description("手机")] public string Phone { get; set; } + /// + /// 电话 + /// + [Description("电话")] + public string Tel { get; set; } + /// + /// 办公电话 + /// + public string OfficePhone { get; set; } + /// + /// 传真 + /// + public string Fax { get; set; } + /// + /// 财务软件代码 + /// + public string FinanceSoftCode { get; set; } /// /// 邮箱 /// diff --git a/ds-wms-service/DS.WMS.Core/Sys/Interface/IBankService.cs b/ds-wms-service/DS.WMS.Core/Sys/Interface/IBankService.cs new file mode 100644 index 00000000..7695a71f --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Sys/Interface/IBankService.cs @@ -0,0 +1,30 @@ +using DS.Module.Core; +using DS.WMS.Core.Sys.Dtos; +using DS.WMS.Core.Sys.Entity; + +namespace DS.WMS.Core.Sys.Interface; + +public interface IBankService +{ + /// + /// 列表 + /// + /// + /// + DataResult> GetListByPage(PageRequest request); + + + /// + /// 编辑 + /// + /// + /// + DataResult EditBank(BankReq model); + + /// + /// 获取详情 + /// + /// + /// + DataResult GetBankInfo(string id); +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.Core/Sys/Method/BankService.cs b/ds-wms-service/DS.WMS.Core/Sys/Method/BankService.cs new file mode 100644 index 00000000..beca5690 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Sys/Method/BankService.cs @@ -0,0 +1,88 @@ +using DS.Module.Core; +using DS.Module.Core.Extensions; +using DS.Module.UserModule; +using DS.WMS.Core.Sys.Dtos; +using DS.WMS.Core.Sys.Entity; +using DS.WMS.Core.Sys.Interface; +using Mapster; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; + +namespace DS.WMS.Core.Sys.Method; + +public class BankService : IBankService +{ + private readonly IServiceProvider _serviceProvider; + private readonly ISqlSugarClient db; + private readonly IUser user; + + /// + /// + /// + /// + public BankService(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + db = _serviceProvider.GetRequiredService(); + user = _serviceProvider.GetRequiredService(); + } + + /// + /// 列表 + /// + /// + /// + public DataResult> GetListByPage(PageRequest request) + { + //序列化查询条件 + var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var data = db.Queryable() + .Where(whereList) + .Select().ToQueryPage(request.PageCondition); + return data; + } + /// + /// 编辑 + /// + /// + /// + public DataResult EditBank(BankReq req) + { + if (req.Id == 0) + { + + if (db.Queryable().Where(x=>x.CodeName == req.CodeName && x.LinkId == req.LinkId).Any()) + { + return DataResult.Failed("银行信息已存在!",MultiLanguageConst.BankExist); + } + + var data = req.Adapt(); + + var entity = db.Insertable(data).ExecuteReturnEntity(); + + return DataResult.Successed("添加成功!", entity.Id,MultiLanguageConst.DataCreateSuccess); + } + else + { + var info = db.Queryable().Where(x => x.Id == req.Id).First(); + + info = req.Adapt(info); + + db.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); + return DataResult.Successed("更新成功!",MultiLanguageConst.DataUpdateSuccess); + } + } + /// + /// 详情 + /// + /// + /// + public DataResult GetBankInfo(string id) + { + var data = db.Queryable() + .Where(a => a.Id == long.Parse(id)) + .Select() + .First(); + return DataResult.Success(data,MultiLanguageConst.DataQuerySuccess); + } +} \ No newline at end of file diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/BankController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/BankController.cs new file mode 100644 index 00000000..ddffce21 --- /dev/null +++ b/ds-wms-service/DS.WMS.MainApi/Controllers/BankController.cs @@ -0,0 +1,64 @@ +using DS.Module.Core; +using DS.WMS.Core.Code.Dtos; +using DS.WMS.Core.Code.Interface; +using DS.WMS.Core.Sys.Dtos; +using DS.WMS.Core.Sys.Interface; +using Microsoft.AspNetCore.Mvc; + +namespace DS.WMS.MainApi.Controllers; + +/// +/// 业务参数配置模块 +/// +public class BankController : ApiController +{ + private readonly IBankService _invokeService; + + /// + /// 构造函数 + /// + /// + public BankController(IBankService invokeService) + { + _invokeService = invokeService; + } + + /// + /// 列表 + /// + /// + /// + [HttpPost] + [Route("GetBankList")] + public DataResult> GetBankList([FromBody] PageRequest request) + { + var res = _invokeService.GetListByPage(request); + return res; + } + + /// + /// 编辑 + /// + /// + /// + [HttpPost] + [Route("EditBank")] + public DataResult EditBank([FromBody] BankReq req) + { + var res = _invokeService.EditBank(req); + return res; + } + + /// + /// 详情 + /// + /// + /// + [HttpGet] + [Route("GetBankInfo")] + public DataResult GetBankInfo([FromQuery] string id) + { + var res = _invokeService.GetBankInfo(id); + return res; + } +} \ 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 9f939d95..dd3e3773 100644 --- a/ds-wms-service/DS.WMS.Test/SaasTest.cs +++ b/ds-wms-service/DS.WMS.Test/SaasTest.cs @@ -61,9 +61,10 @@ public class SaasTest [Fact] public void InitTableTest() { - var tenantDb = saasService.GetBizDbScopeById("1750335377144680448"); + //var tenantDb = saasService.GetBizDbScopeById("1750335377144680448"); StaticConfig.CodeFirst_MySqlCollate = "utf8mb4_0900_ai_ci";//较高版本支持 - tenantDb.CodeFirst.InitTables(typeof(SeaExport)); + //tenantDb.CodeFirst.InitTables(typeof(SeaExport)); + db.CodeFirst.InitTables(typeof(SysBank)); Assert.True(true); }