diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs index 81aa553e..c6a143df 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs @@ -17,6 +17,26 @@ public class GetPageTrackOrderInput : PageInfoInput /// public string? OrderNos { get; set; } + /// + /// tab标签类型 0 全部, 1 异常 2 预警 + /// + public int TabType { get; set; } + + /// + /// 订单类型 + /// + public int? TrackOrderType { get; set; } + + /// + /// 客户id + /// + public int? CustomerId { get; set; } + + ///// + ///// 当tab选中 0 默认不传 1 直接写死传值 [1,4] 2 传 [2,4] + ///// + //public List? QuestionTypeIds { get; set; } + /// /// 创建时间开始 /// @@ -73,6 +93,11 @@ public class TrackOrderDto /// public string? CustomerCode { get; set; } + /// + /// 客户id + /// + public int CustomerId { get; set; } + /// /// 订单明细(json) /// @@ -113,5 +138,28 @@ public class TrackOrderDto /// public string SubSystem { get; set; } + /// + /// 子系统id + /// public int SubSystemId { get; set; } + + /// + /// 问题类型(主数据枚举TrackQuestionType) + /// + public int QuestionType { get; set; } + + /// + /// 问题类型名称 + /// + public string? QuestionTypeName { get; set; } + + /// + /// 问题描述(主数据枚举TrackProblemDescription) + /// + public int ProblemDescription { get; set; } + + /// + /// 问题描述名称 + /// + public string? ProblemDescriptionName { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs index 2e1dd08b..8e32d1c1 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushPullService.cs @@ -49,7 +49,7 @@ public class TrackPushPullService : ApplicationService x.OrderNo }).ToList(); - // 批量获取轨迹 + // 批量获取轨迹 这里报错了,我先随便给个 写死的主体值 await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync( "A012", group.Key.ServiceProviderCode, data, GlobalConst.TrackRefreshSubscribe, JsonConvert.SerializeObject(group.Key)); diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs index 69d5f706..66f704a3 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs @@ -108,6 +108,18 @@ public class OrderEntity : IFullAuditedBasicEntitys, IAggregateRoot [SugarColumn(ColumnName = "LeaveCountry")] public string LeaveCountry { get; set; } = null!; + /// + /// 问题类型(主数据枚举TrackQuestionType) + /// + [SugarColumn(ColumnName = "QuestionType")] + public int QuestionType { get; set; } + + /// + /// 问题描述(主数据枚举TrackProblemDescription) + /// + [SugarColumn(ColumnName = "ProblemDescription")] + public int ProblemDescription { get; set; } + /// /// 起运港口 /// diff --git a/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs b/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs index c1b97cc5..788c9fb8 100644 --- a/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs +++ b/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs @@ -18,6 +18,25 @@ namespace SJZY.Track.Domain.Dtos.Order ///// //public List? OrderNos { get; set; } + /// + /// 当tab选中 0 默认不传 1 直接写死传值 [1,4] 2 传 [2,4] + /// + public int TabType { get; set; } + + ///// + ///// 当tab选中 1 直接写死传值 [1,4] 2 传 [2,4] + ///// + //public List? QuestionTypeIds { get; set; } + + /// + /// 订单类型 + /// + public int? TrackOrderType { get; set; } + + /// + /// 客户id + /// + public int? CustomerId { get; set; } /// /// 单号 @@ -75,6 +94,11 @@ namespace SJZY.Track.Domain.Dtos.Order /// public string? CustomerCode { get; set; } + /// + /// 客户id + /// + public int CustomerId { get; set; } + ///// ///// 订单明细(json) ///// @@ -124,5 +148,25 @@ namespace SJZY.Track.Domain.Dtos.Order /// 轨迹模板Id数组 /// public List? TrackTemplateIds { get; set; } + + /// + /// 问题类型(主数据枚举TrackQuestionType) + /// + public int QuestionType { get; set; } + + /// + /// 问题类型名称 + /// + public string? QuestionTypeName { get; set; } + + /// + /// 问题描述(主数据枚举TrackProblemDescription) + /// + public int ProblemDescription { get; set; } + + /// + /// 问题描述名称 + /// + public string? ProblemDescriptionName { get; set; } } } diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index be9cc648..e160ec0b 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -5,6 +5,7 @@ using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate; using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.VEntities; using SJZY.Track.Repository.VData.Entitys; +using SqlSugar; namespace SJZY.Track.Repository.Repositories; @@ -121,10 +122,22 @@ public class OrderRepository : BasicRepository, IOrderRepository, I public async Task> GetPageTrackOrder(GetPageTrackOrderInputVO input) { List orderNoList = new List(); + List questionTypeIds = new List(); + int ques = 0; if (!input.OrderNos.IsNullOrWhiteSpace()) { orderNoList = input.OrderNos.Split(new char[] { ',', ',', ':', ':' }).ToList(); } + if (input.TabType==1) + { + questionTypeIds= new List { 1, 4 }; + ques = questionTypeIds.Sum(); + } + else if (input.TabType==2) + { + questionTypeIds= new List { 2, 4 }; + ques = questionTypeIds.Sum(); + } var pageList = await Context.Queryable() .LeftJoin((a, b) => a.CustomId == b.Id && b.IsDeleted == false) @@ -137,6 +150,9 @@ public class OrderRepository : BasicRepository, IOrderRepository, I (a, b, c) => a.CreateTime >= input.CreateTimeStart) .WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue, (a, b, c) => a.CreateTime <= input.CreateTimeEnd) + .WhereIF(input.CustomerId>0, (a, b, c) => a.CustomId==input.CustomerId) + .WhereIF(input.TrackOrderType>0, (a, b, c) => a.OrderType==input.TrackOrderType) + .WhereIF(input.TabType>0 && (!questionTypeIds.IsNullOrEmpty()), (a, b, c) => (a.QuestionType&ques)>0) .OrderByDescending((a, b, c) => a.CreateTime) .Select((a, b, c) => new TrackOrderVO { @@ -148,6 +164,11 @@ public class OrderRepository : BasicRepository, IOrderRepository, I .Return("箱/袋单").ElseIF(a.OrderType == 4).Return("FBA订单").End(""), CustomerShortName = b.Abbreviation, CustomerCode = b.Code, + CustomerId = a.CustomId, + QuestionType = a.QuestionType, + QuestionTypeName = SqlFunc.IF(a.QuestionType == 1).Return("异常").ElseIF(a.QuestionType == 2).Return("预警").End(""), + ProblemDescription = a.ProblemDescription, + ProblemDescriptionName =SqlFunc.IF(a.ProblemDescription == 1).Return("推送异常").ElseIF(a.ProblemDescription == 2).Return("推送预警").End(""), //TrackTemplateNames = SqlFunc.Subqueryable() // .LeftJoin((aa, bb) => aa.TrackTemplateId == bb.Id) // .Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","), @@ -206,7 +227,7 @@ public class OrderRepository : BasicRepository, IOrderRepository, I a.TrackTemplateNames = trackTemplateList.Where(b => b.OrderId == a.Id).Select(a => a.Name) .JoinAsString(","); - a.TrackTemplateIds = trackTemplateList.Where(b => b.OrderId == a.Id).Select(a => a.TemplateId).ToList(); + a.TrackTemplateIds = trackTemplateList.Where(b => b.OrderId == a.Id).Where(b => b.TemplateId>0).Select(a => a.TemplateId).ToList(); }); }