|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
using System.Data;
|
|
|
|
|
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 System.IO;
|
|
|
|
|
using System.Xml;
|
|
|
|
|
using DSWeb.EntityDA;
|
|
|
|
|
using DSWeb.Models;
|
|
|
|
|
using JsonHelper;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.EDI
|
|
|
|
|
{
|
|
|
|
|
public partial class NpsesaEDIExport : System.Web.UI.Page
|
|
|
|
|
{
|
|
|
|
|
public string strGIDS;//
|
|
|
|
|
public string strBSNO;//
|
|
|
|
|
public string strUserID;//登录用户GID
|
|
|
|
|
public string strCompanyID;//公司GID
|
|
|
|
|
public string strShowName;//用户显示名
|
|
|
|
|
public string strDeptName;//部门名称
|
|
|
|
|
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (Session["USERID"] != null)
|
|
|
|
|
{
|
|
|
|
|
strUserID = Session["USERID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Server.Transfer("~/Error/FriendError.aspx");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (Session["SHOWNAME"] != null)
|
|
|
|
|
{
|
|
|
|
|
strShowName = Session["SHOWNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Session["COMPANYID"] != null)
|
|
|
|
|
{
|
|
|
|
|
strCompanyID = Session["COMPANYID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Session["DEPTNAME"] != null)
|
|
|
|
|
{
|
|
|
|
|
strDeptName = Session["DEPTNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (this.hdExport.Value != "")
|
|
|
|
|
{
|
|
|
|
|
setXML();
|
|
|
|
|
setExcelReport();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (!IsPostBack)
|
|
|
|
|
{
|
|
|
|
|
if (Request.QueryString["id"] != null && Request.QueryString["id"].ToString().Trim() != "") //if (Request.QueryString["id"] != null)
|
|
|
|
|
{
|
|
|
|
|
strBSNO = Request.QueryString["id"].ToString().Trim();
|
|
|
|
|
this.hdBSNO.Value = strBSNO;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (Request.QueryString["ids"] != null && Request.QueryString["ids"].ToString().Trim() != "") //if (Request.QueryString["id"] != null)
|
|
|
|
|
{
|
|
|
|
|
strGIDS = Request.QueryString["ids"].ToString().Trim();
|
|
|
|
|
this.hdGIDS.Value = strGIDS;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (Request.QueryString["ishbl"] != null && Request.QueryString["ishbl"].ToString().Trim() != "") //if (Request.QueryString["id"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.hdISHBL.Value = Request.QueryString["ishbl"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (this.hdISHBL.Value.Trim() == "0")
|
|
|
|
|
{
|
|
|
|
|
rblTYPE.Items[2].Enabled = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
rblTYPE.Items[2].Selected = true;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
getXML();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void getXML()
|
|
|
|
|
{
|
|
|
|
|
string OppPath = "xml";
|
|
|
|
|
string xmlPath = Server.MapPath(OppPath);
|
|
|
|
|
string xmlName = "Npsesa.xml";
|
|
|
|
|
//
|
|
|
|
|
if (File.Exists(xmlPath + "//" + xmlName)) //判断文件是否寸在
|
|
|
|
|
{
|
|
|
|
|
//存在的情况下
|
|
|
|
|
XmlDocument xmldoc = new XmlDocument();
|
|
|
|
|
xmldoc.Load(xmlPath + "//" + xmlName);
|
|
|
|
|
//更新文件
|
|
|
|
|
XmlNode roots = xmldoc.SelectSingleNode("History");//获取History节点的所有子节点
|
|
|
|
|
foreach (XmlNode root in roots)//遍历所有子节点
|
|
|
|
|
{
|
|
|
|
|
XmlElement xe = (XmlElement)root;//将子节点类型转换为XmlElement类型
|
|
|
|
|
if (xe.GetAttribute("companyid").ToString().Trim() == strCompanyID.Trim())//如果id属性值为“strCompanyID.Trim()”
|
|
|
|
|
{
|
|
|
|
|
XmlNodeList bakss = xe.ChildNodes;//继续获取xe子节点的所有子节点
|
|
|
|
|
foreach (XmlNode baks in bakss)//遍历
|
|
|
|
|
{
|
|
|
|
|
XmlElement bak = (XmlElement)baks;//转换类型
|
|
|
|
|
if (bak.Name == "SENDERCODE")//如果找到
|
|
|
|
|
{
|
|
|
|
|
tbSENDERCODE.Text = bak.InnerText.Trim();//发送方代码
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "RECEIVERCODE")//接收方代码
|
|
|
|
|
{
|
|
|
|
|
tbRECEIVERCODE.Text = bak.InnerText.Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "ISSUEPARTYCODE")//订舱人代码
|
|
|
|
|
{
|
|
|
|
|
tbISSUEPARTYCODE.Text = bak.InnerText.Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "FILEFUNCTION")//文件功能
|
|
|
|
|
{
|
|
|
|
|
rblFILEFUNCTION.SelectedValue = bak.InnerText.ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
//else if (bak.Name == "BOOKINGNOID")//订舱号标识
|
|
|
|
|
//{
|
|
|
|
|
// rblBOOKINGNOID.SelectedValue = bak.InnerText.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
//else if (bak.Name == "TEMPERATUREID")//温度计量单位
|
|
|
|
|
//{
|
|
|
|
|
// rblTEMPERATUREID.SelectedValue = bak.InnerText.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
//else if (bak.Name == "EquipmentSupplierTypeCode")//集装箱(器)来源代码
|
|
|
|
|
//{
|
|
|
|
|
// rblEquipmentSupplierTypeCode.SelectedValue = bak.InnerText.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void setXML()
|
|
|
|
|
{
|
|
|
|
|
string OppPath = "xml";
|
|
|
|
|
string xmlPath = Server.MapPath(OppPath);
|
|
|
|
|
string xmlName = "Npsesa.xml";
|
|
|
|
|
//
|
|
|
|
|
if (File.Exists(xmlPath + "//" + xmlName)) //判断文件是否寸在
|
|
|
|
|
{
|
|
|
|
|
//更新文件
|
|
|
|
|
updateXML(xmlPath,xmlName);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//创建文件
|
|
|
|
|
createXML(xmlPath, xmlName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void updateXML(string xmlPath,string xmlName)
|
|
|
|
|
{
|
|
|
|
|
int bz = 0;
|
|
|
|
|
//插入
|
|
|
|
|
//存在的情况下
|
|
|
|
|
XmlDocument xmldoc = new XmlDocument();
|
|
|
|
|
xmldoc.Load(xmlPath + "//" + xmlName);
|
|
|
|
|
//更新文件
|
|
|
|
|
XmlNode roots = xmldoc.SelectSingleNode("History");//获取History节点的所有子节点
|
|
|
|
|
foreach (XmlNode root in roots)//遍历所有子节点
|
|
|
|
|
{
|
|
|
|
|
XmlElement xe = (XmlElement)root;//将子节点类型转换为XmlElement类型
|
|
|
|
|
if (xe.GetAttribute("companyid").ToString().Trim() == strCompanyID.Trim())//如果id属性值为“strCompanyID.Trim()”
|
|
|
|
|
{
|
|
|
|
|
bz = 1;
|
|
|
|
|
XmlNodeList bakss = xe.ChildNodes;//继续获取xe子节点的所有子节点
|
|
|
|
|
foreach (XmlNode baks in bakss)//遍历
|
|
|
|
|
{
|
|
|
|
|
XmlElement bak = (XmlElement)baks;//转换类型
|
|
|
|
|
if (bak.Name == "SENDERCODE")//如果找到
|
|
|
|
|
{
|
|
|
|
|
bak.InnerText = tbSENDERCODE.Text.Trim();//发送方代码
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "RECEIVERCODE")//接收方代码
|
|
|
|
|
{
|
|
|
|
|
bak.InnerText = tbRECEIVERCODE.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "ISSUEPARTYCODE")//订舱人代码
|
|
|
|
|
{
|
|
|
|
|
bak.InnerText = tbISSUEPARTYCODE.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (bak.Name == "FILEFUNCTION")//文件功能
|
|
|
|
|
{
|
|
|
|
|
bak.InnerText = rblFILEFUNCTION.SelectedValue.ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
//else if (bak.Name == "BOOKINGNOID")//订舱号标识
|
|
|
|
|
//{
|
|
|
|
|
// bak.InnerText = rblBOOKINGNOID.SelectedValue.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
//else if (bak.Name == "TEMPERATUREID")//温度计量单位
|
|
|
|
|
//{
|
|
|
|
|
// bak.InnerText = rblTEMPERATUREID.SelectedValue.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
//else if (bak.Name == "EquipmentSupplierTypeCode")//集装箱(器)来源代码
|
|
|
|
|
//{
|
|
|
|
|
// bak.InnerText = rblEquipmentSupplierTypeCode.SelectedValue.ToString().Trim();
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (bz == 0)
|
|
|
|
|
{
|
|
|
|
|
insertXML(xmlPath, xmlName);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
xmldoc.Save(xmlPath + "//" + xmlName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void createXML(string xmlPath, string xmlName)
|
|
|
|
|
{
|
|
|
|
|
Directory.CreateDirectory(xmlPath);//创建该文件
|
|
|
|
|
|
|
|
|
|
XmlDocument xmldoc = new XmlDocument();
|
|
|
|
|
XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);
|
|
|
|
|
xmldoc.AppendChild(xmlnode);
|
|
|
|
|
|
|
|
|
|
XmlElement root = xmldoc.CreateElement("History");
|
|
|
|
|
xmldoc.AppendChild(root);
|
|
|
|
|
XmlElement bak = xmldoc.CreateElement("Bak");
|
|
|
|
|
bak.SetAttribute("companyid", strCompanyID.Trim());
|
|
|
|
|
root.AppendChild(bak);
|
|
|
|
|
|
|
|
|
|
XmlElement SENDERCODE = xmldoc.CreateElement("SENDERCODE");
|
|
|
|
|
SENDERCODE.InnerText = tbSENDERCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(SENDERCODE); //发送方代码
|
|
|
|
|
|
|
|
|
|
XmlElement RECEIVERCODE = xmldoc.CreateElement("RECEIVERCODE");
|
|
|
|
|
RECEIVERCODE.InnerText = tbRECEIVERCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(RECEIVERCODE); //接收方代码
|
|
|
|
|
|
|
|
|
|
XmlElement ISSUEPARTYCODE = xmldoc.CreateElement("ISSUEPARTYCODE");
|
|
|
|
|
ISSUEPARTYCODE.InnerText = tbISSUEPARTYCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(ISSUEPARTYCODE); //订舱人代码
|
|
|
|
|
|
|
|
|
|
XmlElement FILEFUNCTION = xmldoc.CreateElement("FILEFUNCTION");
|
|
|
|
|
FILEFUNCTION.InnerText = rblFILEFUNCTION.SelectedValue.ToString().Trim();
|
|
|
|
|
bak.AppendChild(FILEFUNCTION); // 文件功能
|
|
|
|
|
|
|
|
|
|
//XmlElement BOOKINGNOID = xmldoc.CreateElement("BOOKINGNOID");
|
|
|
|
|
//BOOKINGNOID.InnerText = rblBOOKINGNOID.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(BOOKINGNOID); //订舱号标识
|
|
|
|
|
|
|
|
|
|
//XmlElement TEMPERATUREID = xmldoc.CreateElement("TEMPERATUREID");
|
|
|
|
|
//TEMPERATUREID.InnerText = rblTEMPERATUREID.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(TEMPERATUREID); //温度计量单位
|
|
|
|
|
|
|
|
|
|
//XmlElement EquipmentSupplierTypeCode = xmldoc.CreateElement("EquipmentSupplierTypeCode");
|
|
|
|
|
//EquipmentSupplierTypeCode.InnerText = rblEquipmentSupplierTypeCode.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(EquipmentSupplierTypeCode); //集装箱(器)来源代码
|
|
|
|
|
|
|
|
|
|
xmldoc.Save(xmlPath + "//" + xmlName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void insertXML(string xmlPath, string xmlName)
|
|
|
|
|
{
|
|
|
|
|
XmlDocument xmldoc = new XmlDocument();
|
|
|
|
|
xmldoc.Load(xmlPath + "\\" + xmlName);
|
|
|
|
|
//存在文件
|
|
|
|
|
XmlNode root = xmldoc.SelectSingleNode("History");
|
|
|
|
|
XmlElement bak = xmldoc.CreateElement("Bak");
|
|
|
|
|
bak.SetAttribute("companyid", strCompanyID.Trim());
|
|
|
|
|
root.AppendChild(bak);
|
|
|
|
|
|
|
|
|
|
XmlElement SENDERCODE = xmldoc.CreateElement("SENDERCODE");
|
|
|
|
|
SENDERCODE.InnerText = tbSENDERCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(SENDERCODE); //发送方代码
|
|
|
|
|
|
|
|
|
|
XmlElement RECEIVERCODE = xmldoc.CreateElement("RECEIVERCODE");
|
|
|
|
|
RECEIVERCODE.InnerText = tbRECEIVERCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(RECEIVERCODE); //接收方代码
|
|
|
|
|
|
|
|
|
|
XmlElement ISSUEPARTYCODE = xmldoc.CreateElement("ISSUEPARTYCODE");
|
|
|
|
|
ISSUEPARTYCODE.InnerText = tbISSUEPARTYCODE.Text.Trim();
|
|
|
|
|
bak.AppendChild(ISSUEPARTYCODE); //订舱人代码
|
|
|
|
|
|
|
|
|
|
XmlElement FILEFUNCTION = xmldoc.CreateElement("FILEFUNCTION");
|
|
|
|
|
FILEFUNCTION.InnerText = rblFILEFUNCTION.SelectedValue.ToString().Trim();
|
|
|
|
|
bak.AppendChild(FILEFUNCTION); // 文件功能
|
|
|
|
|
|
|
|
|
|
//XmlElement BOOKINGNOID = xmldoc.CreateElement("BOOKINGNOID");
|
|
|
|
|
//BOOKINGNOID.InnerText = rblBOOKINGNOID.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(BOOKINGNOID); //订舱号标识
|
|
|
|
|
|
|
|
|
|
//XmlElement TEMPERATUREID = xmldoc.CreateElement("TEMPERATUREID");
|
|
|
|
|
//TEMPERATUREID.InnerText = rblTEMPERATUREID.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(TEMPERATUREID); //温度计量单位
|
|
|
|
|
|
|
|
|
|
//XmlElement EquipmentSupplierTypeCode = xmldoc.CreateElement("EquipmentSupplierTypeCode");
|
|
|
|
|
//EquipmentSupplierTypeCode.InnerText = rblEquipmentSupplierTypeCode.SelectedValue.ToString().Trim();
|
|
|
|
|
//bak.AppendChild(EquipmentSupplierTypeCode); //集装箱(器)来源代码
|
|
|
|
|
|
|
|
|
|
xmldoc.Save(xmlPath + "//" + xmlName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void setExcelReport()
|
|
|
|
|
{
|
|
|
|
|
EDIExportDA EDIExportDA = new EDIExportDA();
|
|
|
|
|
//
|
|
|
|
|
string alt = "";
|
|
|
|
|
string sMBLNO = "";
|
|
|
|
|
string[] itmGIDS = this.hdGIDS.Value.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
if (this.hdISHBL.Value.Trim() == "0")//整箱
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < itmGIDS.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
SeaExportInfoDA SeaExportInfoDA = new SeaExportInfoDA();
|
|
|
|
|
TopSeaeEntity TopSeaeEntity = new TopSeaeEntity();
|
|
|
|
|
TopSeaeEntity = SeaExportInfoDA.GetID(itmGIDS[i].ToString().Trim());
|
|
|
|
|
sMBLNO = TopSeaeEntity.VESSEL.ToString().Trim()+"_"+TopSeaeEntity.VOYNO.ToString().Trim();
|
|
|
|
|
|
|
|
|
|
if (i == 0)
|
|
|
|
|
{
|
|
|
|
|
//00头记录
|
|
|
|
|
alt += EDIExportDA.GetNpsesa00(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbSENDERCODE.Text.Trim(), tbRECEIVERCODE.Text.Trim());
|
|
|
|
|
//10船舶信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa10(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//12港口信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa12(TopSeaeEntity);
|
|
|
|
|
//14订舱号
|
|
|
|
|
alt += EDIExportDA.GetNpsesa14(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbISSUEPARTYCODE.Text.Trim());
|
|
|
|
|
//20发货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa20(TopSeaeEntity);
|
|
|
|
|
//21收货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa21(TopSeaeEntity);
|
|
|
|
|
//22通知人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa22(TopSeaeEntity);
|
|
|
|
|
//40订舱预配箱
|
|
|
|
|
alt += EDIExportDA.GetNpsesa40(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), rblTYPE.SelectedValue.ToString().Trim());
|
|
|
|
|
//41订舱货物
|
|
|
|
|
alt += EDIExportDA.GetNpsesa41(TopSeaeEntity);
|
|
|
|
|
string sdk = TopSeaeEntity.CARGOID.ToString().Trim();
|
|
|
|
|
if (TopSeaeEntity.CARGOID.ToString().Trim() != "S")
|
|
|
|
|
{
|
|
|
|
|
//43危险品,冷藏和超标信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa43(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//44唛头
|
|
|
|
|
alt += EDIExportDA.GetNpsesa44(TopSeaeEntity);
|
|
|
|
|
//47货物描述
|
|
|
|
|
alt += EDIExportDA.GetNpsesa47(TopSeaeEntity);
|
|
|
|
|
//
|
|
|
|
|
if (rblFILEFUNCTION.SelectedValue.ToString().Trim() == "3")//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//48集装箱细目
|
|
|
|
|
alt += EDIExportDA.GetNpsesa48(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//60运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa60(TopSeaeEntity);
|
|
|
|
|
//71运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa71(TopSeaeEntity);
|
|
|
|
|
//99尾记录
|
|
|
|
|
if (i == itmGIDS.Length-1)
|
|
|
|
|
{
|
|
|
|
|
string[] itms = alt.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
int i99 = itms.Length+1;
|
|
|
|
|
alt += EDIExportDA.GetNpsesa99(i99);
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (rblTYPE.SelectedValue.ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < itmGIDS.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
TopSeaeBillmanageDA TopSeaeBillmanageDA = new TopSeaeBillmanageDA();
|
|
|
|
|
TopSeaeBillmanageEntity TopSeaeBillmanageEntity = new TopSeaeBillmanageEntity();
|
|
|
|
|
TopSeaeBillmanageEntity = TopSeaeBillmanageDA.GetID(itmGIDS[i].ToString().Trim());
|
|
|
|
|
SeaExportInfoDA SeaExportInfoDA = new SeaExportInfoDA();
|
|
|
|
|
TopSeaeEntity TopSeaeEntity = new TopSeaeEntity();
|
|
|
|
|
TopSeaeEntity = SeaExportInfoDA.GetID(this.hdBSNO.Value.ToString().Trim());
|
|
|
|
|
sMBLNO = TopSeaeEntity.MBLNO.ToString().Trim();
|
|
|
|
|
|
|
|
|
|
if (i == 0)
|
|
|
|
|
{
|
|
|
|
|
//00头记录
|
|
|
|
|
alt += EDIExportDA.GetNpsesa00(TopSeaeBillmanageEntity, TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbSENDERCODE.Text.Trim(), tbRECEIVERCODE.Text.Trim());
|
|
|
|
|
//10船舶信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa10(TopSeaeBillmanageEntity, TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//12港口信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa12(TopSeaeEntity);
|
|
|
|
|
//14订舱号
|
|
|
|
|
alt += EDIExportDA.GetNpsesa14(TopSeaeBillmanageEntity, TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbISSUEPARTYCODE.Text.Trim());
|
|
|
|
|
//20发货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa20(TopSeaeBillmanageEntity);
|
|
|
|
|
//21收货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa21(TopSeaeBillmanageEntity);
|
|
|
|
|
//22通知人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa22(TopSeaeBillmanageEntity);
|
|
|
|
|
//40订舱预配箱
|
|
|
|
|
alt += EDIExportDA.GetNpsesa40(TopSeaeBillmanageEntity, TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), rblTYPE.SelectedValue.ToString().Trim());
|
|
|
|
|
//41订舱货物
|
|
|
|
|
alt += EDIExportDA.GetNpsesa41(TopSeaeEntity);
|
|
|
|
|
string sdk = TopSeaeEntity.CARGOID.ToString().Trim();
|
|
|
|
|
if (TopSeaeEntity.CARGOID.ToString().Trim() != "S")
|
|
|
|
|
{
|
|
|
|
|
//43危险品,冷藏和超标信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa43(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//44唛头
|
|
|
|
|
alt += EDIExportDA.GetNpsesa44(TopSeaeBillmanageEntity);
|
|
|
|
|
//47货物描述
|
|
|
|
|
alt += EDIExportDA.GetNpsesa47(TopSeaeBillmanageEntity);
|
|
|
|
|
//
|
|
|
|
|
if (rblFILEFUNCTION.SelectedValue.ToString().Trim() == "3")//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//48集装箱细目
|
|
|
|
|
alt += EDIExportDA.GetNpsesa48(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//60运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa60(TopSeaeEntity);
|
|
|
|
|
//71运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa71(TopSeaeBillmanageEntity, TopSeaeEntity);
|
|
|
|
|
//99尾记录
|
|
|
|
|
if (i == itmGIDS.Length-1)
|
|
|
|
|
{
|
|
|
|
|
string[] itms = alt.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
int i99 = itms.Length+1;
|
|
|
|
|
alt += EDIExportDA.GetNpsesa99(i99);
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SeaExportInfoDA SeaExportInfoDA = new SeaExportInfoDA();
|
|
|
|
|
TopSeaeEntity TopSeaeEntity = new TopSeaeEntity();
|
|
|
|
|
TopSeaeEntity = SeaExportInfoDA.GetID(this.hdBSNO.Value.ToString().Trim());
|
|
|
|
|
sMBLNO = TopSeaeEntity.MBLNO.ToString().Trim();
|
|
|
|
|
|
|
|
|
|
//00头记录
|
|
|
|
|
alt += EDIExportDA.GetNpsesa00(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbSENDERCODE.Text.Trim(), tbRECEIVERCODE.Text.Trim());
|
|
|
|
|
//10船舶信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa10(TopSeaeEntity);
|
|
|
|
|
//12港口信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa12(TopSeaeEntity);
|
|
|
|
|
//14订舱号
|
|
|
|
|
alt += EDIExportDA.GetNpsesa14(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), tbISSUEPARTYCODE.Text.Trim());
|
|
|
|
|
//20发货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa20(TopSeaeEntity);
|
|
|
|
|
//21收货人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa21(TopSeaeEntity);
|
|
|
|
|
//22通知人
|
|
|
|
|
alt += EDIExportDA.GetNpsesa22(TopSeaeEntity);
|
|
|
|
|
//40订舱预配箱
|
|
|
|
|
alt += EDIExportDA.GetNpsesa40(TopSeaeEntity, rblFILEFUNCTION.SelectedValue.ToString().Trim(), rblTYPE.SelectedValue.ToString().Trim());
|
|
|
|
|
//41订舱货物
|
|
|
|
|
alt += EDIExportDA.GetNpsesa41(TopSeaeEntity);
|
|
|
|
|
string sdk = TopSeaeEntity.CARGOID.ToString().Trim();
|
|
|
|
|
if (TopSeaeEntity.CARGOID.ToString().Trim() != "S")
|
|
|
|
|
{
|
|
|
|
|
//43危险品,冷藏和超标信息
|
|
|
|
|
alt += EDIExportDA.GetNpsesa43(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//44唛头
|
|
|
|
|
alt += EDIExportDA.GetNpsesa44(TopSeaeEntity);
|
|
|
|
|
//47货物描述
|
|
|
|
|
alt += EDIExportDA.GetNpsesa47(TopSeaeEntity);
|
|
|
|
|
//
|
|
|
|
|
if (rblFILEFUNCTION.SelectedValue.ToString().Trim() == "3")//订舱号标识//货代向船公司订舱时(即标记3),订舱号标识(R1404)为F,货代向船代订舱时(标记9、标记5/4),订舱号标识(R1404)为B
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//48集装箱细目
|
|
|
|
|
alt += EDIExportDA.GetNpsesa48(TopSeaeEntity);
|
|
|
|
|
}
|
|
|
|
|
//60运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa60(TopSeaeEntity);
|
|
|
|
|
//71运费条款
|
|
|
|
|
alt += EDIExportDA.GetNpsesa71(TopSeaeEntity);
|
|
|
|
|
//99尾记录
|
|
|
|
|
string[] itms = alt.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
int i99 = itms.Length+1;
|
|
|
|
|
alt += EDIExportDA.GetNpsesa99(i99);
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
StringWriter sw = new StringWriter();
|
|
|
|
|
sw.WriteLine(alt);
|
|
|
|
|
//
|
|
|
|
|
sw.Close();
|
|
|
|
|
switch ("MUTEXT")
|
|
|
|
|
{
|
|
|
|
|
case "MUTEXT":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename="+sMBLNO+".txt");
|
|
|
|
|
Response.ContentType = "application/txt";
|
|
|
|
|
break;
|
|
|
|
|
case "MUEXCEL":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.xls");
|
|
|
|
|
Response.ContentType = "application/ms-excel";
|
|
|
|
|
break;
|
|
|
|
|
case "MUWORD":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.doc");
|
|
|
|
|
Response.ContentType = "application/ms-word";
|
|
|
|
|
break;
|
|
|
|
|
case "MUPDF":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.pdf");
|
|
|
|
|
Response.ContentType = "application/pdf";
|
|
|
|
|
break;
|
|
|
|
|
case "MUXML":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.xml");
|
|
|
|
|
Response.ContentType = "application/xml";
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
|
|
|
|
|
Response.Write(sw);
|
|
|
|
|
Response.End();
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|
}
|