修改EDI的Helper

booking_auth_dev
jianghaiqing 2 years ago
parent 1c1120a729
commit 9f9b14dbf1

@ -546,5 +546,28 @@ namespace Myshipping.Application
/// '巴西线的木质包装情况'
/// </summary>
public string wNCM { get; set; }
/*
YML)
*/
/// <summary>
/// ERN CODE
/// </summary>
public string ERNCODE { get; set; }
/// <summary>
/// TAC CODE
/// </summary>
public string TACCODE { get; set; }
/// <summary>
/// VAE CODE
/// </summary>
public string VAECODE { get; set; }
/// <summary>
/// FEC CODE
/// </summary>
public string FECCODE { get; set; }
}
}

@ -1,4 +1,5 @@
using System;
using Furion.LinqBuilder;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@ -270,7 +271,7 @@ namespace Myshipping.Application.EDI.TSL
#endregion
#region 检查
public static string IsCreateTSL(MsTSLEdiModel InttrEdi)
public static string IsCreateTSL(EDIBaseModel InttrEdi)
{
var error = "";
@ -632,7 +633,7 @@ namespace Myshipping.Application.EDI.TSL
{ error = error + "<br />提单号:" + headData.MBLNO + " 封号不能为空"; }
if (headData.BYCOUNTRY == "BRAZIL")
{
if (string.IsNullOrEmpty(ctn.TAREWEIGHT) || Convert.ToDecimal(ctn.TAREWEIGHT) == 0)
if (ctn.TAREWEIGHT == 0)
{ error = error + "<br />提单号:" + headData.MBLNO + " 箱皮重不能为空"; }
}
if (ctn.KINDPKGS != headData.KINDPKGS)
@ -714,7 +715,7 @@ namespace Myshipping.Application.EDI.TSL
#endregion
#region 订舱
public static string CreateEdiTSL(MsTSLEdiModel InttrEdi)
public static string CreateEdiTSL(EDIBaseModel InttrEdi)
{
string filename = InttrEdi.filerpath + "\\" + InttrEdi.BSLIST[0].MBLNO + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt";
@ -1259,7 +1260,7 @@ namespace Myshipping.Application.EDI.TSL
icount = icount + 3;
}
var ctnsumlist = new List<MsOpSeaeCtnEdiModel>();
var ctnsumlist = new List<MsOpSeaeCtnEDIBaseModel>();
foreach (var ctn in bill.CTNLIST)
{
var isfind = false;
@ -1273,7 +1274,7 @@ namespace Myshipping.Application.EDI.TSL
});
if (!isfind)
{
var ctnnum = new MsOpSeaeCtnEdiModel();
var ctnnum = new MsOpSeaeCtnEDIBaseModel();
ctnnum.CTNALLCODE = ctn.CTNALLCODE;
ctnnum.CTNNUM = ctn.CTNNUM;
ctnsumlist.Add(ctnnum);
@ -1313,7 +1314,7 @@ namespace Myshipping.Application.EDI.TSL
#endregion
#region 确认
public static string CreateEdiTSLSI(MsTSLEdiModel InttrEdi)
public static string CreateEdiTSLSI(EDIBaseModel InttrEdi)
{
string filename = InttrEdi.filerpath + "\\" + InttrEdi.BSLIST[0].MBLNO + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt";
@ -1896,7 +1897,7 @@ namespace Myshipping.Application.EDI.TSL
#region 取集装箱分箱_货描、唛头信息
var ctngoodssumlist = new List<MsOpSeaeCtnDetailEdiModel>();
var ctngoodssumlist = new List<MsOpSeaeCtnDetailEDIBaseModel>();
foreach (var ctn in bill.CTNGOODSLIST)
{
var isfind = false;
@ -1912,7 +1913,7 @@ namespace Myshipping.Application.EDI.TSL
});
if (!isfind)
{
var ctnnum = new MsOpSeaeCtnDetailEdiModel();
var ctnnum = new MsOpSeaeCtnDetailEDIBaseModel();
ctnnum.HSCODE = ctn.HSCODE;
ctnnum.KINDPKGS = ctn.KINDPKGS;
ctnnum.KINDPKGS_EDI_CODE = ctn.KINDPKGS_EDI_CODE;
@ -2062,527 +2063,4 @@ namespace Myshipping.Application.EDI.TSL
}
public class MsTSLEdiModel
{
/// <summary>
/// 发送方代码 M
/// </summary>
public string SENDCODE { get; set; }
/// <summary>
/// 发送方名称 M
/// </summary>
public string SENDNAME { get; set; }
/// <summary>
/// 接收方代码 M
/// </summary>
public string RECEIVECODE { get; set; }
/// <summary>
/// 文件类型 (B订舱,E SI确认)M
/// </summary>
public string filetype { get; set; }
/// <summary>
/// 文件功能 (9原始,1 更新,5 退舱 )M
/// </summary>
public string filerole { get; set; }
/// <summary>
/// 文件路径 M
/// </summary>
public string filerpath { get; set; }
/// <summary>
/// 是否使用货代代码。 M
/// </summary>
public bool UseForWarderCode { get; set; }
/// <summary>
/// 货代代码。 O
/// </summary>
public string ForWarderCode { get; set; }
/// <summary>
/// 货代名称 O
/// </summary>
public string ForWarderName { get; set; }
/// <summary>
/// 业务信息列表 M
/// </summary>
public List<MsOpSeaeEdiModel> BSLIST { get; set; }
}
public class MsOpSeaeEdiModel
{
/// <summary>
/// 委托方
/// </summary>
public string WEITUO { get; set; }
/// <summary>
/// 操作英文名称 M
/// </summary>
public string OpEName { get; set; }
/// <summary>
/// 操作电话 M
/// </summary>
public string OpTel { get; set; }
/// <summary>
/// 操作邮箱 M
/// </summary>
public string OpEmail { get; set; }
/// <summary>
/// EDI联系人名称 O
/// </summary>
public string EDIATTN { get; set; }
/// <summary>
/// EDI联系人电话 O
/// </summary>
public string EDIATTNTEL { get; set; }
/// <summary>
/// EDI联系人邮箱 O
/// </summary>
public string EDIATTNEMAIL { get; set; }
/// <summary>
/// 订舱编号 O
/// </summary>
public string ORDERNO { get; set; }
/// <summary>
/// 主提单号 M
/// </summary>
public string MBLNO { get; set; }
/// <summary>
/// 付费方式 M
/// </summary>
public string BLFRT { get; set; }
/// <summary>
/// 船名 O
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 航次 O
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 内部航次 O
/// </summary>
public string NVOYNO { get; set; }
/// <summary>
/// 开船日期 M
/// </summary>
public string ETD { get; set; }
/// <summary>
/// EDI备注
/// </summary>
public string EDIREMARK { get; set; }
/// <summary>
/// SI备注
/// </summary>
public string SIREMARK { get; set; }
/// <summary>
/// 船公司名称 M
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 船公司EDI代码 M
/// </summary>
public string CARRIEREDICODE { get; set; }
/// <summary>
/// 发货人 M
/// </summary>
public string SHIPPER { get; set; }
/// <summary>
/// 收货人 M
/// </summary>
public string CONSIGNEE { get; set; }
/// <summary>
/// 通知人 M
/// </summary>
public string NOTIFYPARTY { get; set; }
/// <summary>
/// 第二通知人
/// </summary>
public string NOTIFYPARTY2 { get; set; }
/// <summary>
/// 收货地所在国家 O
/// </summary>
public string BYCOUNTRY { get; set; }
///// <summary>
///// AMS发货人 O
///// </summary>
//public string AMSSHIPPER { get; set; }
///// <summary>
///// AMS收货人 O
///// </summary>
//public string AMSCONSIGNEE { get; set; }
///// <summary>
///// AMS通知人 O
///// </summary>
//public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// HS编码
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 起运港代码(每船公司可能不同) M
/// </summary>
public string PORTLOADID { get; set; }
/// <summary>
/// 起运港 M
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
///卸货港代码(每船公司可能不同) M
/// </summary>
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港 M
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
///目的地代码(每船公司可能不同)
/// </summary>
public string DESTINATIONID { get; set; }
/// <summary>
/// 目的地
/// </summary>
public string DESTINATION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 货物标识 M
/// </summary>
public string CARGOID { get; set; }
/// <summary>
/// 危险品类别 O
/// </summary>
public string DCLASS { get; set; }
/// <summary>
/// 危险品编号 O
/// </summary>
public string DUNNO { get; set; }
/// <summary>
/// 设置温度 O
/// </summary>
public string TEMPSET { get; set; }
/// <summary>
/// 通风度 O
/// </summary>
public string REEFERF { get; set; }
/// <summary>
/// 湿度
/// </summary>
public string HUMIDITY { get; set; }
/// <summary>
/// 预付地点 O
/// </summary>
public string PREPARDAT { get; set; }
/// <summary>
/// 到付地点 O
/// </summary>
public string PAYABLEAT { get; set; }
/// <summary>
/// 预付地点EDI代码 O
/// </summary>
public string PREPARDATID { get; set; }
/// <summary>
/// 到付地点EDI代码 O
/// </summary>
public string PAYABLEATID { get; set; }
/// <summary>
/// 签单方式 M(SI)
/// </summary>
public string ISSUETYPE { get; set; }
/// <summary>
/// 提单份数 M(SI)
/// </summary>
public string NOBILL { get; set; }
/// <summary>
/// 签单地点 M(SI)
/// </summary>
public string ISSUEPLACE { get; set; }
/// <summary>
/// 提单副本份数 M(SI)
/// </summary>
public string COPYNOBILL { get; set; }
/// <summary>
/// 签单地点EDI代码 M(SI)
/// </summary>
public string ISSUEPLACEID { get; set; }
/// <summary>
/// 运输条款 M
/// </summary>
public string SERVICE { get; set; }
/// <summary>
/// 运费协议号 M
/// </summary>
public string CONTRACTNO { get; set; }
/// <summary>
/// 收货人邮编 O
/// </summary>
public string CONSIGNEEPOSTCODE { get; set; }
/// <summary>
/// 收货人国家 O
/// </summary>
public string CONSIGNEECOUNTRY { get; set; }
/// <summary>
/// 收货人税号 O
/// </summary>
public string CONSIGNEETAXNO { get; set; }
/// <summary>
/// 通知人邮编 O
/// </summary>
public string NOTIFYPARTYPOSTCODE { get; set; }
/// <summary>
/// 通知人国家 O
/// </summary>
public string NOTIFYPARTYCOUNTRY { get; set; }
/// <summary>
/// 通知人税号 O
/// </summary>
public string NOTIFYPARTYTAXNO { get; set; }
/// <summary>
/// 货物NCM编号 O
/// </summary>
public string GOODSNCM { get; set; }
/// <summary>
/// 收货人DOOR地址 O
/// </summary>
public string CONSIGNEEDOORADDR { get; set; }
/// <summary>
/// 发货人DOOR地址 O
/// </summary>
public string SHIPPERDOORADDR { get; set; }
/// <summary>
/// SCAC代码 O
/// </summary>
public string SCACCODE { get; set; }
/// <summary>
/// ITN编号 O
/// </summary>
public string ITNCODE { get; set; }
/// <summary>
/// 是否SOC箱 O
/// </summary>
public bool ISCONTAINERSOC { get; set; }
/// <summary>
/// 拆并单列表 O
/// </summary>
public string BSNOLIST { get; set; }
/// <summary>
/// 集装箱明细 M
/// </summary>
public List<MsOpSeaeCtnEdiModel> CTNLIST { get; set; }
/// <summary>
/// 集装箱多品名明细 M
/// </summary>
public List<MsOpSeaeCtnDetailEdiModel> CTNGOODSLIST { get; set; }
}
public class MsOpSeaeCtnEdiModel
{
/// <summary>
/// 箱型EDI代码 M
/// </summary>
public string CTNALLCODE { get; set; }
public Int32 CTNNUM { get; set; }
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// 封号 M
/// </summary>
public string SEALNO { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
public string TAREWEIGHT { get; set; }
}
public class MsOpSeaeCtnDetailEdiModel
{
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// HS编码 M
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
}
}

@ -284,7 +284,7 @@ namespace Myshipping.Application.EDI.WY
#endregion
#region 检查
public static string IsCreateWYEDI(MsWYEdiModel InttrEdi)
public static string IsCreateWYEDI(EDIBaseModel InttrEdi)
{
var error = "";
@ -617,7 +617,7 @@ namespace Myshipping.Application.EDI.WY
#endregion
#region 生成报文(订舱(filetype=="B"),截单(filetype=="E"))
public static string CreateEdiWY(MsWYEdiModel InttrEdi)
public static string CreateEdiWY(EDIBaseModel InttrEdi)
{
var filetype = "IFTMBF";
@ -782,7 +782,7 @@ namespace Myshipping.Application.EDI.WY
}
var ctnsumlist = new List<MsOpSeaeCtnEdiModel>();
var ctnsumlist = new List<MsOpSeaeCtnEDIBaseModel>();
foreach (var ctn in bill.CTNLIST)
{
var isfind = false;
@ -796,7 +796,7 @@ namespace Myshipping.Application.EDI.WY
});
if (!isfind)
{
var ctnnum = new MsOpSeaeCtnEdiModel();
var ctnnum = new MsOpSeaeCtnEDIBaseModel();
ctnnum.CTNALLCODE = ctn.CTNALLCODE;
ctnnum.CTNNUM = ctn.CTNNUM;
ctnsumlist.Add(ctnnum);
@ -905,662 +905,4 @@ namespace Myshipping.Application.EDI.WY
}
#endregion
}
public class MsWYEdiModel
{
/// <summary>
/// 发送方代码 M
/// </summary>
public string SENDCODE { get; set; }
/// <summary>
/// 发送方名称 M
/// </summary>
public string SENDNAME { get; set; }
/// <summary>
/// 接收方代码 M
/// </summary>
public string RECEIVECODE { get; set; }
/// <summary>
/// 文件类型 (B订舱,E SI确认)M
/// </summary>
public string filetype { get; set; }
/// <summary>
/// 文件功能 (9原始,1 更新,5 退舱 )M
/// </summary>
public string filerole { get; set; }
/// <summary>
/// 文件路径 M
/// </summary>
public string filerpath { get; set; }
/// <summary>
/// 是否使用货代代码。 M
/// </summary>
public bool UseForWarderCode { get; set; }
/// <summary>
/// 货代代码。 O
/// </summary>
public string ForWarderCode { get; set; }
/// <summary>
/// 货代名称 O
/// </summary>
public string ForWarderName { get; set; }
/// <summary>
/// 业务信息列表 M
/// </summary>
public List<MsOpSeaeEdiModel> BSLIST { get; set; }
}
public class MsOpSeaeEdiModel
{
/// <summary>
/// 委托方
/// </summary>
public string WEITUO { get; set; }
/// <summary>
/// 操作英文名称 M
/// </summary>
public string OpEName { get; set; }
/// <summary>
/// 操作电话 M
/// </summary>
public string OpTel { get; set; }
/// <summary>
/// 操作邮箱 M
/// </summary>
public string OpEmail { get; set; }
/// <summary>
/// EDI联系人名称 O
/// </summary>
public string EDIATTN { get; set; }
/// <summary>
/// EDI联系人电话 O
/// </summary>
public string EDIATTNTEL { get; set; }
/// <summary>
/// EDI联系人邮箱 O
/// </summary>
public string EDIATTNEMAIL { get; set; }
/// <summary>
/// 订舱编号 O
/// </summary>
public string ORDERNO { get; set; }
/// <summary>
/// 主提单号 M
/// </summary>
public string MBLNO { get; set; }
/// <summary>
/// 付费方式代码 M
/// </summary>
public string BLFRTEDICODE { get; set; }
/// <summary>
/// 付费方式 M
/// </summary>
public string BLFRT { get; set; }
/// <summary>
/// 船名 O
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 船舶呼号 O
/// </summary>
public string VESSELID { get; set; }
/// <summary>
/// 航次 O
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 内部航次 O
/// </summary>
public string NVOYNO { get; set; }
/// <summary>
/// 开船日期 M
/// </summary>
public string ETD { get; set; }
/// <summary>
/// EDI备注
/// </summary>
public string EDIREMARK { get; set; }
/// <summary>
/// SI备注
/// </summary>
public string SIREMARK { get; set; }
/// <summary>
/// NVO NO
/// </summary>
public string NVONO { get; set; }
/// <summary>
/// 船公司名称 M
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 船公司EDI代码 M
/// </summary>
public string CARRIEREDICODE { get; set; }
/// <summary>
/// 发货人 M
/// </summary>
public string SHIPPER { get; set; }
/// <summary>
/// 收货人 M
/// </summary>
public string CONSIGNEE { get; set; }
/// <summary>
/// 通知人 M
/// </summary>
public string NOTIFYPARTY { get; set; }
/// <summary>
/// 第二通知人
/// </summary>
public string NOTIFYPARTY2 { get; set; }
/// <summary>
/// AMS收货人
/// </summary>
public string AMSCONSIGNEE { get; set; }
/// <summary>
/// AMS通知人
/// </summary>
public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// 收货地所在国家 O
/// </summary>
public string BYCOUNTRY { get; set; }
///// <summary>
///// AMS发货人 O
///// </summary>
//public string AMSSHIPPER { get; set; }
///// <summary>
///// AMS收货人 O
///// </summary>
//public string AMSCONSIGNEE { get; set; }
///// <summary>
///// AMS通知人 O
///// </summary>
//public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// HS编码
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 收货地代码(每船公司可能不同)
/// </summary>
public string PLACERECEIPTID { get; set; }
/// <summary>
/// 收货地
/// </summary>
public string PLACERECEIPT { get; set; }
/// <summary>
/// 起运港代码(每船公司可能不同) M
/// </summary>
public string PORTLOADID { get; set; }
/// <summary>
/// 起运港 M
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
///卸货港代码(每船公司可能不同) M
/// </summary>
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港 M
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
///中转港代码
/// </summary>
public string TRANSPORTID { get; set; }
/// <summary>
/// 中转港
/// </summary>
public string TRANSPORT { get; set; }
/// <summary>
///交货地代码M
/// </summary>
public string PLACEDELIVERYID { get; set; }
/// <summary>
/// 交货地 M
/// </summary>
public string PLACEDELIVERY { get; set; }
/// <summary>
///目的地代码(每船公司可能不同)
/// </summary>
public string DESTINATIONID { get; set; }
/// <summary>
/// 目的地
/// </summary>
public string DESTINATION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 货物标识 M
/// </summary>
public string CARGOID { get; set; }
/// <summary>
/// 第一层包装皮重 O
/// </summary>
public decimal KINGTAREWEIGHT { get; set; }
/// <summary>
/// 危险品类别 O
/// </summary>
public string DCLASS { get; set; }
/// <summary>
/// 危险品编号 O
/// </summary>
public string DUNNO { get; set; }
/// <summary>
/// 危险品页号 C
/// </summary>
public string DPAGE { get; set; }
/// <summary>
/// 危险品标签 C
/// </summary>
public string DLABEL { get; set; }
/// <summary>
/// 设置温度 O
/// </summary>
public string TEMPSET { get; set; }
/// <summary>
/// 设置最低温度 C
/// </summary>
public string TEMPMIN { get; set; }
/// <summary>
/// 设置最高温度 C
/// </summary>
public string TEMPMAX { get; set; }
/// <summary>
/// 通风度 O
/// </summary>
public string REEFERF { get; set; }
/// <summary>
/// 湿度
/// </summary>
public string HUMIDITY { get; set; }
/// <summary>
/// 预付地点 O
/// </summary>
public string PREPARDAT { get; set; }
/// <summary>
/// 到付地点 O
/// </summary>
public string PAYABLEAT { get; set; }
/// <summary>
/// 预付地点EDI代码 O
/// </summary>
public string PREPARDATID { get; set; }
/// <summary>
/// 到付地点EDI代码 O
/// </summary>
public string PAYABLEATID { get; set; }
/// <summary>
/// 签单方式 M(SI)
/// </summary>
public string ISSUETYPE { get; set; }
/// <summary>
/// 提单份数 M(SI)
/// </summary>
public string NOBILL { get; set; }
/// <summary>
/// 签单地点 M(SI)
/// </summary>
public string ISSUEPLACE { get; set; }
/// <summary>
/// 签单地点
/// </summary>
public string ISSUEDATE { get; set; }
/// <summary>
/// 提单副本份数 M(SI)
/// </summary>
public string COPYNOBILL { get; set; }
/// <summary>
/// 签单地点EDI代码 M(SI)
/// </summary>
public string ISSUEPLACEID { get; set; }
/// <summary>
/// 运输条款 M
/// </summary>
public string SERVICE { get; set; }
/// <summary>
/// 场站EDI代码
/// </summary>
public string YARDEDICODE { get; set; }
/// <summary>
/// 运费协议号 M
/// </summary>
public string CONTRACTNO { get; set; }
/// <summary>
/// 服务合同号
/// </summary>
public string SERVICECONTRACTNO { get; set; }
/// <summary>
/// ESL航线代码 M
/// </summary>
public string ESLLINECODE { get; set; }
/// <summary>
/// 收货人邮编 O
/// </summary>
public string CONSIGNEEPOSTCODE { get; set; }
/// <summary>
/// 收货人国家 O
/// </summary>
public string CONSIGNEECOUNTRY { get; set; }
/// <summary>
/// 收货人税号 O
/// </summary>
public string CONSIGNEETAXNO { get; set; }
/// <summary>
/// 通知人邮编 O
/// </summary>
public string NOTIFYPARTYPOSTCODE { get; set; }
/// <summary>
/// 通知人国家 O
/// </summary>
public string NOTIFYPARTYCOUNTRY { get; set; }
/// <summary>
/// 通知人税号 O
/// </summary>
public string NOTIFYPARTYTAXNO { get; set; }
/// <summary>
/// 货物NCM编号 O
/// </summary>
public string GOODSNCM { get; set; }
/// <summary>
/// 收货人DOOR地址 O
/// </summary>
public string CONSIGNEEDOORADDR { get; set; }
/// <summary>
/// 发货人DOOR地址 O
/// </summary>
public string SHIPPERDOORADDR { get; set; }
/// <summary>
/// SCAC代码 O
/// </summary>
public string SCACCODE { get; set; }
/// <summary>
/// ITN编号 O
/// </summary>
public string ITNCODE { get; set; }
/// <summary>
/// 付费方 O
/// </summary>
public string FREIGHTPAYER { get; set; }
/// <summary>
/// AMS代码 O
/// </summary>
public string AMSCODE { get; set; }
/// <summary>
/// 是否SOC箱 O
/// </summary>
public bool ISCONTAINERSOC { get; set; }
/// <summary>
/// 拆并单列表 O
/// </summary>
public string BSNOLIST { get; set; }
/// <summary>
/// 集装箱明细 M
/// </summary>
public List<MsOpSeaeCtnEdiModel> CTNLIST { get; set; }
/// <summary>
/// 集装箱多品名明细 M
/// </summary>
public List<MsOpSeaeCtnDetailEdiModel> CTNGOODSLIST { get; set; }
}
public class MsOpSeaeCtnEdiModel
{
/// <summary>
/// 箱型EDI代码 M
/// </summary>
public string CTNALLCODE { get; set; }
public Int32 CTNNUM { get; set; }
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// 封号 M
/// </summary>
public string SEALNO { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 箱皮重
/// </summary>
public string TAREWEIGHT { get; set; }
/// <summary>
/// 称重重量
/// </summary>
public string WEIGHKGS { get; set; }
/// <summary>
/// 称重方式 (累加、总重)
/// </summary>
public string WEIGHTYPE { get; set; }
/// <summary>
/// 称重签名
/// </summary>
public string WEIGHSIGN { get; set; }
/// <summary>
/// 箱动态
/// </summary>
public string CTNSTATUS { get; set; }
}
public class MsOpSeaeCtnDetailEdiModel
{
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// HS编码 M
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
}
}

@ -295,7 +295,7 @@ namespace Myshipping.Application.EDI.YML
#endregion
#region 检查
public static string IsCreateYMLEDI(MsYMLEdiModel InttrEdi)
public static string IsCreateYMLEDI(EDIBaseModel InttrEdi)
{
var error = "";
@ -643,7 +643,7 @@ namespace Myshipping.Application.EDI.YML
#endregion
#region 生成报文(订舱)
public static string CreateEdiYML(MsYMLEdiModel InttrEdi)
public static string CreateEdiYML(EDIBaseModel InttrEdi)
{
var filetype = "IFTMBF";
string filename = InttrEdi.filerpath + "\\" + filetype + "_" + InttrEdi.BSLIST[0].MBLNO + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt";
@ -893,14 +893,14 @@ namespace Myshipping.Application.EDI.YML
var ISSOC = "N";
if (bill.ISCONTAINERSOC) ISSOC = "Y";
var ctnsumlist = new List<MsOpSeaeCtnEdiModel>();
var ctnsumlist = new List<MsOpSeaeCtnEDIBaseModel>();
foreach (var ctn in bill.CTNLIST)
{
var newctnsum = ctnsumlist.Find(x => x.CTNALLCODE == ctn.CTNALLCODE);
if (newctnsum == null)
{
var ctnsum = new MsOpSeaeCtnEdiModel();
var ctnsum = new MsOpSeaeCtnEDIBaseModel();
ctnsum.CTNALLCODE = ctn.CTNALLCODE;
ctnsum.CTNNUM = ctn.CTNNUM;
if (bill.ISCONTAINERSOC && !string.IsNullOrEmpty(ctn.CNTRNO))
@ -968,7 +968,7 @@ namespace Myshipping.Application.EDI.YML
#endregion
#region 生成报文(确认)
public static string CreateEdiYMLSI(MsYMLEdiModel InttrEdi)
public static string CreateEdiYMLSI(EDIBaseModel InttrEdi)
{
string filename = InttrEdi.filerpath + "\\" + InttrEdi.BSLIST[0].MBLNO + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt";
@ -1634,7 +1634,7 @@ namespace Myshipping.Application.EDI.YML
#region 取集装箱分箱_货描、唛头信息
var ctngoodssumlist = new List<MsOpSeaeCtnDetailEdiModel>();
var ctngoodssumlist = new List<MsOpSeaeCtnDetailEDIBaseModel>();
foreach (var ctn in bill.CTNGOODSLIST)
{
var isfind = false;
@ -1650,7 +1650,7 @@ namespace Myshipping.Application.EDI.YML
});
if (!isfind)
{
var ctnnum = new MsOpSeaeCtnDetailEdiModel();
var ctnnum = new MsOpSeaeCtnDetailEDIBaseModel();
ctnnum.HSCODE = ctn.HSCODE;
ctnnum.KINDPKGS = ctn.KINDPKGS;
ctnnum.KINDPKGS_EDI_CODE = ctn.KINDPKGS_EDI_CODE;
@ -1797,676 +1797,4 @@ namespace Myshipping.Application.EDI.YML
#endregion
}
public class MsYMLEdiModel
{
/// <summary>
/// 发送方代码 M
/// </summary>
public string SENDCODE { get; set; }
/// <summary>
/// 发送方名称 M
/// </summary>
public string SENDNAME { get; set; }
/// <summary>
/// 接收方代码 M
/// </summary>
public string RECEIVECODE { get; set; }
/// <summary>
/// 文件类型 (B订舱,E SI确认)M
/// </summary>
public string filetype { get; set; }
/// <summary>
/// 文件功能 (9原始,1 更新,5 退舱 )M
/// </summary>
public string filerole { get; set; }
/// <summary>
/// 文件路径 M
/// </summary>
public string filerpath { get; set; }
/// <summary>
/// 是否使用货代代码。 M
/// </summary>
public bool UseForWarderCode { get; set; }
/// <summary>
/// 货代代码。 O
/// </summary>
public string ForWarderCode { get; set; }
/// <summary>
/// 货代名称 O
/// </summary>
public string ForWarderName { get; set; }
/// <summary>
/// 业务信息列表 M
/// </summary>
public List<MsOpSeaeEdiModel> BSLIST { get; set; }
}
public class MsOpSeaeEdiModel
{
/// <summary>
/// 委托方
/// </summary>
public string WEITUO { get; set; }
/// <summary>
/// 操作英文名称 M
/// </summary>
public string OpEName { get; set; }
/// <summary>
/// 操作电话 M
/// </summary>
public string OpTel { get; set; }
/// <summary>
/// 操作邮箱 M
/// </summary>
public string OpEmail { get; set; }
/// <summary>
/// EDI联系人名称 O
/// </summary>
public string EDIATTN { get; set; }
/// <summary>
/// EDI联系人电话 O
/// </summary>
public string EDIATTNTEL { get; set; }
/// <summary>
/// EDI联系人邮箱 O
/// </summary>
public string EDIATTNEMAIL { get; set; }
/// <summary>
/// 订舱编号 O
/// </summary>
public string ORDERNO { get; set; }
/// <summary>
/// 主提单号 M
/// </summary>
public string MBLNO { get; set; }
/// <summary>
/// 付费方式代码 M
/// </summary>
public string BLFRTEDICODE { get; set; }
/// <summary>
/// 付费方式 M
/// </summary>
public string BLFRT { get; set; }
/// <summary>
/// 船名 O
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 船舶呼号 O
/// </summary>
public string VESSELID { get; set; }
/// <summary>
/// 航次 O
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 内部航次 O
/// </summary>
public string NVOYNO { get; set; }
/// <summary>
/// 开船日期 M
/// </summary>
public string ETD { get; set; }
/// <summary>
/// EDI备注
/// </summary>
public string EDIREMARK { get; set; }
/// <summary>
/// SI备注
/// </summary>
public string SIREMARK { get; set; }
/// <summary>
/// NVO NO
/// </summary>
public string NVONO { get; set; }
/// <summary>
/// ERN CODE
/// </summary>
public string ERNCODE { get; set; }
/// <summary>
/// TAC CODE
/// </summary>
public string TACCODE { get; set; }
/// <summary>
/// VAE CODE
/// </summary>
public string VAECODE { get; set; }
/// <summary>
/// FEC CODE
/// </summary>
public string FECCODE { get; set; }
/// <summary>
/// 船公司名称 M
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 船公司EDI代码 M
/// </summary>
public string CARRIEREDICODE { get; set; }
/// <summary>
/// 发货人 M
/// </summary>
public string SHIPPER { get; set; }
/// <summary>
/// 收货人 M
/// </summary>
public string CONSIGNEE { get; set; }
/// <summary>
/// 通知人 M
/// </summary>
public string NOTIFYPARTY { get; set; }
/// <summary>
/// 第二通知人
/// </summary>
public string NOTIFYPARTY2 { get; set; }
/// <summary>
/// AMS收货人
/// </summary>
public string AMSCONSIGNEE { get; set; }
/// <summary>
/// AMS通知人
/// </summary>
public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// 收货地所在国家 O
/// </summary>
public string BYCOUNTRY { get; set; }
///// <summary>
///// AMS发货人 O
///// </summary>
//public string AMSSHIPPER { get; set; }
///// <summary>
///// AMS收货人 O
///// </summary>
//public string AMSCONSIGNEE { get; set; }
///// <summary>
///// AMS通知人 O
///// </summary>
//public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// HS编码
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 收货地代码(每船公司可能不同)
/// </summary>
public string PLACERECEIPTID { get; set; }
/// <summary>
/// 收货地
/// </summary>
public string PLACERECEIPT { get; set; }
/// <summary>
/// 起运港代码(每船公司可能不同) M
/// </summary>
public string PORTLOADID { get; set; }
/// <summary>
/// 起运港 M
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
///卸货港代码(每船公司可能不同) M
/// </summary>
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港 M
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
///中转港代码
/// </summary>
public string TRANSPORTID { get; set; }
/// <summary>
/// 中转港
/// </summary>
public string TRANSPORT { get; set; }
/// <summary>
///交货地代码M
/// </summary>
public string PLACEDELIVERYID { get; set; }
/// <summary>
/// 交货地 M
/// </summary>
public string PLACEDELIVERY { get; set; }
/// <summary>
///目的地代码(每船公司可能不同)
/// </summary>
public string DESTINATIONID { get; set; }
/// <summary>
/// 目的地
/// </summary>
public string DESTINATION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 货物标识 M
/// </summary>
public string CARGOID { get; set; }
/// <summary>
/// 第一层包装皮重 O
/// </summary>
public decimal KINGTAREWEIGHT { get; set; }
/// <summary>
/// 危险品类别 O
/// </summary>
public string DCLASS { get; set; }
/// <summary>
/// 危险品编号 O
/// </summary>
public string DUNNO { get; set; }
/// <summary>
/// 危险品页号 C
/// </summary>
public string DPAGE { get; set; }
/// <summary>
/// 危险品标签 C
/// </summary>
public string DLABEL { get; set; }
/// <summary>
/// 设置温度 O
/// </summary>
public string TEMPSET { get; set; }
/// <summary>
/// 设置最低温度 C
/// </summary>
public string TEMPMIN { get; set; }
/// <summary>
/// 设置最高温度 C
/// </summary>
public string TEMPMAX { get; set; }
/// <summary>
/// 通风度 O
/// </summary>
public string REEFERF { get; set; }
/// <summary>
/// 湿度
/// </summary>
public string HUMIDITY { get; set; }
/// <summary>
/// 预付地点 O
/// </summary>
public string PREPARDAT { get; set; }
/// <summary>
/// 到付地点 O
/// </summary>
public string PAYABLEAT { get; set; }
/// <summary>
/// 预付地点EDI代码 O
/// </summary>
public string PREPARDATID { get; set; }
/// <summary>
/// 到付地点EDI代码 O
/// </summary>
public string PAYABLEATID { get; set; }
/// <summary>
/// 签单方式 M(SI)
/// </summary>
public string ISSUETYPE { get; set; }
/// <summary>
/// 提单份数 M(SI)
/// </summary>
public string NOBILL { get; set; }
/// <summary>
/// 签单地点 M(SI)
/// </summary>
public string ISSUEPLACE { get; set; }
/// <summary>
/// 签单地点
/// </summary>
public string ISSUEDATE { get; set; }
/// <summary>
/// 提单副本份数 M(SI)
/// </summary>
public string COPYNOBILL { get; set; }
/// <summary>
/// 签单地点EDI代码 M(SI)
/// </summary>
public string ISSUEPLACEID { get; set; }
/// <summary>
/// 运输条款 M
/// </summary>
public string SERVICE { get; set; }
/// <summary>
/// 运费协议号 M
/// </summary>
public string CONTRACTNO { get; set; }
/// <summary>
/// 服务合同号
/// </summary>
public string SERVICECONTRACTNO { get; set; }
/// <summary>
/// ESL航线代码 M
/// </summary>
public string ESLLINECODE { get; set; }
/// <summary>
/// 收货人邮编 O
/// </summary>
public string CONSIGNEEPOSTCODE { get; set; }
/// <summary>
/// 收货人国家 O
/// </summary>
public string CONSIGNEECOUNTRY { get; set; }
/// <summary>
/// 收货人税号 O
/// </summary>
public string CONSIGNEETAXNO { get; set; }
/// <summary>
/// 通知人邮编 O
/// </summary>
public string NOTIFYPARTYPOSTCODE { get; set; }
/// <summary>
/// 通知人国家 O
/// </summary>
public string NOTIFYPARTYCOUNTRY { get; set; }
/// <summary>
/// 通知人税号 O
/// </summary>
public string NOTIFYPARTYTAXNO { get; set; }
/// <summary>
/// 货物NCM编号 O
/// </summary>
public string GOODSNCM { get; set; }
/// <summary>
/// 收货人DOOR地址 O
/// </summary>
public string CONSIGNEEDOORADDR { get; set; }
/// <summary>
/// 发货人DOOR地址 O
/// </summary>
public string SHIPPERDOORADDR { get; set; }
/// <summary>
/// SCAC代码 O
/// </summary>
public string SCACCODE { get; set; }
/// <summary>
/// ITN编号 O
/// </summary>
public string ITNCODE { get; set; }
/// <summary>
/// 付费方 O
/// </summary>
public string FREIGHTPAYER { get; set; }
/// <summary>
/// AMS代码 O
/// </summary>
public string AMSCODE { get; set; }
/// <summary>
/// 是否SOC箱 O
/// </summary>
public bool ISCONTAINERSOC { get; set; }
/// <summary>
/// 拆并单列表 O
/// </summary>
public string BSNOLIST { get; set; }
/// <summary>
/// 集装箱明细 M
/// </summary>
public List<MsOpSeaeCtnEdiModel> CTNLIST { get; set; }
/// <summary>
/// 集装箱多品名明细 M
/// </summary>
public List<MsOpSeaeCtnDetailEdiModel> CTNGOODSLIST { get; set; }
}
public class MsOpSeaeCtnEdiModel
{
/// <summary>
/// 箱型EDI代码 M
/// </summary>
public string CTNALLCODE { get; set; }
public Int32 CTNNUM { get; set; }
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// 封号 M
/// </summary>
public string SEALNO { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 箱皮重
/// </summary>
public string TAREWEIGHT { get; set; }
/// <summary>
/// 称重重量
/// </summary>
public string WEIGHKGS { get; set; }
/// <summary>
/// 称重方式 (累加、总重)
/// </summary>
public string WEIGHTYPE { get; set; }
/// <summary>
/// 称重签名
/// </summary>
public string WEIGHSIGN { get; set; }
}
public class MsOpSeaeCtnDetailEdiModel
{
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// HS编码 M
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
}
}

@ -281,7 +281,7 @@ namespace Myshipping.Application.EDI.YT
#endregion
#region 检查
public static string IsCreateYTEDI(MsYTEdiModel InttrEdi)
public static string IsCreateYTEDI(EDIBaseModel InttrEdi)
{
var error = "";
@ -630,7 +630,7 @@ namespace Myshipping.Application.EDI.YT
#endregion
#region 生成报文(订舱(filetype=="B"),截单(filetype=="E"))
public static string CreateEdiYT(MsYTEdiModel InttrEdi)
public static string CreateEdiYT(EDIBaseModel InttrEdi)
{
var filetype = "IFTMIN";
if (InttrEdi.filetype != "E") filetype = "IFTMBF";
@ -974,14 +974,14 @@ namespace Myshipping.Application.EDI.YT
var ISSOC = "N";
if (bill.ISCONTAINERSOC) ISSOC = "Y";
var ctnsumlist = new List<MsOpSeaeCtnEdiModel>();
var ctnsumlist = new List<MsOpSeaeCtnEDIBaseModel>();
foreach (var ctn in bill.CTNLIST)
{
var newctnsum = ctnsumlist.Find(x => x.CTNALLCODE == ctn.CTNALLCODE);
if (newctnsum == null)
{
var ctnsum = new MsOpSeaeCtnEdiModel();
var ctnsum = new MsOpSeaeCtnEDIBaseModel();
ctnsum.CTNALLCODE = ctn.CTNALLCODE;
ctnsum.CTNNUM = ctn.CTNNUM;
if (bill.ISCONTAINERSOC && !string.IsNullOrEmpty(ctn.CNTRNO))
@ -1122,655 +1122,4 @@ namespace Myshipping.Application.EDI.YT
}
public class MsYTEdiModel
{
/// <summary>
/// 发送方代码 M
/// </summary>
public string SENDCODE { get; set; }
/// <summary>
/// 发送方名称 M
/// </summary>
public string SENDNAME { get; set; }
/// <summary>
/// 接收方代码 M
/// </summary>
public string RECEIVECODE { get; set; }
/// <summary>
/// 文件类型 (B订舱,E SI确认)M
/// </summary>
public string filetype { get; set; }
/// <summary>
/// 文件功能 (9原始,1 更新,5 退舱 )M
/// </summary>
public string filerole { get; set; }
/// <summary>
/// 文件路径 M
/// </summary>
public string filerpath { get; set; }
/// <summary>
/// 是否使用货代代码。 M
/// </summary>
public bool UseForWarderCode { get; set; }
/// <summary>
/// 货代代码。 O
/// </summary>
public string ForWarderCode { get; set; }
/// <summary>
/// 货代名称 O
/// </summary>
public string ForWarderName { get; set; }
/// <summary>
/// 业务信息列表 M
/// </summary>
public List<MsOpSeaeEdiModel> BSLIST { get; set; }
}
public class MsOpSeaeEdiModel
{
/// <summary>
/// 委托方
/// </summary>
public string WEITUO { get; set; }
/// <summary>
/// 操作英文名称 M
/// </summary>
public string OpEName { get; set; }
/// <summary>
/// 操作电话 M
/// </summary>
public string OpTel { get; set; }
/// <summary>
/// 操作邮箱 M
/// </summary>
public string OpEmail { get; set; }
/// <summary>
/// EDI联系人名称 O
/// </summary>
public string EDIATTN { get; set; }
/// <summary>
/// EDI联系人电话 O
/// </summary>
public string EDIATTNTEL { get; set; }
/// <summary>
/// EDI联系人邮箱 O
/// </summary>
public string EDIATTNEMAIL { get; set; }
/// <summary>
/// 订舱编号 O
/// </summary>
public string ORDERNO { get; set; }
/// <summary>
/// 主提单号 M
/// </summary>
public string MBLNO { get; set; }
/// <summary>
/// 付费方式代码 M
/// </summary>
public string BLFRTEDICODE { get; set; }
/// <summary>
/// 付费方式 M
/// </summary>
public string BLFRT { get; set; }
/// <summary>
/// 船名 O
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 船舶呼号 O
/// </summary>
public string VESSELID { get; set; }
/// <summary>
/// 航次 O
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 内部航次 O
/// </summary>
public string NVOYNO { get; set; }
/// <summary>
/// 开船日期 M
/// </summary>
public string ETD { get; set; }
/// <summary>
/// EDI备注
/// </summary>
public string EDIREMARK { get; set; }
/// <summary>
/// SI备注
/// </summary>
public string SIREMARK { get; set; }
/// <summary>
/// NVO NO
/// </summary>
public string NVONO { get; set; }
/// <summary>
/// 船公司名称 M
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 船公司EDI代码 M
/// </summary>
public string CARRIEREDICODE { get; set; }
/// <summary>
/// 发货人 M
/// </summary>
public string SHIPPER { get; set; }
/// <summary>
/// 收货人 M
/// </summary>
public string CONSIGNEE { get; set; }
/// <summary>
/// 通知人 M
/// </summary>
public string NOTIFYPARTY { get; set; }
/// <summary>
/// 第二通知人
/// </summary>
public string NOTIFYPARTY2 { get; set; }
/// <summary>
/// AMS收货人
/// </summary>
public string AMSCONSIGNEE { get; set; }
/// <summary>
/// AMS通知人
/// </summary>
public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// 收货地所在国家 O
/// </summary>
public string BYCOUNTRY { get; set; }
///// <summary>
///// AMS发货人 O
///// </summary>
//public string AMSSHIPPER { get; set; }
///// <summary>
///// AMS收货人 O
///// </summary>
//public string AMSCONSIGNEE { get; set; }
///// <summary>
///// AMS通知人 O
///// </summary>
//public string AMSNOTIFYPARTY { get; set; }
/// <summary>
/// HS编码
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 收货地代码(每船公司可能不同)
/// </summary>
public string PLACERECEIPTID { get; set; }
/// <summary>
/// 收货地
/// </summary>
public string PLACERECEIPT { get; set; }
/// <summary>
/// 起运港代码(每船公司可能不同) M
/// </summary>
public string PORTLOADID { get; set; }
/// <summary>
/// 起运港 M
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
///卸货港代码(每船公司可能不同) M
/// </summary>
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港 M
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
///中转港代码
/// </summary>
public string TRANSPORTID { get; set; }
/// <summary>
/// 中转港
/// </summary>
public string TRANSPORT { get; set; }
/// <summary>
///交货地代码M
/// </summary>
public string PLACEDELIVERYID { get; set; }
/// <summary>
/// 交货地 M
/// </summary>
public string PLACEDELIVERY { get; set; }
/// <summary>
///目的地代码(每船公司可能不同)
/// </summary>
public string DESTINATIONID { get; set; }
/// <summary>
/// 目的地
/// </summary>
public string DESTINATION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 货物标识 M
/// </summary>
public string CARGOID { get; set; }
/// <summary>
/// 第一层包装皮重 O
/// </summary>
public decimal KINGTAREWEIGHT { get; set; }
/// <summary>
/// 危险品类别 O
/// </summary>
public string DCLASS { get; set; }
/// <summary>
/// 危险品编号 O
/// </summary>
public string DUNNO { get; set; }
/// <summary>
/// 危险品页号 C
/// </summary>
public string DPAGE { get; set; }
/// <summary>
/// 危险品标签 C
/// </summary>
public string DLABEL { get; set; }
/// <summary>
/// 设置温度 O
/// </summary>
public string TEMPSET { get; set; }
/// <summary>
/// 设置最低温度 C
/// </summary>
public string TEMPMIN { get; set; }
/// <summary>
/// 设置最高温度 C
/// </summary>
public string TEMPMAX { get; set; }
/// <summary>
/// 通风度 O
/// </summary>
public string REEFERF { get; set; }
/// <summary>
/// 湿度
/// </summary>
public string HUMIDITY { get; set; }
/// <summary>
/// 预付地点 O
/// </summary>
public string PREPARDAT { get; set; }
/// <summary>
/// 到付地点 O
/// </summary>
public string PAYABLEAT { get; set; }
/// <summary>
/// 预付地点EDI代码 O
/// </summary>
public string PREPARDATID { get; set; }
/// <summary>
/// 到付地点EDI代码 O
/// </summary>
public string PAYABLEATID { get; set; }
/// <summary>
/// 签单方式 M(SI)
/// </summary>
public string ISSUETYPE { get; set; }
/// <summary>
/// 提单份数 M(SI)
/// </summary>
public string NOBILL { get; set; }
/// <summary>
/// 签单地点 M(SI)
/// </summary>
public string ISSUEPLACE { get; set; }
/// <summary>
/// 签单地点
/// </summary>
public string ISSUEDATE { get; set; }
/// <summary>
/// 提单副本份数 M(SI)
/// </summary>
public string COPYNOBILL { get; set; }
/// <summary>
/// 签单地点EDI代码 M(SI)
/// </summary>
public string ISSUEPLACEID { get; set; }
/// <summary>
/// 运输条款 M
/// </summary>
public string SERVICE { get; set; }
/// <summary>
/// 运费协议号 M
/// </summary>
public string CONTRACTNO { get; set; }
/// <summary>
/// 服务合同号
/// </summary>
public string SERVICECONTRACTNO { get; set; }
/// <summary>
/// ESL航线代码 M
/// </summary>
public string ESLLINECODE { get; set; }
/// <summary>
/// 收货人邮编 O
/// </summary>
public string CONSIGNEEPOSTCODE { get; set; }
/// <summary>
/// 收货人国家 O
/// </summary>
public string CONSIGNEECOUNTRY { get; set; }
/// <summary>
/// 收货人税号 O
/// </summary>
public string CONSIGNEETAXNO { get; set; }
/// <summary>
/// 通知人邮编 O
/// </summary>
public string NOTIFYPARTYPOSTCODE { get; set; }
/// <summary>
/// 通知人国家 O
/// </summary>
public string NOTIFYPARTYCOUNTRY { get; set; }
/// <summary>
/// 通知人税号 O
/// </summary>
public string NOTIFYPARTYTAXNO { get; set; }
/// <summary>
/// 货物NCM编号 O
/// </summary>
public string GOODSNCM { get; set; }
/// <summary>
/// 收货人DOOR地址 O
/// </summary>
public string CONSIGNEEDOORADDR { get; set; }
/// <summary>
/// 发货人DOOR地址 O
/// </summary>
public string SHIPPERDOORADDR { get; set; }
/// <summary>
/// SCAC代码 O
/// </summary>
public string SCACCODE { get; set; }
/// <summary>
/// ITN编号 O
/// </summary>
public string ITNCODE { get; set; }
/// <summary>
/// 付费方 O
/// </summary>
public string FREIGHTPAYER { get; set; }
/// <summary>
/// AMS代码 O
/// </summary>
public string AMSCODE { get; set; }
/// <summary>
/// 是否SOC箱 O
/// </summary>
public bool ISCONTAINERSOC { get; set; }
/// <summary>
/// 拆并单列表 O
/// </summary>
public string BSNOLIST { get; set; }
/// <summary>
/// 集装箱明细 M
/// </summary>
public List<MsOpSeaeCtnEdiModel> CTNLIST { get; set; }
/// <summary>
/// 集装箱多品名明细 M
/// </summary>
public List<MsOpSeaeCtnDetailEdiModel> CTNGOODSLIST { get; set; }
}
public class MsOpSeaeCtnEdiModel
{
/// <summary>
/// 箱型EDI代码 M
/// </summary>
public string CTNALLCODE { get; set; }
public Int32 CTNNUM { get; set; }
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// 封号 M
/// </summary>
public string SEALNO { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 箱皮重
/// </summary>
public string TAREWEIGHT { get; set; }
/// <summary>
/// 称重重量
/// </summary>
public string WEIGHKGS { get; set; }
/// <summary>
/// 称重方式 (累加、总重)
/// </summary>
public string WEIGHTYPE { get; set; }
/// <summary>
/// 称重签名
/// </summary>
public string WEIGHSIGN { get; set; }
}
public class MsOpSeaeCtnDetailEdiModel
{
/// <summary>
/// 箱号 M
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// HS编码 M
/// </summary>
public string HSCODE { get; set; }
/// <summary>
/// 唛头 M
/// </summary>
public string MARKS { get; set; }
/// <summary>
/// 货物描述 M
/// </summary>
public string DESCRIPTION { get; set; }
/// <summary>
/// 件数 M
/// </summary>
public Int32 PKGS { get; set; }
/// <summary>
/// 包装 M
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 包装代码 M
/// </summary>
public string KINDPKGS_EDI_CODE { get; set; }
/// <summary>
/// 重量 M
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 体积 M
/// </summary>
public decimal CBM { get; set; }
}
}

File diff suppressed because it is too large Load Diff

@ -42,6 +42,10 @@ using StackExchange.Profiling.Internal;
using Myshipping.Application;
using Myshipping.Application.EDI.PIL;
using Newtonsoft.Json;
using Myshipping.Application.EDI.TSL;
using Myshipping.Application.EDI.WY;
using Myshipping.Application.EDI.YML;
using Myshipping.Application.EDI.YT;
namespace Myshipping.Application
{
@ -1303,6 +1307,7 @@ namespace Myshipping.Application
/// </summary>
/// <param name="model">订舱、截单EDI请求</param>
/// <returns>返回回执</returns>
[HttpPost("/BookingOrder/SendBookingOrClosingEDI")]
public async Task<CommonWebApiResult> SendBookingOrClosingEDI(BookingOrClosingEDIOrderDto model)
{
CommonWebApiResult result = new CommonWebApiResult();
@ -1363,13 +1368,13 @@ namespace Myshipping.Application
ediModel.filetype = model.sendType; //订舱
ediModel.filerole = model.fileRole;
//ediModel.filerpath = Server.MapPath($"~/edifiles/{ordno}");
//if (!Directory.Exists(model.filerpath))
//{
// Directory.CreateDirectory(model.filerpath);
//}
//读取文件配置
var fileCfg = App.GetOptions<BookingAttachOptions>();
string filePath = $"{Path.Combine(!string.IsNullOrWhiteSpace(fileCfg.basePath) ? fileCfg.basePath : App.WebHostEnvironment.WebRootPath,fileCfg.relativePath)}/edifiles/{order.BSNO}";
ediModel.filerpath = filePath;
ediModel.UseForWarderCode = model.useForwarderCode;
ediModel.ForWarderCode = model.forwarderCode;
@ -1377,12 +1382,9 @@ namespace Myshipping.Application
ediModel.BSLIST = new List<MsOpSeaeEDIBaseModel>();
//ediModel.BSLIST.Add(item: ediModel);
var primaryModel = order.Adapt<MsOpSeaeEDIBaseModel>();
primaryModel.CARRIEREDICODE = ediSOSICfg.MapCode;
//primaryModel.BYCOUNTRY = ""; //暂时不用
var ediPkgs = ediPkgsList.FirstOrDefault(x => x.Code.Equals(order.KINDPKGS, StringComparison.OrdinalIgnoreCase));
@ -1391,18 +1393,6 @@ namespace Myshipping.Application
primaryModel.KINDPKGS_EDI_CODE = ediPkgs.MapCode?.Trim();
//以下字段暂时不用
//primaryModel.CONSIGNEEPOSTCODE = order.CONSIGNEEPOSTCODE;
//primaryModel.CONSIGNEECOUNTRY = order.CONSIGNEERCOUNTRY;
//primaryModel.CONSIGNEETAXNO = string.Empty;
//primaryModel.NOTIFYPARTYPOSTCODE = order.NOTIFYPARTYPOSTCODE;
//primaryModel.NOTIFYPARTYCOUNTRY =order.NOTIFYPARTYCOUNTRY;
//primaryModel.NOTIFYPARTYTAXNO = string.Empty;
//primaryModel.GOODSNCM = ""; //先为空
//primaryModel.BSNOLIST = ""; //暂时不用
//箱信息
var contaList =_repCtn.AsQueryable().Where(t => t.BILLID == order.Id).ToList();
@ -1455,6 +1445,14 @@ namespace Myshipping.Application
}
#endregion
/// <summary>
/// 触发订舱
/// </summary>
/// <param name="model"></param>
/// <param name="ediModel"></param>
/// <param name="ediRouteEnum"></param>
/// <returns></returns>
[NonAction]
private async Task<CommonWebApiResult> InnerSendBookingOrClosingEDI(BookingOrClosingEDIOrderDto model,EDIBaseModel ediModel,EDIRouteEnum ediRouteEnum)
{
CommonWebApiResult result = new CommonWebApiResult();
@ -1463,6 +1461,7 @@ namespace Myshipping.Application
{
if (ediRouteEnum == EDIRouteEnum.PIL)
{
#region PIL
string strCheck = PILEdiHelper.IsCreatePILEDI(ediModel);
_logger.LogInformation($"调用SO(SI),校验:{strCheck},数据对象:{JsonConvert.SerializeObject(ediModel)}");
@ -1471,10 +1470,92 @@ namespace Myshipping.Application
throw Oops.Oh($"发送{EDIRouteEnum.PIL.ToString()}校验失败,{strCheck}");
string ediFile = PILEdiHelper.CreateEdiPIL(ediModel);
#endregion
result.succ = true;
result.extra = ediFile;
}
else if (ediRouteEnum == EDIRouteEnum.TSL)
{
#region TSL
string strCheck = TSLEdiHelper.IsCreateTSL(ediModel);
_logger.LogInformation($"调用SO(SI),校验:{strCheck},数据对象:{JsonConvert.SerializeObject(ediModel)}");
if (!string.IsNullOrWhiteSpace(strCheck))
throw Oops.Oh($"发送{EDIRouteEnum.PIL.ToString()}校验失败,{strCheck}");
string ediFile = string.Empty;
if (model.sendType == "B")
{
ediFile = TSLEdiHelper.CreateEdiTSL(ediModel);
}
else if (model.sendType == "E")
{
ediFile = TSLEdiHelper.CreateEdiTSL(ediModel);
}
#endregion
result.succ = true;
result.extra = ediFile;
}
}
else if (ediRouteEnum == EDIRouteEnum.WY)
{
#region WY
string strCheck = WYEdiHelper.IsCreateWYEDI(ediModel);
_logger.LogInformation($"调用SO(SI),校验:{strCheck},数据对象:{JsonConvert.SerializeObject(ediModel)}");
if (!string.IsNullOrWhiteSpace(strCheck))
throw Oops.Oh($"发送{EDIRouteEnum.PIL.ToString()}校验失败,{strCheck}");
string ediFile = WYEdiHelper.CreateEdiWY(ediModel);
#endregion
result.succ = true;
result.extra = ediFile;
}
else if (ediRouteEnum == EDIRouteEnum.YML)
{
#region YML
string strCheck = YMLEdiHelper.IsCreateYMLEDI(ediModel);
_logger.LogInformation($"调用SO(SI),校验:{strCheck},数据对象:{JsonConvert.SerializeObject(ediModel)}");
if (!string.IsNullOrWhiteSpace(strCheck))
throw Oops.Oh($"发送{EDIRouteEnum.PIL.ToString()}校验失败,{strCheck}");
string ediFile = string.Empty;
if (model.sendType == "B")
{
ediFile = YMLEdiHelper.CreateEdiYML(ediModel);
}
else if (model.sendType == "E")
{
ediFile = YMLEdiHelper.CreateEdiYMLSI(ediModel);
}
#endregion
result.succ = true;
result.extra = ediFile;
}
else if (ediRouteEnum == EDIRouteEnum.YT)
{
#region YT
string strCheck = YTEdiHelper.IsCreateYTEDI(ediModel);
_logger.LogInformation($"调用SO(SI),校验:{strCheck},数据对象:{JsonConvert.SerializeObject(ediModel)}");
if (!string.IsNullOrWhiteSpace(strCheck))
throw Oops.Oh($"发送{EDIRouteEnum.PIL.ToString()}校验失败,{strCheck}");
string ediFile = YTEdiHelper.CreateEdiYT(ediModel);
#endregion
result.succ = true;
result.extra = ediFile;
}
}
catch (Exception ex)
{
@ -1489,6 +1570,7 @@ namespace Myshipping.Application
/// 检查订舱、截单EDI订单信息
/// </summary>
/// <param name="order"></param>
[NonAction]
private void CheckBookingOrClosingEDI(BookingOrder order)
{
if(string.IsNullOrWhiteSpace(order.CARRIERID))
@ -1506,6 +1588,7 @@ namespace Myshipping.Application
/// </summary>
/// <param name="carrierId">船公司ID</param>
/// <returns>返回适用的路由枚举</returns>
[NonAction]
private EDIRouteEnum GetEDIRoute(string carrierId)
{
EDIRouteEnum routeEnum = EDIRouteEnum.NULL;

@ -13,9 +13,6 @@ namespace Myshipping.Application
{
public void Register(TypeAdapterConfig config)
{
/*
*/
config.ForType<BookingOrder, MsOpSeaeEDIBaseModel>()
.Map(dest => dest.WEITUO, src => src.WEITUO)
//.Map(dest => dest.EDIATTN, src => src.EDIATTN)
@ -81,14 +78,6 @@ namespace Myshipping.Application
.Map(dest => dest.TAREWEIGHT, src => src.TAREWEIGHT.HasValue ? src.TAREWEIGHT.Value : 0);
/*
detailModel.CNTRNO = detail.ctn.CNTRNO;
detailModel.HSCODE = detail.detail.HSCODE;
detailModel.MARKS = detail.detail.MARKS;
detailModel.DESCRIPTION = detail.detail.DESCRIPTION;
detailModel.PKGS = detail.detail.PKGS.Value;
detailModel.KINDPKGS = detail.detail.KINDPKGS;
*/
config.ForType<BookingCtnDetail, MsOpSeaeCtnDetailEDIBaseModel>()
//.Map(dest => dest.CNTRNO, src => src.CNTRNO)
.Map(dest => dest.HSCODE, src => src.HSCODE)

Loading…
Cancel
Save