轨迹明细调整
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
|
public class GetOrderDetailsInput
|
||||||
{
|
{
|
||||||
@ -11,6 +13,11 @@
|
|||||||
/// 子系统id
|
/// 子系统id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SubSystemId { get; set; }
|
public int SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹模板Id
|
||||||
|
/// </summary>
|
||||||
|
public List<int>? TrackTemplateIds { get; set; } = new List<int>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrackOrderDetailDto
|
public class TrackOrderDetailDto
|
||||||
|
|||||||
@ -58,6 +58,11 @@ public class TrackOrderDto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? TrackTemplateNames { get; set; }
|
public string? TrackTemplateNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹模板Id数组
|
||||||
|
/// </summary>
|
||||||
|
public List<int>? TrackTemplateIds { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 客户简称
|
/// 客户简称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -45,11 +45,12 @@ namespace SJZY.Track.Application.Services.TrackOrders
|
|||||||
if (!trackDetails.IsNullOrEmpty())
|
if (!trackDetails.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
|
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
|
var trackContents = await _trackContentRepository.GetTrackContentAttributeValue(new GetTemplateContentAttributeValueInputVO
|
||||||
{
|
{
|
||||||
SubSystemId =input.SubSystemId,
|
SubSystemId =input.SubSystemId,
|
||||||
|
TrackTemplateIds = input.TrackTemplateIds,
|
||||||
TrackCodes=trackCodes
|
TrackCodes=trackCodes
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -57,13 +58,16 @@ namespace SJZY.Track.Application.Services.TrackOrders
|
|||||||
list.ForEach(a =>
|
list.ForEach(a =>
|
||||||
{
|
{
|
||||||
a.Id = id++;
|
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)
|
if (trackContent!=null)
|
||||||
{
|
{
|
||||||
a.IsCanDelete=trackContent.IsCanDelete;
|
a.IsCanDelete=trackContent.IsCanDelete;
|
||||||
a.IsExternal = trackContent.IsExternal;
|
a.IsExternal = trackContent.IsExternal;
|
||||||
}
|
}
|
||||||
if (a.TrackTimeZoneValue==0)
|
if (a.TrackTimeZoneValue==0f)
|
||||||
{
|
{
|
||||||
a.TrackTimeZone=$"GTM{" "}+00:00";
|
a.TrackTimeZone=$"GTM{" "}+00:00";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,5 +119,10 @@ namespace SJZY.Track.Domain.Dtos.Order
|
|||||||
/// 子系统id
|
/// 子系统id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SubSystemId { get; set; }
|
public int SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹模板Id数组
|
||||||
|
/// </summary>
|
||||||
|
public List<int>? TrackTemplateIds { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,11 @@ 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>
|
///// <summary>
|
||||||
///// 订单id
|
///// 订单id
|
||||||
///// </summary>
|
///// </summary>
|
||||||
|
|||||||
@ -148,9 +148,13 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
.Return("箱/袋单").ElseIF(a.OrderType == 4).Return("FBA订单").End(""),
|
.Return("箱/袋单").ElseIF(a.OrderType == 4).Return("FBA订单").End(""),
|
||||||
CustomerShortName = b.Abbreviation,
|
CustomerShortName = b.Abbreviation,
|
||||||
CustomerCode = b.Code,
|
CustomerCode = b.Code,
|
||||||
TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
//TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
||||||
.LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
// .LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
||||||
.Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","),
|
// .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,
|
NewestTrackContent = a.LatestTrackContent,
|
||||||
NewestTrackEnContent = a.LatestTrackEnContent,
|
NewestTrackEnContent = a.LatestTrackEnContent,
|
||||||
NewestTrackPlace = a.LatestTrackPlace,
|
NewestTrackPlace = a.LatestTrackPlace,
|
||||||
@ -166,13 +170,17 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
{
|
{
|
||||||
//查询也需要最新的轨迹
|
//查询也需要最新的轨迹
|
||||||
var orderIds = pageList.List.Select(a => a.Id).ToList();
|
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);
|
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 esDetails = esTrackDetails?.Where(b => b.OrderId== a.Id).OrderByDescending(b => b.TrackTime);
|
||||||
var trackDetail = esDetails.FirstOrDefault();
|
var trackDetail = esDetails?.FirstOrDefault();
|
||||||
if (trackDetail!=null)
|
if (trackDetail!=null)
|
||||||
{
|
{
|
||||||
if (trackDetail.TrackContent!=a.NewestTrackContent)
|
if (trackDetail.TrackContent!=a.NewestTrackContent)
|
||||||
@ -192,8 +200,11 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
a.NewestTrackTime=trackDetail.TrackTime;
|
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)
|
.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.TrackCodes.IsNullOrEmpty(), (a, b, c) => input.TrackCodes.Contains(a.Code))
|
||||||
.WhereIF(input.SubSystemId>0, (a, b, c) => a.SubSystemId==input.SubSystemId)
|
.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)
|
.Where((a, b, c) => c.Id>0)
|
||||||
.Select((a, b, c) => new GetTemplateContentAttributeValueVO
|
.Select((a, b, c) => new GetTemplateContentAttributeValueVO
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user