jianghaiqing 1 year ago
commit 4ada8d21f1

@ -9,6 +9,7 @@ using Myshipping.Core;
using Myshipping.Core.Entity; using Myshipping.Core.Entity;
using Myshipping.Core.Helper; using Myshipping.Core.Helper;
using Myshipping.Core.Service; using Myshipping.Core.Service;
using Myshipping.Core.Service.Dict.Dto;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using NPOI.HSSF.UserModel; using NPOI.HSSF.UserModel;
using SqlSugar; using SqlSugar;
@ -171,7 +172,7 @@ namespace Myshipping.Application.EDI
// 12:提单号:中转港:目的港:货代代码:船公司:HPL参考号:特殊说明 // 12:提单号:中转港:目的港:货代代码:船公司:HPL参考号:特殊说明
sbData.AppendLine($"12:{order.MBLNO}:{order.TRANSPORTID}:{order.PORTDISCHARGEID}:{paraXHZ.ItemCode}:{GetCarrierEDICode(order.CARRIERID, "XHZ_GLJ")}:{(order.CARRIERID == hlcCode ? order.CUSTNO : "")}:{ExchangeStr(order.YARDREMARK)}"); //主提单 中转港代码 目的港代码 货代代码 船公司 HPL参考号 备注 sbData.AppendLine($"12:{order.MBLNO}:{order.TRANSPORTID}:{order.PORTDISCHARGEID}:{paraXHZ.ItemCode}:{GetCarrierEDICode(order.CARRIERID, "XHZ_GLJ")}:{(order.CARRIERID == hlcCode ? order.CUSTNO : "")}:{ExchangeStr(order.YARDREMARK)}"); //主提单 中转港代码 目的港代码 货代代码 船公司 HPL参考号 备注
//2021-8-17报文中不能体现英文字符①【:】②【,】,以空格代替 //2021-8-17报文中不能体现英文字符①【:】②【,】,以空格代替
/* /*
* QDAC064651 28600 EDI28  * QDAC064651 28600 EDI28 
255 255
@ -203,7 +204,7 @@ namespace Myshipping.Application.EDI
return new KeyValuePair<bool, string>(false, $"箱型({ctn.CTNALL}不匹配EDI类型XHZ_GLJ无法发送下货纸请联系管理员"); return new KeyValuePair<bool, string>(false, $"箱型({ctn.CTNALL}不匹配EDI类型XHZ_GLJ无法发送下货纸请联系管理员");
} }
sbData.AppendLine($"13:{(order.ISCONTAINERSOC.HasValue && order.ISCONTAINERSOC.Value ? "SOC" : GetCarrierEDICode(order.CARRIERID, "XHZ_GLJ"))}:{ctnFind.Size}:{ctnEdi.MapCode}:{ctn.CTNNUM}:{ExchangeStr(ctn.REMARK)}:N");//箱经营人代码 尺寸 箱型 箱数 备注 加重箱 sbData.AppendLine($"13:{(order.ISCONTAINERSOC.HasValue && order.ISCONTAINERSOC.Value ? "SOC" : GetCtnForCarrier(order.CARRIERID, "XHZ_GLJ", dictData))}:{ctnFind.Size}:{ctnEdi.MapCode}:{ctn.CTNNUM}:{ExchangeStr(ctn.REMARK)}:N");//箱经营人代码 尺寸 箱型 箱数 备注 加重箱
} }
Log.Information($"生成下货纸报文:{sbData.ToString()}"); Log.Information($"生成下货纸报文:{sbData.ToString()}");
@ -808,7 +809,7 @@ namespace Myshipping.Application.EDI
return new KeyValuePair<bool, string>(false, $"箱型({ctn.CTNALL}不匹配EDI类型XHZ_GLX无法发送下货纸请联系管理员"); return new KeyValuePair<bool, string>(false, $"箱型({ctn.CTNALL}不匹配EDI类型XHZ_GLX无法发送下货纸请联系管理员");
} }
sbData.AppendLine($"13:{(order.ISCONTAINERSOC.HasValue && order.ISCONTAINERSOC.Value ? "SOC" : GetCarrierEDICode(order.CARRIERID, "XHZ_GLX"))}:{ctnFind.Size}:{ctnEdi.MapCode}:{ctn.CTNNUM}:{ExchangeStr(ctn.REMARK)}:N");//箱经营人代码 尺寸 箱型 箱数 备注 加重箱 sbData.AppendLine($"13:{(order.ISCONTAINERSOC.HasValue && order.ISCONTAINERSOC.Value ? "SOC" : GetCtnForCarrier(order.CARRIERID, "XHZ_GLJ", dictData))}:{ctnFind.Size}:{ctnEdi.MapCode}:{ctn.CTNNUM}:{ExchangeStr(ctn.REMARK)}:N");//箱经营人代码 尺寸 箱型 箱数 备注 加重箱
} }
Log.Information($"生成下货纸报文:{sbData.ToString()}"); Log.Information($"生成下货纸报文:{sbData.ToString()}");
@ -997,6 +998,24 @@ namespace Myshipping.Application.EDI
return EDICODE; return EDICODE;
} }
/// <summary>
/// 获取箱属船司代码
/// </summary>
/// <returns></returns>
public static string GetCtnForCarrier(string carrid, string EDINAME, List<DictDataDto> dictData)
{
var xiaHuoZhiCarrierBelongMapping = dictData.Where(x => x.TypeCode == "XiaHuoZhiCarrierBelongMapping").ToList();//港联捷、港联欣下货纸的箱属映射配置
var map = xiaHuoZhiCarrierBelongMapping.FirstOrDefault(x => x.Code == carrid);
if (map != null)
{
return map.Value;
}
else
{
return GetCarrierEDICode(carrid, EDINAME);
}
}
//获取付费方式edi代码根据东胜7同功能模块代码翻译而成 //获取付费方式edi代码根据东胜7同功能模块代码翻译而成
public static string GetFrtEDICode(string FRT) public static string GetFrtEDICode(string FRT)

@ -3662,8 +3662,9 @@ namespace Myshipping.Application
throw Oops.Bah(BookingErrorCode.BOOK127); throw Oops.Bah(BookingErrorCode.BOOK127);
} }
var config = _cache.GetAllTenantParam().Result.FirstOrDefault(x => x.TenantId == UserManager.TENANT_ID && x.ParaCode == "VGM_SEND_CHANNEL"); var config = _cache.GetAllTenantParam().Result.FirstOrDefault(x => x.TenantId == UserManager.TENANT_ID && x.ParaCode == "VgmDirectSendCarrierId");
if (config != null && config.ItemCode == "USE_MYSHIPPING") //使用大简云发送vgm var arrCarr = config.ItemCode.Split(",", StringSplitOptions.RemoveEmptyEntries);
if (!arrCarr.Contains(order.CARRIERID)) //使用大简云发送vgm
{ {
//ETD不能为空 //ETD不能为空
if (!order.ETD.HasValue) if (!order.ETD.HasValue)

Loading…
Cancel
Save