using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using DSWeb.DataAccess; using DSWeb.Models; using System.Data.SqlClient; using System.Collections.Generic; using System.Collections; namespace DSWeb.EntityDA { public class EDIExportDA { /// /// 是否数字 /// /// /// public bool IsNumeric(string s) { int inum = 0; bool bReturn = true; try { inum = int.Parse(s); } catch { inum = 0; bReturn = false; } return bReturn; } /// /// 格式替换 /// /// /// public string getEDIFormat(string str) { str = str.Replace("?", "??"); str = str.Replace("'", "?'"); str = str.Replace("+", "?+"); str = str.Replace(":", "?:"); return str; } /// /// 格式截取符号 /// /// /// public int getEDISUB(string str, int iold) { //' ', ';', ',', '.', ':', '/', '(', ')', '?', '+', '-' int ii = 0; int inum = 0; ii = str.LastIndexOf(" "); inum = ii; ii = str.LastIndexOf(";"); if (ii > inum) { inum = ii; } ii = str.LastIndexOf(","); if (ii > inum) { inum = ii; } ii = str.LastIndexOf("."); if (ii > inum) { inum = ii; } ii = str.LastIndexOf(":"); if (ii > inum) { inum = ii; } ii = str.LastIndexOf("/"); if (ii > inum) { inum = ii; } ii = str.LastIndexOf("-"); if (ii > inum) { inum = ii; } ii = str.LastIndexOf("+"); if (ii > inum) { inum = ii; } ii = str.LastIndexOf("("); if (ii > inum) { inum = ii; } ii = str.LastIndexOf(")"); if (ii > inum) { inum = ii; } if (inum == -1) { inum = iold; } if (iold - inum > 15) { inum = iold; } return inum; } /// /// 数字补位,例如:001 /// /// /// public string getEDINUM(string snum) { if (snum.Trim().Length == 1) { snum = "00" + snum; } else if (snum.Trim().Length == 2) { snum = "0" + snum; } return snum; } /// /// 航次去掉“.”之前的数据 /// /// /// public string CutVoyNo(string str) { int ii = str.Trim().IndexOf("."); if (ii > -1) { str = str.Trim().Substring(ii); } return str.Trim(); } /// /// 当前服务器时间 /// /// /// public string getdate(string str,int ii) { T_ALL_DA T_ALL_DA = new T_ALL_DA(); if (str.Trim() == "") { str = T_ALL_DA.GetStrSQL("sdate", "select getdate() as sdate ").Trim();//文件建立时间 } if (ii == 1) { str = DateTime.Parse(str).ToString("yyyyMMdd").Trim(); } else if (ii == 2) { str = DateTime.Parse(str).ToString("yyMMdd").Trim() + ":" + DateTime.Parse(str).ToString("hhmmss").Trim(); } return str.Trim(); } /// /// 文本中是否存在中文字符 /// /// /// public bool getISCN(string str) { string TmmP; for (int i = 0; i < str.Length; i++) { TmmP = str.Substring(i, 1); byte[] sarr = System.Text.Encoding.GetEncoding("gb2312").GetBytes(TmmP); if (sarr.Length == 2) { return true; } } return false; } #region 整箱 /// /// 00头记录 /// /// public string GetNpsesa00(TopSeaeEntity TopSeaeEntity,string rblFILEFUNCTION,string tbSENDERCODE,string tbRECEIVERCODE) { //00头记录 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(rblFILEFUNCTION.Trim()); alt = "00:IFTMBF:BOOKING:" + ls.Trim() + ":"; ls = getEDIFormat(tbSENDERCODE.Trim());//发送方代码 alt += ls + ":"; ls = getEDIFormat(tbRECEIVERCODE.Trim());//接收方代码 alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("sdate", "select getdate() as sdate ").Trim();//文件建立时间 ls = DateTime.Parse(ls).ToString("yyMMddhhmmss").Trim(); alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PORTLOADID.ToString().Trim());//发送港代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PORTDISCHARGEID.ToString().Trim());//接收港代码 alt += ls + ":2.0'\r\n"; return alt; } /// /// 10船舶信息 /// /// public string GetNpsesa10(TopSeaeEntity TopSeaeEntity) { //10船舶信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeEntity.VESSELID.ToString().Trim());//EDI船舶呼号 alt += "10:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.VESSEL.ToString().Trim());//船名 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.VOYNO.ToString().Trim());//航次 alt += ls + ":"; ls = "";//船公司(承运人)代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.CARRIER.ToString().Trim());//船公司(承运人) alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("EDICODE", "select EDICODE from code_lanes where LANE='" + TopSeaeEntity.LANE.ToString().Trim() + "'").Trim();//航线代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.LANE.ToString().Trim());//航线 alt += ls + "'\r\n"; return alt; } /// /// 12港口信息 /// /// public string GetNpsesa12(TopSeaeEntity TopSeaeEntity) { //12港口信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeEntity.PORTLOADID.ToString().Trim());//装货港代码 alt += "12:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.PORTLOAD.ToString().Trim());//装货港 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PORTDISCHARGEID.ToString().Trim());//卸货港代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PORTDISCHARGE.ToString().Trim());//卸货港 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PLACEDELIVERYID.ToString().Trim());//交货地代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.PLACEDELIVERY.ToString().Trim());//交货地 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.DESTINATIONID.ToString().Trim());//目的地代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.DESTINATION.ToString().Trim());//目的地 alt += ls + ":"; ls = "";//中转地点代码 alt += ls + ":"; ls = "";//中转地点 alt += ls + ":"; ls = "";//中转目的地代码 alt += ls + ":"; ls = "";//中转目的地 alt += ls + ":"; ls = "";//货物装载运输工具时间 alt += ls + ":"; ls = "";//到达卸货地日期 alt += ls + ":"; ls = "";//货物托运的地点或者国家代码 alt += ls + "'\r\n"; return alt; } /// /// //14订舱号 /// /// public string GetNpsesa14(TopSeaeEntity TopSeaeEntity, string rblFILEFUNCTION, string tbISSUEPARTYCODE) { //14订舱号 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(tbISSUEPARTYCODE.Trim());//订舱人代码 alt += "14:" + ls.Trim() + ":"; ls = "";//舱位互用标识 alt += ls + ":"; ls = rblFILEFUNCTION.Trim();//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B if (ls.Trim() == "3") { alt += "F:"; ls = getEDIFormat(TopSeaeEntity.ORDERNO.ToString().Trim());//订舱号 alt += ls + ":"; } else { alt += "B:"; ls = getEDIFormat(TopSeaeEntity.MBLNO.ToString().Trim());//提单号 alt += ls + ":"; } ls = "";//询价的单位代码 alt += ls + ":"; ls = "";//签协议的单位代码 alt += ls + ":"; ls = "";//国外订舱单位 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.SERVICE.ToString().Trim());//交货条款 alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("EDICODE", "select EDICODE from code_frt where FRT='" + TopSeaeEntity.BLFRT.ToString().Trim() + "'").Trim();//付款方式 alt += ls + ":"; ls = "";//运费协议号 alt += ls + ":"; ls = "";//服务合同号 alt += ls + ":"; ls = "";//检疫代码 alt += ls + ":"; ls = "";//费率本代码 alt += ls + ":"; ls = "";//币种 alt += ls + ":"; ls = "";//托运货物价值 alt += ls + ":"; ls = "";//汇率 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.MBLNO.ToString().Trim());//总提单号 alt += ls + ":"; ls = "";//船公司代码 alt += ls + "'\r\n"; return alt; } /// /// 20发货人 /// /// public string GetNpsesa20(TopSeaeEntity TopSeaeEntity) { //20发货人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//发货人代码 alt += "20:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.SHIPPER.ToString().Trim());//发货人内容 // ls = ls.Replace("\r\n", "\n "); for(int j=0;j<2;j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for(int j=0;j<3;j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//发货人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0, ii); // alt += lss + ":";//发货人名称 // itms[1] = ls.Substring(ii) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//发货人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//发货人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } //// //if (itms[2].Length < 36) //{ // alt += itms[2].ToString().Trim() + ":";//发货人电话号码(TE) //} //else //{ // ls = itms[2].ToString().Trim().Substring(0, 35); // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // alt += lss + ":";//发货人电话号码(TE) // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; //} //// //if (itms[3].Length < 36) //{ // alt += itms[3].ToString().Trim() + ":";//发货人EMAIL地址(EM) //} //else //{ // ls = itms[3].ToString().Trim().Substring(0, 35); // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // alt += lss + ":";//发货人EMAIL地址(EM) // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; //} //} //alt += ":";//发货人电话号码(TE) //alt += ":";//发货人EMAIL地址(EM) //alt += ":";//发货人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += "'\r\n";//国家代码 return alt; } /// /// 21收货人 /// /// public string GetNpsesa21(TopSeaeEntity TopSeaeEntity) { //21收货人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//收货人代码 alt += "21:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.CONSIGNEE.ToString().Trim());//收货人内容 // ls = ls.Replace("\r\n", "\n "); for (int j = 0; j < 2; j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for (int j = 0; j < 3; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//收货人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//收货人名称 // itms[1] = ls.Substring(ii) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//收货人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//收货人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } // // // //if (itms[2].Length < 36) // //{ // // alt += itms[2].ToString().Trim() + ":";//收货人电话号码(TE) // //} // //else // //{ // // ls = itms[2].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//收货人电话号码(TE) // // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; // //} // //// // //if (itms[3].Length < 36) // //{ // // alt += itms[3].ToString().Trim() + ":";//收货人EMAIL地址(EM) // //} // //else // //{ // // ls = itms[3].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//收货人EMAIL地址(EM) // // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; // //} //} //alt += ":";//收货人电话号码(TE) //alt += ":";//收货人EMAIL地址(EM) //alt += ":";//收货人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += ":";//国家代码 alt += ":";//具体联系人名称 alt += ":";//具体联系人EMAIL地址(EM) alt += ":";//具体联系人电传号码(FX) alt += "'\r\n";//具体联系人电话号码(TE) return alt; } /// /// 22通知人 /// /// public string GetNpsesa22(TopSeaeEntity TopSeaeEntity) { //22通知人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//通知人代码 alt += "22:1:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.NOTIFYPARTY.ToString().Trim());//通知人内容 // ls = ls.Replace("\r\n", "\n "); for (int j = 0; j < 2; j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for (int j = 0; j < 3; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//通知人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//通知人名称 // itms[1] = ls.Substring(ii) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//通知人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//通知人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } // // // //if (itms[2].Length < 36) // //{ // // alt += itms[2].ToString().Trim() + ":";//通知人电话号码(TE) // //} // //else // //{ // // ls = itms[2].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//通知人电话号码(TE) // // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; // //} // //// // //if (itms[3].Length < 36) // //{ // // alt += itms[3].ToString().Trim() + ":";//通知人EMAIL地址(EM) // //} // //else // //{ // // ls = itms[3].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//通知人EMAIL地址(EM) // // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; // //} //} //alt += ":";//通知人电话号码(TE) //alt += ":";//通知人EMAIL地址(EM) //alt += ":";//通知人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += "'\r\n";//国家代码 return alt; } /// /// 40订舱预配箱 /// /// public string GetNpsesa40(TopSeaeEntity TopSeaeEntity, string rblFILEFUNCTION,string strHBL) { T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; DataSet ds = T_ALL_DA.GetAllSQL("select CTNALL,EDICODE=isnull((select EDICODE from code_ctn where ctn=op_ctn.CTNALL),CTNALL),count(CTNALL) as hj from op_ctn where BSNO='" + TopSeaeEntity.BSNO.ToString().Trim() + "' group by CTNALL order by CTNALL");//EDI船舶呼号 if (strHBL.Trim() == "0")//整箱 { if (ds != null) { int k = 0; foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { k = k + 1; ls = getEDIFormat(myRow["EDICODE"].ToString().Trim());//集装箱尺寸类型 alt += "40:"+k+":" + ls.Trim() + ":"; ls = getEDIFormat(myRow["hj"].ToString().Trim());//集装箱箱数 alt += ls + ":"; alt += "F:::";//集装箱状态//拼箱号//装箱地点代码 ls = getEDIFormat(TopSeaeEntity.ISCONTAINERSOC.ToString().Trim());//货主箱标志(是否自有箱) if (bool.Parse(ls.Trim())) { alt += "Y:"; } else { alt += "N:"; } ls = "";//拼箱人代码 alt += ls + "'\r\n"; } } } } else { if (ds != null) { int k = 0; string px = ""; //拼箱号 ls = rblFILEFUNCTION.Trim();//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B if (ls.Trim() == "3") { px = getEDIFormat(TopSeaeEntity.ORDERNO.ToString().Trim());//订舱号 } else { px = getEDIFormat(TopSeaeEntity.MBLNO.ToString().Trim());//提单号 } // foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { k = k + 1; ls = getEDIFormat(myRow["EDICODE"].ToString().Trim());//集装箱尺寸类型 alt += "40:"+k+":" + ls.Trim() + ":"; ls = getEDIFormat(myRow["hj"].ToString().Trim());//集装箱箱数 alt += ls + ":"; alt += "L:";//集装箱状态//拼箱号//装箱地点代码 if (k == 1) { ls = "";//拼箱号 alt += ls + ":"; } else { alt += px + ":";//拼箱号 } ls = "";//装箱地点代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.ISCONTAINERSOC.ToString().Trim());//货主箱标志(是否自有箱) if (bool.Parse(ls.Trim())) { alt += "Y:"; } else { alt += "N:"; } ls = "";//拼箱人代码 alt += ls + "'\r\n"; } } } } return alt; } /// /// 41订舱货物 /// /// public string GetNpsesa41(TopSeaeEntity TopSeaeEntity) { //41订舱货物 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; int k = 0; DataSet ds = T_ALL_DA.GetAllSQL("select *,pkEDICODE1=(select EDICODE from code_package where PKGS=op_seae_hs.KINDPKGS1),pkEDICODE2=(select EDICODE from code_package where PKGS=op_seae_hs.KINDPKGS2) from op_seae_hs where bsno='" + TopSeaeEntity.BSNO.ToString().Trim() + "'");// if (ds != null) { foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { k = k + 1; ls = getEDINUM(k.ToString());//货物序号 alt += "41:" + ls.Trim() + ":"; ls = getEDIFormat(myRow["CARGOCODE"].ToString().Trim());//货类代码,海关HS码 alt += ls + ":"; ls = getEDIFormat(myRow["CARGOID"].ToString().Trim());//货物标识 alt += ls + ":"; ls = getEDIFormat(myRow["PKGS1"].ToString().Trim());//第一层包装件数 if (int.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["pkEDICODE1"].ToString().Trim());//第一层包装类型 alt += ls + ":"; ls = getEDIFormat(myRow["NOPKGS1"].ToString().Trim());//第一层包装说明 alt += ls + ":"; ls = getEDIFormat(myRow["CARGOGROSSWT1"].ToString().Trim());//第一层包装皮重 if (Decimal.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["CARGOMEASUREMENT1"].ToString().Trim());//第一层包装尺码 if (Decimal.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["PKGS2"].ToString().Trim());//第二层包装件数 if (int.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["pkEDICODE2"].ToString().Trim());//第二层包装类型 alt += ls + ":"; ls = getEDIFormat(myRow["NOPKGS2"].ToString().Trim());//第二层包装说明 alt += ls + ":"; ls = getEDIFormat(myRow["CARGOGROSSWT2"].ToString().Trim());//第一层包装皮重 if (Decimal.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["CARGOMEASUREMENT2"].ToString().Trim());//第二层包装尺码 if (Decimal.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["KGS"].ToString().Trim());//货净重 if (Decimal.Parse(ls) == 0) { ls = "0"; } alt += ls + ":"; ls = getEDIFormat(myRow["CBM"].ToString().Trim());//货物体积 if (Decimal.Parse(ls) == 0) { ls = ""; } alt += ls + ":"; ls = getEDIFormat(myRow["CONSIGNMENTNO"].ToString().Trim());//托运编号 alt += ls + ":"; ls = getEDIFormat(myRow["COUNTRYCODE"].ToString().Trim());//货物原产国代码 alt += ls + "'\r\n"; } } } //else //{ // ls = getEDINUM("1");//货物序号 // alt += "41:" + ls.Trim() + ":"; // ls = getEDIFormat(myRow["CARGOCODE"].ToString().Trim());//货类代码,海关HS码 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.CARGOID.ToString().Trim());//货物标识 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.PKGS.ToString().Trim());//第一层包装件数 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.KINDPKGS.ToString().Trim());//第一层包装类型 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.NOPKGS.ToString().Trim());//第一层包装说明 // alt += ls + ":"; // ls = "";//第一层包装皮重 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.CBM.ToString().Trim());//第一层包装尺码 // alt += ls + ":"; // ls = "";//第二层包装件数 // alt += ls + ":"; // ls = "";//第二层包装类型 // alt += ls + ":"; // ls = "";//第二层包装说明 // alt += ls + ":"; // ls = "";//第一层包装皮重 // alt += ls + ":"; // ls = "";//第二层包装尺码 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.KGS.ToString().Trim());//货净重 // alt += ls + ":"; // ls = getEDIFormat(TopSeaeEntity.CBM.ToString().Trim());//货物体积 // alt += ls + ":"; // ls = "";//托运编号 // alt += ls + ":"; // ls = "";//货物原产国代码 // alt += ls + "'\r\n"; //} return alt; } /// /// 43危险品,冷藏和超标信息 /// /// public string GetNpsesa43(TopSeaeEntity TopSeaeEntity) { //43危险品,冷藏和超标信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDINUM("1");//货物序号 alt += "43:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.DCLASS.ToString().Trim());//危险品分类 alt += ls + ":"; ls = "";//危险品页号 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.DUNNO.ToString().Trim());//联合国危险品编号 alt += ls + ":"; ls = "";//危险品标签 alt += ls + ":"; ls = "";//危险货物闪点 alt += ls + ":"; ls = "";//船运危险品应急措施号 alt += ls + ":"; ls = "";//医疗急救指南号 alt += ls + ":"; ls = "";//海运污染 alt += ls + ":"; ls = "";//应急联系 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.TEMPID.ToString().Trim());//温度计量单位,C=摄氏 F=华氏 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.TEMPSET.ToString().Trim());//设置温度 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.TEMPMIN.ToString().Trim());//冷藏最低温度 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.TEMPMAX.ToString().Trim());//冷藏最高温度 alt += ls + ":"; ls = "";//前超 alt += ls + ":"; ls = "";//后超 alt += ls + ":"; ls = "";//左超 alt += ls + ":"; ls = "";//右超 alt += ls + ":"; ls = "";//超高 alt += ls + ":"; ls = "";//危险品联系人姓名 alt += ls + ":"; ls = "";//危险品联系人EMAIL alt += ls + ":"; ls = "";//危险品联系人电传 alt += ls + "'\r\n"; return alt; } /// /// 44唛头 /// /// public string GetNpsesa44(TopSeaeEntity TopSeaeEntity) { //44唛头 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; // ls = getEDIFormat(TopSeaeEntity.MARKS.ToString().Trim());//唛头 // ls = ls.Replace("\r\n", "\n "); for (int i = 0; i < 5; i++) { alt += "44:" + getEDINUM((i + 1).ToString()) + ":";//货物序号 for(int j=0;j<5;j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";//唛头1 ls = ls.Trim().Substring(ils); } } alt = alt.Trim().Substring(0, alt.Trim().Length - 1); alt += "'\r\n"; if (ls == "") { break; } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //ArrayList aList = new ArrayList(); //for (int k = 0; k < itms.Length; k++) //{ // ls = itms[k].ToString().Trim(); // for (int n = 0; n < (ls.Length / 35 + 1); n++) // { // if (ls.Length < 36) // { // aList.Add(ls); // } // else // { // string sls = ls.Trim().Substring(0, 35); // int ils = getEDISUB(sls, 35); // sls = sls.Trim().Substring(0, ils); // aList.Add(sls);//唛头1 // ls = ls.Trim().Substring(ils); // } // } //} //// //int ilength = aList.Count; //int iCMOD = ilength % 5; //if (iCMOD != 0) //{ // iCMOD = ilength / 5 + 1; //} //// //if (iCMOD > 5) //{ // iCMOD = 5; //} //// //for (int a = 0; a < iCMOD; a++) //{ // alt += "44:" + getEDINUM((a + 1).ToString()) + ":";//货物序号 // for (int m = 0; m < 5; m++) // { // try // { // alt += aList[m + a * 5].ToString().Trim() + ":"; // } // catch (Exception e) // { // alt += ":"; // } // } // alt = alt.Trim().Substring(0, alt.Trim().Length - 1); // alt += "'\r\n"; //} // return alt; } /// /// 47货物描述 /// /// public string GetNpsesa47(TopSeaeEntity TopSeaeEntity) { //47货物描述 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; // ls = getEDIFormat(TopSeaeEntity.DESCRIPTION.ToString().Trim());//货物描述 // ls = ls.Replace("\r\n", "\n "); for (int i = 0; i < 5; i++) { alt += "47:" + getEDINUM((i + 1).ToString()) + ":";//货物序号 for (int j = 0; j < 5; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";//唛头1 ls = ls.Trim().Substring(ils); } } alt = alt.Trim().Substring(0, alt.Trim().Length - 1); alt += "'\r\n"; if (ls == "") { break; } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //ArrayList aList = new ArrayList(); //for (int k = 0; k < itms.Length; k++) //{ // ls = itms[k].ToString().Trim(); // for (int n = 0; n < (ls.Length / 35 + 1); n++) // { // if (ls.Length < 36) // { // aList.Add(ls); // } // else // { // string sls = ls.Trim().Substring(0, 35); // int ils = getEDISUB(sls, 35); // sls = sls.Trim().Substring(0, ils); // aList.Add(sls);//唛头1 // ls = ls.Trim().Substring(ils); // } // } //} //// //int ilength = aList.Count; //int iCMOD = ilength % 5; //if (iCMOD != 0) //{ // iCMOD = ilength / 5 + 1; //} //// //if (iCMOD > 5) //{ // iCMOD = 5; //} //// //for (int a = 0; a < iCMOD; a++) //{ // alt += "47:" + getEDINUM((a + 1).ToString()) + ":";//货物序号 // for (int m = 0; m < 5; m++) // { // try // { // alt += aList[m + a * 5].ToString().Trim() + ":"; // } // catch (Exception e) // { // alt += ":"; // } // } // alt = alt.Trim().Substring(0, alt.Trim().Length - 1); // alt += "'\r\n"; //} // return alt; } /// /// 48集装箱细目 /// /// public string GetNpsesa48(TopSeaeEntity TopSeaeEntity) { //48集装箱细目 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; DataSet ds = T_ALL_DA.GetAllSQL("select *,EDICODE=isnull((select EDICODE from code_ctn where ctn=op_ctn.CTNALL),CTNALL),pkEDICODE=(select EDICODE from code_package where pkgs=op_ctn.KINDPKGS) from op_ctn where BSNO='" + TopSeaeEntity.BSNO.ToString().Trim() + "' order by CTNALL"); if (ds != null) { foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { ls = getEDIFormat(myRow["CNTRNO"].ToString().Trim());//箱号 alt += "48:" + ls.Trim() + ":"; ls = getEDIFormat(myRow["SEALNO"].ToString().Trim());//铅封号 alt += ls + ":"; ls = getEDIFormat(myRow["EDICODE"].ToString().Trim());//集装箱尺寸类型 alt += ls + ":"; alt += "F:";//集装箱尺寸类型 ls = getEDIFormat(myRow["PKGS"].ToString().Trim());//货物件数 alt += ls + ":"; ls = getEDIFormat(myRow["pkEDICODE"].ToString().Trim());//包装类型代码 alt += ls + ":"; ls = getEDIFormat(myRow["KGS"].ToString().Trim());//箱内货重 alt += ls + ":"; ls = getEDIFormat(myRow["TAREWEIGHT"].ToString().Trim());//箱皮重 alt += ls + ":"; ls = getEDIFormat(myRow["CBM"].ToString().Trim());//箱内货物体积 alt += ls + ":"; ls = "";//集装箱(器)来源代码 alt += ls + "'\r\n"; } } } return alt; } /// /// 60运费条款 /// /// public string GetNpsesa60(TopSeaeEntity TopSeaeEntity) { //60运费条款 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = T_ALL_DA.GetStrSQL("EDICODE", "select EDICODE from code_frt where FRT='" + TopSeaeEntity.BLFRT.ToString().Trim() + "'").Trim();//运费条款代码 alt += "60:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.BLFRT.ToString().Trim());//运费条款 alt += ls + "'\r\n"; return alt; } /// /// 71提单信息 /// /// public string GetNpsesa71(TopSeaeEntity TopSeaeEntity) { //71提单信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeEntity.ISSUETYPE.ToString().Trim());//签单方式 alt += "71:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.ISSUEPLACEID.ToString().Trim()).Trim();//提单签发地代码 alt += ls.Trim() + ":"; ls = TopSeaeEntity.ISSUEDATE.ToString().Trim();//签发日期 ls = DateTime.Parse(ls).ToString("yyyyMMdd").Trim(); alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.NOBILL.ToString().Trim());//正本提单份数 if(ls.Trim()=="ZERO") { ls = "0"; } else if(ls.Trim()=="ONE") { ls = "1"; } else if(ls.Trim()=="TWO") { ls = "2"; } else if(ls.Trim()=="THREE") { ls = "3"; } else if(ls.Trim()=="FOUR") { ls = "4"; } else if(ls.Trim()=="FIVE") { ls = "5"; } else if(ls.Trim()=="SIX") { ls = "6"; } else if(ls.Trim()=="SEVEN") { ls = "7"; } else if(ls.Trim()=="EIGHT") { ls = "8"; } else if(ls.Trim()=="NINE") { ls = "9"; } else if(ls.Trim()=="TEN") { ls = "10"; } alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.PREPARDAT.ToString().Trim());//预付地点 alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.PAYABLEAT.ToString().Trim());//到付地点 alt += ls.Trim() + "'\r\n"; return alt; } #endregion #region 分票 /// /// 00头记录 /// /// public string GetNpsesa00(TopSeaeBillmanageEntity TopSeaeBillmanageEntity,TopSeaeEntity TopSeaeEntity, string rblFILEFUNCTION, string tbSENDERCODE, string tbRECEIVERCODE) { //00头记录 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(rblFILEFUNCTION.Trim()); alt = "00:IFTMBF:BOOKING:" + ls.Trim() + ":"; ls = getEDIFormat(tbSENDERCODE.Trim());//发送方代码 alt += ls + ":"; ls = getEDIFormat(tbRECEIVERCODE.Trim());//接收方代码 alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("sdate", "select getdate() as sdate ").Trim();//文件建立时间 ls = DateTime.Parse(ls).ToString("yyMMddhhmmss").Trim(); alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PORTLOADID.ToString().Trim());//发送港代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PORTDISCHARGEID.ToString().Trim());//接收港代码 alt += ls + ":2.0'\r\n"; return alt; } /// /// 10船舶信息 /// /// public string GetNpsesa10(TopSeaeBillmanageEntity TopSeaeBillmanageEntity, TopSeaeEntity TopSeaeEntity) { //10船舶信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeEntity.VESSELID.ToString().Trim());//EDI船舶呼号 alt += "10:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.VESSEL.ToString().Trim());//船名 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.VOYNO.ToString().Trim());//航次 alt += ls + ":"; ls = "";//船公司(承运人)代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.CARRIER.ToString().Trim());//船公司(承运人) alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("EDICODE", "select EDICODE from code_lanes where LANE='" + TopSeaeEntity.LANE.ToString().Trim() + "'").Trim();//航线代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.LANE.ToString().Trim());//航线 alt += ls + "'\r\n"; return alt; } /// /// 12港口信息 /// /// public string GetNpsesa12(TopSeaeBillmanageEntity TopSeaeBillmanageEntity,TopSeaeEntity TopSeaeEntity) { //12港口信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeBillmanageEntity.PORTLOADID.ToString().Trim());//装货港代码 alt += "12:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PORTLOAD.ToString().Trim());//装货港 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PORTDISCHARGEID.ToString().Trim());//卸货港代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PORTDISCHARGE.ToString().Trim());//卸货港 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PLACEDELIVERYID.ToString().Trim());//交货地代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.PLACEDELIVERY.ToString().Trim());//交货地 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.DESTINATIONID.ToString().Trim());//目的地代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.DESTINATION.ToString().Trim());//目的地 alt += ls + ":"; ls = "";//中转地点代码 alt += ls + ":"; ls = "";//中转地点 alt += ls + ":"; ls = "";//中转目的地代码 alt += ls + ":"; ls = "";//中转目的地 alt += ls + ":"; ls = "";//货物装载运输工具时间 alt += ls + ":"; ls = "";//到达卸货地日期 alt += ls + ":"; ls = "";//货物托运的地点或者国家代码 alt += ls + "'\r\n"; return alt; } /// /// //14订舱号 /// /// public string GetNpsesa14(TopSeaeBillmanageEntity TopSeaeBillmanageEntity,TopSeaeEntity TopSeaeEntity, string rblFILEFUNCTION, string tbISSUEPARTYCODE) { //14订舱号 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(tbISSUEPARTYCODE.Trim());//订舱人代码 alt += "14:" + ls.Trim() + ":"; ls = "";//舱位互用标识 alt += ls + ":"; ls = rblFILEFUNCTION.Trim();//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B if (ls.Trim() == "3") { alt += "F:"; ls = getEDIFormat(TopSeaeEntity.ORDERNO.ToString().Trim());//订舱号 alt += ls + ":"; } else { alt += "B:"; ls = getEDIFormat(TopSeaeBillmanageEntity.MBLNO.ToString().Trim());//提单号 alt += ls + ":"; } ls = "";//询价的单位代码 alt += ls + ":"; ls = "";//签协议的单位代码 alt += ls + ":"; ls = "";//国外订舱单位 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.SERVICE.ToString().Trim());//交货条款_分单页面没有 alt += ls + ":"; ls = T_ALL_DA.GetStrSQL("EDICODE", "select EDICODE from code_frt where FRT='" + TopSeaeEntity.BLFRT.ToString().Trim() + "'").Trim();//付款方式_分单页面没有 alt += ls + ":"; ls = "";//运费协议号 alt += ls + ":"; ls = "";//服务合同号 alt += ls + ":"; ls = "";//检疫代码 alt += ls + ":"; ls = "";//费率本代码 alt += ls + ":"; ls = "";//币种 alt += ls + ":"; ls = "";//托运货物价值 alt += ls + ":"; ls = "";//汇率 alt += ls + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.MBLNO.ToString().Trim());//总提单号 alt += ls + ":"; ls = "";//船公司代码 alt += ls + "'\r\n"; return alt; } /// /// 20发货人 /// /// public string GetNpsesa20(TopSeaeBillmanageEntity TopSeaeBillmanageEntity) { //20发货人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//发货人代码 alt += "20:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.SHIPPER.ToString().Trim());//发货人内容 // ls = ls.Replace("\r\n", "\n "); for (int j = 0; j < 2; j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for (int j = 0; j < 3; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//发货人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//发货人名称 // itms[1] = ls.Substring(ii) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//发货人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//发货人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } // //// // //if (itms[2].Length < 36) // //{ // // alt += itms[2].ToString().Trim() + ":";//发货人电话号码(TE) // //} // //else // //{ // // ls = itms[2].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//发货人电话号码(TE) // // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; // //} // //// // //if (itms[3].Length < 36) // //{ // // alt += itms[3].ToString().Trim() + ":";//发货人EMAIL地址(EM) // //} // //else // //{ // // ls = itms[3].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//发货人EMAIL地址(EM) // // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; // //} //} //alt += ":";//发货人电话号码(TE) //alt += ":";//发货人EMAIL地址(EM) //alt += ":";//发货人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += "'\r\n";//国家代码 return alt; } /// /// 21收货人 /// /// public string GetNpsesa21(TopSeaeBillmanageEntity TopSeaeBillmanageEntity) { //21收货人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//收货人代码 alt += "21:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.CONSIGNEE.ToString().Trim());//收货人内容 // ls = ls.Replace("\r\n", "\n "); for (int j = 0; j < 2; j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for (int j = 0; j < 3; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//收货人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//收货人名称 // itms[1] = ls.Substring(ls.LastIndexOf(" ")) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//收货人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0, ii); // alt += lss + ":";//收货人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } // // // //if (itms[2].Length < 36) // //{ // // alt += itms[2].ToString().Trim() + ":";//收货人电话号码(TE) // //} // //else // //{ // // ls = itms[2].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//收货人电话号码(TE) // // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; // //} // //// // //if (itms[3].Length < 36) // //{ // // alt += itms[3].ToString().Trim() + ":";//收货人EMAIL地址(EM) // //} // //else // //{ // // ls = itms[3].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//收货人EMAIL地址(EM) // // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; // //} //} //alt += ":";//收货人电话号码(TE) //alt += ":";//收货人EMAIL地址(EM) //alt += ":";//收货人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += ":";//国家代码 alt += ":";//具体联系人名称 alt += ":";//具体联系人EMAIL地址(EM) alt += ":";//具体联系人电传号码(FX) alt += "'\r\n";//具体联系人电话号码(TE) return alt; } /// /// 22通知人 /// /// public string GetNpsesa22(TopSeaeBillmanageEntity TopSeaeBillmanageEntity) { //22通知人 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = "";//通知人代码 alt += "22:1:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.NOTIFYPARTY.ToString().Trim());//通知人内容 // ls = ls.Replace("\r\n", "\n "); for (int j = 0; j < 2; j++) { if (ls.Length < 71) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 70); int ils = getEDISUB(sls, 70); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } for (int j = 0; j < 3; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";// ls = ls.Trim().Substring(ils); } } //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //if (itms.Length > 0) //{ // if (itms[0].Length < 71) // { // alt += itms[0].ToString().Trim() + ":";//通知人名称 // } // else // { // ls = itms[0].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//通知人名称 // itms[1] = ls.Substring(ii) + itms[1]; // } // // // if (itms[1].Length < 71) // { // alt += itms[1].ToString().Trim() + ":";//通知人详细地址 // } // else // { // ls = itms[1].ToString().Trim().Substring(0, 70); // int ii = getEDISUB(ls, 70); // string lss = ls.Substring(0,ii); // alt += lss + ":";//通知人详细地址 // //itms[2] = ls.Substring(ls.LastIndexOf(" ")) + itms[2]; // } // // // //if (itms[2].Length < 36) // //{ // // alt += itms[2].ToString().Trim() + ":";//通知人电话号码(TE) // //} // //else // //{ // // ls = itms[2].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//通知人电话号码(TE) // // itms[3] = ls.Substring(ls.LastIndexOf(" ")) + itms[3]; // //} // //// // //if (itms[3].Length < 36) // //{ // // alt += itms[3].ToString().Trim() + ":";//通知人EMAIL地址(EM) // //} // //else // //{ // // ls = itms[3].ToString().Trim().Substring(0, 35); // // string lss = ls.Substring(0, ls.LastIndexOf(" ")); // // alt += lss + ":";//通知人EMAIL地址(EM) // // //itmSHIPPER[4] = ls.Substring(ls.LastIndexOf(" ")) + itmSHIPPER[4]; // //} //} //alt += ":";//通知人电话号码(TE) //alt += ":";//通知人EMAIL地址(EM) //alt += ":";//通知人电传号码(FX) alt += ":";//City name 城市名称 alt += ":";//省份代码 alt += ":";//省份名称 alt += ":";//邮政编码 alt += "'\r\n";//国家代码 return alt; } /// /// 40订舱预配箱 /// /// public string GetNpsesa40(TopSeaeBillmanageEntity TopSeaeBillmanageEntity,TopSeaeEntity TopSeaeEntity, string rblFILEFUNCTION, string strHBL) { T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; DataSet ds = T_ALL_DA.GetAllSQL("select CTNALL,EDICODE=isnull((select EDICODE from code_ctn where ctn=op_ctn.CTNALL),CTNALL),count(CTNALL) as hj from op_ctn where BSNO='" + TopSeaeBillmanageEntity.BSNO.ToString().Trim() + "' group by CTNALL order by CTNALL");//EDI船舶呼号 if (strHBL.Trim() == "0")//整箱 { if (ds != null) { int k = 0; foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { k = k + 1; ls = getEDIFormat(myRow["EDICODE"].ToString().Trim());//集装箱尺寸类型 alt += "40:" + k + ":" + ls.Trim() + ":"; ls = getEDIFormat(myRow["hj"].ToString().Trim());//集装箱箱数 alt += ls + ":"; alt += "F:::";//集装箱状态//拼箱号//装箱地点代码 ls = getEDIFormat(TopSeaeEntity.ISCONTAINERSOC.ToString().Trim());//货主箱标志(是否自有箱) if (bool.Parse(ls.Trim())) { alt += "Y:"; } else { alt += "N:"; } ls = "";//拼箱人代码 alt += ls + "'\r\n"; } } } } else { if (ds != null) { int k = 0; string px = ""; //拼箱号 ls = rblFILEFUNCTION.Trim();//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B if (ls.Trim() == "3") { px = getEDIFormat(TopSeaeEntity.ORDERNO.ToString().Trim());//订舱号 } else { px = getEDIFormat(TopSeaeBillmanageEntity.MBLNO.ToString().Trim());//提单号 } // foreach (DataTable myTable in ds.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { k = k + 1; ls = getEDIFormat(myRow["EDICODE"].ToString().Trim());//集装箱尺寸类型 alt += "40:" + k + ":" + ls.Trim() + ":"; ls = getEDIFormat(myRow["hj"].ToString().Trim());//集装箱箱数 alt += ls + ":"; alt += "L:";//集装箱状态//拼箱号//装箱地点代码 if (k == 1) { ls = "";//拼箱号 alt += ls + ":"; } else { alt += px + ":";//拼箱号 } ls = "";//装箱地点代码 alt += ls + ":"; ls = getEDIFormat(TopSeaeEntity.ISCONTAINERSOC.ToString().Trim());//货主箱标志(是否自有箱) if (bool.Parse(ls.Trim())) { alt += "Y:"; } else { alt += "N:"; } ls = "";//拼箱人代码 alt += ls + "'\r\n"; } } } } return alt; } /// /// 44唛头 /// /// public string GetNpsesa44(TopSeaeBillmanageEntity TopSeaeBillmanageEntity) { //44唛头 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; // ls = getEDIFormat(TopSeaeBillmanageEntity.MARKS.ToString().Trim());//唛头 // ls = ls.Replace("\r\n", "\n "); for (int i = 0; i < 5; i++) { alt += "44:" + getEDINUM((i + 1).ToString()) + ":";//货物序号 for (int j = 0; j < 5; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";//唛头1 ls = ls.Trim().Substring(ils); } } alt = alt.Trim().Substring(0, alt.Trim().Length - 1); alt += "'\r\n"; if (ls == "") { break; } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //ArrayList aList = new ArrayList(); //for (int k = 0; k < itms.Length; k++) //{ // ls = itms[k].ToString().Trim(); // for (int n = 0; n < (ls.Length / 35 + 1); n++) // { // if (ls.Length < 36) // { // aList.Add(ls); // } // else // { // string sls = ls.Trim().Substring(0, 35); // int ils = getEDISUB(sls, 35); // sls = sls.Trim().Substring(0, ils); // aList.Add(sls);//唛头1 // ls = ls.Trim().Substring(ils); // } // } //} //// //int ilength = aList.Count; //int iCMOD = ilength % 5; //if (iCMOD != 0) //{ // iCMOD = ilength/5+1; //} //// //if (iCMOD > 5) //{ // iCMOD = 5; //} //// //for (int a = 0; a < iCMOD; a++) //{ // alt += "44:" + getEDINUM((a+1).ToString()) + ":";//货物序号 // for (int m = 0; m < 5; m++) // { // try // { // alt += aList[m + a * 5].ToString().Trim() + ":"; // } // catch (Exception e) // { // alt += ":"; // } // } // alt = alt.Trim().Substring(0, alt.Trim().Length - 1); // alt += "'\r\n"; //} // return alt; } /// /// 47货物描述 /// /// public string GetNpsesa47(TopSeaeBillmanageEntity TopSeaeBillmanageEntity) { //47货物描述 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = ""; // ls = getEDIFormat(TopSeaeBillmanageEntity.DESCRIPTION.ToString().Trim());//货物描述 // ls = ls.Replace("\r\n", "\n "); for (int i = 0; i < 5; i++) { alt += "47:" + getEDINUM((i + 1).ToString()) + ":";//货物序号 for (int j = 0; j < 5; j++) { if (ls.Length < 36) { alt += ls + ":"; ls = ""; } else { string sls = ls.Trim().Substring(0, 35); int ils = getEDISUB(sls, 35); sls = sls.Trim().Substring(0, ils); alt += sls + ":";//唛头1 ls = ls.Trim().Substring(ils); } } alt = alt.Trim().Substring(0, alt.Trim().Length - 1); alt += "'\r\n"; if (ls == "") { break; } } // //string[] itms = ls.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); //ArrayList aList = new ArrayList(); //for (int k = 0; k < itms.Length; k++) //{ // ls = itms[k].ToString().Trim(); // for (int n = 0; n < (ls.Length / 35 + 1); n++) // { // if (ls.Length < 36) // { // aList.Add(ls); // } // else // { // string sls = ls.Trim().Substring(0, 35); // int ils = getEDISUB(sls, 35); // sls = sls.Trim().Substring(0, ils); // aList.Add(sls);//唛头1 // ls = ls.Trim().Substring(ils); // } // } //} //// //int ilength = aList.Count; //int iCMOD = ilength % 5; //if (iCMOD != 0) //{ // iCMOD = ilength / 5 + 1; //} //// //if (iCMOD > 5) //{ // iCMOD = 5; //} //// //for (int a = 0; a < iCMOD; a++) //{ // alt += "47:" + getEDINUM((a + 1).ToString()) + ":";//货物序号 // for (int m = 0; m < 5; m++) // { // try // { // alt += aList[m + a * 5].ToString().Trim() + ":"; // } // catch (Exception e) // { // alt += ":"; // } // } // alt = alt.Trim().Substring(0, alt.Trim().Length - 1); // alt += "'\r\n"; //} // return alt; } /// /// 71提单信息 /// /// public string GetNpsesa71(TopSeaeBillmanageEntity TopSeaeBillmanageEntity, TopSeaeEntity TopSeaeEntity) { //71提单信息 T_ALL_DA T_ALL_DA = new T_ALL_DA(); string alt = ""; string ls = getEDIFormat(TopSeaeEntity.ISSUETYPE.ToString().Trim());//签单方式 alt += "71:" + ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.ISSUEPLACEID.ToString().Trim()).Trim();//提单签发地代码 alt += ls.Trim() + ":"; ls = TopSeaeBillmanageEntity.ISSUEDATE.ToString().Trim();//签发日期 ls = DateTime.Parse(ls).ToString("yyyyMMdd").Trim(); alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeBillmanageEntity.NOBILL.ToString().Trim());//正本提单份数 if (ls.Trim() == "ZERO") { ls = "0"; } else if (ls.Trim() == "ONE") { ls = "1"; } else if (ls.Trim() == "TWO") { ls = "2"; } else if (ls.Trim() == "THREE") { ls = "3"; } else if (ls.Trim() == "FOUR") { ls = "4"; } else if (ls.Trim() == "FIVE") { ls = "5"; } else if (ls.Trim() == "SIX") { ls = "6"; } else if (ls.Trim() == "SEVEN") { ls = "7"; } else if (ls.Trim() == "EIGHT") { ls = "8"; } else if (ls.Trim() == "NINE") { ls = "9"; } else if (ls.Trim() == "TEN") { ls = "10"; } alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.PREPARDAT.ToString().Trim());//预付地点_分单页面没有 alt += ls.Trim() + ":"; ls = getEDIFormat(TopSeaeEntity.PAYABLEAT.ToString().Trim());//到付地点_分单页面没有 alt += ls.Trim() + "'\r\n"; return alt; } #endregion /// /// 99尾记录 /// /// public string GetNpsesa99(int rtof) { //99尾记录 string alt = ""; alt += "99:" + rtof + "'\r\n";//记录总数 return alt; } //------------ } }