diff --git a/Myshipping.Application/Service/EmbedProjectGoodsStatus/Dtos/QueryTraceAfterPortResultDto.cs b/Myshipping.Application/Service/EmbedProjectGoodsStatus/Dtos/QueryTraceAfterPortResultDto.cs index 2e7e818c..70a516e1 100644 --- a/Myshipping.Application/Service/EmbedProjectGoodsStatus/Dtos/QueryTraceAfterPortResultDto.cs +++ b/Myshipping.Application/Service/EmbedProjectGoodsStatus/Dtos/QueryTraceAfterPortResultDto.cs @@ -339,6 +339,11 @@ namespace Myshipping.Application /// public string currentNodeCd { get; set; } + /// + /// 箱型名称 + /// + public string sizeName { get; set; } + /// /// 集装箱状态信息 /// diff --git a/Myshipping.Application/Service/EmbedProjectGoodsStatus/EmbedTraceProductService.cs b/Myshipping.Application/Service/EmbedProjectGoodsStatus/EmbedTraceProductService.cs index ab80a334..7465219e 100644 --- a/Myshipping.Application/Service/EmbedProjectGoodsStatus/EmbedTraceProductService.cs +++ b/Myshipping.Application/Service/EmbedProjectGoodsStatus/EmbedTraceProductService.cs @@ -91,7 +91,7 @@ namespace Myshipping.Application .Where(t => t.TypeCode.Equals("after_port_trace_ctn_status", StringComparison.OrdinalIgnoreCase)).ToList(); //按顺序取状态配置字典 - Dictionary> statusEnumDict = statusDict.Select(a => new { Key = a.Code, Val = new Tuple(a.Value, a.Sort), Sort = a.Sort }) + Dictionary> statusEnumDict = statusDict.Select(a => new { Key = a.Code, Val = new Tuple(a.Value,a.Remark, a.Sort), Sort = a.Sort }) .OrderBy(a => a.Sort).ToDictionary(a => a.Key, b => b.Val); string[] skipStatus = new string[] { "GIOI", "LOFV", "FVD", "FVA", "DFFV", "LOR", "DFR", "RA", "DIFR", "LOT", "DIFT", "ADI", "DIDI", "CGRL", "RFP" }; @@ -105,6 +105,9 @@ namespace Myshipping.Application if (result != null && result.resultData != null) { + //这里需要翻译一下箱型 + var ctnCodeMappingList = _cache.GetAllMappingCtn().GetAwaiter().GetResult().ToList(); + Dictionary referToCtnDict = new Dictionary(); bool isTransfer = false; @@ -113,7 +116,14 @@ namespace Myshipping.Application { result.resultData.containerInfoList.ForEach(s => { - if(s.containerStatusInfoList != null && s.containerStatusInfoList.Count > 0) + var ctnMapping = ctnCodeMappingList.FirstOrDefault(t => t.MapCode.Equals(s.size)); + + if(ctnMapping != null) + { + s.sizeName = ctnMapping.MapName?.Trim(); + } + + if (s.containerStatusInfoList != null && s.containerStatusInfoList.Count > 0) { referToCtnDict.Add(s.containerNo, s.containerStatusInfoList.Count); @@ -129,7 +139,7 @@ namespace Myshipping.Application { a.statusCnName = a.statusCd; } - + return a; }).ToList(); } @@ -186,7 +196,7 @@ namespace Myshipping.Application return currStatus; }).ToList(); - foreach (KeyValuePair> kvp in statusEnumDict) + foreach (KeyValuePair> kvp in statusEnumDict) { if(!skipStatus.Contains(kvp.Key)) { @@ -200,11 +210,16 @@ namespace Myshipping.Application currStatus = new EmbedTraceFlowStatusInfo { statusCd = kvp.Key, - statusCnName = kvp.Value.Item1, - sortNo = kvp.Value.Item2, + statusCnName = !string.IsNullOrWhiteSpace(kvp.Value.Item2)? kvp.Value.Item2 : kvp.Value.Item1, + sortNo = kvp.Value.Item3, statusCtnStatic = $"0/{referToCtnDict.Count}", }; } + else + { + if (!string.IsNullOrWhiteSpace(kvp.Value.Item2)) + currStatus.statusCnName = kvp.Value.Item2; + } result.embedTraceFlowStatusList.Add(currStatus); }