完成 轨迹模板内容列表 接口

This commit is contained in:
柳文翔 2024-02-27 19:22:48 +08:00
parent bf1a9e0169
commit 0a3a9b1822
9 changed files with 207 additions and 125 deletions

View File

@ -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;
using SJZY.Track.Domain.TrackTemplateAggregate.Dtos; using SJZY.Track.Domain.TrackTemplateAggregate.Dtos;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
@ -12,13 +14,15 @@ namespace SJZY.Track.Application.Services.TrackTemplates;
[Route("/Track/Template")] [Route("/Track/Template")]
public class TrackTemplateService : ApplicationService, ITrackTemplateService, IScopedDependency public class TrackTemplateService : ApplicationService, ITrackTemplateService, IScopedDependency
{ {
private readonly IStringLocalizer<TrackLocalizationResource> _stringLocalizer;
private readonly ITrackTemplateRepository _trackTemplateRepository; private readonly ITrackTemplateRepository _trackTemplateRepository;
/// <inheritdoc/> /// <inheritdoc/>
public TrackTemplateService( public TrackTemplateService(
ITrackTemplateRepository trackTemplateRepository IStringLocalizer<TrackLocalizationResource> stringLocalizer,
) ITrackTemplateRepository trackTemplateRepository)
{ {
_stringLocalizer = stringLocalizer;
_trackTemplateRepository = trackTemplateRepository; _trackTemplateRepository = trackTemplateRepository;
} }

View File

@ -15,7 +15,7 @@ public class GetContentPageOutputVO
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
public string CreateTime { get; set; } public DateTime? CreateTime { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
@ -62,7 +62,7 @@ public class GetContentPageOutputVO
/// <summary> /// <summary>
/// 修改时间 /// 修改时间
/// </summary> /// </summary>
public string UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary> /// <summary>
/// 修改人 /// 修改人

View File

@ -0,0 +1,50 @@
namespace SJZY.Track.Domain.VEntities;
/// <summary>
/// 主数据枚举
/// </summary>
[SugarTable("v_enum_value_info")]
public class VEnumValueInfoEntity : IFullAuditedBasicEntitys
{
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
/// <summary>
/// '属性 开发人员设定,禁止用户修改'
/// </summary>
[SugarColumn(ColumnName = "Property")]
public string Property { get; set; }
/// <summary>
/// '关键字;外部使用:系统自动生成 同一个Property的Enumkey 自动排序递增 内部使用:开发人员设定'
/// </summary>
[SugarColumn(ColumnName = "Enumkey")]
public int Enumkey { get; set; }
/// <summary>
/// 描述
/// </summary>
[SugarColumn(ColumnName = "Disp")]
public string Disp { get; set; }
/// <summary>
/// 描述英文名
/// </summary>
[SugarColumn(ColumnName = "EnDisp")]
public string EnDisp { get; set; }
/// <summary>
/// 是否内部使用, 1是 0不是,外部使用,无需设置此值.
/// </summary>
[SugarColumn(ColumnName = "IsInside")]
public int IsInside { get; set; }
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnName = "Remark")]
public string Remark { get; set; }
}

View File

@ -1,131 +1,128 @@
namespace SJZY.Track.Repository.VData.Entitys namespace SJZY.Track.Repository.VData.Entitys;
/// <summary>
/// 外部主体
/// </summary>
[SugarTable("v_external_subject")]
public class VExternalSubjectEntity : IFullAuditedBasicEntitys
{ {
/// <summary> /// <summary>
/// 外部主体 ///
/// </summary> /// </summary>
[SugarTable("v_external_subject")] [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public class VExternalSubjectEntity : IFullAuditedBasicEntitys public int Id { get; set; }
{
/// <summary> /// <summary>
/// /// 公司简称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] [SugarColumn(ColumnName = "Abbreviation")]
public int Id { get; set; } public string Abbreviation { get; set; }
/// <summary> /// <summary>
/// 公司简称 /// 所属网络(主数据枚举表 (属性=AffiliatedNetwork)WCA,WEB,Atlas,CCA,CTN,CLN,GLN,PCN,SCN,WPA,EGLN,Other)
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Abbreviation")] [SugarColumn(ColumnName = "AffiliatedNetwork")]
public string Abbreviation { get; set; } public int? AffiliatedNetwork { get; set; }
/// <summary> /// <summary>
/// 所属网络(主数据枚举表 (属性=AffiliatedNetwork)WCA,WEB,Atlas,CCA,CTN,CLN,GLN,PCN,SCN,WPA,EGLN,Other) /// 公司代码
/// </summary> /// </summary>
[SugarColumn(ColumnName = "AffiliatedNetwork")] [SugarColumn(ColumnName = "Code")]
public int? AffiliatedNetwork { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 公司代码 /// (主数据枚举表 (属性=CustomerQuality)国内同行,国外同行,国内直客,国外直客,海外代理,国内贸易公司,国外贸易公司,仅供应商,内部子公司,个人,内部子部门)
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Code")] [SugarColumn(ColumnName = "CooperationNature")]
public string Code { get; set; } public int? CooperationNature { get; set; }
/// <summary> /// <summary>
/// (主数据枚举表 (属性=CustomerQuality)国内同行,国外同行,国内直客,国外直客,海外代理,国内贸易公司,国外贸易公司,仅供应商,内部子公司,个人,内部子部门) /// 公司英文名
/// </summary> /// </summary>
[SugarColumn(ColumnName = "CooperationNature")] [SugarColumn(ColumnName = "EnName")]
public int? CooperationNature { get; set; } public string EnName { get; set; }
/// <summary> /// <summary>
/// 公司英文名 /// 是否核准
/// </summary> /// </summary>
[SugarColumn(ColumnName = "EnName")] [SugarColumn(ColumnName = "IsApprove")]
public string EnName { get; set; } public bool IsApprove { get; set; }
/// <summary> /// <summary>
/// 是否核准 /// 是否黑名单
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsApprove")] [SugarColumn(ColumnName = "IsBlacklist")]
public bool IsApprove { get; set; } public bool IsBlacklist { get; set; }
/// <summary> /// <summary>
/// 是否黑名单 /// 是否订香港
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsBlacklist")] [SugarColumn(ColumnName = "IsBookingHongKong")]
public bool IsBlacklist { get; set; } public bool? IsBookingHongKong { get; set; }
/// <summary> /// <summary>
/// 是否订香港 /// 是否海外代理
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsBookingHongKong")] [SugarColumn(ColumnName = "IsOverseasAgent")]
public bool? IsBookingHongKong { get; set; } public bool IsOverseasAgent { get; set; }
/// <summary> /// <summary>
/// 是否海外代理 /// 是否自行结算
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsOverseasAgent")] [SugarColumn(ColumnName = "IsSelfSettlement")]
public bool IsOverseasAgent { get; set; } public bool IsSelfSettlement { get; set; }
/// <summary> /// <summary>
/// 是否自行结算 /// 是否结算主体
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsSelfSettlement")] [SugarColumn(ColumnName = "IsSettlementSubject")]
public bool IsSelfSettlement { get; set; } public bool IsSettlementSubject { get; set; }
/// <summary> /// <summary>
/// 是否结算主体 /// 主网络,从多选的所属网络中选其中一个
/// </summary> /// </summary>
[SugarColumn(ColumnName = "IsSettlementSubject")] [SugarColumn(ColumnName = "MainNetwork")]
public bool IsSettlementSubject { get; set; } public int? MainNetwork { get; set; }
/// <summary> /// <summary>
/// 主网络,从多选的所属网络中选其中一个 /// 公司名称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "MainNetwork")] [SugarColumn(ColumnName = "Name")]
public int? MainNetwork { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 公司名称 /// 性质,t_enum_value_info表Property="CompanyQuality;1 国有企业,2 国有控股企业,3 外资企业,4 合资企业,5 股份企业,6 私营企业,7 个体户
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Name")] [SugarColumn(ColumnName = "Nature")]
public string Name { get; set; } public int? Nature { get; set; }
/// <summary> /// <summary>
/// 性质,t_enum_value_info表Property="CompanyQuality;1 国有企业,2 国有控股企业,3 外资企业,4 合资企业,5 股份企业,6 私营企业,7 个体户 /// 内部组织id
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Nature")] [SugarColumn(ColumnName = "OrgId")]
public int? Nature { get; set; } public int? OrgId { get; set; }
/// <summary> /// <summary>
/// 内部组织id /// 母公司id
/// </summary> /// </summary>
[SugarColumn(ColumnName = "OrgId")] [SugarColumn(ColumnName = "ParentId")]
public int? OrgId { get; set; } public int? ParentId { get; set; }
/// <summary> /// <summary>
/// 母公司id /// 备注
/// </summary> /// </summary>
[SugarColumn(ColumnName = "ParentId")] [SugarColumn(ColumnName = "Remark")]
public int? ParentId { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// 备注 /// 类型,位运算存储;t_enum_value_info表Property="SubjectType;1客户,2供应商,4内部子公司
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Remark")] [SugarColumn(ColumnName = "Type")]
public string Remark { get; set; } public int Type { get; set; }
/// <summary> /// <summary>
/// 类型,位运算存储;t_enum_value_info表Property="SubjectType;1客户,2供应商,4内部子公司 /// 已验证公司名称
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Type")] [SugarColumn(ColumnName = "VerifiedName")]
public int Type { get; set; } public string VerifiedName { get; set; }
/// <summary>
/// 已验证公司名称
/// </summary>
[SugarColumn(ColumnName = "VerifiedName")]
public string VerifiedName { get; set; }
}
} }

View File

@ -6,7 +6,6 @@
[SugarTable("v_service_provider")] [SugarTable("v_service_provider")]
public class VServiceProviderEntity : IFullAuditedBasicEntitys public class VServiceProviderEntity : IFullAuditedBasicEntitys
{ {
/// <summary> /// <summary>
/// 自增主键 /// 自增主键
/// </summary> /// </summary>
@ -72,5 +71,4 @@ public class VServiceProviderEntity : IFullAuditedBasicEntitys
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Types")] [SugarColumn(ColumnName = "Types")]
public string Types { get; set; } public string Types { get; set; }
} }

View File

@ -6,7 +6,6 @@
[SugarTable("v_system")] [SugarTable("v_system")]
public class VSystemEntity : IFullAuditedBasicEntitys public class VSystemEntity : IFullAuditedBasicEntitys
{ {
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
@ -150,5 +149,4 @@ public class VSystemEntity : IFullAuditedBasicEntitys
/// </summary> /// </summary>
[SugarColumn(ColumnName = "Token")] [SugarColumn(ColumnName = "Token")]
public string Token { get; set; } public string Token { get; set; }
} }

View File

@ -6,7 +6,6 @@
[SugarTable("v_user")] [SugarTable("v_user")]
public class VUserEntity : IFullAuditedBasicEntitys public class VUserEntity : IFullAuditedBasicEntitys
{ {
/// <summary> /// <summary>
/// 用户id /// 用户id
/// </summary> /// </summary>
@ -102,5 +101,4 @@ public class VUserEntity : IFullAuditedBasicEntitys
/// </summary> /// </summary>
[SugarColumn(ColumnName = "UserOrigin")] [SugarColumn(ColumnName = "UserOrigin")]
public bool? UserOrigin { get; set; } public bool? UserOrigin { get; set; }
} }

View File

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace SJZY.Track.Repository.Enum;
/// <summary>
/// 枚举属性
/// </summary>
public enum EnumPropertyEnums
{
/// <summary>
/// 节点
/// </summary>
[Description("ServiceNode")]
节点,
}

View File

@ -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;
using SJZY.Track.Domain.TrackTemplateAggregate.Dtos; using SJZY.Track.Domain.TrackTemplateAggregate.Dtos;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
using SJZY.Track.Repository.Enum;
namespace SJZY.Track.Repository; namespace SJZY.Track.Repository;
@ -56,14 +60,32 @@ public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITr
return pagedList; return pagedList;
} }
/// <summary>
/// 轨迹模板内容列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<UnifyPageResultDto<GetContentPageOutputVO>> GetContentPageAsync(GetContentPageInputVO input) public async Task<UnifyPageResultDto<GetContentPageOutputVO>> GetContentPageAsync(GetContentPageInputVO input)
{ {
return await AsSugarClient().Queryable<TrackTemplateContentEntity>() return await AsSugarClient().Queryable<TrackTemplateContentEntity>()
.InnerJoin<TrackContentEntity>((templateContent, trackContent) => templateContent.TrackContentId == trackContent.Id) .InnerJoin<TrackContentEntity>((templateContent, trackContent) => templateContent.TrackContentId == trackContent.Id && !trackContent.IsDeleted)
.Where(templateContent => templateContent.TrackTemplateId == input.TrackTemplateId) .LeftJoin<TrackStatusEntity>((templateContent, trackContent, trackStatus) => trackContent.TrackStatusId == trackStatus.Id && !trackStatus.IsDeleted)
.Select((templateContent, trackContent) => new GetContentPageOutputVO .LeftJoin<VEnumValueInfoEntity>((templateContent, trackContent, trackStatus, enumValue) => enumValue.Property == EnumPropertyEnums.节点.GetDescription() && trackStatus.Node == enumValue.Enumkey && !enumValue.IsDeleted)
.LeftJoin<TrackFlagEntity>((templateContent, trackContent, trackStatus, enumValue, trackFlag) => trackContent.TrackFlagId == trackFlag.Id && !trackFlag.IsDeleted)
.LeftJoin<VUserEntity>((templateContent, trackContent, trackStatus, enumValue, trackFlag, createUser) => templateContent.CreateUserId == createUser.Id && !createUser.IsDeleted)
.LeftJoin<VUserEntity>((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) }, true)
.ToPagedListAsync(input.PageIndex, input.PageSize); .ToPagedListAsync(input.PageIndex, input.PageSize);
} }