diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
index 96a3aa2d..9243464e 100644
--- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
+++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
@@ -271,5 +271,22 @@ public static class MultiLanguageConst
[Description("表单复制字段设置已存在")]
public const string FormCopyExist = "Form_Copy_Exist";
+ [Description("客户银行信息已存在")]
+ public const string ClientBankExist = "Client_Bank_Exist";
+
+ [Description("客户联系人信息已存在")]
+ public const string ClientContactExist = "Client_Contact_Exist";
+
+ [Description("客户合同信息已存在")]
+ public const string ClientContractExist = "Client_Contract_Exist";
+
+ [Description("客户收发货人信息已存在")]
+ public const string ClientShipperExist = "Client_Shipper_Exist";
+ [Description("客户账期信息已存在")]
+ public const string ClientAccountDateExist = "Client_Account_Date_Exist";
+ [Description("客户信息已存在")]
+ public const string ClientInfoExist = "Client_Info_Exist";
+
+
#endregion
}
\ No newline at end of file
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 8e839cdd..996c7135 100644
--- a/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj
+++ b/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj
@@ -20,10 +20,6 @@
-
-
-
-
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateReq.cs
new file mode 100644
index 00000000..9ff5e784
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateReq.cs
@@ -0,0 +1,111 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户财务账期请求实体
+///
+public class ClientAccountDateReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:合同生效日期
+ ///
+ public DateTime? BeginDate { get; set; }
+
+ ///
+ /// Desc:合同结束日期
+ ///
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// Desc:业务类型
+ ///
+ public string BusinessType { get; set; }
+
+
+ ///
+ /// Desc:揽货人Id
+ ///
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:账期类型
+ ///
+ public string AccountType { get; set; }
+
+ ///
+ /// Desc:账期起算日
+ ///
+ public string AccountStartDate { get; set; }
+
+ ///
+ /// Desc:间隔月份
+ ///
+ public byte? AccountMonth { get; set; }
+
+ ///
+ /// Desc:账期日期
+ ///
+ public byte? AccountDays { get; set; }
+
+ ///
+ /// Desc:信用额度
+ ///
+ public decimal? AllowAmount { get; set; }
+
+
+ ///
+ /// Desc:合同Id
+ ///
+ public long ContractId { get; set; }
+
+ ///
+ /// Desc:运杂费比例
+ ///
+ public decimal? CommissionRate { get; set; } = 0;
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+}
+
+///
+/// 验证
+///
+public class ClientAccountDateReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientAccountDateReqValidator()
+ {
+ this.RuleFor(o => o.AccountType)
+ .NotEmpty().WithName("账期类型");
+ this.RuleFor(o => o.BusinessType)
+ .NotEmpty().WithName("业务类型");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateRes.cs
new file mode 100644
index 00000000..fd1eab86
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientAccountDateRes.cs
@@ -0,0 +1,96 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户账期返回实体
+///
+public class ClientAccountDateRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:合同生效日期
+ ///
+ public DateTime? BeginDate { get; set; }
+
+ ///
+ /// Desc:合同结束日期
+ ///
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// Desc:业务类型
+ ///
+ public string BusinessType { get; set; }
+
+
+ ///
+ /// Desc:揽货人Id
+ ///
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:账期类型
+ ///
+ public string AccountType { get; set; }
+
+ ///
+ /// Desc:账期起算日
+ ///
+ public string AccountStartDate { get; set; }
+
+ ///
+ /// Desc:间隔月份
+ ///
+ public byte? AccountMonth { get; set; }
+
+ ///
+ /// Desc:账期日期
+ ///
+ public byte? AccountDays { get; set; }
+
+ ///
+ /// Desc:信用额度
+ ///
+ public decimal? AllowAmount { get; set; }
+
+
+ ///
+ /// Desc:合同Id
+ ///
+ public long ContractId { get; set; }
+
+ ///
+ /// Desc:运杂费比例
+ ///
+ public decimal? CommissionRate { get; set; } = 0;
+ ///
+ /// 状态 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/Info/Dtos/ClientBankReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientBankReq.cs
new file mode 100644
index 00000000..912ee793
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientBankReq.cs
@@ -0,0 +1,145 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户银行信息请求实体
+///
+public class ClientBankReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:联系人代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:联系人简称
+ ///
+ public string ShortName { get; set; }
+
+
+ ///
+ /// Desc:职务
+ ///
+ public string Job { get; set; }
+
+ ///
+ /// Desc:通讯地址
+ ///
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:手机
+ ///
+ public string Mobile { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:QQ
+ ///
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:是否为操作
+ ///
+ public bool? IsOperator { get; set; } = false;
+
+ ///
+ /// Desc:是否为财务
+ ///
+ public bool? IsFinancialStaff { get; set; } = false;
+
+ ///
+ /// Desc:是否为销售
+ ///
+ public bool? IsSaleMan { get; set; } = false;
+
+ ///
+ /// Desc:是否为其他
+ ///
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:是否保险联系人
+ ///
+ public bool? IsInsurance { get; set; } = false;
+
+ ///
+ /// Desc:是否对账联系人
+ ///
+ public bool? IsCheckAccount { get; set; } = false;
+
+ ///
+ /// 提醒日期1
+ ///
+ public DateTime Anniversary1 { get; set; }
+
+ ///
+ /// 提醒日期2
+ ///
+ public DateTime Anniversary2 { get; set; }
+
+ ///
+ /// 提醒备注1
+ ///
+ public string AnniversaryNote1 { get; set; }
+
+ ///
+ /// 提醒备注2
+ ///
+ public string AnniversaryNote2 { get; set; }
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+}
+
+///
+/// 验证
+///
+public class ClientBankReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientBankReqValidator()
+ {
+ this.RuleFor(o => o.CodeName)
+ .NotEmpty().WithName("联系人代码");
+ this.RuleFor(o => o.ShortName)
+ .NotEmpty().WithName("联系人简称");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientBankRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientBankRes.cs
new file mode 100644
index 00000000..944c6671
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientBankRes.cs
@@ -0,0 +1,101 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户银行信息返回实体
+///
+public class ClientBankRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:币别
+ ///
+ public string Currency { get; set; }
+
+ ///
+ /// Desc:银行名称
+ ///
+ public string BankName { get; set; }
+
+ ///
+ /// Desc:银行账户
+ ///
+ public string Account { get; set; }
+
+ ///
+ /// Desc:银行地址
+ ///
+ public string BankAddress { get; set; }
+
+ ///
+ /// Desc:财务软件代码
+ ///
+ public string FinanceSoftCode { get; set; }
+
+ ///
+ /// Desc:科目代码
+ ///
+ public string SubjectCode { get; set; }
+
+ ///
+ /// Desc:户头名称
+ ///
+ public string AccountName { get; set; }
+
+ ///
+ /// Desc:代理银行名称
+ ///
+ public string BankAgentName { get; set; }
+
+ ///
+ /// Desc:银行账号
+ ///
+ public string BankAccountNo { get; set; }
+
+ ///
+ /// Desc: 银行SWIFT
+ ///
+ public string SWIFT { get; set; }
+
+
+ ///
+ /// Desc: 国家Id
+ ///
+ public long? CountryId { get; set; }
+
+ ///
+ /// Desc:是否开票默认账户
+ ///
+ public bool? IsInvoiceDefault { 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/Info/Dtos/ClientContactReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContactReq.cs
new file mode 100644
index 00000000..0fc8f11f
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContactReq.cs
@@ -0,0 +1,115 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户联系人请求实体
+///
+public class ClientContactReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:币别
+ ///
+ public string Currency { get; set; }
+
+ ///
+ /// Desc:银行名称
+ ///
+ public string BankName { get; set; }
+
+ ///
+ /// Desc:银行账户
+ ///
+ public string Account { get; set; }
+
+ ///
+ /// Desc:银行地址
+ ///
+ public string BankAddress { get; set; }
+
+ ///
+ /// Desc:财务软件代码
+ ///
+ public string FinanceSoftCode { get; set; }
+
+ ///
+ /// Desc:科目代码
+ ///
+ public string SubjectCode { get; set; }
+
+ ///
+ /// Desc:户头名称
+ ///
+ public string AccountName { get; set; }
+
+ ///
+ /// Desc:代理银行名称
+ ///
+ public string BankAgentName { get; set; }
+
+ ///
+ /// Desc:银行账号
+ ///
+ public string BankAccountNo { get; set; }
+
+ ///
+ /// Desc: 银行SWIFT
+ ///
+ public string SWIFT { get; set; }
+
+
+ ///
+ /// Desc: 国家Id
+ ///
+ public long? CountryId { get; set; }
+
+ ///
+ /// Desc:是否开票默认账户
+ ///
+ public bool? IsInvoiceDefault { get; set; } = false;
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+}
+
+///
+/// 验证
+///
+public class ClientContactReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientContactReqValidator()
+ {
+ this.RuleFor(o => o.BankName)
+ .NotEmpty().WithName("银行名称");
+ this.RuleFor(o => o.Currency)
+ .NotEmpty().WithName("币别");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContactRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContactRes.cs
new file mode 100644
index 00000000..df3a7da2
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContactRes.cs
@@ -0,0 +1,131 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户联系人返回实体
+///
+public class ClientContactRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:联系人代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:联系人简称
+ ///
+ public string ShortName { get; set; }
+
+
+ ///
+ /// Desc:职务
+ ///
+ public string Job { get; set; }
+
+ ///
+ /// Desc:通讯地址
+ ///
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:手机
+ ///
+ public string Mobile { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:QQ
+ ///
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:是否为操作
+ ///
+ public bool? IsOperator { get; set; } = false;
+
+ ///
+ /// Desc:是否为财务
+ ///
+ public bool? IsFinancialStaff { get; set; } = false;
+
+ ///
+ /// Desc:是否为销售
+ ///
+ public bool? IsSaleMan { get; set; } = false;
+
+ ///
+ /// Desc:是否为其他
+ ///
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:是否保险联系人
+ ///
+ public bool? IsInsurance { get; set; } = false;
+
+ ///
+ /// Desc:是否对账联系人
+ ///
+ public bool? IsCheckAccount { get; set; } = false;
+
+ ///
+ /// 提醒日期1
+ ///
+ public DateTime Anniversary1 { get; set; }
+
+ ///
+ /// 提醒日期2
+ ///
+ public DateTime Anniversary2 { get; set; }
+
+ ///
+ /// 提醒备注1
+ ///
+ public string AnniversaryNote1 { get; set; }
+
+ ///
+ /// 提醒备注2
+ ///
+ public string AnniversaryNote2 { 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/Info/Dtos/ClientContractReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContractReq.cs
new file mode 100644
index 00000000..da014fc8
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContractReq.cs
@@ -0,0 +1,79 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户合同请求实体
+///
+public class ClientContractReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:合同号
+ ///
+ public string ContractNo { get; set; }
+
+ ///
+ /// Desc:签订日期
+ ///
+ public DateTime SignDate { get; set; }
+ ///
+ /// Desc:起始日期
+ ///
+ public DateTime StartDate { get; set; }
+ ///
+ /// Desc:截止日期
+ ///
+ public DateTime EndDate { get; set; }
+ ///
+ /// Desc:负责人
+ ///
+ public string Chief { get; set; }
+ ///
+ /// Desc:签订部门Id
+ ///
+ public long DeptId { get; set; }
+ ///
+ /// Desc:合同名称
+ ///
+ public string ContractName { get; set; }
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+}
+
+///
+/// 验证
+///
+public class ClientContractReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientContractReqValidator()
+ {
+ this.RuleFor(o => o.ContractNo)
+ .NotEmpty().WithName("合同号");
+ this.RuleFor(o => o.ContractName)
+ .NotEmpty().WithName("合同名称");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContractRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContractRes.cs
new file mode 100644
index 00000000..e8574f5a
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientContractRes.cs
@@ -0,0 +1,66 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户合同返回实体
+///
+public class ClientContractRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public long ClientId { get; set; }
+
+
+ ///
+ /// Desc:合同号
+ ///
+ public string ContractNo { get; set; }
+
+ ///
+ /// Desc:签订日期
+ ///
+ public DateTime SignDate { get; set; }
+ ///
+ /// Desc:起始日期
+ ///
+ public DateTime StartDate { get; set; }
+ ///
+ /// Desc:截止日期
+ ///
+ public DateTime EndDate { get; set; }
+ ///
+ /// Desc:负责人
+ ///
+ public string Chief { get; set; }
+ ///
+ /// Desc:签订部门Id
+ ///
+ public long DeptId { get; set; }
+ ///
+ /// Desc:合同名称
+ ///
+ public string ContractName { 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/Info/Dtos/ClientInfoReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs
new file mode 100644
index 00000000..8db2db7a
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs
@@ -0,0 +1,417 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户基本信息请求实体
+///
+public class ClientInfoReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+
+ ///
+ /// Desc:客户代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:客户简称
+ ///
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:客户中文名称或描述信息
+ ///
+ public string Description { get; set; }
+
+ ///
+ /// Desc:客户英文简称
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// Desc:客户英文全称
+ ///
+ public string EnFullName { get; set; }
+
+ ///
+ /// Desc:通讯地址
+ ///
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:网页
+ ///
+ public string Web { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:负责人
+ ///
+ public string Chief { get; set; }
+
+ ///
+ /// Desc:所属揽货人
+ ///
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:所属操作人
+ ///
+ public long Op { get; set; }
+
+ ///
+ /// Desc:所属单证
+ ///
+ public long Doc { get; set; }
+
+
+ ///
+ /// Desc:国家
+ ///
+ public string Country { get; set; }
+
+ ///
+ /// Desc:省或州
+ ///
+ public string Province { get; set; }
+
+ ///
+ /// Desc:城市
+ ///
+ public string City { get; set; }
+
+
+ ///
+ /// Desc:提单信息
+ ///
+ public string BLContent { get; set; }
+
+ ///
+ /// Desc:是否停用
+ ///
+ public bool? IsStop { get; set; } = false;
+
+ ///
+ /// Desc:发票抬头1
+ ///
+ public string BillRises1 { get; set; }
+
+ ///
+ /// Desc:发票抬头2
+ ///
+ public string BillRises2 { get; set; }
+
+ ///
+ /// Desc:美元支票抬头
+ ///
+ public string USDBillRises { get; set; }
+
+ ///
+ /// Desc:人民币支票抬头
+ ///
+ public string RMBBillRises { get; set; }
+
+ ///
+ /// Desc:人民币开户银行
+ ///
+ public string RMBBank { get; set; }
+
+ ///
+ /// Desc:人民币账号
+ ///
+ public string RMBAccount { get; set; }
+
+ ///
+ /// Desc:人民币联机行号
+ ///
+ public string RMBOnlineNO { get; set; }
+
+ ///
+ /// Desc:美元开户银行
+ ///
+ public string USDBank { get; set; }
+
+ ///
+ /// Desc:美元账号
+ ///
+ public string USDAccount { get; set; }
+
+ ///
+ /// Desc:美元联机行号
+ ///
+ public string USDOnlineNO { get; set; }
+
+ ///
+ /// Desc:自定义属性1
+ ///
+ public string CustomAttributes1 { get; set; }
+
+ ///
+ /// Desc:自定义属性2
+ ///
+ public string CustomAttributes2 { get; set; }
+
+ ///
+ /// Desc:美元信用最大金额
+ ///
+ public decimal? USDMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:人民币信用最大金额
+ ///
+ public decimal? RMBMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:信用最大金额(RMB+USD)
+ ///
+ public decimal? MaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:结算方式编码
+ ///
+ public string StlName { get; set; }
+
+
+ ///
+ /// Desc:美金汇率
+ ///
+ public decimal? USDExchangeRate { get; set; }
+
+ ///
+ /// Desc:月结算时间
+ ///
+ public string StlDate { get; set; }
+
+ ///
+ /// Desc:上半月结算时间
+ ///
+ public string StlFirstHalfDate { get; set; }
+
+ ///
+ /// Desc:下半月结算时间
+ ///
+ public string StlMiddleDate { get; set; }
+
+ ///
+ /// Desc:票结结算时间
+ ///
+ public string InvoiceStlDate { get; set; }
+
+ ///
+ /// Desc:等级
+ ///
+ public string Level { get; set; }
+
+
+ ///
+ /// Desc:QQ
+ ///
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:MSN
+ ///
+ public string MSN { get; set; }
+
+
+ ///
+ /// Desc:财务应收账款代码
+ ///
+ public string FARCode { get; set; }
+
+ ///
+ /// Desc:财务应付账款代码
+ ///
+ public string FAPCode { get; set; }
+
+ ///
+ /// Desc:冷藏费率
+ ///
+ public string UnitPrice { get; set; }
+
+ ///
+ /// Desc:企业备案号
+ ///
+ public string RegistrationNo { get; set; }
+
+ ///
+ /// Desc:财务序号
+ ///
+ public string OrderNo { get; set; }
+
+
+ ///
+ /// Desc:纳税人识别号
+ ///
+ public string TaxNo { get; set; }
+
+ ///
+ /// Desc:EDI代码
+ ///
+ public string EDICode { get; set; }
+
+ ///
+ /// Desc:EDI代码2
+ ///
+ public string EDICode2 { get; set; }
+
+ ///
+ /// Desc:EDI代码3
+ ///
+ public string EDICode3 { get; set; }
+
+ ///
+ /// Desc:组织机构代码
+ ///
+ public string OrganizationCode { get; set; }
+
+ ///
+ /// Desc: 所属集团
+ ///
+ public string PcorpName { get; set; }
+
+ ///
+ /// Desc:企业商检备案号
+ ///
+ public string InspectionNo { get; set; }
+
+ ///
+ /// 审批状态
+ ///
+ public AuditStatusEnum? AuditStatus { get; set; } = AuditStatusEnum.Approve;
+
+ ///
+ /// 审批时间
+ ///
+ public DateTime AuditTime { get; set; }
+
+ ///
+ /// 审批意见
+ ///
+ public string AuditNote { get; set; }
+
+
+ ///
+ /// Desc:默认付费方式
+ ///
+ public string FeeFRT { get; set; }
+
+ ///
+ /// Desc:收单据模式
+ ///
+ public int? RCVMode { get; set; }
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:发票银行
+ ///
+ public string InvoiceBank { get; set; }
+
+ ///
+ /// Desc:发票地址电话
+ ///
+ public string InvoiceAddrTel { get; set; }
+
+ ///
+ /// Desc:所属分部
+ ///
+ public long? SaleOrgId { get; set; }
+
+ ///
+ /// Desc:提成比例
+ ///
+ public decimal? CommissionRate { get; set; } = 0;
+
+ ///
+ /// Desc:分成比例
+ ///
+ public decimal? ProportionRate { get; set; } = 0;
+
+ ///
+ /// Desc:提成参与人
+ ///
+ public long CommissionUserId { get; set; }
+
+ ///
+ /// Desc:运输公司列表
+ ///
+ public string CarrierList { get; set; }
+
+ ///
+ /// Desc:集装箱尺寸
+ ///
+ public string CtnType { get; set; }
+
+
+ ///
+ /// Desc: 客服
+ ///
+ public long CustomerService { get; set; } = 0;
+
+ ///
+ /// Desc:英文简称
+ ///
+ public string EnShortName { get; set; }
+
+ ///
+ /// Desc:仓储费开始日期模式
+ ///
+ public string WMSFeeRateType { get; set; }
+
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+ ///
+ /// 客户标识
+ ///
+ public ClientTagReq ClientTag { get; set; }
+}
+
+///
+/// 验证
+///
+public class ClientInfoReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientInfoReqValidator()
+ {
+ this.RuleFor(o => o.CodeName)
+ .NotEmpty().WithName("客户代码");
+ this.RuleFor(o => o.ShortName)
+ .NotEmpty().WithName("客户简称");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs
new file mode 100644
index 00000000..8d51244d
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs
@@ -0,0 +1,403 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户基本信息返回实体
+///
+public class ClientInfoRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// Desc:客户代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:客户简称
+ ///
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:客户中文名称或描述信息
+ ///
+ public string Description { get; set; }
+
+ ///
+ /// Desc:客户英文简称
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// Desc:客户英文全称
+ ///
+ public string EnFullName { get; set; }
+
+ ///
+ /// Desc:通讯地址
+ ///
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:网页
+ ///
+ public string Web { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:负责人
+ ///
+ public string Chief { get; set; }
+
+ ///
+ /// Desc:所属揽货人
+ ///
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:所属操作人
+ ///
+ public long Op { get; set; }
+
+ ///
+ /// Desc:所属单证
+ ///
+ public long Doc { get; set; }
+
+
+ ///
+ /// Desc:国家
+ ///
+ public string Country { get; set; }
+
+ ///
+ /// Desc:省或州
+ ///
+ public string Province { get; set; }
+
+ ///
+ /// Desc:城市
+ ///
+ public string City { get; set; }
+
+
+ ///
+ /// Desc:提单信息
+ ///
+ public string BLContent { get; set; }
+
+ ///
+ /// Desc:是否停用
+ ///
+ public bool? IsStop { get; set; } = false;
+
+ ///
+ /// Desc:发票抬头1
+ ///
+ public string BillRises1 { get; set; }
+
+ ///
+ /// Desc:发票抬头2
+ ///
+ public string BillRises2 { get; set; }
+
+ ///
+ /// Desc:美元支票抬头
+ ///
+ public string USDBillRises { get; set; }
+
+ ///
+ /// Desc:人民币支票抬头
+ ///
+ public string RMBBillRises { get; set; }
+
+ ///
+ /// Desc:人民币开户银行
+ ///
+ public string RMBBank { get; set; }
+
+ ///
+ /// Desc:人民币账号
+ ///
+ public string RMBAccount { get; set; }
+
+ ///
+ /// Desc:人民币联机行号
+ ///
+ public string RMBOnlineNO { get; set; }
+
+ ///
+ /// Desc:美元开户银行
+ ///
+ public string USDBank { get; set; }
+
+ ///
+ /// Desc:美元账号
+ ///
+ public string USDAccount { get; set; }
+
+ ///
+ /// Desc:美元联机行号
+ ///
+ public string USDOnlineNO { get; set; }
+
+ ///
+ /// Desc:自定义属性1
+ ///
+ public string CustomAttributes1 { get; set; }
+
+ ///
+ /// Desc:自定义属性2
+ ///
+ public string CustomAttributes2 { get; set; }
+
+ ///
+ /// Desc:美元信用最大金额
+ ///
+ public decimal? USDMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:人民币信用最大金额
+ ///
+ public decimal? RMBMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:信用最大金额(RMB+USD)
+ ///
+ public decimal? MaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:结算方式编码
+ ///
+ public string StlName { get; set; }
+
+
+ ///
+ /// Desc:美金汇率
+ ///
+ public decimal? USDExchangeRate { get; set; }
+
+ ///
+ /// Desc:月结算时间
+ ///
+ public string StlDate { get; set; }
+
+ ///
+ /// Desc:上半月结算时间
+ ///
+ public string StlFirstHalfDate { get; set; }
+
+ ///
+ /// Desc:下半月结算时间
+ ///
+ public string StlMiddleDate { get; set; }
+
+ ///
+ /// Desc:票结结算时间
+ ///
+ public string InvoiceStlDate { get; set; }
+
+ ///
+ /// Desc:等级
+ ///
+ public string Level { get; set; }
+
+
+ ///
+ /// Desc:QQ
+ ///
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:MSN
+ ///
+ public string MSN { get; set; }
+
+
+ ///
+ /// Desc:财务应收账款代码
+ ///
+ public string FARCode { get; set; }
+
+ ///
+ /// Desc:财务应付账款代码
+ ///
+ public string FAPCode { get; set; }
+
+ ///
+ /// Desc:冷藏费率
+ ///
+ public string UnitPrice { get; set; }
+
+ ///
+ /// Desc:企业备案号
+ ///
+ public string RegistrationNo { get; set; }
+
+ ///
+ /// Desc:财务序号
+ ///
+ public string OrderNo { get; set; }
+
+
+ ///
+ /// Desc:纳税人识别号
+ ///
+ public string TaxNo { get; set; }
+
+ ///
+ /// Desc:EDI代码
+ ///
+ public string EDICode { get; set; }
+
+ ///
+ /// Desc:EDI代码2
+ ///
+ public string EDICode2 { get; set; }
+
+ ///
+ /// Desc:EDI代码3
+ ///
+ public string EDICode3 { get; set; }
+
+ ///
+ /// Desc:组织机构代码
+ ///
+ public string OrganizationCode { get; set; }
+
+ ///
+ /// Desc: 所属集团
+ ///
+ public string PcorpName { get; set; }
+
+ ///
+ /// Desc:企业商检备案号
+ ///
+ public string InspectionNo { get; set; }
+
+ ///
+ /// 审批状态
+ ///
+ public AuditStatusEnum? AuditStatus { get; set; } = AuditStatusEnum.Approve;
+
+ ///
+ /// 审批时间
+ ///
+ public DateTime AuditTime { get; set; }
+
+ ///
+ /// 审批意见
+ ///
+ public string AuditNote { get; set; }
+
+
+ ///
+ /// Desc:默认付费方式
+ ///
+ public string FeeFRT { get; set; }
+
+ ///
+ /// Desc:收单据模式
+ ///
+ public int? RCVMode { get; set; }
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:发票银行
+ ///
+ public string InvoiceBank { get; set; }
+
+ ///
+ /// Desc:发票地址电话
+ ///
+ public string InvoiceAddrTel { get; set; }
+
+ ///
+ /// Desc:所属分部
+ ///
+ public long? SaleOrgId { get; set; }
+
+ ///
+ /// Desc:提成比例
+ ///
+ public decimal? CommissionRate { get; set; } = 0;
+
+ ///
+ /// Desc:分成比例
+ ///
+ public decimal? ProportionRate { get; set; } = 0;
+
+ ///
+ /// Desc:提成参与人
+ ///
+ public long CommissionUserId { get; set; }
+
+ ///
+ /// Desc:运输公司列表
+ ///
+ public string CarrierList { get; set; }
+
+ ///
+ /// Desc:集装箱尺寸
+ ///
+ public string CtnType { get; set; }
+
+
+ ///
+ /// Desc: 客服
+ ///
+ public long CustomerService { get; set; } = 0;
+
+ ///
+ /// Desc:英文简称
+ ///
+ public string EnShortName { get; set; }
+
+ ///
+ /// Desc:仓储费开始日期模式
+ ///
+ public string WMSFeeRateType { get; set; }
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// 客户标识
+ ///
+ public ClientTagRes ClientTag { get; set; }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperReq.cs
new file mode 100644
index 00000000..d3007086
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperReq.cs
@@ -0,0 +1,94 @@
+using DS.Module.Core;
+using FluentValidation;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户收发货人请求实体
+///
+public class ClientShipperReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:收发货人代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:收发货人简称
+ ///
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:类型 下拉选择(Shipper-1,Consinee-2,Notifypaty-3,Agent-4)
+ ///
+ public int ShipperType { get; set; }
+
+ ///
+ /// 是否公共标识
+ ///
+ public bool IsPublic { get; set; } = false;
+
+ ///
+ /// Desc:详细信息
+ ///
+ public string ShortDetail { get; set; }
+
+ ///
+ /// Desc:联系人
+ ///
+ public string ATTN { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:公司代码
+ ///
+ public string CompanyNo { get; set; }
+
+ ///
+ /// 状态 0 启用 1 禁用
+ ///
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+}
+
+///
+/// 验证
+///
+public class ClientShipperReqValidator : AbstractValidator
+{
+ ///
+ /// 构造函数
+ ///
+ public ClientShipperReqValidator()
+ {
+ this.RuleFor(o => o.CodeName)
+ .NotEmpty().WithName("代码");
+ this.RuleFor(o => o.ShortName)
+ .NotEmpty().WithName("简称");
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperRes.cs
new file mode 100644
index 00000000..250360e3
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientShipperRes.cs
@@ -0,0 +1,79 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户收发货人返回实体
+///
+public class ClientShipperRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:收发货人代码
+ ///
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:收发货人简称
+ ///
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:类型 下拉选择(Shipper-1,Consinee-2,Notifypaty-3,Agent-4)
+ ///
+ public int ShipperType { get; set; }
+
+ ///
+ /// 是否公共标识
+ ///
+ public bool IsPublic { get; set; } = false;
+
+ ///
+ /// Desc:详细信息
+ ///
+ public string ShortDetail { get; set; }
+
+ ///
+ /// Desc:联系人
+ ///
+ public string ATTN { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ public string Email { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:公司代码
+ ///
+ public string CompanyNo { 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/Info/Dtos/ClientTagReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientTagReq.cs
new file mode 100644
index 00000000..ee6ab93d
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientTagReq.cs
@@ -0,0 +1,140 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户标识信息请求实体
+///
+public class ClientTagReq
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long? ClientId { get; set; }
+
+ ///
+ /// Desc:是否特批放单客户
+ ///
+ public bool? IsSpecialApproval { get; set; }= false;
+ ///
+ /// Desc:是否船公司
+ ///
+ public bool? IsCarrier { get; set; } = false;
+
+ ///
+ /// Desc:是否订舱公司
+ ///
+ public bool? IsBooking { get; set; } = false;
+
+ ///
+ /// Desc:是否场站
+ ///
+ public bool? IsYard { get; set; } = false;
+
+ ///
+ /// Desc:是否车队
+ ///
+ public bool? IsTruck { get; set; } = false;
+
+ ///
+ /// Desc:是否委托单位
+ ///
+ public bool? IsController { get; set; } = false;
+
+ ///
+ /// Desc:是否报关行
+ ///
+ public bool? IsCustom { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国外)
+ ///
+ public bool? IsAgent { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国内)
+ ///
+ public bool? IsAgentCn { get; set; } = false;
+
+ ///
+ /// Desc:是否快递公司
+ ///
+ public bool? IsExpress { get; set; } = false;
+
+ ///
+ /// Desc:是否航空公司
+ ///
+ public bool? IsAirLines { get; set; } = false;
+
+ ///
+ /// Desc:是否发货人
+ ///
+ public bool? IsShipper { get; set; } = false;
+
+ ///
+ /// Desc:是否收货人
+ ///
+ public bool? IsConsignee { get; set; } = false;
+
+ ///
+ /// Desc:是否通知人
+ ///
+ public bool? IsNotifyParty { get; set; } = false;
+
+ ///
+ /// Desc:是否仓库
+ ///
+ public bool? IsWareHouse { get; set; } = false;
+
+
+ ///
+ /// Desc:是否码头
+ ///
+ public bool? IsWharf { get; set; } = false;
+
+ ///
+ /// Desc:是否保险公司
+ ///
+ public bool? IsInsurer { get; set; } = false;
+
+ ///
+ /// Desc:是否租箱公司
+ ///
+ public bool? IsLeasing { get; set; } = false;
+
+ ///
+ /// Desc:是否贸易代理
+ ///
+ public bool? IsTradingAgency { get; set; } = false;
+
+ ///
+ /// Desc:是否其他
+ ///
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:其他类型
+ ///
+ public string Others { get; set; }
+
+
+ ///
+ /// Desc:是否船代
+ ///
+ public bool? IsShipAgency { get; set; }
+
+ ///
+ /// Desc:是否经营单位
+ ///
+ public bool? IsEnterprise { get; set; } = false;
+
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientTagRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientTagRes.cs
new file mode 100644
index 00000000..01d4c189
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientTagRes.cs
@@ -0,0 +1,145 @@
+using DS.Module.Core;
+
+namespace DS.WMS.Core.Info.Dtos;
+
+///
+/// 客户标识信息返回实体
+///
+public class ClientTagRes
+{
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 客户Id
+ ///
+ public long ClientId { get; set; }
+
+ ///
+ /// Desc:是否特批放单客户
+ ///
+ public bool? IsSpecialApproval { get; set; }= false;
+ ///
+ /// Desc:是否船公司
+ ///
+ public bool? IsCarrier { get; set; } = false;
+
+ ///
+ /// Desc:是否订舱公司
+ ///
+ public bool? IsBooking { get; set; } = false;
+
+ ///
+ /// Desc:是否场站
+ ///
+ public bool? IsYard { get; set; } = false;
+
+ ///
+ /// Desc:是否车队
+ ///
+ public bool? IsTruck { get; set; } = false;
+
+ ///
+ /// Desc:是否委托单位
+ ///
+ public bool? IsController { get; set; } = false;
+
+ ///
+ /// Desc:是否报关行
+ ///
+ public bool? IsCustom { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国外)
+ ///
+ public bool? IsAgent { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国内)
+ ///
+ public bool? IsAgentCn { get; set; } = false;
+
+ ///
+ /// Desc:是否快递公司
+ ///
+ public bool? IsExpress { get; set; } = false;
+
+ ///
+ /// Desc:是否航空公司
+ ///
+ public bool? IsAirLines { get; set; } = false;
+
+ ///
+ /// Desc:是否发货人
+ ///
+ public bool? IsShipper { get; set; } = false;
+
+ ///
+ /// Desc:是否收货人
+ ///
+ public bool? IsConsignee { get; set; } = false;
+
+ ///
+ /// Desc:是否通知人
+ ///
+ public bool? IsNotifyParty { get; set; } = false;
+
+ ///
+ /// Desc:是否仓库
+ ///
+ public bool? IsWareHouse { get; set; } = false;
+
+
+ ///
+ /// Desc:是否码头
+ ///
+ public bool? IsWharf { get; set; } = false;
+
+ ///
+ /// Desc:是否保险公司
+ ///
+ public bool? IsInsurer { get; set; } = false;
+
+ ///
+ /// Desc:是否租箱公司
+ ///
+ public bool? IsLeasing { get; set; } = false;
+
+ ///
+ /// Desc:是否贸易代理
+ ///
+ public bool? IsTradingAgency { get; set; } = false;
+
+ ///
+ /// Desc:是否其他
+ ///
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:其他类型
+ ///
+ public string Others { get; set; }
+
+
+ ///
+ /// Desc:是否船代
+ ///
+ public bool? IsShipAgency { get; set; }
+
+ ///
+ /// Desc:是否经营单位
+ ///
+ public bool? IsEnterprise { get; set; } = false;
+
+ ///
+ /// 备注
+ ///
+ 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/Info/Entity/InfoClient.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs
new file mode 100644
index 00000000..0fbb00c6
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs
@@ -0,0 +1,460 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位基本信息
+///
+[SqlSugar.SugarTable("info_client")]
+public class InfoClient : BaseOrgModel
+{
+ ///
+ /// Desc:客户代码
+ ///
+ [SugarColumn(ColumnDescription = "客户代码", IsNullable = false, Length = 20)]
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:客户简称
+ ///
+ [SugarColumn(ColumnDescription = "客户简称", IsNullable = false, Length = 20)]
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:客户中文名称或描述信息
+ ///
+ [SugarColumn(ColumnDescription = "客户中文名称或描述信息", Length = 50)]
+ public string Description { get; set; }
+
+ ///
+ /// Desc:客户英文简称
+ ///
+ [SugarColumn(ColumnDescription = "客户英文简称", Length = 50)]
+ public string Name { get; set; }
+
+ ///
+ /// Desc:客户英文全称
+ ///
+ [SugarColumn(ColumnDescription = "客户英文全称", Length = 50)]
+ public string EnFullName { get; set; }
+
+ ///
+ /// Desc:客户状态
+ ///
+ [SugarColumn(ColumnDescription = "客户状态", DefaultValue = "0")]
+ public int? Status { get; set; } = 0;
+
+ ///
+ /// Desc:通讯地址
+ ///
+ [SugarColumn(ColumnDescription = "通讯地址", Length = 1000)]
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ [SugarColumn(ColumnDescription = "邮箱", Length = 50)]
+ public string Email { get; set; }
+
+ ///
+ /// Desc:网页
+ ///
+ [SugarColumn(ColumnDescription = "网页", Length = 50)]
+ public string Web { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ [SugarColumn(ColumnDescription = "电话", Length = 50)]
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ [SugarColumn(ColumnDescription = "传真", Length = 50)]
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:负责人
+ ///
+ [SugarColumn(ColumnDescription = "负责人", Length = 20)]
+ public string Chief { get; set; }
+
+ ///
+ /// Desc:所属揽货人
+ ///
+ [SugarColumn(ColumnDescription = "所属揽货人")]
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:所属操作人
+ ///
+ [SugarColumn(ColumnDescription = "所属操作人")]
+ public long Op { get; set; }
+
+ ///
+ /// Desc:所属单证
+ ///
+ [SugarColumn(ColumnDescription = "所属单证")]
+ public long Doc { get; set; }
+
+
+ ///
+ /// Desc:国家
+ ///
+ [SugarColumn(ColumnDescription = "国家", Length = 50)]
+ public string Country { get; set; }
+
+ ///
+ /// Desc:省或州
+ ///
+ [SugarColumn(ColumnDescription = "省或州", Length = 50)]
+ public string Province { get; set; }
+
+ ///
+ /// Desc:城市
+ ///
+ [SugarColumn(ColumnDescription = "城市", Length = 50)]
+ public string City { get; set; }
+
+
+ ///
+ /// Desc:提单信息
+ ///
+ [SugarColumn(ColumnDescription = "提单信息", Length = 600)]
+ public string BLContent { get; set; }
+
+ ///
+ /// Desc:是否停用该客户信息
+ ///
+ [SugarColumn(ColumnDescription = "是否停用该客户信息")]
+ public bool? IsStop { get; set; } = false;
+
+ ///
+ /// Desc:发票抬头1
+ ///
+ [SugarColumn(ColumnDescription = "发票抬头1", Length = 60)]
+ public string BillRises1 { get; set; }
+
+ ///
+ /// Desc:发票抬头2
+ ///
+ [SugarColumn(ColumnDescription = "发票抬头2", Length = 60)]
+ public string BillRises2 { get; set; }
+
+ ///
+ /// Desc:美元支票抬头
+ ///
+ [SugarColumn(ColumnDescription = "美元支票抬头", Length = 60)]
+ public string USDBillRises { get; set; }
+
+ ///
+ /// Desc:人民币支票抬头
+ ///
+ [SugarColumn(ColumnDescription = "人民币支票抬头", Length = 60)]
+ public string RMBBillRises { get; set; }
+
+ ///
+ /// Desc:人民币开户银行
+ ///
+ [SugarColumn(ColumnDescription = "人民币开户银行", Length = 60)]
+ public string RMBBank { get; set; }
+
+ ///
+ /// Desc:人民币账号
+ ///
+ [SugarColumn(ColumnDescription = "人民币账号", Length = 30)]
+ public string RMBAccount { get; set; }
+
+ ///
+ /// Desc:人民币联机行号
+ ///
+ [SugarColumn(ColumnDescription = "人民币联机行号", Length = 20)]
+ public string RMBOnlineNO { get; set; }
+
+ ///
+ /// Desc:美元开户银行
+ ///
+ [SugarColumn(ColumnDescription = "美元开户银行", Length = 60)]
+ public string USDBank { get; set; }
+
+ ///
+ /// Desc:美元账号
+ ///
+ [SugarColumn(ColumnDescription = "美元账号", Length = 30)]
+ public string USDAccount { get; set; }
+
+ ///
+ /// Desc:美元联机行号
+ ///
+ [SugarColumn(ColumnDescription = "美元联机行号", Length = 20)]
+ public string USDOnlineNO { get; set; }
+
+ ///
+ /// Desc:自定义属性1
+ ///
+ [SugarColumn(ColumnDescription = "自定义属性1", Length = 12)]
+ public string CustomAttributes1 { get; set; }
+
+ ///
+ /// Desc:自定义属性2
+ ///
+ [SugarColumn(ColumnDescription = "自定义属性2", Length = 12)]
+ public string CustomAttributes2 { get; set; }
+
+ ///
+ /// Desc:美元信用最大金额
+ ///
+ [SugarColumn(ColumnDescription = "美元信用最大金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? USDMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:人民币信用最大金额
+ ///
+ [SugarColumn(ColumnDescription = "人民币信用最大金额", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? RMBMaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:信用最大金额(RMB+USD)
+ ///
+ [SugarColumn(ColumnDescription = "信用最大金额(RMB+USD)", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? MaxAmountCredit { get; set; } = 0;
+
+ ///
+ /// Desc:结算方式编码
+ ///
+ [SugarColumn(ColumnDescription = "结算方式编码", Length = 30)]
+ public string StlName { get; set; }
+
+
+ ///
+ /// Desc:美金汇率
+ ///
+ [SugarColumn(ColumnDescription = "美金汇率", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? USDExchangeRate { get; set; }
+
+ ///
+ /// Desc:月结算时间
+ ///
+ [SugarColumn(ColumnDescription = "月结算时间", Length = 2)]
+ public string StlDate { get; set; }
+
+ ///
+ /// Desc:上半月结算时间
+ ///
+ [SugarColumn(ColumnDescription = "上半月结算时间", Length = 2)]
+ public string StlFirstHalfDate { get; set; }
+
+ ///
+ /// Desc:下半月结算时间
+ ///
+ [SugarColumn(ColumnDescription = "下半月结算时间", Length = 2)]
+ public string StlMiddleDate { get; set; }
+
+ ///
+ /// Desc:票结结算时间
+ ///
+ [SugarColumn(ColumnDescription = "发票结算时间", Length = 2)]
+ public string InvoiceStlDate { get; set; }
+
+ ///
+ /// Desc:等级
+ ///
+ [SugarColumn(ColumnDescription = "等级", Length = 1)]
+ public string Level { get; set; }
+
+
+
+ ///
+ /// Desc:QQ
+ ///
+ [SugarColumn(ColumnDescription = "QQ", Length = 50)]
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:MSN
+ ///
+ [SugarColumn(ColumnDescription = "MSN", Length = 50)]
+ public string MSN { get; set; }
+
+
+ ///
+ /// Desc:财务应收账款代码
+ ///
+ [SugarColumn(ColumnDescription = "财务应收账款代码", Length = 50)]
+ public string FARCode { get; set; }
+
+ ///
+ /// Desc:财务应付账款代码
+ ///
+ [SugarColumn(ColumnDescription = "财务应付账款代码", Length = 50)]
+ public string FAPCode { get; set; }
+
+ ///
+ /// Desc:冷藏费率
+ ///
+ [SugarColumn(ColumnDescription = "冷藏费率", Length = 50, DefaultValue = "0")]
+ public string UnitPrice { get; set; }
+
+ ///
+ /// Desc:企业备案号
+ ///
+ [SugarColumn(ColumnDescription = "企业备案号", Length = 50)]
+ public string RegistrationNo { get; set; }
+
+ ///
+ /// Desc:财务序号
+ ///
+ [SugarColumn(ColumnDescription = "财务序号", Length = 50)]
+ public string OrderNo { get; set; }
+
+
+
+ ///
+ /// Desc:纳税人识别号
+ ///
+ [SugarColumn(ColumnDescription = "纳税人识别号", Length = 30)]
+ public string TaxNo { get; set; }
+
+ ///
+ /// Desc:EDI代码
+ ///
+ [SugarColumn(ColumnDescription = "EDI代码", Length = 20)]
+ public string EDICode { get; set; }
+
+ ///
+ /// Desc:EDI代码2
+ ///
+ [SugarColumn(ColumnDescription = "EDI代码2", Length = 20)]
+ public string EDICode2 { get; set; }
+
+ ///
+ /// Desc:EDI代码3
+ ///
+ [SugarColumn(ColumnDescription = "EDI代码3", Length = 20)]
+ public string EDICode3 { get; set; }
+
+ ///
+ /// Desc:组织机构代码
+ ///
+ [SugarColumn(ColumnDescription = "组织机构代码", Length = 50)]
+ public string OrganizationCode { get; set; }
+
+ ///
+ /// Desc: 所属集团
+ ///
+ [SugarColumn(ColumnDescription = "所属集团", Length = 50)]
+ public string PcorpName { get; set; }
+
+ ///
+ /// Desc:企业商检备案号
+ ///
+ [SugarColumn(ColumnDescription = "商检备案号", Length = 50)]
+ public string InspectionNo { get; set; }
+
+ ///
+ /// 审批状态
+ ///
+ [SugarColumn(ColumnDescription = "审批状态", DefaultValue = "0")]
+ public AuditStatusEnum? AuditStatus { get; set; } = AuditStatusEnum.Approve;
+
+ ///
+ /// 审批时间
+ ///
+ [SugarColumn(ColumnDescription = "审批时间")]
+ public DateTime AuditTime { get; set; }
+ ///
+ /// 审批意见
+ ///
+ [SugarColumn(ColumnDescription = "审批意见", Length = 100)]
+ public string AuditNote { get; set; }
+
+
+
+ ///
+ /// Desc:默认付费方式
+ ///
+ [SugarColumn(ColumnDescription = "默认付费方式", Length = 20)]
+ public string FeeFRT { get; set; }
+
+ ///
+ /// Desc:收单据模式
+ ///
+ [SugarColumn(ColumnDescription = "收单据模式")]
+ public int? RCVMode { get; set; }
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ [SugarColumn(ColumnDescription = "业务来源Id")]
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:发票银行
+ ///
+ [SugarColumn(ColumnDescription = "发票银行", Length = 150)]
+ public string InvoiceBank { get; set; }
+
+ ///
+ /// Desc:发票地址电话
+ ///
+ [SugarColumn(ColumnDescription = "发票地址电话", Length = 200)]
+ public string InvoiceAddrTel { get; set; }
+
+ ///
+ /// Desc:所属分部
+ ///
+ [SugarColumn(ColumnDescription = "所属分部")]
+ public long? SaleOrgId { get; set; }
+
+ ///
+ /// Desc:提成比例
+ ///
+ [SugarColumn(ColumnDescription = "提成比例", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? CommissionRate { get; set; } = 0;
+
+ ///
+ /// Desc:分成比例
+ ///
+ [SugarColumn(ColumnDescription = "分成比例", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? ProportionRate { get; set; } = 0;
+
+ ///
+ /// Desc:提成参与人
+ ///
+ [SugarColumn(ColumnDescription = "提成参与人")]
+ public long CommissionUserId { get; set; }
+
+ ///
+ /// Desc:运输公司列表
+ ///
+ [SugarColumn(ColumnDescription = "运输公司列表", Length = 200)]
+ public string CarrierList { get; set; }
+
+ ///
+ /// Desc:集装箱尺寸
+ ///
+ [SugarColumn(ColumnDescription = "集装箱尺寸", Length = 50)]
+ public string CtnType { get; set; }
+
+
+ ///
+ /// Desc: 客服
+ ///
+ [SugarColumn(ColumnDescription = "客服")]
+ public long CustomerService { get; set; } = 0;
+
+ ///
+ /// Desc:英文简称
+ ///
+ [SugarColumn(ColumnDescription = "英文简称", Length = 50)]
+ public string EnShortName { get; set; }
+
+ ///
+ /// Desc:仓储费开始日期模式
+ ///
+ [SugarColumn(ColumnDescription = "仓储费开始日期模式", Length = 50)]
+ public string WMSFeeRateType { get; set; }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientAccountDate.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientAccountDate.cs
new file mode 100644
index 00000000..73d7436f
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientAccountDate.cs
@@ -0,0 +1,97 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位-账期信息
+///
+[SqlSugar.SugarTable("info_client_account_date")]
+public class InfoClientAccountDate : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+
+
+ ///
+ /// Desc:业务来源Id
+ ///
+ [SugarColumn(ColumnDescription = "业务来源Id")]
+ public long SourceId { get; set; }
+
+ ///
+ /// Desc:合同生效日期
+ ///
+ [SugarColumn(ColumnDescription = "合同生效日期")]
+ public DateTime? BeginDate { get; set; }
+
+ ///
+ /// Desc:合同结束日期
+ ///
+ [SugarColumn(ColumnDescription = "合同失效日期")]
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// Desc:业务类型
+ ///
+ [SugarColumn(ColumnDescription = "业务类型",Length = 20)]
+ public string BusinessType { get; set; }
+
+
+ ///
+ /// Desc:揽货人Id
+ ///
+ [SugarColumn(ColumnDescription = "揽货人Id")]
+ public long SaleId { get; set; }
+
+ ///
+ /// Desc:账期类型
+ ///
+ [SugarColumn(ColumnDescription = "账期类型",Length = 20)]
+ public string AccountType { get; set; }
+
+ ///
+ /// Desc:账期起算日
+ ///
+ [SugarColumn(ColumnDescription = "账期起算日",Length = 20)]
+ public string AccountStartDate { get; set; }
+
+ ///
+ /// Desc:间隔月份
+ ///
+ [SugarColumn(ColumnDescription = "间隔月份")]
+ public byte? AccountMonth { get; set; }
+
+ ///
+ /// Desc:账期日期
+ ///
+ [SugarColumn(ColumnDescription = "账期日期")]
+ public byte? AccountDays { get; set; }
+
+ ///
+ /// Desc:信用额度
+ ///
+ [SugarColumn(ColumnDescription = "信用额度", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? AllowAmount { get; set; }
+
+
+ ///
+ /// Desc:合同Id
+ ///
+ [SugarColumn(ColumnDescription = "合同Id")]
+ public long ContractId { get; set; }
+
+ ///
+ /// Desc:运杂费比例
+ ///
+ [SugarColumn(ColumnDescription = "运杂费比例", Length = 18, DecimalDigits = 2, DefaultValue = "0")]
+ public decimal? CommissionRate { get; set; } = 0;
+ ///
+ /// 状态 0启用 1禁用
+ ///
+ [SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientBank.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientBank.cs
new file mode 100644
index 00000000..bfbfc63b
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientBank.cs
@@ -0,0 +1,103 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位-银行信息
+///
+[SqlSugar.SugarTable("info_client_bank")]
+public class InfoClientBank : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+
+
+ ///
+ /// Desc:代码
+ ///
+ [SugarColumn(ColumnDescription = "代码", Length = 20)]
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:币别
+ ///
+ [SugarColumn(ColumnDescription = "币别", Length = 20)]
+ public string Currency { get; set; }
+
+ ///
+ /// Desc:银行名称
+ ///
+ [SugarColumn(ColumnDescription = "银行名称", Length = 100)]
+ public string BankName { get; set; }
+
+ ///
+ /// Desc:银行账户
+ ///
+ [SugarColumn(ColumnDescription = "银行账户", Length = 40)]
+ public string Account { get; set; }
+
+ ///
+ /// Desc:银行地址
+ ///
+ [SugarColumn(ColumnDescription = "银行地址", Length = 50)]
+ public string BankAddress { get; set; }
+
+ ///
+ /// Desc:财务软件代码
+ ///
+ [SugarColumn(ColumnDescription = "财务软件代码", Length = 50)]
+ public string FinanceSoftCode { get; set; }
+
+ ///
+ /// Desc:科目代码
+ ///
+ [SugarColumn(ColumnDescription = "科目代码", Length = 20)]
+ public string SubjectCode { get; set; }
+
+ ///
+ /// Desc:户头名称
+ ///
+ [SugarColumn(ColumnDescription = "户头名称", Length = 100)]
+ public string AccountName { get; set; }
+
+ ///
+ /// Desc:代理银行名称
+ ///
+ [SugarColumn(ColumnDescription = "代理银行名称", Length = 20)]
+ public string BankAgentName { get; set; }
+
+ ///
+ /// Desc:银行账号
+ ///
+ [SugarColumn(ColumnDescription = "银行账号", Length = 20)]
+ public string BankAccountNo { get; set; }
+
+ ///
+ /// Desc: 银行SWIFT
+ ///
+ [SugarColumn(ColumnDescription = "银行SWIFT", Length = 20)]
+ public string SWIFT { get; set; }
+
+
+ ///
+ /// Desc: 国家Id
+ ///
+ [SugarColumn(ColumnDescription = "国家Id")]
+ public long? CountryId { get; set; }
+
+ ///
+ /// Desc:是否开票默认账户
+ ///
+ [SugarColumn(ColumnDescription = "是否开票默认账户")]
+ public bool? IsInvoiceDefault { get; set; } = false;
+
+ ///
+ /// 状态 0启用 1禁用
+ ///
+ [SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContact.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContact.cs
new file mode 100644
index 00000000..f4003cfd
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContact.cs
@@ -0,0 +1,139 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位-联系人信息
+///
+[SqlSugar.SugarTable("info_client_contact")]
+public class InfoClientContact : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+
+
+ ///
+ /// Desc:联系人代码
+ ///
+ [SugarColumn(ColumnDescription = "联系人代码", Length = 6)]
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:联系人简称
+ ///
+ [SugarColumn(ColumnDescription = "联系人简称", Length = 20)]
+ public string ShortName { get; set; }
+
+
+ ///
+ /// Desc:职务
+ ///
+ [SugarColumn(ColumnDescription = "职务", Length = 50)]
+ public string Job { get; set; }
+
+ ///
+ /// Desc:通讯地址
+ ///
+ [SugarColumn(ColumnDescription = "通讯地址", Length = 100)]
+ public string Address { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ [SugarColumn(ColumnDescription = "邮箱", Length = 50)]
+ public string Email { get; set; }
+
+ ///
+ /// Desc:手机
+ ///
+ [SugarColumn(ColumnDescription = "手机", Length = 50)]
+ public string Mobile { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ [SugarColumn(ColumnDescription = "电话", Length = 50)]
+ public string Tel { get; set; }
+
+ ///
+ /// Desc:传真
+ ///
+ [SugarColumn(ColumnDescription = "传真", Length = 50)]
+ public string Fax { get; set; }
+
+ ///
+ /// Desc:QQ
+ ///
+ [SugarColumn(ColumnDescription = "QQ", Length = 50)]
+ public string QQ { get; set; }
+
+ ///
+ /// Desc:是否为操作
+ ///
+ [SugarColumn(ColumnDescription = "是否为操作")]
+ public bool? IsOperator { get; set; } = false;
+
+ ///
+ /// Desc:是否为财务
+ ///
+ [SugarColumn(ColumnDescription = "是否为财务")]
+ public bool? IsFinancialStaff { get; set; } = false;
+
+ ///
+ /// Desc:是否为销售
+ ///
+ [SugarColumn(ColumnDescription = "是否为销售")]
+ public bool? IsSaleMan { get; set; } = false;
+
+ ///
+ /// Desc:是否为其他
+ ///
+ [SugarColumn(ColumnDescription = "是否为其他")]
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:是否保险联系人
+ ///
+ [SugarColumn(ColumnDescription = "是否保险联系人")]
+ public bool? IsInsurance { get; set; } = false;
+
+ ///
+ /// Desc:是否对账联系人
+ ///
+ [SugarColumn(ColumnDescription = "是否对账联系人")]
+ public bool? IsCheckAccount { get; set; } = false;
+
+ ///
+ /// 提醒日期1
+ ///
+ [SugarColumn(ColumnDescription = "提醒日期1")]
+ public DateTime Anniversary1 { get; set; }
+
+ ///
+ /// 提醒日期2
+ ///
+ [SugarColumn(ColumnDescription = "提醒日期2")]
+ public DateTime Anniversary2 { get; set; }
+
+ ///
+ /// 提醒备注1
+ ///
+ [SugarColumn(ColumnDescription = "提醒备注1", Length = 200)]
+ public string AnniversaryNote1 { get; set; }
+
+ ///
+ /// 提醒备注2
+ ///
+ [SugarColumn(ColumnDescription = "提醒备注2", Length = 200)]
+ public string AnniversaryNote2 { get; set; }
+
+ ///
+ /// 状态 0启用 1禁用
+ ///
+ [SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContract.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContract.cs
new file mode 100644
index 00000000..38979d4b
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientContract.cs
@@ -0,0 +1,59 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位-合同信息
+///
+[SqlSugar.SugarTable("info_client_contract")]
+public class InfoClientContract : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+ ///
+ /// Desc:合同号
+ ///
+ [SugarColumn(ColumnDescription = "合同号", Length = 100)]
+ public string ContractNo { get; set; }
+
+ ///
+ /// Desc:签订日期
+ ///
+ [SugarColumn(ColumnDescription = "签订日期")]
+ public DateTime SignDate { get; set; }
+ ///
+ /// Desc:起始日期
+ ///
+ [SugarColumn(ColumnDescription = "起始日期")]
+ public DateTime StartDate { get; set; }
+ ///
+ /// Desc:截止日期
+ ///
+ [SugarColumn(ColumnDescription = "截止日期")]
+ public DateTime EndDate { get; set; }
+ ///
+ /// Desc:负责人
+ ///
+ [SugarColumn(ColumnDescription = "负责人", Length = 20)]
+ public string Chief { get; set; }
+ ///
+ /// Desc:签订部门Id
+ ///
+ [SugarColumn(ColumnDescription = "签订部门Id")]
+ public long DeptId { get; set; }
+ ///
+ /// Desc:合同名称
+ ///
+ [SugarColumn(ColumnDescription = "合同名称", Length = 100)]
+ public string ContractName { get; set; }
+
+ ///
+ /// 状态 0启用 1禁用
+ ///
+ [SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientShipper.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientShipper.cs
new file mode 100644
index 00000000..9474bafc
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientShipper.cs
@@ -0,0 +1,83 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位-收发货人信息
+///
+[SqlSugar.SugarTable("info_client_contact")]
+public class InfoClientShipper : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+
+
+ ///
+ /// Desc:收发货人代码
+ ///
+ [SugarColumn(ColumnDescription = "收发货人代码", Length = 20)]
+ public string CodeName { get; set; }
+
+ ///
+ /// Desc:收发货人简称
+ ///
+ [SugarColumn(ColumnDescription = "收发货人简称", Length = 20)]
+ public string ShortName { get; set; }
+
+ ///
+ /// Desc:类型 下拉选择(Shipper-1,Consinee-2,Notifypaty-3,Agent-4)
+ ///
+ [SugarColumn(ColumnDescription = "类型 下拉选择(Shipper-1,Consinee-2,Notifypaty-3,Agent-4)")]
+ public int ShipperType { get; set; }
+
+ ///
+ /// 是否公共标识
+ ///
+ [SugarColumn(ColumnDescription = "是否公共标识", DefaultValue = "0")]
+ public bool IsPublic { get; set; } = false;
+
+ ///
+ /// Desc:详细信息
+ ///
+ [SugarColumn(ColumnDescription = "详细信息", Length = 600)]
+ public string ShortDetail { get; set; }
+
+ ///
+ /// Desc:联系人
+ ///
+ [SugarColumn(ColumnDescription = "联系人", Length = 25)]
+ public string ATTN { get; set; }
+
+ ///
+ /// Desc:邮箱
+ ///
+ [SugarColumn(ColumnDescription = "邮箱", Length = 50)]
+ public string Email { get; set; }
+
+ ///
+ /// Desc:电话
+ ///
+ [SugarColumn(ColumnDescription = "电话", Length = 50)]
+ public string Tel { get; set; }
+
+ // ///
+ // /// 国家Id
+ // ///
+ // [SugarColumn(ColumnDescription = "国家Id")]
+ // public long CountryId { get; set; } = 0;
+ ///
+ /// Desc:公司代码
+ ///
+ [SugarColumn(ColumnDescription = "公司代码", Length = 50)]
+ public string CompanyNo { get; set; }
+
+ ///
+ /// 状态 0启用 1禁用
+ ///
+ [SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
+ public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientTag.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientTag.cs
new file mode 100644
index 00000000..0aa68f13
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClientTag.cs
@@ -0,0 +1,153 @@
+using DS.Module.Core.Data;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Entity;
+
+///
+/// 往来单位标识
+///
+[SqlSugar.SugarTable("info_client_tag")]
+public class InfoClientTag : BaseOrgModel
+{
+ ///
+ /// 往来单位id
+ ///
+ public long ClientId { get; set; }
+ ///
+ /// Desc:是否特批放单客户
+ ///
+ public bool? IsSpecialApproval { get; set; }
+ ///
+ /// Desc:是否船公司
+ ///
+ [SugarColumn(ColumnDescription = "是否船公司")]
+ public bool? IsCarrier { get; set; } = false;
+
+ ///
+ /// Desc:是否订舱公司
+ ///
+ [SugarColumn(ColumnDescription = "是否订舱公司")]
+ public bool? IsBooking { get; set; } = false;
+
+ ///
+ /// Desc:是否场站
+ ///
+ [SugarColumn(ColumnDescription = "是否场站")]
+ public bool? IsYard { get; set; } = false;
+
+ ///
+ /// Desc:是否车队
+ ///
+ [SugarColumn(ColumnDescription = "是否车队")]
+ public bool? IsTruck { get; set; } = false;
+
+ ///
+ /// Desc:是否委托单位
+ ///
+ [SugarColumn(ColumnDescription = "是否委托单位")]
+ public bool? IsController { get; set; } = false;
+
+ ///
+ /// Desc:是否报关行
+ ///
+ [SugarColumn(ColumnDescription = "是否报关行")]
+ public bool? IsCustom { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国外)
+ ///
+ [SugarColumn(ColumnDescription = "是否代理(国外)")]
+ public bool? IsAgent { get; set; } = false;
+
+ ///
+ /// Desc:是否代理(国内)
+ ///
+ [SugarColumn(ColumnDescription = "是否代理(国内)")]
+ public bool? IsAgentCn { get; set; } = false;
+
+ ///
+ /// Desc:是否快递公司
+ ///
+ [SugarColumn(ColumnDescription = "是否快递公司")]
+ public bool? IsExpress { get; set; } = false;
+
+ ///
+ /// Desc:是否航空公司
+ ///
+ [SugarColumn(ColumnDescription = "是否航空公司")]
+ public bool? IsAirLines { get; set; } = false;
+
+ ///
+ /// Desc:是否发货人
+ ///
+ [SugarColumn(ColumnDescription = "是否发货人")]
+ public bool? IsShipper { get; set; } = false;
+
+ ///
+ /// Desc:是否收货人
+ ///
+ [SugarColumn(ColumnDescription = "是否收货人")]
+ public bool? IsConsignee { get; set; } = false;
+
+ ///
+ /// Desc:是否通知人
+ ///
+ [SugarColumn(ColumnDescription = "是否通知人")]
+ public bool? IsNotifyParty { get; set; } = false;
+
+ ///
+ /// Desc:是否仓库
+ ///
+ [SugarColumn(ColumnDescription = "是否仓库")]
+ public bool? IsWareHouse { get; set; }
+
+
+ ///
+ /// Desc:是否码头
+ ///
+ [SugarColumn(ColumnDescription = "是否码头")]
+ public bool? IsWharf { get; set; } = false;
+
+ ///
+ /// Desc:是否保险公司
+ ///
+ [SugarColumn(ColumnDescription = "是否保险公司")]
+ public bool? IsInsurer { get; set; } = false;
+
+ ///
+ /// Desc:是否租箱公司
+ ///
+ [SugarColumn(ColumnDescription = "是否租箱公司")]
+ public bool? IsLeasing { get; set; } = false;
+
+ ///
+ /// Desc:是否贸易代理
+ ///
+ [SugarColumn(ColumnDescription = "是否贸易代理")]
+ public bool? IsTradingAgency { get; set; } = false;
+
+ ///
+ /// Desc:是否其他
+ ///
+ [SugarColumn(ColumnDescription = "是否其他")]
+ public bool? IsOther { get; set; } = false;
+
+ ///
+ /// Desc:其他类型
+ ///
+ [SugarColumn(ColumnDescription = "其他类型", Length = 100)]
+ public string Others { get; set; }
+
+
+ ///
+ /// Desc:是否船代
+ ///
+ [SugarColumn(ColumnDescription = "是否船代", DefaultValue = "0")]
+ public bool? IsShipAgency { get; set; }
+
+ ///
+ /// Desc:是否经营单位
+ ///
+ [SugarColumn(ColumnDescription = "是否经营单位", DefaultValue = "0")]
+ public bool? IsEnterprise { get; set; } = false;
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientAccountDateService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientAccountDateService.cs
new file mode 100644
index 00000000..2dd5023b
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientAccountDateService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientAccountDateService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientAccountDate(ClientAccountDateReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientAccountDateInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientBankService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientBankService.cs
new file mode 100644
index 00000000..59193818
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientBankService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientBankService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientBank(ClientBankReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientBankInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContactService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContactService.cs
new file mode 100644
index 00000000..1d2a6629
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContactService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientContactService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientContact(ClientContactReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientContactInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContractService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContractService.cs
new file mode 100644
index 00000000..c2bf6d34
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientContractService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientContractService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientContract(ClientContractReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientContractInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientInfoService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientInfoService.cs
new file mode 100644
index 00000000..b19143ea
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientInfoService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientInfoService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientInfo(ClientInfoReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Interface/IClientShipperService.cs b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientShipperService.cs
new file mode 100644
index 00000000..964d421e
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Interface/IClientShipperService.cs
@@ -0,0 +1,30 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.System.Dtos;
+
+namespace DS.WMS.Core.Info.Interface;
+
+public interface IClientShipperService
+{
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult EditClientShipper(ClientShipperReq model);
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ DataResult GetClientShipperInfo(string id);
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Method/ClientAccountDateService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientAccountDateService.cs
new file mode 100644
index 00000000..6c2c08a5
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientAccountDateService.cs
@@ -0,0 +1,100 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientAccountDateService : IClientAccountDateService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+
+ ///
+ ///
+ ///
+ ///
+ public ClientAccountDateService(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 EditClientAccountDate(ClientAccountDateReq req)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ if (req.Id == 0)
+ {
+ if (tenantDb.Queryable().Where(x => x.AccountType == req.AccountType &&
+ x.AccountType == req.AccountType &&
+ x.SaleId == req.SaleId &&
+ x.BeginDate == req.BeginDate &&
+ x.EndDate == req.EndDate).Any())
+ {
+ return DataResult.Failed("客户账期信息已存在!", MultiLanguageConst.ClientAccountDateExist);
+ }
+
+ 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 GetClientAccountDateInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.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.Core/Info/Method/ClientBankService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs
new file mode 100644
index 00000000..002a8009
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs
@@ -0,0 +1,94 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientBankService : IClientBankService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+ ///
+ ///
+ ///
+ ///
+ public ClientBankService(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 EditClientBank(ClientBankReq 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.ClientBankExist);
+ }
+
+ 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 GetClientBankInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.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.Core/Info/Method/ClientContactService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientContactService.cs
new file mode 100644
index 00000000..c3d73d74
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientContactService.cs
@@ -0,0 +1,94 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientContactService : IClientContactService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+ ///
+ ///
+ ///
+ ///
+ public ClientContactService(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 EditClientContact(ClientContactReq 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.ClientContactExist);
+ }
+
+ 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 GetClientContactInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.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.Core/Info/Method/ClientContractService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientContractService.cs
new file mode 100644
index 00000000..6f5b0b62
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientContractService.cs
@@ -0,0 +1,94 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientContractService : IClientContractService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+ ///
+ ///
+ ///
+ ///
+ public ClientContractService(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 EditClientContract(ClientContractReq req)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ if (req.Id == 0)
+ {
+
+ if (tenantDb.Queryable().Where(x=>x.ContractNo == req.ContractNo).Any())
+ {
+ return DataResult.Failed("客户合同信息已存在!",MultiLanguageConst.ClientContractExist);
+ }
+
+ 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 GetClientContractInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.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.Core/Info/Method/ClientInfoService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs
new file mode 100644
index 00000000..04a14c0f
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs
@@ -0,0 +1,106 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientInfoService : IClientInfoService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+
+ ///
+ ///
+ ///
+ ///
+ public ClientInfoService(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 EditClientInfo(ClientInfoReq 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.ClientInfoExist);
+ }
+
+ var data = req.Adapt();
+ var tag = req.ClientTag.Adapt();
+
+ var entity = tenantDb.Insertable(data).ExecuteReturnEntity();
+ tag.ClientId = entity.Id;
+ tenantDb.Insertable(tag).ExecuteCommand();
+ return DataResult.Successed("添加成功!", entity.Id, MultiLanguageConst.DataCreateSuccess);
+ }
+ else
+ {
+ var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First();
+ var tag = tenantDb.Queryable().Where(x => x.Id == req.ClientTag.Id).First();
+
+ info = req.Adapt(info);
+ tag = req.ClientTag.Adapt(tag);
+
+ tenantDb.Updateable(info).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand();
+ tenantDb.Updateable(tag).IgnoreColumns(ignoreAllNullColumns: true).EnableDiffLogEvent().ExecuteCommand();
+ return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess);
+ }
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ public DataResult GetClientInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.Queryable()
+ .Where(a => a.Id == long.Parse(id))
+ // .Select()
+ .Select(x => new ClientInfoRes
+ {
+ ClientTag = tenantDb.Queryable().Select()
+ .First(a => a.ClientId == long.Parse(id))
+ })
+ .First();
+ return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess);
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/Info/Method/ClientShipperService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientShipperService.cs
new file mode 100644
index 00000000..30d34589
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientShipperService.cs
@@ -0,0 +1,94 @@
+using DS.Module.Core;
+using DS.Module.Core.Extensions;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Entity;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Entity;
+using Mapster;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+
+namespace DS.WMS.Core.Info.Method;
+
+public class ClientShipperService : IClientShipperService
+{
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+ ///
+ ///
+ ///
+ ///
+ public ClientShipperService(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 EditClientShipper(ClientShipperReq 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.ClientShipperExist);
+ }
+
+ 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 GetClientShipperInfo(string id)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var data = tenantDb.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.Core/System/Dtos/DataRuleReq.cs b/ds-wms-service/DS.WMS.Core/System/Dtos/DataRuleReq.cs
index 0c083dbb..021f5c9e 100644
--- a/ds-wms-service/DS.WMS.Core/System/Dtos/DataRuleReq.cs
+++ b/ds-wms-service/DS.WMS.Core/System/Dtos/DataRuleReq.cs
@@ -9,29 +9,35 @@ namespace DS.WMS.Core.System.Dtos;
public class DataRuleReq
{
///
- /// 主键Id
- ///
- public long Id { get; set; }
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
///
/// 资源标识(权限ID)
///
- public long PermissionId { get; set; }
+ public long PermissionId { get; set; }
+
///
/// 中文视图名
///
public string ColumnView { get; set; }
+
///
/// 权限规则
///
public string DataRules { get; set; }
+
///
/// 权限实体
///
public string PermissionEntity { get; set; }
+
///
/// 数据权限描述
///
public string Description { get; set; }
+
///
/// 排序
///
@@ -41,13 +47,13 @@ public class DataRuleReq
/// 状态 0 启用 1 禁用
///
public StatusEnum? Status { get; set; } = StatusEnum.Enable;
+
///
/// 备注
///
public string Note { get; set; } = "";
}
-
///
/// 验证
///
diff --git a/ds-wms-service/DS.WMS.Core/System/Dtos/ExceptionLogRes.cs b/ds-wms-service/DS.WMS.Core/System/Dtos/ExceptionLogRes.cs
index 5c0ab62d..b55c5441 100644
--- a/ds-wms-service/DS.WMS.Core/System/Dtos/ExceptionLogRes.cs
+++ b/ds-wms-service/DS.WMS.Core/System/Dtos/ExceptionLogRes.cs
@@ -50,8 +50,10 @@ public class ExceptionLogRes
/// 创建人
///
public string CreateBy { get; set; }
-
-
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; }
///
/// 租户id
///
diff --git a/ds-wms-service/DS.WMS.Core/System/Dtos/UserOrgListRes.cs b/ds-wms-service/DS.WMS.Core/System/Dtos/UserOrgListRes.cs
index a3925629..d1137af4 100644
--- a/ds-wms-service/DS.WMS.Core/System/Dtos/UserOrgListRes.cs
+++ b/ds-wms-service/DS.WMS.Core/System/Dtos/UserOrgListRes.cs
@@ -8,9 +8,9 @@ public class UserOrgListRes
///
/// 机构Id
///
- public long OrgId { get; set; }
+ public long? OrgId { get; set; }
///
/// 机构名称
///
- public long OrgName { get; set; }
+ public string OrgName { get; set; }
}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/System/Method/CommonService.cs b/ds-wms-service/DS.WMS.Core/System/Method/CommonService.cs
index b32b6fc9..dfb68186 100644
--- a/ds-wms-service/DS.WMS.Core/System/Method/CommonService.cs
+++ b/ds-wms-service/DS.WMS.Core/System/Method/CommonService.cs
@@ -400,10 +400,14 @@ public class CommonService : ICommonService
var userId = long.Parse(user.UserId);
var tenantId = user.GetTenantId();
//取第一个机构
- var orgRelations = db.Queryable()
+ var orgRelations = db.Queryable().Filter(null,true)
.LeftJoin((a,b)=>a.OrgId==b.Id)
.Where(a => a.UserId == userId)
- .Select()
+ .Select((a,b)=>new UserOrgListRes
+ {
+ OrgId = a.OrgId,
+ OrgName = b.OrgName
+ })
.ToList();
var tokenModel = new JwtHelper.JwtTokenModel
{
@@ -426,7 +430,7 @@ public class CommonService : ICommonService
ClientId = a.ClientId,
IsLimitClient = a.IsLimitClient,
RefreshToken = refreshToken,
- UserOrgs = orgRelations,
+ // UserOrgs = orgRelations,
// OrgId = a.OrgId.ToString(), CompanyName = a.CustomerName
})
.Mapper(it =>
@@ -435,6 +439,7 @@ public class CommonService : ICommonService
it.HomePath = "/analysis";
})
.First();
+ data.UserOrgs = orgRelations;
return DataResult.Success(data);
}
diff --git a/ds-wms-service/DS.WMS.Core/System/Method/VersionService.cs b/ds-wms-service/DS.WMS.Core/System/Method/VersionService.cs
index 7fb31883..5689fa64 100644
--- a/ds-wms-service/DS.WMS.Core/System/Method/VersionService.cs
+++ b/ds-wms-service/DS.WMS.Core/System/Method/VersionService.cs
@@ -105,7 +105,7 @@ public class VersionService : IVersionService
var types = referencedAssemblies
.SelectMany(a => a.DefinedTypes)
.Select(type => type.AsType())
- .Where(it => it.FullName.Contains("DS.WMS.Core.Code.Entity.")).ToArray();
+ .Where(it => it.FullName.Contains("DS.WMS.Core.Code.Entity.")||it.FullName.Contains("DS.WMS.Core.Info.Entity.")).ToArray();
var tenantList = db.Queryable().ToList();
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientAccountDateController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientAccountDateController.cs
new file mode 100644
index 00000000..292fd333
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientAccountDateController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户财务账期信息-模块
+///
+public class ClientAccountDateController : ApiController
+{
+ private readonly IClientAccountDateService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientAccountDateController(IClientAccountDateService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientAccountDateList")]
+ public DataResult> GetClientAccountDateList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientAccountDate")]
+ public DataResult EditClientAccountDate([FromBody] ClientAccountDateReq req)
+ {
+ var res = _invokeService.EditClientAccountDate(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientAccountDateInfo")]
+ public DataResult GetClientAccountDateInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientAccountDateInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientBankController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientBankController.cs
new file mode 100644
index 00000000..409f22f5
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientBankController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户银行信息-模块
+///
+public class ClientBankController : ApiController
+{
+ private readonly IClientBankService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientBankController(IClientBankService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientBankList")]
+ public DataResult> GetClientBankList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientBank")]
+ public DataResult EditClientBank([FromBody] ClientBankReq req)
+ {
+ var res = _invokeService.EditClientBank(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientBankInfo")]
+ public DataResult GetClientBankInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientBankInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContactController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContactController.cs
new file mode 100644
index 00000000..778c9b35
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContactController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户联系人信息-模块
+///
+public class ClientContactController : ApiController
+{
+ private readonly IClientContactService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientContactController(IClientContactService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientContactList")]
+ public DataResult> GetClientContactList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientContact")]
+ public DataResult EditClientContact([FromBody] ClientContactReq req)
+ {
+ var res = _invokeService.EditClientContact(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientContactInfo")]
+ public DataResult GetClientContactInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientContactInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContractController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContractController.cs
new file mode 100644
index 00000000..3668f3d2
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientContractController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户合同信息-模块
+///
+public class ClientContractController : ApiController
+{
+ private readonly IClientContractService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientContractController(IClientContractService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientContractList")]
+ public DataResult> GetClientContractList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientContract")]
+ public DataResult EditClientContract([FromBody] ClientContractReq req)
+ {
+ var res = _invokeService.EditClientContract(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientContractInfo")]
+ public DataResult GetClientContractInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientContractInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientInfoController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientInfoController.cs
new file mode 100644
index 00000000..e2b3f067
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientInfoController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户基本信息-模块
+///
+public class ClientInfoController : ApiController
+{
+ private readonly IClientInfoService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientInfoController(IClientInfoService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientInfoList")]
+ public DataResult> GetClientInfoList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientInfo")]
+ public DataResult EditClientInfo([FromBody] ClientInfoReq req)
+ {
+ var res = _invokeService.EditClientInfo(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientInfo")]
+ public DataResult GetClientInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Controllers/ClientShipperController.cs b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientShipperController.cs
new file mode 100644
index 00000000..ecb403a6
--- /dev/null
+++ b/ds-wms-service/DS.WMS.MainApi/Controllers/ClientShipperController.cs
@@ -0,0 +1,64 @@
+using DS.Module.Core;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Info.Interface;
+using DS.WMS.Core.System.Dtos;
+using DS.WMS.Core.System.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.MainApi.Controllers;
+
+///
+/// 客户收发货人信息-模块
+///
+public class ClientShipperController : ApiController
+{
+ private readonly IClientShipperService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ClientShipperController(IClientShipperService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetClientShipperList")]
+ public DataResult> GetClientShipperList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("EditClientShipper")]
+ public DataResult EditClientShipper([FromBody] ClientShipperReq req)
+ {
+ var res = _invokeService.EditClientShipper(req);
+ return res;
+ }
+
+ ///
+ /// 详情
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetClientShipperInfo")]
+ public DataResult GetClientShipperInfo([FromQuery] string id)
+ {
+ var res = _invokeService.GetClientShipperInfo(id);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt b/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
index d552f53d..c0a0d1ee 100644
--- a/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
+++ b/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
@@ -824,3 +824,31 @@
2024-03-11 09:49:09.9837 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
2024-03-11 09:49:10.0201 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-03-11 09:49:10.0928 Info Configuration initialized.
+2024-03-12 16:57:43.4008 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-03-12 16:57:43.5124 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-03-12 16:57:43.5400 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-03-12 16:57:43.5907 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-03-12 16:57:43.6257 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-03-12 16:57:43.6448 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-03-12 16:57:43.6827 Info Configuration initialized.
+2024-03-12 17:05:38.7807 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-03-12 17:05:38.8333 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-03-12 17:05:38.8796 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-03-12 17:05:38.9346 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-03-12 17:05:38.9998 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-03-12 17:05:39.0311 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-03-12 17:05:39.0974 Info Configuration initialized.
+2024-03-12 17:20:22.4350 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-03-12 17:20:22.4975 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-03-12 17:20:22.5129 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-03-12 17:20:22.5591 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-03-12 17:20:22.5953 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-03-12 17:20:22.6081 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-03-12 17:20:22.6383 Info Configuration initialized.
+2024-03-12 17:23:44.3041 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-03-12 17:23:44.3466 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-03-12 17:23:44.3807 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-03-12 17:23:44.4231 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-03-12 17:23:44.4645 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-03-12 17:23:44.4834 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-03-12 17:23:44.5366 Info Configuration initialized.