获取分页的轨迹订单
This commit is contained in:
parent
2e125f8662
commit
159ac8b029
@ -1,7 +1,9 @@
|
||||
using AutoMapper;
|
||||
using AutoMapper.Internal.Mappers;
|
||||
using SJZY.Track.Application.Dtos.ProvideServices;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Dtos.Order;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace SJZY.Track.Application.AutoMapper;
|
||||
|
||||
@ -18,5 +20,7 @@ public class OrderAutoMapperProfile : Profile
|
||||
CreateMap<OrderFligthInfo, OrderFlightEntity>(MemberList.None);
|
||||
|
||||
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
|
||||
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
|
||||
CreateMap<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(MemberList.None);
|
||||
}
|
||||
}
|
||||
@ -26,7 +26,7 @@ namespace SJZY.Track.Application.Dtos.ProvideServices
|
||||
/// <summary>
|
||||
/// 创建时间截止
|
||||
/// </summary>
|
||||
public DateTime? createTimeEnd { get; set; }
|
||||
public DateTime? CreateTimeEnd { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -40,11 +40,63 @@ namespace SJZY.Track.Application.Dtos.ProvideServices
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单类型
|
||||
/// 订单类型id
|
||||
/// </summary>
|
||||
public string OrderType { get; set; }
|
||||
public int OrderType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string? OrderNumber { get; set; }
|
||||
|
||||
public string OrderNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 轨迹模版
|
||||
/// </summary>
|
||||
public string? TrackTemplateNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户简称
|
||||
/// </summary>
|
||||
public string? CustomerShortName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户代码
|
||||
/// </summary>
|
||||
public string? CustomerCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单明细(json)
|
||||
/// </summary>
|
||||
public string? OrderDetails { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹内容
|
||||
/// </summary>
|
||||
public string? NewestTrackContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹内容英文
|
||||
/// </summary>
|
||||
public string? NewestTrackEnContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹发生地
|
||||
/// </summary>
|
||||
public string? NewestTrackPlace { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否完结
|
||||
/// </summary>
|
||||
public bool IsFinish { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子系统
|
||||
/// </summary>
|
||||
public string SubSystem { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using SJZY.Track.Application.Dtos.ProvideServices;
|
||||
using SJZY.Expand.ABP.Core.Common.Dto;
|
||||
using SJZY.Track.Application.Dtos.ProvideServices;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Dtos.Order;
|
||||
|
||||
@ -91,9 +92,9 @@ public class OrderService : ApplicationService
|
||||
public async Task<UnifyPageResultDto<TrackOrderDto>> GetPageTrackOrder(GetPageTrackOrderInput input)
|
||||
{
|
||||
var vo = ObjectMapper.Map<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(input);
|
||||
var jj = await _orderRepository.GetPageTrackOrder(vo);
|
||||
|
||||
return null;
|
||||
var pageList = await _orderRepository.GetPageTrackOrder(vo);
|
||||
var pageResultDto = ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
|
||||
return pageResultDto;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -40,16 +40,63 @@ namespace SJZY.Track.Domain.Dtos.Order
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单类型
|
||||
/// 订单类型id
|
||||
/// </summary>
|
||||
public string OrderType { get; set; }
|
||||
public int OrderType { get; set; }
|
||||
|
||||
|
||||
public string OrderNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string? OrderNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模版
|
||||
/// </summary>
|
||||
public string TrackTemplateNames { get; set; }
|
||||
public string? TrackTemplateNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户简称
|
||||
/// </summary>
|
||||
public string? CustomerShortName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户代码
|
||||
/// </summary>
|
||||
public string? CustomerCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单明细(json)
|
||||
/// </summary>
|
||||
public string? OrderDetails { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹内容
|
||||
/// </summary>
|
||||
public string? NewestTrackContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹内容英文
|
||||
/// </summary>
|
||||
public string? NewestTrackEnContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹发生地
|
||||
/// </summary>
|
||||
public string? NewestTrackPlace { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否完结
|
||||
/// </summary>
|
||||
public bool IsFinish { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime? CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 子系统
|
||||
/// </summary>
|
||||
public string SubSystem { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
using SJZY.Track.Domain;
|
||||
using Nest;
|
||||
using SJZY.Track.Domain;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||
using SJZY.Track.Domain.Dtos.Order;
|
||||
using SJZY.Track.Domain.VEntities;
|
||||
using SJZY.Track.Repository.VData.Entitys;
|
||||
|
||||
namespace SJZY.Track.Repository;
|
||||
|
||||
@ -81,29 +85,47 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
||||
/// <returns></returns>
|
||||
public async Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input)
|
||||
{
|
||||
//await Context.Queryable<OrderEntity, OrderTemplateEntity>((a,b)= );
|
||||
//await Context.Queryable<OrderEntity, OrderTemplateEntity>((a, b) => new JoinQueryInfos(JoinType.Left, a.Id==b.OrderId))
|
||||
// .GroupBy((a, b) => new { a.Id })
|
||||
// .Select((a, b) => new TrackOrderVO
|
||||
// {
|
||||
// Id=a.Id,
|
||||
// OrderNumber=a.OrderNo,
|
||||
// TrackTemplateNames = SqlFunc.AggregateConcat(b.)
|
||||
var pageList = await Context.Queryable<OrderEntity>()
|
||||
.LeftJoin<VExternalSubjectEntity>((a, b) => a.CustomId==b.Id)
|
||||
.LeftJoin<VSystemEntity>((a, b, c) => a.SubSystemId==c.Id)
|
||||
.Select((a, b, c) => new TrackOrderVO
|
||||
{
|
||||
Id = a.Id,
|
||||
OrderNumber= a.OrderNo,
|
||||
OrderType = a.OrderType,
|
||||
CustomerShortName= b.Abbreviation,
|
||||
CustomerCode= b.Code,
|
||||
TrackTemplateNames = "",
|
||||
OrderDetails="",
|
||||
NewestTrackContent= a.LatestTrackContent,
|
||||
NewestTrackEnContent= a.LatestTrackEnContent,
|
||||
NewestTrackPlace= a.LatestTrackPlace,
|
||||
IsFinish=a.IsCompleted,
|
||||
CreateTime=a.CreateTime,
|
||||
SubSystem= c.CnName
|
||||
})
|
||||
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
||||
|
||||
if (pageList.List.Any())
|
||||
{
|
||||
var orderIds = pageList.List.Select(a => a.Id);
|
||||
//查询轨迹模版
|
||||
|
||||
|
||||
// }).ToPageListAsync(input.PageIndex, input.PageSize);
|
||||
var trackTemplateList = await Context.Queryable<OrderTemplateEntity>()
|
||||
.LeftJoin<TrackTemplateEntity>((a, b) => a.TrackTemplateId==b.Id)
|
||||
.Where((a, b) => orderIds.Contains(a.OrderId))
|
||||
.Select((a, b) => new { OrderId = a.OrderId, Name = b.Name })
|
||||
.ToListAsync();
|
||||
|
||||
//await Context.Queryable<OrderEntity>()
|
||||
// .Includes(a => a.OrderTemplates)
|
||||
// .Select(a => new TrackOrderVO
|
||||
// {
|
||||
// Id=a.Id,
|
||||
// OrderNumber=a.OrderNo,
|
||||
// TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>().Where(z=>z.OrderId==a.Id).SelectStringJoin(z=>z.)
|
||||
// })
|
||||
// .ToPageListAsync(input.PageIndex, input.PageSize);
|
||||
pageList.List.ForEach(a =>
|
||||
{
|
||||
var templateListOfOrderId = trackTemplateList.Where(b => b.OrderId== a.Id);
|
||||
a.TrackTemplateNames = templateListOfOrderId.Select(c => c.Name).JoinAsString(",");
|
||||
});
|
||||
}
|
||||
|
||||
return null;
|
||||
return pageList;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Loading…
Reference in New Issue
Block a user