diff --git a/src/SJZY.Track.Api/appsettings.json b/src/SJZY.Track.Api/appsettings.json
index 850809ba..17cba222 100644
--- a/src/SJZY.Track.Api/appsettings.json
+++ b/src/SJZY.Track.Api/appsettings.json
@@ -1,7 +1,7 @@
{
"Configuration": {
- "UseLocalConfiguration": true, // 是否使用本地配置文件
- "ConfiguraFileName": "appsettings.Development.json", //指定配置文件名称,开启 UseLocalConfiguration 时生效
+ "UseLocalConfiguration": true, //是否使用本地配置文件
+ "ConfiguraFileName": "appsettings.Development.json", //指定配置文件名称,开启UseLocalConfiguration时生效
"Apollo": {
"AppId": "SJZY.Track.Configuration",
"Env": "DEV",
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetPageTrackContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetPageTrackContentInput.cs
index 9628067c..9f7d68f2 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetPageTrackContentInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetPageTrackContentInput.cs
@@ -10,7 +10,7 @@
///
/// 关键字
///
- public string Keywords { get; set; } = "";
+ public string? Keywords { get; set; }
}
public class GetTrackContentListDto
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
index 1ca2c4df..4280f8d2 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
@@ -55,6 +55,11 @@
///
public int SubSystemId { get; set; }
+ ///
+ /// 选中的轨迹标记id
+ ///
+ public List? SelectIds { get; set; }
+
/////
///// 关键字
/////
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/EditTrackPushConfigInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/EditTrackPushConfigInput.cs
new file mode 100644
index 00000000..cf3cb8ee
--- /dev/null
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/EditTrackPushConfigInput.cs
@@ -0,0 +1,81 @@
+namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
+
+public class EditTrackPushConfigInput
+{
+ ///
+ /// 客户id
+ ///
+ public int CustomId { get; set; }
+
+ ///
+ /// 推送扩展字段
+ ///
+ public string ExpandFieldsName { get; set; }
+
+ public int? Id { get; set; }
+
+ ///
+ /// 是否自动推送
+ ///
+ public bool IsAutoPush { get; set; }
+
+ ///
+ /// 操作类型
+ ///
+ public OptionTypeNoNull Options { get; set; }
+
+ ///
+ /// 推送轨迹订单号
+ ///
+ public string OrderNoName { get; set; }
+
+ ///
+ /// 服务商id
+ ///
+ public int ServiceProviderId { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 推送轨迹时区
+ ///
+ public string TackTimeZoneName { get; set; }
+
+ ///
+ /// 推送轨迹内容代码
+ ///
+ public string TrackContentCodeName { get; set; }
+
+ ///
+ /// 推送轨迹内容
+ ///
+ public string TrackContentName { get; set; }
+
+ ///
+ /// 推送轨迹内容英文
+ ///
+ public string TrackEnContentName { get; set; }
+
+ ///
+ /// 推送轨迹发生地
+ ///
+ public string TrackPlaceName { get; set; }
+
+ ///
+ /// 推送轨迹状态
+ ///
+ public string TrackStatusName { get; set; }
+
+ ///
+ /// 轨迹模板id
+ ///
+ public List TrackTemplateIds { get; set; }
+
+ ///
+ /// 推送轨迹发生时间
+ ///
+ public string TrackTimeName { get; set; }
+}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusListDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusListDto.cs
index 8cadc1ea..c505aa72 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusListDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusListDto.cs
@@ -64,6 +64,11 @@
///
/// 关键字
///
- public string Keywords { get; set; } = "";
+ public string? Keywords { get; set; }
+
+ ///
+ /// 选中的轨迹状态id
+ ///
+ public List? SelectIds { get; set;}
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetPageTrackTemplateInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetPageTrackTemplateInput.cs
index ba54db15..27d3dfc3 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetPageTrackTemplateInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/GetPageTrackTemplateInput.cs
@@ -13,11 +13,16 @@
///
/// 关键字
///
- public string Keywords { get; set; } = "";
+ public string? Keywords { get; set; }
+
+ /////
+ ///// 轨迹模版id,轨迹映射的查询使用
+ /////
+ //public int TrackTemplateId { get; set; }
///
- /// 轨迹模版id,轨迹映射的查询使用
+ /// 选中的轨迹模版id
///
- public int TrackTemplateId { get; set; }
+ public List? SelectIds { get; set; }
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/AutoMapper/TrackPushAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/TrackPushAutoMapperProfile.cs
index 420b0e23..351f5321 100644
--- a/src/SJZY.Track.Application/AutoMapper/TrackPushAutoMapperProfile.cs
+++ b/src/SJZY.Track.Application/AutoMapper/TrackPushAutoMapperProfile.cs
@@ -1,4 +1,8 @@
using AutoMapper;
+using SJZY.Track.Application.Contract.Dtos.TrackPush;
+using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
+using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
+using Volo.Abp.AutoMapper;
namespace SJZY.Track.Application.AutoMapper;
@@ -6,5 +10,9 @@ public class TrackPushAutoMapperProfile : Profile
{
public TrackPushAutoMapperProfile()
{
+ CreateMap(MemberList.None)
+ .ForMember(dest => dest.TrackTemplateId, opt => opt.MapFrom(source => string.Join(',', source.TrackTemplateIds)));
+ CreateMap(MemberList.None).Ignore(dest => dest.Id)
+ .ForMember(dest => dest.IsPush, opt => opt.MapFrom(source => true));
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
index a862e224..cd4567f6 100644
--- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushService.cs
@@ -1,8 +1,15 @@
using Microsoft.Extensions.Localization;
+using SJZY.Expand.ABP.Core.Localization;
+using SJZY.Expand.ABP.Core.PublicMethords;
+using SJZY.Track.Application.Contract.Dtos.TrackPush;
using SJZY.Track.Application.Localization;
+using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
+using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
using SJZY.Track.Domain.Dtos.Common;
using SJZY.Track.Domain.Dtos.TrackPush;
+using SqlSugar;
+using System.Linq.Expressions;
using Volo.Abp.DependencyInjection;
namespace SJZY.Track.Application.Services.TrackPush;
@@ -16,13 +23,19 @@ public class TrackPushService : ApplicationService, ITransientDependency
{
private readonly IStringLocalizer _stringLocalizer;
private readonly ITrackPushConfigRepository _trackPushConfigRepository;
+ private readonly ITrackTemplateRepository _trackTemplateRepository;
+ private readonly ITrackPullConfigRepository _trackPullConfigRepository;
public TrackPushService(
IStringLocalizer stringLocalizer,
- ITrackPushConfigRepository trackPushConfigRepository)
+ ITrackPushConfigRepository trackPushConfigRepository,
+ ITrackTemplateRepository trackTemplateRepository,
+ ITrackPullConfigRepository trackPullConfigRepository)
{
_stringLocalizer = stringLocalizer;
_trackPushConfigRepository = trackPushConfigRepository;
+ _trackTemplateRepository = trackTemplateRepository;
+ _trackPullConfigRepository = trackPullConfigRepository;
}
///
@@ -53,9 +66,18 @@ public class TrackPushService : ApplicationService, ITransientDependency
///
///
[HttpGet("GetDetail")]
- public async Task GetDetailAsync(int id)
+ public async Task GetDetailAsync(int id)
{
- return await _trackPushConfigRepository.GetDetailAsync(id);
+ var res = await _trackPushConfigRepository.GetDetailAsync(id);
+ if (res is null) return null;
+
+ List trackTemplateIds = res.TrackTemplateId.Split(',').Select(int.Parse).ToList();
+
+ var trackTemplateEntities = await _trackTemplateRepository.GetListAsync(x => trackTemplateIds.Contains(x.Id));
+
+ trackTemplateEntities.ForEach(item => { (res.TrackTemplate ??= new()).Add(new() { Value = item.Id, Key = item.Name }); });
+
+ return res;
}
///
@@ -68,4 +90,86 @@ public class TrackPushService : ApplicationService, ITransientDependency
{
return await _trackPushConfigRepository.GetContentDetailAsync(id);
}
+
+ ///
+ /// 轨迹推送配置编辑
+ ///
+ ///
+ ///
+ [HttpPost("Edit")]
+ public async Task EditAsync([FromBody] EditTrackPushConfigInput input)
+ {
+ if (input.Options != OptionTypeNoNull.删除)
+ {
+ Expression> isAnyExp = x =>
+ x.SubSystemId == input.SubSystemId && x.CustomId == input.CustomId && x.ServiceProviderId == input.ServiceProviderId;
+ if (input.Options == OptionTypeNoNull.修改) isAnyExp.And(x => x.Id != input.Id);
+
+ var trackTemplateIdExp = Expressionable.Create();
+ foreach (var trackTemplateId in input.TrackTemplateIds) { trackTemplateIdExp.Or(x => SqlFunc.SplitIn(x.TrackTemplateId, trackTemplateId.ToString())); }
+
+ if (await _trackPushConfigRepository.IsAnyAsync(isAnyExp.And(trackTemplateIdExp.ToExpression())))
+ throw new BusinessException(message: _stringLocalizer["IsTrackPushConfigAny"]);
+ }
+
+ switch (input.Options)
+ {
+ case OptionTypeNoNull.新增:
+ {
+ var trackPushEntity = ObjectMapper.Map(input);
+ var trackPushParamsEntity = ObjectMapper.Map(input);
+
+ using (var ts = TransactionScopeHelper.Create())
+ {
+ int id = await _trackPushConfigRepository.InsertReturnIdentityAsync(trackPushEntity);
+
+ trackPushParamsEntity.PullOrPushConfigId = id;
+ await _trackPullConfigRepository.InsertParamsAsync(trackPushParamsEntity);
+
+ ts.Complete();
+ }
+ }
+ break;
+
+ case OptionTypeNoNull.修改:
+ {
+ var oldTrackPushEntity = await _trackPushConfigRepository.GetFirstAsync(x => x.Id == input.Id) ?? throw new BusinessException(message: _stringLocalizer["NotFindData"]);
+
+ var oldTrackPushParamsEntity =
+ await _trackPullConfigRepository.GetParamsSingleAsync(x =>
+ x.PullOrPushConfigId == input.Id && x.IsPush);
+
+ ObjectMapper.Map(input, oldTrackPushEntity);
+ ObjectMapper.Map(input, oldTrackPushParamsEntity);
+
+ using (var ts = TransactionScopeHelper.Create())
+ {
+ await _trackPushConfigRepository.UpdateAsync(oldTrackPushEntity);
+ await _trackPullConfigRepository.UpdateParamsAsync(oldTrackPushParamsEntity);
+
+ ts.Complete();
+ }
+ }
+ break;
+
+ case OptionTypeNoNull.删除:
+ using (var ts = TransactionScopeHelper.Create())
+ {
+ await _trackPushConfigRepository.SoftDeleteAsync(x => x.Id == input.Id);
+ await _trackPullConfigRepository.SoftDeleteParamsAsync(x =>
+ x.PullOrPushConfigId == input.Id && x.IsPush);
+ await _trackPushConfigRepository.SoftDeleteContentAsync(x => x.TrackPushConfigId == input.Id);
+
+ ts.Complete();
+ }
+
+ break;
+
+ default:
+ throw new BusinessException(message: _stringLocalizer[SjzyBasicLocalization.Validation_IsInEnum,
+ nameof(EditTrackPushConfigInput.Options)]);
+ }
+
+ return true;
+ }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
index 39b19ad2..9c82ef1c 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushConfigRepository.cs
@@ -12,4 +12,6 @@ public interface ITrackPushConfigRepository : IBasicRepository GetDetailAsync(int id);
Task GetContentDetailAsync(int id);
+
+ Task SoftDeleteContentAsync(Expression> whereExpression);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs
index f093836d..4f62c3a9 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs
@@ -16,7 +16,7 @@ namespace SJZY.Track.Domain.Dtos.TrackContents
///
/// 关键字
///
- public string Keywords { get; set; }
+ public string? Keywords { get; set; }
}
public class GetTrackContentListVO
diff --git a/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs b/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
index 20f7c40f..d3699b75 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
@@ -13,6 +13,11 @@ namespace SJZY.Track.Domain.Dtos.TrackFlags
///
public int SubSystemId { get; set; }
+ ///
+ /// 选中的轨迹标记id
+ ///
+ public List? SelectIds { get; set; }
+
/////
///// 关键字
/////
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs
index 6e9cd961..900c74bc 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackPush/GetTrackPushConfigDetailOutputVO.cs
@@ -89,7 +89,7 @@ public class GetTrackPushConfigDetailOutputVO
///
/// 轨迹模板id
///
- public int TrackTemplateId { get; set; }
+ public string TrackTemplateId { get; set; }
///
/// 推送轨迹发生时间
diff --git a/src/SJZY.Track.Domain/Dtos/TrackStatus/GetPageTrackStatusVO.cs b/src/SJZY.Track.Domain/Dtos/TrackStatus/GetPageTrackStatusVO.cs
index 6c5d3b46..f19fb8c5 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackStatus/GetPageTrackStatusVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackStatus/GetPageTrackStatusVO.cs
@@ -10,5 +10,10 @@ public class GetPageTrackStatusVO : PageInfoInput
///
/// 关键字
///
- public string Keywords { get; set; }
+ public string? Keywords { get; set; }
+
+ ///
+ /// 选中的轨迹状态id
+ ///
+ public List? SelectIds { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetPageTrackTemplateVO.cs b/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetPageTrackTemplateVO.cs
index e4fa7963..35c4fe8a 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetPageTrackTemplateVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetPageTrackTemplateVO.cs
@@ -10,15 +10,9 @@ public class GetPageTrackTemplateVO : PageInfoInput
///
/// 关键字
///
- public string Keywords { get; set; }
+ public string? Keywords { get; set; }
- /////
- ///// 是否置顶
- /////
- //public bool IsTop { get; set; }=false;
-
- ///
- /// 轨迹模版id
+ /// 选中的轨迹模版id
///
- public int TrackTemplateId { get; set; }
+ public List? SelectIds { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
index bbde4d6f..a7bb1b6a 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
@@ -62,6 +62,7 @@ public class TrackContentRepository : BasicRepository, ITrac
(a, b, c, d, e, f) => a.Code.Contains(input.Keywords) || a.Content.Contains(input.Keywords)
|| a.EnContent.Contains(input.Keywords)
)
+ .OrderByDescending((a, b, c, d, e, f) => a.CreateTime)
.Select((a, b, c, d, e, f) => new GetTrackContentListVO
{
Id = a.Id,
diff --git a/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
index 2a2a4ba6..2a710641 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
@@ -46,6 +46,8 @@ public class TrackFlagRepository : BasicRepository, ITrackFlagR
.LeftJoin((a, b, c) => a.CreateUserId == c.Id)
.LeftJoin((a, b, c, d) => a.UpdateUserId == d.Id)
.WhereIF(input.SubSystemId > 0, (a, b, c, d) => a.SubSystemId == input.SubSystemId)
+ .OrderByIF(input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => a.CreateTime, OrderByType.Desc)
+ .OrderByIF(!input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => SqlFunc.IIF(input.SelectIds.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), a.CreateTime), OrderByType.Desc)
.Select((a, b, c, d) => new GetTrackFlagListVO
{
Id = a.Id,
@@ -56,8 +58,7 @@ public class TrackFlagRepository : BasicRepository, ITrackFlagR
CreateTime = a.CreateTime,
CreateUser = c.Name,
UpdateTime = a.UpdateTime,
- UpdateUser = d.Name,
-
+ UpdateUser = d.Name
})
.ToPagedListAsync(input.PageIndex, input.PageSize);
diff --git a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
index 999a2732..07cbedc7 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackPushConfigRepository.cs
@@ -6,6 +6,7 @@ using SJZY.Track.Domain.Dtos.Common;
using SJZY.Track.Domain.Dtos.TrackPush;
using SJZY.Track.Domain.VEntities;
using SJZY.Track.Repository.VData.Entitys;
+using System.Linq.Expressions;
namespace SJZY.Track.Repository.Repositories;
@@ -82,4 +83,12 @@ public class TrackPushConfigRepository : BasicRepository,
}, true)
.SingleAsync();
}
+
+ public async Task SoftDeleteContentAsync(Expression> whereExpression)
+ {
+ return await Context.Updateable()
+ .Where(whereExpression)
+ .SetColumns(nameof(ISoftDeleteBasicEntity.IsDeleted), true)
+ .ExecuteCommandHasChangeAsync();
+ }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
index 703eb8c4..dacc6947 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
@@ -45,6 +45,8 @@ public class TrackStatusRepository : BasicRepository, ITrackS
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(),
(a, b, c, d) => a.Status.Contains(input.Keywords) || a.EnStatus.Contains(input.Keywords) ||
a.Code.Contains(input.Keywords))
+ .OrderByIF(input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => a.CreateTime, OrderByType.Desc)
+ .OrderByIF(!input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => SqlFunc.IIF(input.SelectIds.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), a.CreateTime), OrderByType.Desc)
.Select((a, b, c, d) => new GetTrackStatusListVO
{
Id = a.Id,
diff --git a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
index 04cd6e0e..57d3ab38 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs
@@ -24,13 +24,13 @@ public class TrackTemplateRepository : BasicRepository, ITr
.Where((a, b) => a.Id == id)
.Select((a, b) => new
GetTrackTemplateDetailVO
- {
- Id = a.Id,
- Code = a.Code,
- Name = a.Name,
- SubSystemId = a.SubSystemId,
- SubSystem = b.CnName
- }).FirstAsync();
+ {
+ Id = a.Id,
+ Code = a.Code,
+ Name = a.Name,
+ SubSystemId = a.SubSystemId,
+ SubSystem = b.CnName
+ }).FirstAsync();
return detail;
}
@@ -47,9 +47,8 @@ public class TrackTemplateRepository : BasicRepository, ITr
.WhereIF(input.SubSystemId > 0, (a, b) => a.SubSystemId == input.SubSystemId)
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(),
(a, b) => a.Name.Contains(input.Keywords) || a.Code.Contains(input.Keywords))
- .OrderByIF(input.TrackTemplateId > 0,
- (a, b) => SqlFunc.IIF(a.Id == input.TrackTemplateId, SqlFunc.DateAdd(SqlFunc.GetDate(), 1),
- a.CreateTime), OrderByType.Desc)
+ .OrderByIF(input.SelectIds.IsNullOrEmpty(), (a, b) => a.CreateTime,OrderByType.Desc)
+ .OrderByIF(!input.SelectIds.IsNullOrEmpty(), (a, b) => SqlFunc.IIF(input.SelectIds.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), a.CreateTime), OrderByType.Desc)
.Select((a, b) => new GetTrackTemplateListVO
{
Id = a.Id,
@@ -59,7 +58,9 @@ public class TrackTemplateRepository : BasicRepository, ITr
SubSystem = b.CnName
})
.ToPagedListAsync(input.PageIndex, input.PageSize);
-
+ //.OrderByIF(input.TrackTemplateId > 0,
+ // (a, b) => SqlFunc.IIF(a.Id == input.TrackTemplateId, SqlFunc.DateAdd(SqlFunc.GetDate(), 1),
+ //a.CreateTime), OrderByType.Desc)
return pagedList;
}