轨迹明细调整
This commit is contained in:
parent
54a7f48ce4
commit
cd60b420ac
@ -1,4 +1,6 @@
|
||||
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices
|
||||
using System.Reflection.Metadata.Ecma335;
|
||||
|
||||
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices
|
||||
{
|
||||
public class GetOrderDetailsInput
|
||||
{
|
||||
@ -11,6 +13,11 @@
|
||||
/// 子系统id
|
||||
/// </summary>
|
||||
public int SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模板Id
|
||||
/// </summary>
|
||||
public List<int>? TrackTemplateIds { get; set; } = new List<int>();
|
||||
}
|
||||
|
||||
public class TrackOrderDetailDto
|
||||
|
||||
@ -15,7 +15,7 @@ public class GetPageTrackOrderInput : PageInfoInput
|
||||
/// <summary>
|
||||
/// 单号
|
||||
/// </summary>
|
||||
public string? OrderNos { get; set; }
|
||||
public string? OrderNos { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间开始
|
||||
@ -58,6 +58,11 @@ public class TrackOrderDto
|
||||
/// </summary>
|
||||
public string? TrackTemplateNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模板Id数组
|
||||
/// </summary>
|
||||
public List<int>? TrackTemplateIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户简称
|
||||
/// </summary>
|
||||
@ -108,5 +113,5 @@ public class TrackOrderDto
|
||||
/// </summary>
|
||||
public string SubSystem { get; set; }
|
||||
|
||||
public int SubSystemId { get;set; }
|
||||
public int SubSystemId { get; set; }
|
||||
}
|
||||
@ -45,11 +45,12 @@ namespace SJZY.Track.Application.Services.TrackOrders
|
||||
if (!trackDetails.IsNullOrEmpty())
|
||||
{
|
||||
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
|
||||
var trackCodes = list.Where(a => !a.Code.IsNullOrWhiteSpace()).Select(a => a.Code).ToList();
|
||||
var trackCodes = list.Where(a => !a.Code.IsNullOrWhiteSpace()).Select(a => a.Code).Distinct().ToList();
|
||||
|
||||
var trackContents = await _trackContentRepository.GetTrackContentAttributeValue(new GetTemplateContentAttributeValueInputVO
|
||||
{
|
||||
SubSystemId =input.SubSystemId,
|
||||
TrackTemplateIds = input.TrackTemplateIds,
|
||||
TrackCodes=trackCodes
|
||||
});
|
||||
|
||||
@ -57,13 +58,16 @@ namespace SJZY.Track.Application.Services.TrackOrders
|
||||
list.ForEach(a =>
|
||||
{
|
||||
a.Id = id++;
|
||||
var trackContent = trackContents.FirstOrDefault(b => b.SubSystemId==input.SubSystemId&& b.TrackCode==a.Code);
|
||||
|
||||
var trackContentsOfTemplates = trackContents.Where(b => b.SubSystemId==input.SubSystemId && b.TrackCode==a.Code
|
||||
&& input.TrackTemplateIds.Contains(b.TrackTemplateId));
|
||||
var trackContent = trackContentsOfTemplates.FirstOrDefault();
|
||||
if (trackContent!=null)
|
||||
{
|
||||
a.IsCanDelete=trackContent.IsCanDelete;
|
||||
a.IsExternal = trackContent.IsExternal;
|
||||
}
|
||||
if (a.TrackTimeZoneValue==0)
|
||||
if (a.TrackTimeZoneValue==0f)
|
||||
{
|
||||
a.TrackTimeZone=$"GTM{" "}+00:00";
|
||||
}
|
||||
|
||||
@ -119,5 +119,10 @@ namespace SJZY.Track.Domain.Dtos.Order
|
||||
/// 子系统id
|
||||
/// </summary>
|
||||
public int SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模板Id数组
|
||||
/// </summary>
|
||||
public List<int>? TrackTemplateIds { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,12 @@ namespace SJZY.Track.Domain.Dtos.TrackTemplate
|
||||
/// <summary>
|
||||
/// 轨迹代码
|
||||
/// </summary>
|
||||
public List<string?>? TrackCodes { get; set; }
|
||||
public List<string?>? TrackCodes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹模板Id
|
||||
/// </summary>
|
||||
public List<int>? TrackTemplateIds { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 订单id
|
||||
@ -34,7 +39,7 @@ namespace SJZY.Track.Domain.Dtos.TrackTemplate
|
||||
/// <summary>
|
||||
/// 模版id
|
||||
/// </summary>
|
||||
public int TrackTemplateId { get; set; }
|
||||
public int TrackTemplateId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹内容代码
|
||||
|
||||
@ -148,9 +148,13 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
||||
.Return("箱/袋单").ElseIF(a.OrderType == 4).Return("FBA订单").End(""),
|
||||
CustomerShortName = b.Abbreviation,
|
||||
CustomerCode = b.Code,
|
||||
TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
||||
.LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
||||
.Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","),
|
||||
//TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
||||
// .LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
||||
// .Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","),
|
||||
|
||||
//TrackTemplateIds = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
||||
// .LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
||||
// .Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Id, ","),
|
||||
NewestTrackContent = a.LatestTrackContent,
|
||||
NewestTrackEnContent = a.LatestTrackEnContent,
|
||||
NewestTrackPlace = a.LatestTrackPlace,
|
||||
@ -166,34 +170,41 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
||||
{
|
||||
//查询也需要最新的轨迹
|
||||
var orderIds = pageList.List.Select(a => a.Id).ToList();
|
||||
//查询轨迹模版
|
||||
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, TemplateId = b.Id })
|
||||
.ToListAsync();
|
||||
var esTrackDetails = await _trackDetailsRepository.GetListAsync(orderIds);
|
||||
if (!esTrackDetails.IsNullOrEmpty())
|
||||
pageList.List.ForEach(a =>
|
||||
{
|
||||
pageList.List.ForEach(a =>
|
||||
var esDetails = esTrackDetails?.Where(b => b.OrderId== a.Id).OrderByDescending(b => b.TrackTime);
|
||||
var trackDetail = esDetails?.FirstOrDefault();
|
||||
if (trackDetail!=null)
|
||||
{
|
||||
var esDetails = esTrackDetails.Where(b => b.OrderId== a.Id).OrderByDescending(b => b.TrackTime);
|
||||
var trackDetail = esDetails.FirstOrDefault();
|
||||
if (trackDetail!=null)
|
||||
if (trackDetail.TrackContent!=a.NewestTrackContent)
|
||||
{
|
||||
if (trackDetail.TrackContent!=a.NewestTrackContent)
|
||||
{
|
||||
a.NewestTrackContent=trackDetail.TrackContent;
|
||||
}
|
||||
if (trackDetail.TrackEnContent!=a.NewestTrackEnContent)
|
||||
{
|
||||
a.NewestTrackEnContent=trackDetail.TrackEnContent;
|
||||
}
|
||||
if (trackDetail.TrackPlace!=a.NewestTrackPlace)
|
||||
{
|
||||
a.NewestTrackPlace=trackDetail.TrackPlace;
|
||||
}
|
||||
if (trackDetail.TrackTime!= a.NewestTrackTime)
|
||||
{
|
||||
a.NewestTrackTime=trackDetail.TrackTime;
|
||||
}
|
||||
a.NewestTrackContent=trackDetail.TrackContent;
|
||||
}
|
||||
});
|
||||
}
|
||||
if (trackDetail.TrackEnContent!=a.NewestTrackEnContent)
|
||||
{
|
||||
a.NewestTrackEnContent=trackDetail.TrackEnContent;
|
||||
}
|
||||
if (trackDetail.TrackPlace!=a.NewestTrackPlace)
|
||||
{
|
||||
a.NewestTrackPlace=trackDetail.TrackPlace;
|
||||
}
|
||||
if (trackDetail.TrackTime!= a.NewestTrackTime)
|
||||
{
|
||||
a.NewestTrackTime=trackDetail.TrackTime;
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -101,6 +101,7 @@ public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrac
|
||||
.LeftJoin<TrackTemplateEntity>((a, b, c) => b.TrackTemplateId==c.Id&& c.IsDeleted==false)
|
||||
.WhereIF(!input.TrackCodes.IsNullOrEmpty(), (a, b, c) => input.TrackCodes.Contains(a.Code))
|
||||
.WhereIF(input.SubSystemId>0, (a, b, c) => a.SubSystemId==input.SubSystemId)
|
||||
.WhereIF(!input.TrackTemplateIds.IsNullOrEmpty(), (a, b, c) => input.TrackTemplateIds.Contains(c.Id))
|
||||
.Where((a, b, c) => c.Id>0)
|
||||
.Select((a, b, c) => new GetTemplateContentAttributeValueVO
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user