diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs index ad2ce561..093300b5 100644 --- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs +++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs @@ -5355,7 +5355,35 @@ namespace Myshipping.Application throw Oops.Bah(rtn.Value); } - return rtn.Value; + //场站引入的数据,转换为订舱箱型,且带上箱型代码 + var ctnList = await _cache.GetAllCodeCtn(); + var mapCtn = await _cache.GetAllMappingCtn(); + + var jData = JArray.Parse(rtn.Value); + foreach (JObject item in jData) + { + var ctnall = item.GetStringValue("CTNALL"); + var findMap = mapCtn.FirstOrDefault(x => x.Module == "YardData" && x.MapCode == ctnall); + var findCtn = ctnList.FirstOrDefault(x => x.Name == ctnall); + if (findMap != null) + { + item.Add("CtnCode", findMap.Code); + + findCtn = ctnList.First(c => c.Code == findMap.Code); + item["CTNALL"] = findCtn.Name; //名称显示维护的箱型 + } + else if (findCtn != null) + { + item.Add("CtnCode", findCtn.Code); + item["CTNALL"] = findCtn.Name; //名称显示维护的箱型 + } + else + { + throw Oops.Bah($"未找到箱型{ctnall}的场站引入配置"); + } + } + + return jData.ToString(); } /// diff --git a/Myshipping.Core/Extension/JsonExtension.cs b/Myshipping.Core/Extension/JsonExtension.cs index 1628f0a9..5c6accc1 100644 --- a/Myshipping.Core/Extension/JsonExtension.cs +++ b/Myshipping.Core/Extension/JsonExtension.cs @@ -26,6 +26,23 @@ namespace Myshipping.Core return jt as JObject; } + /// + /// 获取JArray + /// + /// + /// + /// + public static JArray GetJArrayValue(this JObject jobj, string prop) + { + var jt = jobj[prop]; + if (jt == null) + { + return null; + } + + return jt as JArray; + } + /// /// 获取字符串值 /// diff --git a/Myshipping.Core/Myshipping.Core.xml b/Myshipping.Core/Myshipping.Core.xml index 058e069b..42bcd889 100644 --- a/Myshipping.Core/Myshipping.Core.xml +++ b/Myshipping.Core/Myshipping.Core.xml @@ -5350,6 +5350,14 @@ + + + 获取JArray + + + + + 获取字符串值