From 0a3a9b18221271f8af9a5bfad106361326d5efd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Tue, 27 Feb 2024 19:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=86=85=E5=AE=B9=E5=88=97=E8=A1=A8=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrackTemplates/TrackTemplateService.cs | 10 +- .../Dtos/GetContentPageOutputVO.cs | 4 +- .../VEntities/VEnumValueInfo.cs | 50 ++++ .../VEntities/VExternalSubjectEntity.cs | 213 +++++++++--------- .../VEntities/VServiceProviderEntity.cs | 2 - .../VEntities/VSystemEntity.cs | 4 +- .../VEntities/VUserEntity.cs | 2 - src/SJZY.Track.Repository/Enum/Enums.cs | 15 ++ .../TrackTemplateRepository.cs | 32 ++- 9 files changed, 207 insertions(+), 125 deletions(-) create mode 100644 src/SJZY.Track.Domain/VEntities/VEnumValueInfo.cs create mode 100644 src/SJZY.Track.Repository/Enum/Enums.cs diff --git a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs index acd21ae5..c901720b 100644 --- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs +++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs @@ -1,4 +1,6 @@ -using SJZY.Track.Application.Dtos.TrackTemplates; +using Microsoft.Extensions.Localization; +using SJZY.Track.Application.Dtos.TrackTemplates; +using SJZY.Track.Application.Localization; using SJZY.Track.Domain.TrackTemplateAggregate; using SJZY.Track.Domain.TrackTemplateAggregate.Dtos; using Volo.Abp.DependencyInjection; @@ -12,13 +14,15 @@ namespace SJZY.Track.Application.Services.TrackTemplates; [Route("/Track/Template")] public class TrackTemplateService : ApplicationService, ITrackTemplateService, IScopedDependency { + private readonly IStringLocalizer _stringLocalizer; private readonly ITrackTemplateRepository _trackTemplateRepository; /// public TrackTemplateService( - ITrackTemplateRepository trackTemplateRepository - ) + IStringLocalizer stringLocalizer, + ITrackTemplateRepository trackTemplateRepository) { + _stringLocalizer = stringLocalizer; _trackTemplateRepository = trackTemplateRepository; } diff --git a/src/SJZY.Track.Domain/TrackTemplateAggregate/Dtos/GetContentPageOutputVO.cs b/src/SJZY.Track.Domain/TrackTemplateAggregate/Dtos/GetContentPageOutputVO.cs index 945a4978..582cef6a 100644 --- a/src/SJZY.Track.Domain/TrackTemplateAggregate/Dtos/GetContentPageOutputVO.cs +++ b/src/SJZY.Track.Domain/TrackTemplateAggregate/Dtos/GetContentPageOutputVO.cs @@ -15,7 +15,7 @@ public class GetContentPageOutputVO /// /// 创建时间 /// - public string CreateTime { get; set; } + public DateTime? CreateTime { get; set; } /// /// 创建人 @@ -62,7 +62,7 @@ public class GetContentPageOutputVO /// /// 修改时间 /// - public string UpdateTime { get; set; } + public DateTime? UpdateTime { get; set; } /// /// 修改人 diff --git a/src/SJZY.Track.Domain/VEntities/VEnumValueInfo.cs b/src/SJZY.Track.Domain/VEntities/VEnumValueInfo.cs new file mode 100644 index 00000000..cfefa5c6 --- /dev/null +++ b/src/SJZY.Track.Domain/VEntities/VEnumValueInfo.cs @@ -0,0 +1,50 @@ +namespace SJZY.Track.Domain.VEntities; + +/// +/// 主数据枚举 +/// +[SugarTable("v_enum_value_info")] +public class VEnumValueInfoEntity : IFullAuditedBasicEntitys +{ + /// + /// + /// + [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// '属性 开发人员设定,禁止用户修改' + /// + [SugarColumn(ColumnName = "Property")] + public string Property { get; set; } + + /// + /// '关键字;外部使用:系统自动生成 同一个Property的Enumkey 自动排序递增 内部使用:开发人员设定' + /// + [SugarColumn(ColumnName = "Enumkey")] + public int Enumkey { get; set; } + + /// + /// 描述 + /// + [SugarColumn(ColumnName = "Disp")] + public string Disp { get; set; } + + /// + /// 描述英文名 + /// + [SugarColumn(ColumnName = "EnDisp")] + public string EnDisp { get; set; } + + /// + /// 是否内部使用, 1是 0不是,外部使用,无需设置此值. + /// + [SugarColumn(ColumnName = "IsInside")] + public int IsInside { get; set; } + + /// + /// 备注 + /// + [SugarColumn(ColumnName = "Remark")] + public string Remark { get; set; } +} \ No newline at end of file diff --git a/src/SJZY.Track.Domain/VEntities/VExternalSubjectEntity.cs b/src/SJZY.Track.Domain/VEntities/VExternalSubjectEntity.cs index 9cff66ea..51bea216 100644 --- a/src/SJZY.Track.Domain/VEntities/VExternalSubjectEntity.cs +++ b/src/SJZY.Track.Domain/VEntities/VExternalSubjectEntity.cs @@ -1,131 +1,128 @@ -namespace SJZY.Track.Repository.VData.Entitys +namespace SJZY.Track.Repository.VData.Entitys; + +/// +/// 外部主体 +/// +[SugarTable("v_external_subject")] +public class VExternalSubjectEntity : IFullAuditedBasicEntitys { /// - /// 外部主体 + /// /// - [SugarTable("v_external_subject")] - public class VExternalSubjectEntity : IFullAuditedBasicEntitys - { + [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } - /// - /// - /// - [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] - public int Id { get; set; } + /// + /// 公司简称 + /// + [SugarColumn(ColumnName = "Abbreviation")] + public string Abbreviation { get; set; } - /// - /// 公司简称 - /// - [SugarColumn(ColumnName = "Abbreviation")] - public string Abbreviation { get; set; } + /// + /// 所属网络(主数据枚举表 (属性=AffiliatedNetwork)WCA,WEB,Atlas,CCA,CTN,CLN,GLN,PCN,SCN,WPA,EGLN,Other) + /// + [SugarColumn(ColumnName = "AffiliatedNetwork")] + public int? AffiliatedNetwork { get; set; } - /// - /// 所属网络(主数据枚举表 (属性=AffiliatedNetwork)WCA,WEB,Atlas,CCA,CTN,CLN,GLN,PCN,SCN,WPA,EGLN,Other) - /// - [SugarColumn(ColumnName = "AffiliatedNetwork")] - public int? AffiliatedNetwork { get; set; } + /// + /// 公司代码 + /// + [SugarColumn(ColumnName = "Code")] + public string Code { get; set; } - /// - /// 公司代码 - /// - [SugarColumn(ColumnName = "Code")] - public string Code { get; set; } + /// + /// (主数据枚举表 (属性=CustomerQuality)国内同行,国外同行,国内直客,国外直客,海外代理,国内贸易公司,国外贸易公司,仅供应商,内部子公司,个人,内部子部门) + /// + [SugarColumn(ColumnName = "CooperationNature")] + public int? CooperationNature { get; set; } - /// - /// (主数据枚举表 (属性=CustomerQuality)国内同行,国外同行,国内直客,国外直客,海外代理,国内贸易公司,国外贸易公司,仅供应商,内部子公司,个人,内部子部门) - /// - [SugarColumn(ColumnName = "CooperationNature")] - public int? CooperationNature { get; set; } + /// + /// 公司英文名 + /// + [SugarColumn(ColumnName = "EnName")] + public string EnName { get; set; } - /// - /// 公司英文名 - /// - [SugarColumn(ColumnName = "EnName")] - public string EnName { get; set; } + /// + /// 是否核准 + /// + [SugarColumn(ColumnName = "IsApprove")] + public bool IsApprove { get; set; } - /// - /// 是否核准 - /// - [SugarColumn(ColumnName = "IsApprove")] - public bool IsApprove { get; set; } + /// + /// 是否黑名单 + /// + [SugarColumn(ColumnName = "IsBlacklist")] + public bool IsBlacklist { get; set; } - /// - /// 是否黑名单 - /// - [SugarColumn(ColumnName = "IsBlacklist")] - public bool IsBlacklist { get; set; } + /// + /// 是否订香港 + /// + [SugarColumn(ColumnName = "IsBookingHongKong")] + public bool? IsBookingHongKong { get; set; } - /// - /// 是否订香港 - /// - [SugarColumn(ColumnName = "IsBookingHongKong")] - public bool? IsBookingHongKong { get; set; } + /// + /// 是否海外代理 + /// + [SugarColumn(ColumnName = "IsOverseasAgent")] + public bool IsOverseasAgent { get; set; } - /// - /// 是否海外代理 - /// - [SugarColumn(ColumnName = "IsOverseasAgent")] - public bool IsOverseasAgent { get; set; } + /// + /// 是否自行结算 + /// + [SugarColumn(ColumnName = "IsSelfSettlement")] + public bool IsSelfSettlement { get; set; } - /// - /// 是否自行结算 - /// - [SugarColumn(ColumnName = "IsSelfSettlement")] - public bool IsSelfSettlement { get; set; } + /// + /// 是否结算主体 + /// + [SugarColumn(ColumnName = "IsSettlementSubject")] + public bool IsSettlementSubject { get; set; } - /// - /// 是否结算主体 - /// - [SugarColumn(ColumnName = "IsSettlementSubject")] - public bool IsSettlementSubject { get; set; } + /// + /// 主网络,从多选的所属网络中选其中一个 + /// + [SugarColumn(ColumnName = "MainNetwork")] + public int? MainNetwork { get; set; } - /// - /// 主网络,从多选的所属网络中选其中一个 - /// - [SugarColumn(ColumnName = "MainNetwork")] - public int? MainNetwork { get; set; } + /// + /// 公司名称 + /// + [SugarColumn(ColumnName = "Name")] + public string Name { get; set; } - /// - /// 公司名称 - /// - [SugarColumn(ColumnName = "Name")] - public string Name { get; set; } + /// + /// 性质,t_enum_value_info表Property="CompanyQuality;1 国有企业,2 国有控股企业,3 外资企业,4 合资企业,5 股份企业,6 私营企业,7 个体户 + /// + [SugarColumn(ColumnName = "Nature")] + public int? Nature { get; set; } - /// - /// 性质,t_enum_value_info表Property="CompanyQuality;1 国有企业,2 国有控股企业,3 外资企业,4 合资企业,5 股份企业,6 私营企业,7 个体户 - /// - [SugarColumn(ColumnName = "Nature")] - public int? Nature { get; set; } + /// + /// 内部组织id + /// + [SugarColumn(ColumnName = "OrgId")] + public int? OrgId { get; set; } - /// - /// 内部组织id - /// - [SugarColumn(ColumnName = "OrgId")] - public int? OrgId { get; set; } + /// + /// 母公司id + /// + [SugarColumn(ColumnName = "ParentId")] + public int? ParentId { get; set; } - /// - /// 母公司id - /// - [SugarColumn(ColumnName = "ParentId")] - public int? ParentId { get; set; } + /// + /// 备注 + /// + [SugarColumn(ColumnName = "Remark")] + public string Remark { get; set; } - /// - /// 备注 - /// - [SugarColumn(ColumnName = "Remark")] - public string Remark { get; set; } + /// + /// 类型,位运算存储;t_enum_value_info表Property="SubjectType;1客户,2供应商,4内部子公司 + /// + [SugarColumn(ColumnName = "Type")] + public int Type { get; set; } - /// - /// 类型,位运算存储;t_enum_value_info表Property="SubjectType;1客户,2供应商,4内部子公司 - /// - [SugarColumn(ColumnName = "Type")] - public int Type { get; set; } - - /// - /// 已验证公司名称 - /// - [SugarColumn(ColumnName = "VerifiedName")] - public string VerifiedName { get; set; } - - } + /// + /// 已验证公司名称 + /// + [SugarColumn(ColumnName = "VerifiedName")] + public string VerifiedName { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/VEntities/VServiceProviderEntity.cs b/src/SJZY.Track.Domain/VEntities/VServiceProviderEntity.cs index eb9c74a4..737fbb0f 100644 --- a/src/SJZY.Track.Domain/VEntities/VServiceProviderEntity.cs +++ b/src/SJZY.Track.Domain/VEntities/VServiceProviderEntity.cs @@ -6,7 +6,6 @@ [SugarTable("v_service_provider")] public class VServiceProviderEntity : IFullAuditedBasicEntitys { - /// /// 自增主键 /// @@ -72,5 +71,4 @@ public class VServiceProviderEntity : IFullAuditedBasicEntitys /// [SugarColumn(ColumnName = "Types")] public string Types { get; set; } - } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/VEntities/VSystemEntity.cs b/src/SJZY.Track.Domain/VEntities/VSystemEntity.cs index e1ba1115..eb0030be 100644 --- a/src/SJZY.Track.Domain/VEntities/VSystemEntity.cs +++ b/src/SJZY.Track.Domain/VEntities/VSystemEntity.cs @@ -1,12 +1,11 @@ namespace SJZY.Track.Domain.VEntities; /// -/// +/// /// [SugarTable("v_system")] public class VSystemEntity : IFullAuditedBasicEntitys { - /// /// 子系统id /// @@ -150,5 +149,4 @@ public class VSystemEntity : IFullAuditedBasicEntitys /// [SugarColumn(ColumnName = "Token")] public string Token { get; set; } - } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/VEntities/VUserEntity.cs b/src/SJZY.Track.Domain/VEntities/VUserEntity.cs index eee0b80d..71a52664 100644 --- a/src/SJZY.Track.Domain/VEntities/VUserEntity.cs +++ b/src/SJZY.Track.Domain/VEntities/VUserEntity.cs @@ -6,7 +6,6 @@ [SugarTable("v_user")] public class VUserEntity : IFullAuditedBasicEntitys { - /// /// 用户id /// @@ -102,5 +101,4 @@ public class VUserEntity : IFullAuditedBasicEntitys /// [SugarColumn(ColumnName = "UserOrigin")] public bool? UserOrigin { get; set; } - } \ No newline at end of file diff --git a/src/SJZY.Track.Repository/Enum/Enums.cs b/src/SJZY.Track.Repository/Enum/Enums.cs new file mode 100644 index 00000000..f32f511c --- /dev/null +++ b/src/SJZY.Track.Repository/Enum/Enums.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; + +namespace SJZY.Track.Repository.Enum; + +/// +/// 枚举属性 +/// +public enum EnumPropertyEnums +{ + /// + /// 节点 + /// + [Description("ServiceNode")] + 节点, +} \ No newline at end of file diff --git a/src/SJZY.Track.Repository/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/TrackTemplateRepository.cs index 9d71866a..19308200 100644 --- a/src/SJZY.Track.Repository/TrackTemplateRepository.cs +++ b/src/SJZY.Track.Repository/TrackTemplateRepository.cs @@ -1,7 +1,11 @@ -using SJZY.Track.Domain.TrackContentAggregate; +using SJZY.Expand.ABP.Core.PublicMethords; +using SJZY.Track.Domain.TrackContentAggregate; +using SJZY.Track.Domain.TrackFlagAggregate; +using SJZY.Track.Domain.TrackStatusAggregate; using SJZY.Track.Domain.TrackTemplateAggregate; using SJZY.Track.Domain.TrackTemplateAggregate.Dtos; using SJZY.Track.Domain.VEntities; +using SJZY.Track.Repository.Enum; namespace SJZY.Track.Repository; @@ -56,14 +60,32 @@ public class TrackTemplateRepository : BasicRepository, ITr return pagedList; } + /// + /// 轨迹模板内容列表 + /// + /// + /// public async Task> GetContentPageAsync(GetContentPageInputVO input) { return await AsSugarClient().Queryable() - .InnerJoin((templateContent, trackContent) => templateContent.TrackContentId == trackContent.Id) - .Where(templateContent => templateContent.TrackTemplateId == input.TrackTemplateId) - .Select((templateContent, trackContent) => new GetContentPageOutputVO + .InnerJoin((templateContent, trackContent) => templateContent.TrackContentId == trackContent.Id && !trackContent.IsDeleted) + .LeftJoin((templateContent, trackContent, trackStatus) => trackContent.TrackStatusId == trackStatus.Id && !trackStatus.IsDeleted) + .LeftJoin((templateContent, trackContent, trackStatus, enumValue) => enumValue.Property == EnumPropertyEnums.节点.GetDescription() && trackStatus.Node == enumValue.Enumkey && !enumValue.IsDeleted) + .LeftJoin((templateContent, trackContent, trackStatus, enumValue, trackFlag) => trackContent.TrackFlagId == trackFlag.Id && !trackFlag.IsDeleted) + .LeftJoin((templateContent, trackContent, trackStatus, enumValue, trackFlag, createUser) => templateContent.CreateUserId == createUser.Id && !createUser.IsDeleted) + .LeftJoin((templateContent, trackContent, trackStatus, enumValue, trackFlag, createUser, updateUser) => templateContent.UpdateUserId == updateUser.Id && !updateUser.IsDeleted) + .Filter(null, true) + .Where(templateContent => templateContent.TrackTemplateId == input.TrackTemplateId && !templateContent.IsDeleted) + .Select((templateContent, trackContent, trackStatus, enumValue, trackFlag, createUser, updateUser) => new GetContentPageOutputVO { - Id = templateContent.Id + Id = templateContent.Id, + TrackStatus = trackStatus.Status, + Node = enumValue.Disp, + TrackFlag = trackFlag.Name, + CreateTime = templateContent.CreateTime, + CreateUser = createUser.Name, + UpdateTime = templateContent.UpdateTime, + UpdateUser = updateUser.Name }, true) .ToPagedListAsync(input.PageIndex, input.PageSize); }