|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
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.Text;
|
|
|
using DSWeb.DataAccess;
|
|
|
using System.Data.SqlClient;
|
|
|
using DSWeb.Models;
|
|
|
using DSWeb.EntityDA;
|
|
|
using System.Web.Script.Serialization;
|
|
|
|
|
|
using System.ComponentModel;
|
|
|
using System.Drawing;
|
|
|
using System.Web.SessionState;
|
|
|
using System.Web.Mail;
|
|
|
using System.IO;
|
|
|
using System.Data.OleDb;
|
|
|
|
|
|
using JsonHelper;
|
|
|
using DSWeb.Log;
|
|
|
|
|
|
using System.Xml.Linq;
|
|
|
using System.Xml;
|
|
|
|
|
|
namespace DSWeb.Shipping
|
|
|
{
|
|
|
public partial class EDIList : System.Web.UI.Page
|
|
|
{
|
|
|
TopSeaeEntity TopSeaeEntity = new TopSeaeEntity();
|
|
|
SeaExportInfoDA SeaExportInfoDA = new SeaExportInfoDA();
|
|
|
TempOpSeaeEdiEntity TempOpSeaeEdiEntity = new TempOpSeaeEdiEntity();
|
|
|
TempOpSeaeEdiDA TempOpSeaeEdiDA = new TempOpSeaeEdiDA();
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
TopCtnDA TopCtnDA = new TopCtnDA();
|
|
|
TopCtnEntity TopCtnEntity = new TopCtnEntity();
|
|
|
public string strHandleType = String.Empty;
|
|
|
//grid
|
|
|
private string strColumnVal;
|
|
|
public string strUserID;//用户GID
|
|
|
private string strType = "16";//Grid模块号
|
|
|
private string strShowName;//用户登录名
|
|
|
private string strCompanyID;//分公司GID
|
|
|
private string strDeptName;//部门名称
|
|
|
//gridEnd
|
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
if (Session["USERID"] != null)
|
|
|
{
|
|
|
strUserID = Session["USERID"].ToString().Trim();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Server.Transfer("~/Error/FriendError.aspx");
|
|
|
return;
|
|
|
//strUserID = "";
|
|
|
}
|
|
|
if (Session["COMPANYID"] != null)
|
|
|
{
|
|
|
strCompanyID = Session["COMPANYID"].ToString();
|
|
|
}
|
|
|
if (Session["DEPTNAME"] != null)
|
|
|
{
|
|
|
strDeptName = Session["DEPTNAME"].ToString();
|
|
|
}
|
|
|
if (Session["SHOWNAME"] != null)
|
|
|
{
|
|
|
strShowName = Session["SHOWNAME"].ToString();
|
|
|
}
|
|
|
//
|
|
|
if (!IsPostBack)
|
|
|
{
|
|
|
}
|
|
|
if (hid_setting.Value.Trim() != "")
|
|
|
{
|
|
|
strColumnVal = hid_setting.Value.Trim();
|
|
|
SaveColumnSetting(strColumnVal);
|
|
|
hid_setting.Value = "";
|
|
|
}
|
|
|
if (hid_header.Value.Trim() != "")
|
|
|
{
|
|
|
strColumnVal = hid_header.Value.Trim();
|
|
|
SaveColumnSetting(strColumnVal);
|
|
|
hid_header.Value = "";
|
|
|
}
|
|
|
}
|
|
|
protected String getBSNO()
|
|
|
{
|
|
|
string strBSNO = Guid.NewGuid().ToString();
|
|
|
strBSNO = strBSNO.Replace("-", "");
|
|
|
strBSNO = "EDI" + strBSNO;
|
|
|
return strBSNO;
|
|
|
}
|
|
|
protected void getNULL()
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.GID = getBSNO();
|
|
|
//TempOpSeaeEdiEntity.DOCGID = "";
|
|
|
TempOpSeaeEdiEntity.ISOK = false;
|
|
|
TempOpSeaeEdiEntity.CAUSE = "";
|
|
|
//
|
|
|
TempOpSeaeEdiEntity.BSNO = TempOpSeaeEdiEntity.GID;
|
|
|
TempOpSeaeEdiEntity.MASTERNO = "";
|
|
|
TempOpSeaeEdiEntity.BSSTATUS = false;
|
|
|
TempOpSeaeEdiEntity.FEESTATUS = false;
|
|
|
TempOpSeaeEdiEntity.ORDERTYPE = "EDI导入";
|
|
|
//TempOpSeaeEdiEntity.BSDATE = DateTime.Today.Date;
|
|
|
TempOpSeaeEdiEntity.ACCDATE = "";
|
|
|
TempOpSeaeEdiEntity.MBLNO = "";
|
|
|
TempOpSeaeEdiEntity.HBLNO = "";
|
|
|
TempOpSeaeEdiEntity.CUSTNO = "";
|
|
|
TempOpSeaeEdiEntity.TRANSNO = "";
|
|
|
TempOpSeaeEdiEntity.CUSTOMERNAME = "";
|
|
|
TempOpSeaeEdiEntity.BLTYPE = "";
|
|
|
TempOpSeaeEdiEntity.STLNAME = "";
|
|
|
TempOpSeaeEdiEntity.SHIPPERID = "";
|
|
|
TempOpSeaeEdiEntity.CONSIGNEEID = "";
|
|
|
TempOpSeaeEdiEntity.NOTIFYPARTYID = "";
|
|
|
TempOpSeaeEdiEntity.SHIPPER = "";
|
|
|
TempOpSeaeEdiEntity.CONSIGNEE = "";
|
|
|
TempOpSeaeEdiEntity.NOTIFYPARTY = "";
|
|
|
TempOpSeaeEdiEntity.AGENTID = "";
|
|
|
TempOpSeaeEdiEntity.AGENT = "";
|
|
|
TempOpSeaeEdiEntity.YARD = "";
|
|
|
TempOpSeaeEdiEntity.VESSEL = "";
|
|
|
TempOpSeaeEdiEntity.VOYNO = "";
|
|
|
TempOpSeaeEdiEntity.PlACERECEIPT = "";
|
|
|
TempOpSeaeEdiEntity.PORTLOADID = "";
|
|
|
TempOpSeaeEdiEntity.PORTLOAD = "";
|
|
|
TempOpSeaeEdiEntity.PORTDISCHARGEID = "";
|
|
|
TempOpSeaeEdiEntity.PORTDISCHARGE = "";
|
|
|
TempOpSeaeEdiEntity.PLACEDELIVERYID = "";
|
|
|
TempOpSeaeEdiEntity.PLACEDELIVERY = "";
|
|
|
TempOpSeaeEdiEntity.DESTINATIONID = "";
|
|
|
TempOpSeaeEdiEntity.DESTINATION = "";
|
|
|
TempOpSeaeEdiEntity.NOBILL = "";
|
|
|
TempOpSeaeEdiEntity.ISSUETYPE = "";
|
|
|
TempOpSeaeEdiEntity.ISSUEPLACE = "";
|
|
|
TempOpSeaeEdiEntity.BLFRT = "";
|
|
|
TempOpSeaeEdiEntity.PREPARDAT = "";
|
|
|
TempOpSeaeEdiEntity.PAYABLEAT = "";
|
|
|
TempOpSeaeEdiEntity.SERVICE = "";
|
|
|
TempOpSeaeEdiEntity.MARKS = "";
|
|
|
TempOpSeaeEdiEntity.CNTRSEALNO = "";
|
|
|
TempOpSeaeEdiEntity.NOPKGS = "";
|
|
|
TempOpSeaeEdiEntity.DESCRIPTION = "";
|
|
|
TempOpSeaeEdiEntity.GOODSNAME = "";
|
|
|
TempOpSeaeEdiEntity.GROSSWEIGHT = "";
|
|
|
TempOpSeaeEdiEntity.MEASUREMENT = "";
|
|
|
TempOpSeaeEdiEntity.PKGS = 0;
|
|
|
TempOpSeaeEdiEntity.KINDPKGS = "";
|
|
|
TempOpSeaeEdiEntity.KGS = 0;
|
|
|
TempOpSeaeEdiEntity.CBM = 0;
|
|
|
TempOpSeaeEdiEntity.TOTALNO = "";
|
|
|
TempOpSeaeEdiEntity.CNTRNO = "";
|
|
|
TempOpSeaeEdiEntity.CNTR1 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR2 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR3 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR4 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR5 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR6 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR7 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR8 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR9 = 0;
|
|
|
TempOpSeaeEdiEntity.CNTR10 = 0;
|
|
|
TempOpSeaeEdiEntity.OTCNTR = 0;
|
|
|
TempOpSeaeEdiEntity.TEU = 0;
|
|
|
TempOpSeaeEdiEntity.CNTRTOTAL = "";
|
|
|
TempOpSeaeEdiEntity.INPUTBY = "";
|
|
|
DataSet ds1 = SqlHelper.OpenSqlDataSet(SqlHelper.ConnectionStringLocalTransaction, "select SHOWNAME from [user] where GID ='" + strUserID.Trim() + "'");
|
|
|
if (ds1 != null)
|
|
|
{
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.INPUTBY = ds1.Tables[0].Rows[0]["SHOWNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
TempOpSeaeEdiEntity.OP = T_ALL_DA.GetStrSQL("SHOWNAME", "select SHOWNAME from [user] where GID='" + strUserID.Trim() + "'");
|
|
|
TempOpSeaeEdiEntity.DOC = T_ALL_DA.GetStrSQL("SHOWNAME", "select SHOWNAME from [user] where GID='" + strUserID.Trim() + "'");
|
|
|
TempOpSeaeEdiEntity.CUSTSERVICE = "";
|
|
|
TempOpSeaeEdiEntity.LANE = "";
|
|
|
TempOpSeaeEdiEntity.SALE = "";
|
|
|
TempOpSeaeEdiEntity.CARRIER = "";
|
|
|
TempOpSeaeEdiEntity.FORWARDER = "";
|
|
|
TempOpSeaeEdiEntity.CUSTOMSER = "";
|
|
|
TempOpSeaeEdiEntity.TRUCKER = "";
|
|
|
TempOpSeaeEdiEntity.INVNO = "";
|
|
|
TempOpSeaeEdiEntity.CARGOID = "";
|
|
|
TempOpSeaeEdiEntity.DCLASS = "";
|
|
|
TempOpSeaeEdiEntity.DUNNO = "";
|
|
|
TempOpSeaeEdiEntity.REEFERF = "";
|
|
|
TempOpSeaeEdiEntity.TEMPID = "";
|
|
|
TempOpSeaeEdiEntity.TEMPSET = "";
|
|
|
TempOpSeaeEdiEntity.TEMPMAX = "";
|
|
|
TempOpSeaeEdiEntity.TEMPMIN = "";
|
|
|
TempOpSeaeEdiEntity.BSSOURCE = "";
|
|
|
TempOpSeaeEdiEntity.BSSOURCEDETAIL = "";
|
|
|
TempOpSeaeEdiEntity.CUSTOMSNUM = 0;
|
|
|
TempOpSeaeEdiEntity.CONTRACTNO = "";
|
|
|
TempOpSeaeEdiEntity.ORDTYPE = "";
|
|
|
TempOpSeaeEdiEntity.ORDERNO = "";
|
|
|
TempOpSeaeEdiEntity.INSURANCEER = "";
|
|
|
TempOpSeaeEdiEntity.INSURANCENO = "";
|
|
|
TempOpSeaeEdiEntity.INAMOUT = 0;
|
|
|
TempOpSeaeEdiEntity.ISVOU = false;
|
|
|
TempOpSeaeEdiEntity.VOUNO = "";
|
|
|
TempOpSeaeEdiEntity.REMARK = "";
|
|
|
TempOpSeaeEdiEntity.STATUS1 = false;
|
|
|
TempOpSeaeEdiEntity.STATUS2 = false;
|
|
|
TempOpSeaeEdiEntity.STATUS3 = false;
|
|
|
TempOpSeaeEdiEntity.STATUS4 = false;
|
|
|
TempOpSeaeEdiEntity.STATUS5 = false;
|
|
|
TempOpSeaeEdiEntity.ISFUMIGATION = false;
|
|
|
TempOpSeaeEdiEntity.ISSTORAGE = false;
|
|
|
TempOpSeaeEdiEntity.ISLAND = false;
|
|
|
TempOpSeaeEdiEntity.ISCUSTOMS = false;
|
|
|
TempOpSeaeEdiEntity.ISINSPECTION = false;
|
|
|
TempOpSeaeEdiEntity.ISBOOKING = false;
|
|
|
TempOpSeaeEdiEntity.ISAGENT = false;
|
|
|
TempOpSeaeEdiEntity.ISHBLNO = false;
|
|
|
TempOpSeaeEdiEntity.SERVICE9 = false;
|
|
|
TempOpSeaeEdiEntity.SERVICE10 = false;
|
|
|
TempOpSeaeEdiEntity.ISFUMIGATION = false;
|
|
|
TempOpSeaeEdiEntity.ISSTORAGE = false;
|
|
|
TempOpSeaeEdiEntity.ISLAND = false;
|
|
|
TempOpSeaeEdiEntity.ISCUSTOMS = false;
|
|
|
TempOpSeaeEdiEntity.ISINSPECTION = false;
|
|
|
TempOpSeaeEdiEntity.ISBOOKING = false;
|
|
|
TempOpSeaeEdiEntity.ISAGENT = false;
|
|
|
TempOpSeaeEdiEntity.ISHBLNO = false;
|
|
|
TempOpSeaeEdiEntity.PACKINGTYPE = "";
|
|
|
TempOpSeaeEdiEntity.WAREHOUSE = "";
|
|
|
TempOpSeaeEdiEntity.CORPID = "";
|
|
|
TempOpSeaeEdiEntity.SALEDEPT = "";
|
|
|
TempOpSeaeEdiEntity.MBLFRT = "";
|
|
|
TempOpSeaeEdiEntity.OPERATOR = "";
|
|
|
TempOpSeaeEdiEntity.OPERATORTEL = "";
|
|
|
TempOpSeaeEdiEntity.OPERATORFAX = "";
|
|
|
TempOpSeaeEdiEntity.OPERATOREMAIL = "";
|
|
|
TempOpSeaeEdiEntity.FINANCIALSTAFF = "";
|
|
|
TempOpSeaeEdiEntity.FINANCIALSTAFFTEL = "";
|
|
|
TempOpSeaeEdiEntity.FINANCIALSTAFFFAX = "";
|
|
|
TempOpSeaeEdiEntity.FINANCIALSTAFFEMAIL = "";
|
|
|
TempOpSeaeEdiEntity.OPERATORCODE = "";
|
|
|
TempOpSeaeEdiEntity.FINANCIALSTAFFCODE = "";
|
|
|
}
|
|
|
protected void btEDI_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
if (FileUpload1.HasFile == false)
|
|
|
{
|
|
|
this.hdDOCGID.Value = "";
|
|
|
Response.Write("<script>alert('请选择要导入的数据文件!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
//
|
|
|
string s2 = Server.MapPath(Request.Path.ToString());
|
|
|
int i2 = s2.LastIndexOf("DSWeb", s2.Length);
|
|
|
if (FileUpload1.HasFile) //如果用户确实选择了上传控件的浏览按钮,浏览文件成功.
|
|
|
{
|
|
|
int i = FileUpload1.FileName.IndexOf(".", 0, FileUpload1.FileName.Length);
|
|
|
string sFileType = FileUpload1.FileName.Substring(i + 1, FileUpload1.FileName.Length - (i + 1));
|
|
|
if (sFileType != "txt")
|
|
|
{
|
|
|
Response.Write("<script>alert('选择的文件类型不正确,只能为*.txt!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ArrayList alCTN = new ArrayList();
|
|
|
string strCTNALL = "";//表现形式
|
|
|
string strCTNALL2 = "";
|
|
|
string strDOCGID="";
|
|
|
string sPath = s2.Substring(0, i2 + 5).ToString() + "\\Temp\\" + FileUpload1.FileName;
|
|
|
this.FileUpload1.SaveAs(sPath); //保存到服务器的目录,需要根据服务器具体情况修改FileUpload1.FileName会自动获取上传文件名.
|
|
|
//
|
|
|
if (sFileType == "txt")
|
|
|
{
|
|
|
string[] strDataRow = File.ReadAllLines(sPath, Encoding.GetEncoding("GB2312"));
|
|
|
for (int j = 0; j < strDataRow.Length; j++)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
strDataRow[j] = strDataRow[j].ToString().Trim().Replace("\\n", "\r\n");
|
|
|
strDataRow[j] = strDataRow[j].ToString().Trim().Replace("'", "’");
|
|
|
if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("STMF"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.DOCGID = strDataRow[j].ToString().Substring(14, 24).Trim();
|
|
|
this.hdDOCGID.Value = TempOpSeaeEdiEntity.DOCGID.Trim();
|
|
|
strDOCGID = TempOpSeaeEdiEntity.DOCGID.Trim();
|
|
|
bool bll = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "delete from temp_op_seae_edi where DOCGID='" + TempOpSeaeEdiEntity.DOCGID.Trim() + "'");
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("ENMF"))
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("STBL"))
|
|
|
{
|
|
|
getNULL();
|
|
|
alCTN.Clear();
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("ENBL"))
|
|
|
{
|
|
|
string alt = strDataRow[j].ToString().Trim();
|
|
|
alt = T_ALL_DA.GetStrSQL("MBLNO", "select MBLNO from temp_op_seae_edi where MBLNO='" + TempOpSeaeEdiEntity.MBLNO.Trim() + "' and DOCGID='" + TempOpSeaeEdiEntity.DOCGID.Trim() + "'");
|
|
|
if (alt.Trim() == "")
|
|
|
{
|
|
|
alt = T_ALL_DA.GetStrSQL("GID", "select GID from temp_op_seae_edi where GID='" + TempOpSeaeEdiEntity.GID.Trim() + "'");
|
|
|
if (alt.Trim() != "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.GID = getBSNO();
|
|
|
TempOpSeaeEdiEntity.BSNO = TempOpSeaeEdiEntity.GID;
|
|
|
}
|
|
|
int iResult = TempOpSeaeEdiDA.InserInfo(TempOpSeaeEdiEntity);
|
|
|
if (iResult > 0)
|
|
|
{
|
|
|
//减去已入库的集装箱的剩余的
|
|
|
for (int b = 0; b < alCTN.Count; b++)
|
|
|
{
|
|
|
string stral = alCTN[b].ToString();
|
|
|
strCTNALL = stral.Substring(0, 4);
|
|
|
string strSIZE = stral.Substring(0, 2);
|
|
|
string strCTN = stral.Substring(2, 2);
|
|
|
int ils = int.Parse(stral.Substring(5));
|
|
|
for (int a = 0; a < ils; a++)
|
|
|
{
|
|
|
TopCtnEntity.CNTRNO = "";//箱号
|
|
|
TopCtnEntity.CTNALL = strCTNALL;//表现形式
|
|
|
TopCtnEntity.SIZE = strSIZE;//尺寸
|
|
|
TopCtnEntity.CTN = strCTN;//箱型
|
|
|
TopCtnEntity.SEALNO = "";//封号
|
|
|
TopCtnEntity.CTNCODE = "";//箱型代码
|
|
|
TopCtnEntity.CTNNUM = 1;//箱量
|
|
|
TopCtnEntity.KGS = 0;//重量
|
|
|
TopCtnEntity.CBM = 0;//尺码
|
|
|
TopCtnEntity.TEU = TopCtnEntity.CTNNUM;//TEU
|
|
|
if (int.Parse(strSIZE) >= 40)
|
|
|
{
|
|
|
TopCtnEntity.TEU = 2;//TEU
|
|
|
}
|
|
|
TopCtnEntity.CTN_ID = Guid.NewGuid().ToString();
|
|
|
TopCtnEntity.BSNO = TempOpSeaeEdiEntity.BSNO;
|
|
|
TopCtnEntity.PKGS = 0;
|
|
|
TopCtnEntity.REMARK = "";
|
|
|
//
|
|
|
iResult = TopCtnDA.InserInfo(TopCtnEntity);
|
|
|
if (iResult > 0)
|
|
|
{
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "insert into [temp_op_seae_edi](DOCGID,ISOK,CAUSE,BSNO,MBLNO) values('" + TempOpSeaeEdiEntity.DOCGID.Trim() + "','False','数据格式不匹配,导入失败!','" + TempOpSeaeEdiEntity.BSNO.Trim() + "','" + TempOpSeaeEdiEntity.MBLNO.Trim() + "')");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//------
|
|
|
|
|
|
//Response.Write("<script>alert('数据导入成功!');history.back();</script>");
|
|
|
//return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "insert into [temp_op_seae_edi](DOCGID,ISOK,CAUSE,BSNO,MBLNO) values('" + TempOpSeaeEdiEntity.DOCGID.Trim() + "','False','数据格式不匹配,导入失败!','" + TempOpSeaeEdiEntity.BSNO.Trim() + "','" + TempOpSeaeEdiEntity.MBLNO.Trim() + "')");
|
|
|
bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "delete from [op_ctn] where BSNO='" + TempOpSeaeEdiEntity.BSNO.Trim() + "'");
|
|
|
//Response.Write("<script>alert('数据格式不匹配,导入失败!');history.back();</script>");
|
|
|
//return;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "delete from [op_ctn] where BSNO='" + TempOpSeaeEdiEntity.BSNO.Trim() + "'");
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("BLNO"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.MBLNO = strDataRow[j].ToString().Substring(4, 16).Trim();
|
|
|
if (strDataRow[j].ToString().Substring(4, 16).Trim() == "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISOK = false;
|
|
|
TempOpSeaeEdiEntity.CAUSE = "数据库没有匹配的提单号";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.MBLNO = strDataRow[j].ToString().Substring(4, 16).Trim();
|
|
|
DataSet ds1 = SqlHelper.OpenSqlDataSet(SqlHelper.ConnectionStringLocalTransaction, "select * from [op_seae] where MBLNO ='" + TempOpSeaeEdiEntity.MBLNO.Trim() + "'");
|
|
|
if (ds1 != null)
|
|
|
{
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
if (ds1.Tables[0].Rows[0]["BSSTATUS"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISOK = false;
|
|
|
TempOpSeaeEdiEntity.CAUSE = "业务锁定状态";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISOK = true;
|
|
|
}
|
|
|
TempOpSeaeEdiEntity.GID = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
TempOpSeaeEdiEntity.BSNO = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
TempOpSeaeEdiEntity.ORDERTYPE = "EDI导入";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISOK = true;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISOK = true;
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
bool bl2 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "delete from op_ctn where BSNO='" + TempOpSeaeEdiEntity.BSNO.Trim() + "'");
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("BKNO"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ORDERNO = strDataRow[j].ToString().Substring(4).Trim();//订舱编号
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("SHIP"))
|
|
|
{
|
|
|
/*
|
|
|
TempOpSeaeEdiEntity.SHIPPERID = strDataRow[j].ToString().Substring(4, 10).Trim();//发货人
|
|
|
string ss = strDataRow[j].ToString().Substring(14).Trim();//发货人
|
|
|
ss = ss.Trim().Replace("\\n", "\r\n");
|
|
|
TempOpSeaeEdiEntity.SHIPPER = ss.Trim();//发货人
|
|
|
*/
|
|
|
TempOpSeaeEdiEntity.SHIPPER = strDataRow[j].ToString().Substring(14).Trim();//发货人
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("CONS"))
|
|
|
{
|
|
|
/*
|
|
|
TempOpSeaeEdiEntity.CONSIGNEEID = strDataRow[j].ToString().Substring(4, 10).Trim();//收货人
|
|
|
string ss = strDataRow[j].ToString().Substring(14).Trim();//收货人
|
|
|
ss = ss.Trim().Replace("\\n", "\r\n");
|
|
|
TempOpSeaeEdiEntity.CONSIGNEE = ss.Trim();//收货人
|
|
|
*/
|
|
|
TempOpSeaeEdiEntity.CONSIGNEE = strDataRow[j].ToString().Substring(14).Trim();//收货人
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("NOTI"))
|
|
|
{
|
|
|
/*
|
|
|
TempOpSeaeEdiEntity.NOTIFYPARTYID = strDataRow[j].ToString().Substring(4, 10).Trim();//通知人
|
|
|
string ss = strDataRow[j].ToString().Substring(14).Trim();//通知人
|
|
|
ss = ss.Trim().Replace("\\n", "\r\n");
|
|
|
TempOpSeaeEdiEntity.NOTIFYPARTY = ss.Trim();//通知人
|
|
|
*/
|
|
|
TempOpSeaeEdiEntity.NOTIFYPARTY = strDataRow[j].ToString().Substring(14).Trim();//通知人
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("VESL"))//船名航次
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.VOYNO = strDataRow[j].ToString().Substring(9,11).Trim().Replace(" ","");//航次
|
|
|
TempOpSeaeEdiEntity.VESSEL = strDataRow[j].ToString().Substring(20).Trim();//船名
|
|
|
string cm = strDataRow[j].ToString().Substring(20).Trim();
|
|
|
if(cm.IndexOf(" ")>0)
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.VESSEL = strDataRow[j].ToString().Substring(20,cm.IndexOf(" ")).Trim();//船名
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("PLRT"))//目的地
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.DESTINATIONID = strDataRow[j].ToString().Substring(4, 5).Trim();//目的地
|
|
|
TempOpSeaeEdiEntity.DESTINATION = strDataRow[j].ToString().Substring(9).Trim();//目的地
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("POLD"))//装货港
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.PORTLOADID = strDataRow[j].ToString().Substring(4, 5).Trim();//装货港代码
|
|
|
TempOpSeaeEdiEntity.PORTLOAD = strDataRow[j].ToString().Substring(9).Trim();//装货港
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("PODC"))//卸货港
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.PORTDISCHARGEID = strDataRow[j].ToString().Substring(4, 5).Trim();//卸货港代码
|
|
|
TempOpSeaeEdiEntity.PORTDISCHARGE = strDataRow[j].ToString().Substring(9).Trim();//卸货港
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("PLDL"))//交货地
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.PLACEDELIVERYID = strDataRow[j].ToString().Substring(4, 5).Trim();//交货地代码
|
|
|
TempOpSeaeEdiEntity.PLACEDELIVERY = strDataRow[j].ToString().Substring(9).Trim();//交货地
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("CRTM"))//运输条款
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.SERVICE = strDataRow[j].ToString().Substring(6).Trim();//运输条款
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("FLFG"))//装运方式
|
|
|
{
|
|
|
if (strDataRow[j].ToString().Substring(4, 1).Trim().Equals("F"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.BLTYPE = "整箱";//装运方式
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Substring(4, 1).Trim().Equals("L"))
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.BLTYPE = "拼箱";//装运方式
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("SOCF"))//货物标识
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.CARGOID = strDataRow[j].ToString().Substring(4, 1).Trim();//货物标识
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("DGFL"))//危险品分类/等级
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.DCLASS = strDataRow[j].ToString().Substring(4, 1).Trim();//危险品分类/等级
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("MARK"))//唛头
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.MARKS = strDataRow[j].ToString().Substring(4).Trim();//唛头
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("DESC"))//货物描述
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.DESCRIPTION = strDataRow[j].ToString().Substring(4).Trim();//货物描述
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("GWGT"))//毛重
|
|
|
{
|
|
|
if (strDataRow[j].ToString().Substring(4).Trim() != "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.KGS = Decimal.Parse(Decimal.Parse(strDataRow[j].ToString().Substring(4).Trim()).ToString("F2"));//毛重
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("GMSR"))//尺码
|
|
|
{
|
|
|
if (strDataRow[j].ToString().Substring(4).Trim() != "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.CBM = Decimal.Parse(Decimal.Parse(strDataRow[j].ToString().Substring(4).Trim()).ToString("F2"));//尺码
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("SAYD"))//件数大写
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.TOTALNO = strDataRow[j].ToString().Substring(4).Trim();//件数大写
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("FRTM"))//付费方式
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.BLFRT = strDataRow[j].ToString().Substring(6).Trim();//付费方式
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("PKGS"))//NOPKGS 件数包装 循环
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.NOPKGS += strDataRow[j].ToString().Substring(4, 5).Trim() + strDataRow[j].ToString().Substring(11).Trim() + "\r\n";//件数+包装的循环
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("REFR"))//温度
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.TEMPSET = strDataRow[j].ToString().Substring(4, 5).Trim();//设置温度
|
|
|
TempOpSeaeEdiEntity.TEMPID = strDataRow[j].ToString().Substring(9, 1).Trim();//温度单位
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("FRPP"))//预付地点
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.PREPARDAT = strDataRow[j].ToString().Substring(4).Trim();//预付地点
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("FRPY"))//到付地点
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.PAYABLEAT = strDataRow[j].ToString().Substring(4).Trim();//到付地点
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("POIS"))//签单地点
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISSUEPLACE = strDataRow[j].ToString().Substring(4).Trim();//签单地点
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("OBLN"))//提单份数
|
|
|
{
|
|
|
string strOBLN = strDataRow[j].ToString().Substring(6).Trim();//提单份数
|
|
|
int iOBLN = strOBLN.IndexOf("(");
|
|
|
if (iOBLN > -1)
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.NOBILL = strOBLN.Trim().Substring(0,iOBLN).Trim();//提单份数
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.NOBILL = strOBLN.Trim();//提单份数
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("DOIS"))//签单日期
|
|
|
{
|
|
|
if (strDataRow[j].ToString().Substring(4).Trim() != "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ISSUEDATE = DateTime.Parse(strDataRow[j].ToString().Substring(4, 4).Trim() + "-" + strDataRow[j].ToString().Substring(8, 2).Trim() + "-" + strDataRow[j].ToString().Substring(10, 2).Trim());//签单日期
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("ONBD"))//开船日期
|
|
|
{
|
|
|
if (strDataRow[j].ToString().Substring(4).Trim() != "")
|
|
|
{
|
|
|
TempOpSeaeEdiEntity.ETD = DateTime.Parse(strDataRow[j].ToString().Substring(4, 4).Trim() + "-" + strDataRow[j].ToString().Substring(8, 2).Trim() + "-" + strDataRow[j].ToString().Substring(10, 2).Trim());//开船日期
|
|
|
TempOpSeaeEdiEntity.ACCDATE = strDataRow[j].ToString().Substring(4, 4).Trim() + "-" + strDataRow[j].ToString().Substring(8, 2).Trim();
|
|
|
}
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("CQTY"))//CNTRTOTAL 集装箱全部内容 循环
|
|
|
{
|
|
|
strCTNALL = strDataRow[j].ToString().Substring(4, 4).Trim();//表现形式
|
|
|
strCTNALL2 = T_ALL_DA.GetStrSQL("CTN", "select CTN from [code_ctn] where EDICODE='" + strCTNALL.Trim() + "'");
|
|
|
if (strCTNALL2.Trim() != "")
|
|
|
{
|
|
|
strCTNALL = strCTNALL2.Trim();
|
|
|
}
|
|
|
TempOpSeaeEdiEntity.CNTRTOTAL += strCTNALL.Trim() + "*" + strDataRow[j].ToString().Substring(8).Trim() + " / ";//CNTRTOTAL 集装箱全部内容的循环
|
|
|
alCTN.Add(strCTNALL.Trim() + "*" + strDataRow[j].ToString().Substring(8).Trim());
|
|
|
}
|
|
|
else if (strDataRow[j].ToString().Trim().Substring(0, 4).Equals("CNTR"))//集装箱循环
|
|
|
{
|
|
|
TopCtnEntity.CNTRNO = strDataRow[j].ToString().Substring(7, 11).Trim();//箱号
|
|
|
//
|
|
|
strCTNALL =strDataRow[j].ToString().Substring(18, 4).Trim();//表现形式
|
|
|
strCTNALL2 = T_ALL_DA.GetStrSQL("CTN","select CTN from [code_ctn] where EDICODE='"+strCTNALL.Trim()+"'");
|
|
|
if(strCTNALL2.Trim()!="")
|
|
|
{
|
|
|
strCTNALL=strCTNALL2.Trim();
|
|
|
}
|
|
|
TopCtnEntity.CTNALL = strCTNALL.Trim();
|
|
|
TopCtnEntity.SIZE = strCTNALL.Trim().Substring(0, 2);//strDataRow[j].ToString().Substring(18, 2).Trim();//尺寸
|
|
|
//
|
|
|
TopCtnEntity.CTN = strDataRow[j].ToString().Substring(20, 2).Trim();//箱型
|
|
|
TopCtnEntity.SEALNO = strDataRow[j].ToString().Substring(22, 21).Trim();//封号
|
|
|
TopCtnEntity.CTNCODE = "";
|
|
|
TopCtnEntity.CTNNUM = 1;
|
|
|
TopCtnEntity.KGS = Decimal.Parse(Decimal.Parse(strDataRow[j].ToString().Substring(52, 10).Trim()).ToString("F2"));//重量
|
|
|
TopCtnEntity.CBM = Decimal.Parse(Decimal.Parse(strDataRow[j].ToString().Substring(62, 10).Trim()).ToString("F2"));//尺码
|
|
|
TopCtnEntity.TEU = TopCtnEntity.CTNNUM;//TEU
|
|
|
if (int.Parse(strDataRow[j].ToString().Substring(18, 2).Trim()) >= 40)
|
|
|
{
|
|
|
TopCtnEntity.TEU = TopCtnEntity.CTNNUM * 2;//TEU
|
|
|
}
|
|
|
|
|
|
TopCtnEntity.CTN_ID = Guid.NewGuid().ToString();
|
|
|
TopCtnEntity.BSNO = TempOpSeaeEdiEntity.BSNO;
|
|
|
TopCtnEntity.PKGS = int.Parse(strDataRow[j].ToString().Substring(45, 5).Trim());//件数//strDataRow[j].ToString().Substring(43, 2).Trim();//件数包装
|
|
|
TopCtnEntity.REMARK = "";
|
|
|
//
|
|
|
int iResult = TopCtnDA.InserInfo(TopCtnEntity);
|
|
|
if (iResult > 0)
|
|
|
{
|
|
|
//减去已入库的集装箱
|
|
|
for (int c = 0; c < alCTN.Count; c++)
|
|
|
{
|
|
|
string stral = alCTN[c].ToString();
|
|
|
int ils = stral.IndexOf("*");
|
|
|
string strls = stral.Substring(0, ils);
|
|
|
strCTNALL = strDataRow[j].ToString().Substring(18, 4).Trim();//表现形式
|
|
|
strCTNALL2 = T_ALL_DA.GetStrSQL("CTN", "select CTN from [code_ctn] where EDICODE='" + strCTNALL.Trim() + "'");
|
|
|
if (strCTNALL2.Trim() != "")
|
|
|
{
|
|
|
strCTNALL = strCTNALL2.Trim();
|
|
|
}
|
|
|
if (strCTNALL.Equals(strls))
|
|
|
{
|
|
|
ils = int.Parse(stral.Substring(ils+1))-1;
|
|
|
if (ils > 0)
|
|
|
{
|
|
|
alCTN[c] = strls + "*" + ils;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
alCTN[c] = strls + "*0";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//------
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "insert into [temp_op_seae_edi](DOCGID,ISOK,CAUSE,BSNO,MBLNO) values('" + TempOpSeaeEdiEntity.DOCGID.Trim() + "','False','数据格式不匹配,导入失败!','" + TempOpSeaeEdiEntity.BSNO.Trim() + "','" + TempOpSeaeEdiEntity.MBLNO.Trim() + "')");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
string strCAUSE = strDataRow[j].ToString().Trim();
|
|
|
string alt = "";
|
|
|
alt = T_ALL_DA.GetStrSQL("MBLNO", "select MBLNO from temp_op_seae_edi where MBLNO='" + TempOpSeaeEdiEntity.MBLNO.Trim() + "' and DOCGID='" + TempOpSeaeEdiEntity.DOCGID.Trim() + "'");
|
|
|
if (alt.Trim() == "")
|
|
|
{
|
|
|
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "insert into [temp_op_seae_edi](DOCGID,ISOK,CAUSE,BSNO,MBLNO) values('" + TempOpSeaeEdiEntity.DOCGID.Trim() + "','False','"+strCAUSE+"数据格式不匹配,导入失败!','" + TempOpSeaeEdiEntity.BSNO.Trim() + "','" + TempOpSeaeEdiEntity.MBLNO.Trim() + "')");
|
|
|
bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "delete from [op_ctn] where BSNO='" + TempOpSeaeEdiEntity.BSNO.Trim() + "'");
|
|
|
}
|
|
|
//throw execError;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
//
|
|
|
int iResult = TempOpSeaeEdiDA.InserInfo(TempOpSeaeEdiEntity);
|
|
|
if (iResult > 0)
|
|
|
{
|
|
|
Response.Write("<script>alert('数据导入成功!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Response.Write("<script>alert('数据格式不匹配,导入失败!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
*/
|
|
|
}
|
|
|
}
|
|
|
File.Delete(sPath);
|
|
|
|
|
|
//导入op_seae委托
|
|
|
int iRt = 0;
|
|
|
IList<TopSeaeEntity> TopSeaeEntities = new List<TopSeaeEntity>();
|
|
|
IList<TempOpSeaeEdiEntity> TempOpSeaeEdiEntities = TempOpSeaeEdiDA.GetByGroupID(strDOCGID);
|
|
|
|
|
|
if (TempOpSeaeEdiEntities.Count <= 0)
|
|
|
{
|
|
|
Response.Write("<script>alert('数据格式不匹配,导入失败!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
foreach (TempOpSeaeEdiEntity TempOpSeaeEdiEntity in TempOpSeaeEdiEntities)
|
|
|
{
|
|
|
if (TempOpSeaeEdiEntity.GID != null)
|
|
|
{
|
|
|
TopSeaeEntity TopSeaeEntity = new TopSeaeEntity();
|
|
|
//
|
|
|
#region
|
|
|
TopSeaeEntity.BSNO = "";
|
|
|
TopSeaeEntity.MASTERNO = "";
|
|
|
TopSeaeEntity.BSSTATUS = false;
|
|
|
TopSeaeEntity.FEESTATUS = false;
|
|
|
TopSeaeEntity.ORDERTYPE = "EDI导入";
|
|
|
//TopSeaeEntity.BSDATE = DateTime.Today.Date;
|
|
|
TopSeaeEntity.PlACERECEIPTID = "";//收货地
|
|
|
TopSeaeEntity.ACCDATE = "";
|
|
|
TopSeaeEntity.MBLNO = "";
|
|
|
TopSeaeEntity.TRANSNO = "";
|
|
|
TopSeaeEntity.CUSTOMERNAME = "";
|
|
|
TopSeaeEntity.BLTYPE = "";
|
|
|
TopSeaeEntity.STLNAME = "";
|
|
|
TopSeaeEntity.SHIPPERID = "";
|
|
|
TopSeaeEntity.CONSIGNEEID = "";
|
|
|
TopSeaeEntity.NOTIFYPARTYID = "";
|
|
|
TopSeaeEntity.SHIPPER = "";
|
|
|
TopSeaeEntity.CONSIGNEE = "";
|
|
|
TopSeaeEntity.NOTIFYPARTY = "";
|
|
|
TopSeaeEntity.AGENTID = "";
|
|
|
TopSeaeEntity.AGENT = "";
|
|
|
TopSeaeEntity.YARD = "";
|
|
|
TopSeaeEntity.VESSEL = "";
|
|
|
TopSeaeEntity.VOYNO = "";
|
|
|
TopSeaeEntity.PlACERECEIPT = "";
|
|
|
TopSeaeEntity.PORTLOADID = "";
|
|
|
TopSeaeEntity.PORTLOAD = "";
|
|
|
TopSeaeEntity.PORTDISCHARGEID = "";
|
|
|
TopSeaeEntity.PORTDISCHARGE = "";
|
|
|
TopSeaeEntity.PLACEDELIVERYID = "";
|
|
|
TopSeaeEntity.PLACEDELIVERY = "";
|
|
|
TopSeaeEntity.DESTINATIONID = "";
|
|
|
TopSeaeEntity.DESTINATION = "";
|
|
|
TopSeaeEntity.NOBILL = "";
|
|
|
TopSeaeEntity.ISSUETYPE = "";
|
|
|
TopSeaeEntity.ISSUEPLACE = "";
|
|
|
TopSeaeEntity.BLFRT = "";
|
|
|
TopSeaeEntity.PREPARDAT = "";
|
|
|
TopSeaeEntity.PAYABLEAT = "";
|
|
|
TopSeaeEntity.SERVICE = "";
|
|
|
TopSeaeEntity.MARKS = "";
|
|
|
TopSeaeEntity.CNTRSEALNO = "";
|
|
|
TopSeaeEntity.NOPKGS = "";
|
|
|
TopSeaeEntity.DESCRIPTION = "";
|
|
|
TopSeaeEntity.GOODSNAME = "";
|
|
|
TopSeaeEntity.GROSSWEIGHT = "";
|
|
|
TopSeaeEntity.MEASUREMENT = "";
|
|
|
TopSeaeEntity.PKGS = 0;
|
|
|
TopSeaeEntity.KINDPKGS = "";
|
|
|
TopSeaeEntity.KGS = 0;
|
|
|
TopSeaeEntity.CBM = 0;
|
|
|
TopSeaeEntity.TOTALNO = "";
|
|
|
TopSeaeEntity.CNTRNO = "";
|
|
|
TopSeaeEntity.CNTR1 = 0;
|
|
|
TopSeaeEntity.CNTR2 = 0;
|
|
|
TopSeaeEntity.CNTR3 = 0;
|
|
|
TopSeaeEntity.CNTR4 = 0;
|
|
|
TopSeaeEntity.CNTR5 = 0;
|
|
|
TopSeaeEntity.CNTR6 = 0;
|
|
|
TopSeaeEntity.CNTR7 = 0;
|
|
|
TopSeaeEntity.CNTR8 = 0;
|
|
|
TopSeaeEntity.CNTR9 = 0;
|
|
|
TopSeaeEntity.CNTR10 = 0;
|
|
|
TopSeaeEntity.OTCNTR = 0;
|
|
|
TopSeaeEntity.TEU = 0;
|
|
|
TopSeaeEntity.INPUTBY = "";
|
|
|
DataSet ds1 = SqlHelper.OpenSqlDataSet(SqlHelper.ConnectionStringLocalTransaction, "select SHOWNAME from [user] where GID ='" + strUserID.Trim() + "'");
|
|
|
if (ds1 != null)
|
|
|
{
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
TopSeaeEntity.INPUTBY = ds1.Tables[0].Rows[0]["SHOWNAME"].ToString().Trim();
|
|
|
}
|
|
|
}
|
|
|
TopSeaeEntity.OP=T_ALL_DA.GetStrSQL("SHOWNAME","select SHOWNAME from [user] where GID='"+strUserID.Trim()+"'");
|
|
|
TopSeaeEntity.DOC=T_ALL_DA.GetStrSQL("SHOWNAME","select SHOWNAME from [user] where GID='"+strUserID.Trim()+"'");
|
|
|
TopSeaeEntity.CUSTSERVICE = "";
|
|
|
TopSeaeEntity.LANE = "";
|
|
|
TopSeaeEntity.SALE = "";
|
|
|
TopSeaeEntity.CARRIER = "";
|
|
|
TopSeaeEntity.FORWARDER = "";
|
|
|
TopSeaeEntity.CUSTOMSER = "";
|
|
|
TopSeaeEntity.TRUCKER = "";
|
|
|
TopSeaeEntity.INVNO = "";
|
|
|
TopSeaeEntity.CARGOID = "";
|
|
|
TopSeaeEntity.DCLASS = "";
|
|
|
TopSeaeEntity.DUNNO = "";
|
|
|
TopSeaeEntity.REEFERF = "";
|
|
|
TopSeaeEntity.TEMPID = "";
|
|
|
TopSeaeEntity.TEMPSET = "";
|
|
|
TopSeaeEntity.TEMPMAX = "";
|
|
|
TopSeaeEntity.TEMPMIN = "";
|
|
|
TopSeaeEntity.BSSOURCE = "";
|
|
|
TopSeaeEntity.BSSOURCEDETAIL = "";
|
|
|
TopSeaeEntity.CUSTOMSNUM = 0;
|
|
|
TopSeaeEntity.CONTRACTNO = "";
|
|
|
TopSeaeEntity.ORDTYPE = "";
|
|
|
TopSeaeEntity.ORDERNO = "";
|
|
|
TopSeaeEntity.INSURANCEER = "";
|
|
|
TopSeaeEntity.INSURANCENO = "";
|
|
|
TopSeaeEntity.INAMOUT = 0;
|
|
|
TopSeaeEntity.ISVOU = false;
|
|
|
TopSeaeEntity.VOUNO = "";
|
|
|
TopSeaeEntity.REMARK = "";
|
|
|
TopSeaeEntity.STATUS1 = false;
|
|
|
TopSeaeEntity.STATUS2 = false;
|
|
|
TopSeaeEntity.STATUS3 = false;
|
|
|
TopSeaeEntity.STATUS4 = false;
|
|
|
TopSeaeEntity.STATUS5 = false;
|
|
|
TopSeaeEntity.ISFUMIGATION = false;
|
|
|
TopSeaeEntity.ISSTORAGE = false;
|
|
|
TopSeaeEntity.ISLAND = false;
|
|
|
TopSeaeEntity.ISCUSTOMS = false;
|
|
|
TopSeaeEntity.ISINSPECTION = false;
|
|
|
TopSeaeEntity.ISBOOKING = false;
|
|
|
TopSeaeEntity.ISAGENT = false;
|
|
|
TopSeaeEntity.ISHBLNO = false;
|
|
|
TopSeaeEntity.SERVICE9 = false;
|
|
|
TopSeaeEntity.SERVICE10 = false;
|
|
|
TopSeaeEntity.ISFUMIGATION = false;
|
|
|
TopSeaeEntity.ISSTORAGE = false;
|
|
|
TopSeaeEntity.ISLAND = false;
|
|
|
TopSeaeEntity.ISCUSTOMS = false;
|
|
|
TopSeaeEntity.ISINSPECTION = false;
|
|
|
TopSeaeEntity.ISBOOKING = false;
|
|
|
TopSeaeEntity.ISAGENT = false;
|
|
|
TopSeaeEntity.ISHBLNO = false;
|
|
|
TopSeaeEntity.PACKINGTYPE = "";
|
|
|
TopSeaeEntity.WAREHOUSE = "";
|
|
|
TopSeaeEntity.CORPID = T_ALL_DA.GetStrSQL("COMPANYID", "select COMPANYID from [user_company] where USERID='" + strUserID.Trim() + "'");
|
|
|
TopSeaeEntity.SALEDEPT = T_ALL_DA.GetStrSQL("DEPTNAME", "select DEPTNAME from user_baseinfo where USERID='" + strUserID.Trim() + "'");
|
|
|
TopSeaeEntity.MBLFRT = "";
|
|
|
TopSeaeEntity.OPERATOR = "";
|
|
|
TopSeaeEntity.OPERATORTEL = "";
|
|
|
TopSeaeEntity.OPERATORFAX = "";
|
|
|
TopSeaeEntity.OPERATOREMAIL = "";
|
|
|
TopSeaeEntity.FINANCIALSTAFF = "";
|
|
|
TopSeaeEntity.FINANCIALSTAFFTEL = "";
|
|
|
TopSeaeEntity.FINANCIALSTAFFFAX = "";
|
|
|
TopSeaeEntity.FINANCIALSTAFFEMAIL = "";
|
|
|
TopSeaeEntity.OPERATORCODE = "";
|
|
|
TopSeaeEntity.FINANCIALSTAFFCODE = "";
|
|
|
//
|
|
|
TopSeaeEntity.BSNO = TempOpSeaeEdiEntity.BSNO;
|
|
|
TopSeaeEntity.MASTERNO = TempOpSeaeEdiEntity.BSNO;
|
|
|
TopSeaeEntity.MBLNO = TempOpSeaeEdiEntity.MBLNO;//提单号
|
|
|
TopSeaeEntity.ORDERNO = TempOpSeaeEdiEntity.ORDERNO; //订舱编号
|
|
|
TopSeaeEntity.SHIPPERID = TempOpSeaeEdiEntity.SHIPPERID; //发货人
|
|
|
TopSeaeEntity.SHIPPER = TempOpSeaeEdiEntity.SHIPPER; //发货人
|
|
|
TopSeaeEntity.CONSIGNEEID = TempOpSeaeEdiEntity.CONSIGNEEID; //收货人
|
|
|
TopSeaeEntity.CONSIGNEE = TempOpSeaeEdiEntity.CONSIGNEE; //收货人
|
|
|
TopSeaeEntity.NOTIFYPARTYID = TempOpSeaeEdiEntity.NOTIFYPARTYID; //通知人
|
|
|
TopSeaeEntity.NOTIFYPARTY = TempOpSeaeEdiEntity.NOTIFYPARTY; //通知人
|
|
|
TopSeaeEntity.VOYNO = TempOpSeaeEdiEntity.VOYNO; //航次
|
|
|
TopSeaeEntity.VESSEL = TempOpSeaeEdiEntity.VESSEL; //船名
|
|
|
TopSeaeEntity.DESTINATIONID = TempOpSeaeEdiEntity.DESTINATIONID; //目的地
|
|
|
TopSeaeEntity.DESTINATION = TempOpSeaeEdiEntity.DESTINATION; //目的地
|
|
|
TopSeaeEntity.PORTLOADID = TempOpSeaeEdiEntity.PORTLOADID; //装货港代码
|
|
|
TopSeaeEntity.PORTLOAD = TempOpSeaeEdiEntity.PORTLOAD; //装货港
|
|
|
TopSeaeEntity.PORTDISCHARGEID = TempOpSeaeEdiEntity.PORTDISCHARGEID; //卸货港代码
|
|
|
TopSeaeEntity.PORTDISCHARGE = TempOpSeaeEdiEntity.PORTDISCHARGE; //卸货港
|
|
|
TopSeaeEntity.PLACEDELIVERYID = TempOpSeaeEdiEntity.PLACEDELIVERYID; //交货地代码
|
|
|
TopSeaeEntity.PLACEDELIVERY = TempOpSeaeEdiEntity.PLACEDELIVERY; //交货地
|
|
|
TopSeaeEntity.SERVICE = TempOpSeaeEdiEntity.SERVICE; //运输条款
|
|
|
TopSeaeEntity.BLTYPE = TempOpSeaeEdiEntity.BLTYPE; //装运方式
|
|
|
TopSeaeEntity.CARGOID = TempOpSeaeEdiEntity.CARGOID; //货物标识
|
|
|
TopSeaeEntity.DCLASS = TempOpSeaeEdiEntity.DCLASS; //危险品分类/等级
|
|
|
TopSeaeEntity.MARKS = TempOpSeaeEdiEntity.MARKS; //唛头
|
|
|
TopSeaeEntity.DESCRIPTION = TempOpSeaeEdiEntity.DESCRIPTION; //货物描述
|
|
|
TopSeaeEntity.KGS = TempOpSeaeEdiEntity.KGS; //毛重
|
|
|
TopSeaeEntity.GROSSWEIGHT = TempOpSeaeEdiEntity.KGS.ToString().Trim(); //货物毛重
|
|
|
TopSeaeEntity.CBM = TempOpSeaeEdiEntity.CBM; //尺码
|
|
|
TopSeaeEntity.MEASUREMENT = TempOpSeaeEdiEntity.CBM.ToString().Trim(); //货物尺码
|
|
|
TopSeaeEntity.TOTALNO = TempOpSeaeEdiEntity.TOTALNO; //件数大写
|
|
|
TopSeaeEntity.BLFRT = TempOpSeaeEdiEntity.BLFRT; //付费方式
|
|
|
TopSeaeEntity.NOPKGS = TempOpSeaeEdiEntity.NOPKGS; //件数+包装的循环
|
|
|
TopSeaeEntity.PKGS = getPKGS(TempOpSeaeEdiEntity.NOPKGS); //件数
|
|
|
TopSeaeEntity.KINDPKGS = getKINDPKGS(TempOpSeaeEdiEntity.NOPKGS);//包装
|
|
|
TopSeaeEntity.CNTRNO = ""; //集装箱大写
|
|
|
if (TempOpSeaeEdiEntity.CNTRTOTAL.ToString().Trim().Equals(""))
|
|
|
{
|
|
|
TopSeaeEntity.CNTRTOTAL = ""; //集装箱全部内容
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
TopSeaeEntity.CNTRTOTAL = TempOpSeaeEdiEntity.CNTRTOTAL.ToString().Trim().Substring(0, TempOpSeaeEdiEntity.CNTRTOTAL.ToString().Trim().Length-2); //集装箱全部内容
|
|
|
}
|
|
|
TopSeaeEntity.TEMPSET = TempOpSeaeEdiEntity.TEMPSET; //设置温度
|
|
|
TopSeaeEntity.TEMPID = TempOpSeaeEdiEntity.TEMPID; //温度单位
|
|
|
TopSeaeEntity.PREPARDAT = TempOpSeaeEdiEntity.PREPARDAT; //预付地点
|
|
|
TopSeaeEntity.PAYABLEAT = TempOpSeaeEdiEntity.PAYABLEAT; //到付地点
|
|
|
TopSeaeEntity.ISSUEPLACE = TempOpSeaeEdiEntity.ISSUEPLACE; //签单地点
|
|
|
TopSeaeEntity.NOBILL = TempOpSeaeEdiEntity.NOBILL; //提单份数
|
|
|
TopSeaeEntity.ISSUEDATE = TempOpSeaeEdiEntity.ISSUEDATE; //签单日期
|
|
|
TopSeaeEntity.ETD = TempOpSeaeEdiEntity.ETD; //开船日期
|
|
|
TopSeaeEntity.ACCDATE = TempOpSeaeEdiEntity.ACCDATE;//会计期间
|
|
|
//TopSeaeEntity.HBLNO = getCodeRule("分提单号", "HBLNO", TopSeaeEntity.ETD.ToString().Trim(), TopSeaeEntity.ACCDATE.ToString().Trim());//调用编码规则
|
|
|
//TopSeaeEntity.CUSTNO = getCodeRule("委托编号", "CUSTNO", TopSeaeEntity.ETD.ToString().Trim(), TopSeaeEntity.ACCDATE.ToString().Trim());//调用编码规则
|
|
|
TopSeaeEntity.HBLNO = "";
|
|
|
TopSeaeEntity.CUSTNO = "";
|
|
|
#endregion
|
|
|
TopSeaeEntities.Add(TopSeaeEntity);
|
|
|
}
|
|
|
}
|
|
|
iRt = SeaExportInfoDA.InsertTopSeaesEDI(TopSeaeEntities, strCompanyID);
|
|
|
if (iRt > 0)
|
|
|
{
|
|
|
foreach (TempOpSeaeEdiEntity TempOpSeaeEdiEntity in TempOpSeaeEdiEntities)
|
|
|
{
|
|
|
if (TempOpSeaeEdiEntity.GID != null)
|
|
|
{
|
|
|
string strCNTRTOTAL = "";
|
|
|
string strCNTRNO = "";
|
|
|
//
|
|
|
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, "update [op_seae] set CNTR1=0,CNTR2=0,CNTR3=0,CNTR4=0,CNTR5=0,CNTR6=0,CNTR7=0,CNTR8=0,CNTR9=0,CNTR10=0,OTCNTR=0,TEU=0,CNTRTOTAL='',CNTRSEALNO='' where BSNO='" + TempOpSeaeEdiEntity.BSNO.Trim() + "'");
|
|
|
//
|
|
|
IList<TopCtnEntity> TopCtnEntities = TopCtnDA.GetID(TempOpSeaeEdiEntity.BSNO);
|
|
|
if (TopCtnEntities.Count > 0)
|
|
|
{
|
|
|
foreach (TopCtnEntity TopCtnEntity in TopCtnEntities)
|
|
|
{
|
|
|
if (TopCtnEntity.CTN_ID != null)
|
|
|
{
|
|
|
string alt = "";
|
|
|
//
|
|
|
strCTNALL = TopCtnEntity.CTNALL.ToString().Trim();//表现形式
|
|
|
strCTNALL2 = T_ALL_DA.GetStrSQL("CTN", "select CTN from [code_ctn] where EDICODE='" + strCTNALL.Trim() + "'");
|
|
|
if (strCTNALL2.Trim() != "")
|
|
|
{
|
|
|
strCTNALL = strCTNALL2.Trim();
|
|
|
}
|
|
|
//
|
|
|
alt = T_ALL_DA.setEDICTN(TopCtnEntity.BSNO, strUserID.Trim(), strCTNALL.Trim(), TopCtnEntity.CTNNUM, TopCtnEntity.CTN_ID, TopCtnEntity.REMARK, TopCtnEntity.CNTRNO, TopCtnEntity.SEALNO);
|
|
|
strCNTRTOTAL += strCTNALL.Trim() + "*" + TopCtnEntity.CTNNUM.ToString().Trim() + " / ";
|
|
|
strCNTRNO += TopCtnEntity.CNTRNO.ToString().Trim() + "/" + TopCtnEntity.SEALNO.ToString().Trim() + "/" + strCTNALL.Trim() + "\r\n";//"/" + myRow["PKGS"].ToString().Trim() + "PKGS/" + myRow["KGS"].ToString().Trim() + "KGS/" + myRow["CBM"].ToString().Trim() + "CBM
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
strCNTRTOTAL = strCNTRTOTAL.Trim().Substring(0, strCNTRTOTAL.Trim().Length - 1);
|
|
|
CrmSeaeorderDA CrmSeaeorderDA = new CrmSeaeorderDA();
|
|
|
int iii = CrmSeaeorderDA.UpdateInfoCNTRTOTAL("update op_seae set CNTRTOTAL='" + strCNTRTOTAL + "',CNTRSEALNO='" + strCNTRNO + "' where BSNO='" + TempOpSeaeEdiEntity.GID.ToString().Trim() + "'", strUserID.Trim());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>ShowDetailFresh();</script>");
|
|
|
//Response.Write("<script>alert('数据导入完成!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Response.Write("<script>alert('数据格式不匹配,导入失败!');history.back();</script>");
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
//this.isEDI.Value = "1";
|
|
|
//
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 提取规则编号
|
|
|
/// </summary>
|
|
|
/// <param name="strRULENAME">规则项目名称</param>
|
|
|
/// <param name="strfield">需要加规则的字段</param>
|
|
|
/// <returns></returns>
|
|
|
protected String getCodeRule(string strRULENAME, string strfield, string strETD, string strACCDATE)
|
|
|
{
|
|
|
//调用编码规则
|
|
|
string strRULEYEAR = "";
|
|
|
string strRULECONTENT = "";
|
|
|
string strCODENAME = "";
|
|
|
string strDEPTNO = "";
|
|
|
string strRULENOLENGTH = "";
|
|
|
int iRULENOLENGTH = 0;
|
|
|
int inum = 0;
|
|
|
string strCONTENT = "";
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=1");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
{
|
|
|
if (strETD.Trim() == "")
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
DateTime dETD = System.Convert.ToDateTime(strETD.Trim());
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("会计期间"))
|
|
|
{
|
|
|
if (strACCDATE.Trim() == "")
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
DateTime dACCDATE = System.Convert.ToDateTime(strACCDATE.Trim() + "-01");
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dACCDATE.ToString("yyyy") + dACCDATE.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dACCDATE.ToString("yy") + dACCDATE.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dACCDATE.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dACCDATE.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
{
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
|
}
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
//
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
//获取分公司的票号头字符
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
//
|
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [op_seae] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");
|
|
|
if (strRULENOLENGTH == "")
|
|
|
{
|
|
|
strRULENOLENGTH = "1";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
inum = inum + 1;
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
}
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
{
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
}
|
|
|
//
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
return strCONTENT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
private int getPKGS(string strNOPKGS)
|
|
|
{
|
|
|
var iums = 0;
|
|
|
if (strNOPKGS != null && strNOPKGS != "")
|
|
|
{
|
|
|
string[] items= strNOPKGS.Split(new string[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries);//这里是以换行符作为分界
|
|
|
string[] ii = new String[items.Length];
|
|
|
if (items != null && items.Length > 0)
|
|
|
{
|
|
|
for (var i = 0; i < items.Length; i++)
|
|
|
{
|
|
|
for (var j = 0; j < items[i].Length;j++ )
|
|
|
{
|
|
|
var s = items[i].Trim().Substring(0, j+1);
|
|
|
var tf = IsNumeric(s);
|
|
|
if (tf)
|
|
|
{
|
|
|
ii[i] = s;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
iums += int.Parse(ii[i]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return iums;
|
|
|
//$("tbPKGS").value = iums.toString();
|
|
|
}
|
|
|
private String getKINDPKGS(string strNOPKGS)
|
|
|
{
|
|
|
var sums = "";
|
|
|
if (strNOPKGS != null && strNOPKGS != "")
|
|
|
{
|
|
|
string[] items = strNOPKGS.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);//这里是以换行符作为分界
|
|
|
string[] ss = new String[items.Length];
|
|
|
if (items != null && items.Length > 0)
|
|
|
{
|
|
|
for (var i = 0; i < items.Length; i++)
|
|
|
{
|
|
|
for (var j = 0; j < items[i].Length; j++)
|
|
|
{
|
|
|
var s = items[i].Trim().Substring(0, j + 1);
|
|
|
var tf = IsNumeric(s);
|
|
|
if (tf)
|
|
|
{
|
|
|
ss[i] = "";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ss[i] = items[i].Trim().Substring(j).ToUpper();
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
for (var k = 0; k < ss.Length; k++)
|
|
|
{
|
|
|
if (ss.Length == 1)
|
|
|
{
|
|
|
sums = ss[k].ToString().Trim().ToUpper();
|
|
|
break;
|
|
|
}
|
|
|
if (ss[k] == ss[ss.Length - 1])
|
|
|
{
|
|
|
sums = ss[k].ToString().Trim().ToUpper();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sums = "PACKAGES";
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return sums;
|
|
|
//$("hd_comboKINDPKGS").value = sums;
|
|
|
}
|
|
|
public bool IsNumeric(string s)
|
|
|
{
|
|
|
bool bReturn = true;
|
|
|
try
|
|
|
{
|
|
|
int inum = int.Parse(s);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
//int inum = 0;
|
|
|
bReturn = false;
|
|
|
}
|
|
|
return bReturn;
|
|
|
}
|
|
|
|
|
|
#region Grid参数
|
|
|
private void SaveColumnSetting(string tempColumnVal)
|
|
|
{
|
|
|
|
|
|
JsonColumnGroupEntity jsonColumnGroupEntity = GetPostEntity(tempColumnVal);
|
|
|
List<JsonColumnEntity> jsonColumnEntities = new List<JsonColumnEntity>();
|
|
|
|
|
|
UserSettingDA userSettingDA = new UserSettingDA();
|
|
|
|
|
|
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
|
|
|
|
|
|
if (userSettingEntity.GID != null)
|
|
|
{
|
|
|
userSettingEntity.ModifiedUser = strUserID;
|
|
|
|
|
|
GridEntity gridEntity = null;
|
|
|
|
|
|
|
|
|
List<GridColumnEntity> gridColumnEntities = new List<GridColumnEntity>();
|
|
|
gridEntity = GetSettingXml(userSettingEntity.Xml);
|
|
|
gridEntity.PagePreCount = jsonColumnGroupEntity.ShowCount;
|
|
|
|
|
|
foreach (JsonColumnEntity jColumn in jsonColumnGroupEntity.JsonColumnEntities)
|
|
|
{
|
|
|
foreach (GridColumnEntity gColumn in gridEntity.Columns)
|
|
|
{
|
|
|
if (gColumn.Description.Equals(jColumn.col3))
|
|
|
{
|
|
|
gColumn.Description = jColumn.col3;
|
|
|
gColumn.Width = jColumn.col5;
|
|
|
gColumn.Index = jColumn.col4;
|
|
|
if (jColumn.col6 != -1)
|
|
|
{
|
|
|
gColumn.VisibleState = jColumn.col6;
|
|
|
}
|
|
|
//gridColumnEntities.Add(gColumn);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
//Columns
|
|
|
//gridEntity.Columns = gridColumnEntities;
|
|
|
|
|
|
userSettingEntity.Xml = SaveUserSetting(gridEntity).OuterXml;
|
|
|
int iResult = userSettingDA.UpdateUserSetting(userSettingEntity);
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (jsonColumnGroupEntity != null)
|
|
|
{
|
|
|
userSettingEntity = new UserSettingEntity();
|
|
|
|
|
|
userSettingEntity.GID = Guid.NewGuid().ToString();
|
|
|
userSettingEntity.Name = "EDIListGridSetting";
|
|
|
userSettingEntity.Description = "EDI批量导入Grid设置";
|
|
|
userSettingEntity.UserID = strUserID;
|
|
|
userSettingEntity.Type = 1;//type值为1表示Grid
|
|
|
string strRequestUrl = Request.Url.ToString();
|
|
|
string strUrl = strRequestUrl.Substring(0, strRequestUrl.LastIndexOf("/"));
|
|
|
string strPage = strRequestUrl.Substring(strRequestUrl.LastIndexOf("/") + 1, strRequestUrl.Length - strRequestUrl.LastIndexOf("/") - 1);
|
|
|
|
|
|
userSettingEntity.Url = strUrl;
|
|
|
userSettingEntity.Page = strPage;
|
|
|
userSettingEntity.CreateUser = strUserID;
|
|
|
|
|
|
|
|
|
GridEntity gridEntity = new GridEntity();
|
|
|
|
|
|
gridEntity.GID = userSettingEntity.GID;
|
|
|
gridEntity.UserID = strUserID;
|
|
|
gridEntity.GroupBy = "";
|
|
|
gridEntity.DefaultPrePageCount = 15;
|
|
|
gridEntity.PagePreCount = jsonColumnGroupEntity.ShowCount;
|
|
|
|
|
|
List<GridColumnEntity> gridColumnEntities = new List<GridColumnEntity>();
|
|
|
|
|
|
foreach (JsonColumnEntity column in jsonColumnGroupEntity.JsonColumnEntities)
|
|
|
{
|
|
|
GridColumnEntity gridColumnEntity = new GridColumnEntity();
|
|
|
|
|
|
if (column.col6 != -1)
|
|
|
{
|
|
|
gridColumnEntity.Name = column.col2;
|
|
|
gridColumnEntity.VisibleState = column.col6;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
switch (column.col3.Trim())
|
|
|
{
|
|
|
case "导入结果":
|
|
|
gridColumnEntity.Name = "sISOK";
|
|
|
break;
|
|
|
case "提单号":
|
|
|
gridColumnEntity.Name = "MBLNO";
|
|
|
break;
|
|
|
case "船名":
|
|
|
gridColumnEntity.Name = "VESSEL";
|
|
|
break;
|
|
|
case "航次":
|
|
|
gridColumnEntity.Name = "VOYNO";
|
|
|
break;
|
|
|
case "启运港":
|
|
|
gridColumnEntity.Name = "PORTLOAD";
|
|
|
break;
|
|
|
case "目的港":
|
|
|
gridColumnEntity.Name = "PORTDISCHARGE";
|
|
|
break;
|
|
|
case "件数":
|
|
|
gridColumnEntity.Name = "PKGS";
|
|
|
break;
|
|
|
case "包装":
|
|
|
gridColumnEntity.Name = "CARRIER";
|
|
|
break;
|
|
|
case "重量":
|
|
|
gridColumnEntity.Name = "KGS";
|
|
|
break;
|
|
|
case "尺码":
|
|
|
gridColumnEntity.Name = "CBM";
|
|
|
break;
|
|
|
}
|
|
|
gridColumnEntity.VisibleState = 0;
|
|
|
}
|
|
|
|
|
|
gridColumnEntity.Description = column.col3;
|
|
|
gridColumnEntity.Index = column.col4;
|
|
|
gridColumnEntity.Width = column.col5;
|
|
|
|
|
|
gridColumnEntities.Add(gridColumnEntity);
|
|
|
}
|
|
|
//Columns
|
|
|
gridEntity.Columns = gridColumnEntities;
|
|
|
|
|
|
userSettingEntity.Xml = SaveUserSetting(gridEntity).OuterXml;
|
|
|
|
|
|
int iResult = userSettingDA.InsertUserSetting(userSettingEntity);
|
|
|
|
|
|
dvSaveState.InnerHtml = iResult.ToString();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
#region 获取列信息
|
|
|
/// <summary>
|
|
|
/// 获取列信息
|
|
|
/// </summary>
|
|
|
/// <param name="tempValue"></param>
|
|
|
/// <returns></returns>
|
|
|
private JsonColumnGroupEntity GetPostEntity(string tempValue)
|
|
|
{
|
|
|
JsonColumnGroupEntity tempColumnGroupEntity = new JsonColumnGroupEntity();
|
|
|
try
|
|
|
{
|
|
|
tempColumnGroupEntity = (JsonColumnGroupEntity)JSON.Instance.ToObject(tempValue);
|
|
|
}
|
|
|
catch (Exception error)
|
|
|
{
|
|
|
throw error;
|
|
|
}
|
|
|
return tempColumnGroupEntity;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
private XmlDocument SaveUserSetting(GridEntity gridEntity)
|
|
|
{
|
|
|
|
|
|
XmlDocument xmlDoc = new XmlDocument();
|
|
|
XmlElement root = xmlDoc.CreateElement("user-settings");
|
|
|
|
|
|
//xmlDoc.AppendChild(root);
|
|
|
|
|
|
XmlElement xGid = xmlDoc.CreateElement("gid");
|
|
|
xGid.InnerText = gridEntity.GID;
|
|
|
root.AppendChild(xGid);
|
|
|
|
|
|
XmlElement xUserID = xmlDoc.CreateElement("userid");
|
|
|
xUserID.InnerText = gridEntity.UserID;
|
|
|
root.AppendChild(xUserID);
|
|
|
|
|
|
XmlElement xCreateTime = xmlDoc.CreateElement("create-time");
|
|
|
xCreateTime.InnerText = gridEntity.CreateTime.ToString();
|
|
|
root.AppendChild(xCreateTime);
|
|
|
|
|
|
XmlElement xColumns = xmlDoc.CreateElement("columns");
|
|
|
|
|
|
foreach (GridColumnEntity column in gridEntity.Columns)
|
|
|
{
|
|
|
XmlElement xColumn = xmlDoc.CreateElement("column");
|
|
|
XmlElement nName = xmlDoc.CreateElement("name");
|
|
|
nName.InnerText = column.Name;
|
|
|
|
|
|
xColumn.AppendChild(nName);
|
|
|
|
|
|
XmlElement nDescription = xmlDoc.CreateElement("description");
|
|
|
nDescription.InnerText = column.Description;
|
|
|
|
|
|
xColumn.AppendChild(nDescription);
|
|
|
|
|
|
XmlElement nIndex = xmlDoc.CreateElement("index");
|
|
|
nIndex.InnerText = column.Index.ToString();
|
|
|
|
|
|
xColumn.AppendChild(nIndex);
|
|
|
|
|
|
XmlElement nWidth = xmlDoc.CreateElement("width");
|
|
|
nWidth.InnerText = column.Width.ToString();
|
|
|
|
|
|
xColumn.AppendChild(nWidth);
|
|
|
|
|
|
XmlElement nVisible = xmlDoc.CreateElement("visible");
|
|
|
nVisible.InnerText = column.VisibleState.ToString();
|
|
|
|
|
|
xColumn.AppendChild(nVisible);
|
|
|
|
|
|
xColumns.AppendChild(xColumn);
|
|
|
}
|
|
|
|
|
|
root.AppendChild(xColumns);
|
|
|
|
|
|
XmlElement xGroupBy = xmlDoc.CreateElement("group-by");
|
|
|
xGroupBy.InnerText = gridEntity.GroupBy;
|
|
|
|
|
|
root.AppendChild(xGroupBy);
|
|
|
|
|
|
XmlElement xPage = xmlDoc.CreateElement("page");
|
|
|
|
|
|
XmlElement nPageDefault = xmlDoc.CreateElement("page-default");
|
|
|
nPageDefault.InnerText = gridEntity.DefaultPrePageCount.ToString();
|
|
|
xPage.AppendChild(nPageDefault);
|
|
|
|
|
|
XmlElement nPagePre = xmlDoc.CreateElement("page-pre");
|
|
|
nPagePre.InnerText = gridEntity.PagePreCount.ToString();
|
|
|
xPage.AppendChild(nPagePre);
|
|
|
|
|
|
root.AppendChild(xPage);
|
|
|
|
|
|
xmlDoc.AppendChild(root);
|
|
|
return xmlDoc;
|
|
|
}
|
|
|
|
|
|
private GridEntity GetSettingXml(string strXml)
|
|
|
{
|
|
|
XmlDocument xmlSettingDoc = new XmlDocument();
|
|
|
GridEntity gridEntity = new GridEntity();
|
|
|
try
|
|
|
{
|
|
|
xmlSettingDoc.LoadXml(strXml);
|
|
|
|
|
|
gridEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[0].InnerText.Trim();
|
|
|
gridEntity.UserID = xmlSettingDoc.ChildNodes[0].ChildNodes[1].InnerText.Trim();
|
|
|
gridEntity.CreateTime = DateTime.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[2].InnerText.Trim());
|
|
|
|
|
|
IList<GridColumnEntity> columnsEntities = new List<GridColumnEntity>();
|
|
|
|
|
|
int iColCount = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes.Count;
|
|
|
|
|
|
for (int i = 0; i < iColCount; i++)
|
|
|
{
|
|
|
GridColumnEntity columnEntity = new GridColumnEntity();
|
|
|
//columnEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[0].ToString();
|
|
|
columnEntity.Name = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[0].InnerText.Trim();
|
|
|
columnEntity.Description = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[1].InnerText.Trim();
|
|
|
columnEntity.Index = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[2].InnerText.Trim());
|
|
|
columnEntity.Width = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[3].InnerText.Trim());
|
|
|
|
|
|
columnsEntities.Add(columnEntity);
|
|
|
}
|
|
|
|
|
|
gridEntity.Columns = columnsEntities;
|
|
|
gridEntity.GroupBy = xmlSettingDoc.ChildNodes[0].ChildNodes[4].InnerText.Trim();
|
|
|
gridEntity.DefaultPrePageCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[0].InnerText.Trim());
|
|
|
gridEntity.PagePreCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[1].InnerText.Trim());
|
|
|
}
|
|
|
catch (Exception error)
|
|
|
{
|
|
|
throw (error);
|
|
|
}
|
|
|
|
|
|
return gridEntity;
|
|
|
}
|
|
|
|
|
|
public enum SqlName
|
|
|
{
|
|
|
NAME = 0,
|
|
|
LOGTYPE = 1,
|
|
|
LOGTIME = 2,
|
|
|
LOGCONTENT = 3,
|
|
|
USERNAME = 4
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|