|
|
using System;
|
|
|
using System.Net;
|
|
|
using System.Data;
|
|
|
using System.Data.Common;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Collections.Specialized;
|
|
|
using System.Text;
|
|
|
using System.Text.RegularExpressions;
|
|
|
using System.Web;
|
|
|
using System.Drawing;
|
|
|
using System.Data.SqlClient;
|
|
|
using System.IO;
|
|
|
using System.Xml;
|
|
|
using System.Xml.Serialization;
|
|
|
using System.Linq;
|
|
|
using DotNet4.Utilities;
|
|
|
using InvokeWebService;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
using DSWeb.Areas.MvcShipping.DAL.MsOpSeaeQDPortDataDAL;
|
|
|
using DSWeb.DataAccess;
|
|
|
using DSWeb.MvcShipping.Models.MsOpSeae;
|
|
|
using DSWeb.MvcShipping.Models.MsOpSeaeYard;
|
|
|
using DSWeb.MvcShipping.Models.MsOpSeaeBill;
|
|
|
using DSWeb.MvcShipping.Models.CompanyDef;
|
|
|
using DSWeb.MvcShipping.Models.FtpSet;
|
|
|
using DSWeb.MvcShipping.DAL.MsCodeYardDataSet;
|
|
|
using DSWeb.MvcShipping.DAL.YARDCTNXML;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
using DSWeb.MvcShipping.DAL.MsOpSeaeDAL;
|
|
|
using DSWeb.MvcShipping.Helper;
|
|
|
using Spire.Pdf;
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
using System.Web.Configuration;
|
|
|
using static DSWeb.Areas.CommMng.DAL.BasicDataRefDAL;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.DAL.MsOpSeaeYardDAL
|
|
|
{
|
|
|
|
|
|
public class MsOpSeaeYardDAL
|
|
|
{
|
|
|
static public string GetPortEDICodeByEname(string port, string EDINAME = "")
|
|
|
{
|
|
|
string EDICODE = "";
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
if (EDINAME == "")
|
|
|
|
|
|
strSql.Append("select EDICODE from code_disport where PORT='" + port + "'");
|
|
|
else
|
|
|
strSql.Append("select EDICODE from code_disport_edi where PORTDISCHARGE='" + port + "' AND EDINAME='" + EDINAME + "'");
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
EDICODE = Convert.ToString(reader["EDICODE"]).Trim();
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
if (EDICODE.Trim() == "" && EDINAME != "")
|
|
|
{
|
|
|
var strSql2 = new StringBuilder();
|
|
|
strSql2.Append("select EDICODE from code_disport where PORT='" + port + "' ");
|
|
|
db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql2.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
EDICODE = Convert.ToString(reader["EDICODE"]).Trim();
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
}
|
|
|
return EDICODE;
|
|
|
}
|
|
|
|
|
|
#region 提取中远BC PDF
|
|
|
static public DBResult GetCOSCO_BC_PDF(string pdffile, Stream fileStream)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
var strMsg = "";
|
|
|
try
|
|
|
{
|
|
|
PdfDocument doc = new PdfDocument();
|
|
|
// Load the PDF Document
|
|
|
doc.LoadFromFile(pdffile);
|
|
|
// String for hold the extracted text
|
|
|
|
|
|
中远BC_ExcelInfo 中远BC = new 中远BC_ExcelInfo(pdffile);
|
|
|
|
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
int i = 0;
|
|
|
foreach (PdfPageBase page in doc.Pages)
|
|
|
{
|
|
|
buffer.Append(page.ExtractText());
|
|
|
i++;
|
|
|
}
|
|
|
doc.Close();
|
|
|
|
|
|
var BCStr = buffer.ToString();
|
|
|
if (BCStr != "")
|
|
|
{
|
|
|
|
|
|
MsOpSeae head = null;
|
|
|
head = new MsOpSeae();
|
|
|
head.MBLNO = GetDataHtmlList(BCStr, "订舱号:", Environment.NewLine).Trim();
|
|
|
//var VESSELVOY = GetDataHtmlList(BCStr, "船名/航次:", Environment.NewLine).Trim();
|
|
|
//var vesselindex = VESSELVOY.LastIndexOf(" ");
|
|
|
//head.VESSEL = VESSELVOY.Substring(0, vesselindex).Trim();
|
|
|
//head.VOYNO = VESSELVOY.Substring(vesselindex+1).Trim();
|
|
|
head.VESSEL = 中远BC.GetValue("船名");
|
|
|
head.VOYNO = 中远BC.GetValue("航次");
|
|
|
head.ETD = 中远BC.GetValue("ETD");
|
|
|
head.ETA = 中远BC.GetValue("ETA");
|
|
|
head.PLACERECEIPT = GetDataHtmlList(BCStr, "接货地:", Environment.NewLine).ToUpper().Trim();
|
|
|
head.PLACEDELIVERY = GetDataHtmlList(BCStr, "交货地:", Environment.NewLine).ToUpper().Trim();
|
|
|
head.YARD = GetDataHtmlList(BCStr, "提箱点:", "提箱校验码:").Trim();
|
|
|
head.APPLYNO = GetDataHtmlList(BCStr, "提箱校验码:", Environment.NewLine).Trim();
|
|
|
head.CLOSEDOCDATE = GetDataHtmlList(BCStr, "样单截单时间:", Environment.NewLine).Trim();
|
|
|
head.CLOSINGDATE = GetDataHtmlList(BCStr, "截港时间:", Environment.NewLine).Trim();
|
|
|
head.PLACERECEIPTID = GetPortEDICodeByEname(head.PLACERECEIPT);
|
|
|
head.PLACEDELIVERYID = GetPortEDICodeByEname(head.PLACEDELIVERY);
|
|
|
try
|
|
|
{
|
|
|
var goodsname = GetDataHtmlList(buffer.ToString(), "Sub. Equip Gross Weight", "Intended Schedule Plan");
|
|
|
goodsname = goodsname.Substring(goodsname.IndexOf(Environment.NewLine) + 1);
|
|
|
goodsname = goodsname.Substring(0, goodsname.LastIndexOf(Environment.NewLine));
|
|
|
goodsname = goodsname.Substring(44, 33).Trim();
|
|
|
head.GOODSNAME = goodsname.ToUpper();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
head.GOODSNAME = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
result.Data = head;
|
|
|
result.Success = true;
|
|
|
}
|
|
|
else {
|
|
|
result.Success = false;
|
|
|
result.Message = "未提取到相关数据,请检查PDF文件是否正确!";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch(Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = $"提取数据过程中发生错误[{e.Message}],请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 提取天津中远BC PDF
|
|
|
static public DBResult GetTianJinCOSCO_BC_PDF(string pdffile)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
try
|
|
|
{
|
|
|
PdfDocument doc = new PdfDocument();
|
|
|
// Load the PDF Document
|
|
|
doc.LoadFromFile(pdffile);
|
|
|
// String for hold the extracted text
|
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
int i = 0;
|
|
|
foreach (PdfPageBase page in doc.Pages)
|
|
|
{
|
|
|
buffer.Append(page.ExtractText());
|
|
|
i++;
|
|
|
}
|
|
|
doc.Close();
|
|
|
|
|
|
var BCStr = buffer.ToString();
|
|
|
if (BCStr != "")
|
|
|
{
|
|
|
|
|
|
MsOpSeae head = null;
|
|
|
head = new MsOpSeae();
|
|
|
head.MBLNO = GetDataHtmlList(BCStr, "订舱号:", Environment.NewLine).Trim();
|
|
|
//订舱编号
|
|
|
string orderno = head.MBLNO.Substring(4);
|
|
|
head.ORDERNO = orderno;
|
|
|
|
|
|
var VESSELVOY = GetDataHtmlList(BCStr, "船名/航次:", Environment.NewLine).Trim();
|
|
|
var vesselindex = VESSELVOY.LastIndexOf(" ");
|
|
|
head.VESSEL = VESSELVOY.Substring(0, vesselindex).Trim();
|
|
|
head.VOYNO = VESSELVOY.Substring(vesselindex + 1).Trim();
|
|
|
|
|
|
head.PORTLOAD = GetDataHtmlList(BCStr, "接货地:", Environment.NewLine).ToUpper().Trim();
|
|
|
head.PLACEDELIVERY = GetDataHtmlList(BCStr, "交货地:", Environment.NewLine).ToUpper().Trim();
|
|
|
|
|
|
head.APPLYNO = GetDataHtmlList(BCStr, "提箱校验码:", Environment.NewLine).Trim();
|
|
|
|
|
|
head.CLOSEDOCDATE = GetDataHtmlList(BCStr, "样单截单时间:", Environment.NewLine).Trim();
|
|
|
head.CLOSINGDATE = GetDataHtmlList(BCStr, "截港时间:", Environment.NewLine).Trim();
|
|
|
//head.PLACERECEIPTID = GetPortEDICodeByEname(head.PLACERECEIPT);
|
|
|
//head.PLACEDELIVERYID = GetPortEDICodeByEname(head.PLACEDELIVERY);
|
|
|
string etdstr = GetDataHtmlList(BCStr, "船舶预计开航时间:", Environment.NewLine).Trim();
|
|
|
DateTime dtEtd = DateTime.Parse(etdstr);
|
|
|
head.ETD = dtEtd.ToString("yyyy-MM-dd");
|
|
|
|
|
|
result.Data = head;
|
|
|
result.Success = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "未提取到相关数据,请检查PDF文件是否正确!";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 长荣BCPDF
|
|
|
static public DBResult GetCHANGRONG_BC_PDF ( string pdffile )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
try
|
|
|
{
|
|
|
PdfDocument doc = new PdfDocument();
|
|
|
// Load the PDF Document
|
|
|
doc.LoadFromFile(pdffile);
|
|
|
// String for hold the extracted text
|
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
int i = 0;
|
|
|
foreach (PdfPageBase page in doc.Pages)
|
|
|
{
|
|
|
buffer.Append(page.ExtractText());
|
|
|
i++;
|
|
|
}
|
|
|
doc.Close();
|
|
|
|
|
|
var BCStr = buffer.ToString();
|
|
|
if (BCStr != "")
|
|
|
{
|
|
|
|
|
|
MsOpSeae head = null;
|
|
|
head = new MsOpSeae();
|
|
|
head.MBLNO = GetDataHtmlList(BCStr, "订舱号码):", "APPLICATION").Trim();
|
|
|
try
|
|
|
{
|
|
|
string yardtelstr = GetDataHtmlList(BCStr, "空箱提领处 :", "重箱返还处").Trim();
|
|
|
yardtelstr = yardtelstr.Replace("\r\n", "$");
|
|
|
string[] teltemp = yardtelstr.Split('$');
|
|
|
|
|
|
head.YARDTEL = teltemp[teltemp.Length - 1].Trim();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
head.ETD = GetDataHtmlList(BCStr, "ETD DATE", Environment.NewLine).ToString().Replace(" :", "").Trim();
|
|
|
head.ETD = head.ETD.Replace("/", "-");
|
|
|
var VESSELVOY = GetDataHtmlList(BCStr, "VESSEL/VOYAGE(船名/航次):", Environment.NewLine).Trim();
|
|
|
var vesselindex = VESSELVOY.LastIndexOf(" ");
|
|
|
head.VESSEL = VESSELVOY.Substring(0, vesselindex).Trim();
|
|
|
head.VOYNO = VESSELVOY.Substring(vesselindex + 1).Trim();
|
|
|
head.PLACERECEIPT = GetDataHtmlList(BCStr, "收货地):", Environment.NewLine).ToUpper().Trim();
|
|
|
head.PLACEDELIVERY = GetDataHtmlList(BCStr, "交货地):", Environment.NewLine).ToUpper().Trim();
|
|
|
head.YARD = GetDataHtmlList(BCStr, "空箱提领处 :", Environment.NewLine).Trim();
|
|
|
// head.APPLYNO = GetDataHtmlList(BCStr, "提箱校验码:", Environment.NewLine).Trim();
|
|
|
|
|
|
string CLOSINGDATE = "";
|
|
|
string CLOSEDOCDATE = "";
|
|
|
try
|
|
|
{
|
|
|
string temp = GetDataHtmlList(BCStr, "截关时间", Environment.NewLine).ToString().Replace(" :", "").Trim();
|
|
|
temp = temp.Replace("/", "-");
|
|
|
DateTime dt = DateTime.Parse(temp);
|
|
|
CLOSINGDATE = dt.ToString("yyyy-MM-dd hh:mm:ss");
|
|
|
|
|
|
string temp2 = GetDataHtmlList(BCStr, "提单补料截止时间", Environment.NewLine).ToString().Replace(" :", "").Trim();
|
|
|
temp2 = temp2.Replace("/", "-");
|
|
|
DateTime dt2 = DateTime.Parse(temp2);
|
|
|
CLOSEDOCDATE = dt2.ToString("yyyy-MM-dd hh:mm:ss");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
throw;
|
|
|
}
|
|
|
|
|
|
head.CLOSINGDATE = CLOSINGDATE;
|
|
|
head.CLOSEDOCDATE = CLOSEDOCDATE;
|
|
|
head.PLACERECEIPTID = GetPortEDICodeByEname(head.PLACERECEIPT);
|
|
|
head.PLACEDELIVERYID = GetPortEDICodeByEname(head.PLACEDELIVERY);
|
|
|
try
|
|
|
{
|
|
|
var goodsname = GetDataHtmlList(BCStr, "货物品名) :", Environment.NewLine);
|
|
|
if (goodsname.Contains("PURCHASE NUMBER"))
|
|
|
{
|
|
|
goodsname = goodsname.Substring(0, goodsname.IndexOf("PURCHASE NUMBER"));
|
|
|
}
|
|
|
head.GOODSNAME = goodsname.ToUpper();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
head.GOODSNAME = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
result.Data = head;
|
|
|
result.Success = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "未提取到相关数据,请检查PDF文件是否正确!";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 马士基BC PDF
|
|
|
static public DBResult GetMaersk_BC_PDF_New(string pdffile)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
try
|
|
|
{
|
|
|
PdfDocument doc = new PdfDocument();
|
|
|
// Load the PDF Document
|
|
|
doc.LoadFromFile(pdffile);
|
|
|
// String for hold the extracted text
|
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
int i = 0;
|
|
|
foreach (PdfPageBase page in doc.Pages)
|
|
|
{
|
|
|
buffer.Append(page.ExtractText());
|
|
|
i++;
|
|
|
}
|
|
|
doc.Close();
|
|
|
|
|
|
var BCStr = buffer.ToString();
|
|
|
if (BCStr != "")
|
|
|
{
|
|
|
|
|
|
MsOpSeae head = null;
|
|
|
head = new MsOpSeae();
|
|
|
|
|
|
head.MBLNO = GetDataHtmlList(BCStr, "Booking No.: ", " ").ToUpper().Trim();
|
|
|
|
|
|
马士基BC_ExcelInfo BC = new 马士基BC_ExcelInfo(pdffile);
|
|
|
|
|
|
//var VESSELVOY = GetDataHtmlList(BCStr, "船名/航次(Vessel/Voyage):", Environment.NewLine).Trim();
|
|
|
//if (VESSELVOY=="")
|
|
|
//{
|
|
|
// VESSELVOY = GetDataHtmlList(BCStr, "船名/航次(Vessel): ", Environment.NewLine).Trim();
|
|
|
//}
|
|
|
//if (VESSELVOY != "")
|
|
|
//{
|
|
|
// var vesselindex = VESSELVOY.LastIndexOf("/");
|
|
|
|
|
|
// head.VESSEL = VESSELVOY.Substring(0, vesselindex).Trim();
|
|
|
// head.VOYNO = VESSELVOY.Substring(vesselindex + 1).Trim();
|
|
|
// if (head.VESSEL.IndexOf("(")>0) head.VESSEL = head.VESSEL.Substring(0, head.VESSEL.IndexOf("(")).Trim();
|
|
|
//}
|
|
|
|
|
|
head.VESSEL = BC.GetValue("船名");
|
|
|
head.VOYNO = BC.GetValue("航次");
|
|
|
|
|
|
|
|
|
head.PORTLOAD = GetDataHtmlList(BCStr, "收货地: ", Environment.NewLine).ToUpper().Trim();
|
|
|
head.PLACEDELIVERY = GetDataHtmlList(BCStr, "交货地:", Environment.NewLine).ToUpper().Trim();
|
|
|
|
|
|
//string etdstr = GetDataHtmlList(BCStr, "开港时间(CY Open): ", "(").Trim();
|
|
|
//if (etdstr=="")
|
|
|
//{
|
|
|
|
|
|
// etdstr = GetDataHtmlList(BCStr, "开港时间(CY open): ", "(").Trim();
|
|
|
//}
|
|
|
//if (etdstr != "")
|
|
|
//{
|
|
|
// DateTime dtEtd = DateTime.Parse(etdstr);
|
|
|
// head.ETD = dtEtd.ToString("yyyy-MM-dd");
|
|
|
//}
|
|
|
if(!string.IsNullOrWhiteSpace(BC.GetValue("ETD")))
|
|
|
head.ETD= BC.GetValue("ETD");
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(BC.GetValue("ETA")))
|
|
|
head.ETA = BC.GetValue("ETA");
|
|
|
|
|
|
string jiegangshijian = GetDataHtmlList(BCStr, "截载时间(CY cut off)/VGM Submission Deadline:", "(").Trim();
|
|
|
if (jiegangshijian=="")
|
|
|
{
|
|
|
jiegangshijian = GetDataHtmlList(BCStr, "截港时间(CY cut off)/VGM Submission Deadline", "(").Trim();
|
|
|
}
|
|
|
if (jiegangshijian == "")
|
|
|
{
|
|
|
jiegangshijian = GetDataHtmlList(BCStr, "截载时间(CY cut off):", "(").Trim();
|
|
|
}
|
|
|
if (jiegangshijian != "")
|
|
|
{
|
|
|
DateTime dtJGSJ = DateTime.Parse(jiegangshijian);
|
|
|
head.CLOSINGDATE = dtJGSJ.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
}
|
|
|
|
|
|
string jiedanshijian = GetDataHtmlList(BCStr, "样单截至时间(SI Cutoff):", Environment.NewLine).Trim();
|
|
|
if (jiedanshijian=="")
|
|
|
{
|
|
|
jiedanshijian = GetDataHtmlList(BCStr, "样单截止时间(SI cut off):", Environment.NewLine).Trim();
|
|
|
}
|
|
|
if (jiedanshijian == "")
|
|
|
{
|
|
|
jiedanshijian = GetDataHtmlList(BCStr, "样单截至时间(SI Cutoff) / MCC VGM截止时间:", Environment.NewLine).Trim();
|
|
|
}
|
|
|
|
|
|
|
|
|
if (jiedanshijian != "")
|
|
|
{
|
|
|
DateTime dtJDSJ = DateTime.Parse(jiedanshijian);
|
|
|
head.CLOSEDOCDATE = dtJDSJ.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
}
|
|
|
|
|
|
head.PLACERECEIPTID = GetPortEDICodeByEname(head.PLACERECEIPT);
|
|
|
head.PLACEDELIVERYID = GetPortEDICodeByEname(head.PLACEDELIVERY);
|
|
|
|
|
|
result.Data = head;
|
|
|
result.Success = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "未提取到相关数据,请检查PDF文件是否正确!";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch(Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!"+e.Message;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 马士基BCPDF
|
|
|
static public DBResult GetMaersk_BC_PDF ( string pdffile )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
try
|
|
|
{
|
|
|
PdfDocument doc = new PdfDocument();
|
|
|
// Load the PDF Document
|
|
|
doc.LoadFromFile(pdffile);
|
|
|
// String for hold the extracted text
|
|
|
StringBuilder buffer = new StringBuilder();
|
|
|
int i = 0;
|
|
|
foreach (PdfPageBase page in doc.Pages)
|
|
|
{
|
|
|
buffer.Append(page.ExtractText());
|
|
|
i++;
|
|
|
}
|
|
|
doc.Close();
|
|
|
|
|
|
var BCStr = buffer.ToString();
|
|
|
if (BCStr != "")
|
|
|
{
|
|
|
|
|
|
MsOpSeae head = null;
|
|
|
head = new MsOpSeae();
|
|
|
head.MBLNO = GetDataHtmlList(BCStr, "订舱号码):", "APPLICATION").Trim();
|
|
|
try
|
|
|
{
|
|
|
string yardtelstr = GetDataHtmlList(BCStr, "空箱提领处 :", "重箱返还处").Trim();
|
|
|
yardtelstr = yardtelstr.Replace("\r\n", "$");
|
|
|
string[] teltemp = yardtelstr.Split('$');
|
|
|
|
|
|
head.YARDTEL = teltemp[teltemp.Length - 1].Trim();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
head.ETD = GetDataHtmlList(BCStr, "ETA DATE :", Environment.NewLine).ToString();
|
|
|
head.ETD = head.ETD.Replace("/", "-");
|
|
|
var VESSELVOY = GetDataHtmlList(BCStr, "船名/航次):", Environment.NewLine).Trim();
|
|
|
var vesselindex = VESSELVOY.LastIndexOf(" ");
|
|
|
head.VESSEL = VESSELVOY.Substring(0, vesselindex).Trim();
|
|
|
head.VOYNO = VESSELVOY.Substring(vesselindex + 1).Trim();
|
|
|
head.PLACERECEIPT = GetDataHtmlList(BCStr, "收货地):", Environment.NewLine).ToUpper().Trim();
|
|
|
head.PLACEDELIVERY = GetDataHtmlList(BCStr, "交货地):", Environment.NewLine).ToUpper().Trim();
|
|
|
head.YARD = GetDataHtmlList(BCStr, "空箱提领处 :", Environment.NewLine).Trim();
|
|
|
// head.APPLYNO = GetDataHtmlList(BCStr, "提箱校验码:", Environment.NewLine).Trim();
|
|
|
|
|
|
string CLOSINGDATE = "";
|
|
|
string CLOSEDOCDATE = "";
|
|
|
try
|
|
|
{
|
|
|
string temp = GetDataHtmlList(BCStr, "截关时间 :", Environment.NewLine).Trim();
|
|
|
temp = temp.Replace("/", "-");
|
|
|
DateTime dt = DateTime.Parse(temp);
|
|
|
CLOSINGDATE = dt.ToString("yyyy-MM-dd hh:mm:ss");
|
|
|
|
|
|
string temp2 = GetDataHtmlList(BCStr, "VGM CUT OFF via EDI/WEB/APP :", Environment.NewLine).Trim();
|
|
|
temp2 = temp2.Replace("/", "-");
|
|
|
DateTime dt2 = DateTime.Parse(temp2);
|
|
|
CLOSEDOCDATE = dt2.ToString("yyyy-MM-dd hh:mm:ss");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
throw;
|
|
|
}
|
|
|
|
|
|
head.CLOSINGDATE = CLOSINGDATE;
|
|
|
head.CLOSEDOCDATE = CLOSEDOCDATE;
|
|
|
head.PLACERECEIPTID = GetPortEDICodeByEname(head.PLACERECEIPT);
|
|
|
head.PLACEDELIVERYID = GetPortEDICodeByEname(head.PLACEDELIVERY);
|
|
|
try
|
|
|
{
|
|
|
var goodsname = GetDataHtmlList(BCStr, "货物品名) :", Environment.NewLine);
|
|
|
if (goodsname.Contains("PURCHASE NUMBER"))
|
|
|
{
|
|
|
goodsname = goodsname.Substring(0, goodsname.IndexOf("PURCHASE NUMBER"));
|
|
|
}
|
|
|
head.GOODSNAME = goodsname.ToUpper();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
head.GOODSNAME = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
result.Data = head;
|
|
|
result.Success = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "未提取到相关数据,请检查PDF文件是否正确!";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 获取场站数据
|
|
|
static public DBResult GetYARDCTNList ( string bsno, string mblno, string yard, string companyid, string userid, bool isweb = false, string jck = "all")
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var yarddataset = MsCodeYardDataSetDAL.GetData("YARD='" + yard + "'", companyid);
|
|
|
if ((yard != "YGT" ) &&(yarddataset == null || yarddataset.YARDCODE == ""))
|
|
|
{
|
|
|
result.Message = "不能提取数据,未设置此场站提取数据的相关的参数!";
|
|
|
result.Success = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var yardid = yarddataset.YARDCODE;
|
|
|
if (yard == "YGT") yardid = "YGT";
|
|
|
var USEDSINTERFACE = MsSysParamSetDAL.GetData("PARAMNAME='USEDSINTERFACE'");
|
|
|
if (USEDSINTERFACE.PARAMVALUE == "1")
|
|
|
result = GetYardInterfaceList(mblno, bsno, yardid,userid, isweb,jck);
|
|
|
else
|
|
|
result = GetYARDDataList(bsno, mblno, yardid, userid, isweb);
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
static public DBResult GetYARDDataList ( string bsno, string mblno, string yardid, string userid,bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
|
|
|
if (yardid == "STXKEYUN")//世腾克运
|
|
|
{
|
|
|
result = GetSTXKEYUNCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "DAYA")//大亚
|
|
|
{
|
|
|
//result = GetDAYACTNList(mblno, bsno, yarddataset.LOGINNAME, yarddataset.PASSWORD);
|
|
|
if (mblno.Contains("COSU") || mblno.Contains("COAU") || mblno.Contains("PASU"))
|
|
|
{
|
|
|
//result = GetDAYAWEBCTNList2(mblno, bsno, isweb);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result = GetDAYAWEBCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
}
|
|
|
else if (yardid == "JIEFENG")//捷丰
|
|
|
{
|
|
|
result = GetJIEFENGWEBCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "LUHAI")//路海
|
|
|
{
|
|
|
result = GetLUHAIWEBCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "ZHONGCHUANG")//中创
|
|
|
{
|
|
|
result = GetZHONGCHUANGWEBCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "GangLianXin")//中创_港联欣场站
|
|
|
{
|
|
|
result = GetGangLianXinWEBCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "YZH")
|
|
|
{
|
|
|
result = GetYIHANGCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "CHANGRONG")//长荣
|
|
|
{
|
|
|
result = GetCHANGRONGCTNList(mblno, bsno, userid, isweb);
|
|
|
}
|
|
|
else if (yardid == "GLR")//港联荣
|
|
|
{
|
|
|
result = GetGLRCTNList(mblno, bsno, userid, isweb);
|
|
|
}
|
|
|
else if (yardid == "SSCZ")
|
|
|
{
|
|
|
result = GetSSCZCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "WYCZ")//外运场站
|
|
|
{
|
|
|
result = GetWAIYUNTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "GLCZ")
|
|
|
{
|
|
|
result = GetGLCZCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "MJCZ")
|
|
|
{
|
|
|
result = GetMJCZCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "MGDG")
|
|
|
{
|
|
|
result = GetMGDGCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "XDF")
|
|
|
{
|
|
|
result = GetXDFCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "SZX")//神州场站
|
|
|
{
|
|
|
result = GetSZXCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "QQCTU")
|
|
|
{
|
|
|
result = GetQQCTUCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "ZHENGHUA")//振华
|
|
|
{
|
|
|
result = GetZHENGHUACTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "YIHANG"|| yardid == "GLJ")//青岛怡航场站/鲁艺场站(查询地址相同)
|
|
|
{
|
|
|
result = GetYIHANGCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "JINHENG")//锦恒
|
|
|
{
|
|
|
result = GetJINHENGCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "HANGJIN")//韩进
|
|
|
{
|
|
|
result = GetHANJINCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "YANTAIYARD")//烟台
|
|
|
{
|
|
|
result = GetYANTAIYARDList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "GANGWAN")//港湾场站
|
|
|
{
|
|
|
result = GetGANGWANCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "XINBADA")//新霸达场站
|
|
|
{
|
|
|
result = GetXINBADACTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "QQCT")//青岛前湾QQCT场站
|
|
|
{
|
|
|
result = GetQQCTCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "RUNHAI")//润海场站
|
|
|
{
|
|
|
result = GetRUNHAICTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "LUYI")//鲁艺场站
|
|
|
{
|
|
|
result = GetYIHANGCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "MGCZ")//明港场站
|
|
|
{
|
|
|
result = GetMGCZCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "HTZX")//海铁中心
|
|
|
{
|
|
|
result = GetMGCZCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
else if (yardid == "ZhongWaiYun")//中外运集装箱运输有限公司
|
|
|
{
|
|
|
//result = GetZhongWaiYunCTNList(mblno, bsno, isweb);//中外运验证码未提取成功,因此暂时屏蔽
|
|
|
}
|
|
|
else if (yardid == "KEYUN")//克运场站
|
|
|
{
|
|
|
result = GetKEYUNCTNList(mblno, bsno, isweb);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
static public DBResult GetYardInterfaceList(string mblno, string bsno, string yardid,string userid, bool isweb = false, string jck = "all")
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
string iswebstr = "1";
|
|
|
if (!isweb) iswebstr = "0";
|
|
|
|
|
|
string qduname ="";
|
|
|
string qdpwd ="";
|
|
|
string customername = "";
|
|
|
string password = "";
|
|
|
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
if (yardid == "YIHANG" || yardid == "YZH") yardid = "GLJ";
|
|
|
//if (yardid == "YGT" || yardid == "CHANGRONG"|| yardid == "GLR"|| yardid == "JZLG" || yardid == "XINBADA") {
|
|
|
|
|
|
var thirdpartyaccount = MsSysThirdPartyAccount.MsSysThirdPartyAccountDAL.GetData(" THIRDPARTY='运港通' and USERID='"+userid+"' ");
|
|
|
if (string.IsNullOrEmpty(thirdpartyaccount.ACCOUNT))
|
|
|
{
|
|
|
qduname = MsSysParamSetDAL.GetData("PARAMNAME='QDPORTUSER'").PARAMVALUE;
|
|
|
qdpwd = MsSysParamSetDAL.GetData("PARAMNAME='QDPORTPASS'").PARAMVALUE;
|
|
|
}
|
|
|
else {
|
|
|
qduname = thirdpartyaccount.ACCOUNT;
|
|
|
qdpwd = thirdpartyaccount.ACCOUNTPSW;
|
|
|
}
|
|
|
//}
|
|
|
customername = MsSysParamSetDAL.GetData("PARAMNAME='GETDATANAME'").PARAMVALUE;
|
|
|
password = MsSysParamSetDAL.GetData("PARAMNAME='GETDATAPASS'").PARAMVALUE;
|
|
|
|
|
|
if (yardid == "YGT" && isweb != true) yardid = "YGTJSON";
|
|
|
|
|
|
var GetYardDataUrl = "";
|
|
|
try
|
|
|
{
|
|
|
GetYardDataUrl = WebConfigurationManager.AppSettings["GetDataUrl"].ToString();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
if (GetYardDataUrl=="") GetYardDataUrl = "http://47.104.90.170:5000/query";
|
|
|
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = GetYardDataUrl,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "47.104.90.170:5000",
|
|
|
Timeout=600000,
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "gzip, deflate",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "webusername=" + qduname + "&webuserpass=" + qdpwd + "&mblno=" + mblno + "&yardid=" + yardid + "&isweb=" + iswebstr+ "&custname=" + customername + "&psw=" + password + "&jck=" + jck,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
var datahtml = resulthtml.Html;
|
|
|
#endregion
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
|
|
|
var objRtn = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new { status = "", message = "" });
|
|
|
var viewstatehtml = GetDataHtmlList(objRtn.message, "__VIEWSTATE", "/>");
|
|
|
var htmstr = objRtn.message;
|
|
|
if (viewstatehtml!="")
|
|
|
htmstr = objRtn.message.Replace(viewstatehtml,"");
|
|
|
//if (yardid != "YGT")
|
|
|
//htmstr = htmstr.Replace("display: none;", "");
|
|
|
result.Data = htmstr;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
var objRtn = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new { status = ""});
|
|
|
if (objRtn.status == "1")
|
|
|
{
|
|
|
|
|
|
if (yardid == "YGTJSON")
|
|
|
{
|
|
|
var objRtn2 = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new { status = "", message = "" });
|
|
|
result.Success = true;
|
|
|
result.Data = objRtn2.message;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
var objRtn2 = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new JsonMsOpSeaeDetail());
|
|
|
result.Success = true;
|
|
|
result.Data = objRtn2.message.ToList();
|
|
|
}
|
|
|
// objRtn = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new {<List< MsOpSeaeDetail>> message });
|
|
|
|
|
|
// var data1 = JsonConvert.Deserialize<List<MsOpSeaeDetail>>(objRtn.message);
|
|
|
|
|
|
// result.Data = data1.ToList();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var objRtn2 = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new { status = "", message = "" });
|
|
|
result.Success = false;
|
|
|
result.Message = objRtn2.message;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "没有提取到需要的数据!"+e.Message;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
static public DBResult GetCarrierCtnStatus(string mblno, string carrierid, bool isweb = false)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
string iswebstr = "1";
|
|
|
if (!isweb) iswebstr = "0";
|
|
|
|
|
|
string qduname = "";
|
|
|
string qdpwd = "";
|
|
|
string customername = "";
|
|
|
string password = "";
|
|
|
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
|
|
|
customername = MsSysParamSetDAL.GetData("PARAMNAME='GETDATANAME'").PARAMVALUE;
|
|
|
password = MsSysParamSetDAL.GetData("PARAMNAME='GETDATAPASS'").PARAMVALUE;
|
|
|
|
|
|
var GetYardDataUrl = "";
|
|
|
if (GetYardDataUrl == "") GetYardDataUrl = "http://47.104.90.170:6000/ship/query";
|
|
|
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = GetYardDataUrl,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "47.104.90.170:5000",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "gzip, deflate",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "mblno=" + mblno + "&yardid=" + carrierid + "&isweb=" + iswebstr + "&custname=" + customername + "&psw=" + password,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
var datahtml = resulthtml.Html;
|
|
|
#endregion
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
|
|
|
var objRtn = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(datahtml, new { status = "", message = "" });
|
|
|
if (objRtn.status == "1")
|
|
|
{
|
|
|
var htmstr = objRtn.message;
|
|
|
result.Data = htmstr;
|
|
|
}
|
|
|
else {
|
|
|
result.Success =false;
|
|
|
result.Message = objRtn.message;
|
|
|
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "没有提取到需要的数据!" + e.Message;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
static public string GetDataHtmlList ( string html, string startstr, string endstr )
|
|
|
{
|
|
|
var subhtml = html;
|
|
|
var htmllength = subhtml.Length;
|
|
|
var startindex = subhtml.IndexOf(startstr);
|
|
|
//if (startindex == -1 || startindex == 0) return "";
|
|
|
if (startindex == -1) return "";
|
|
|
subhtml = subhtml.Substring(startindex + startstr.Length, htmllength - startindex - startstr.Length);
|
|
|
var endindex = subhtml.IndexOf(endstr);
|
|
|
if (endindex != -1 && endindex != 0)
|
|
|
subhtml = subhtml.Substring(0, endindex);
|
|
|
|
|
|
return subhtml;
|
|
|
|
|
|
}
|
|
|
|
|
|
static public List<MsOpSeaeDetail> SumBodyList ( List<MsOpSeaeDetail> bodylist )
|
|
|
{
|
|
|
var newbodyList = new List<MsOpSeaeDetail>();
|
|
|
var tranbodylist = bodylist;
|
|
|
|
|
|
foreach (var enumValue in bodylist)
|
|
|
{
|
|
|
var istrue = true;
|
|
|
int pkgs = 0;
|
|
|
decimal kgs = 0;
|
|
|
decimal cbm = 0;
|
|
|
foreach (var newenumValue in newbodyList)
|
|
|
{
|
|
|
if (newenumValue.CNTRNO == enumValue.CNTRNO) istrue = false;
|
|
|
}
|
|
|
if (istrue)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = enumValue.BSNO;
|
|
|
data.CTNNUM = 1;
|
|
|
data.CNTRNO = enumValue.CNTRNO;
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
data.KINDPKGS = enumValue.KINDPKGS;
|
|
|
data.SEALNO = enumValue.SEALNO;
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
foreach (var tranenumValue in tranbodylist)
|
|
|
{
|
|
|
if (tranenumValue.CNTRNO == enumValue.CNTRNO)
|
|
|
{
|
|
|
pkgs = pkgs + tranenumValue.PKGS;
|
|
|
kgs = kgs + tranenumValue.KGS;
|
|
|
cbm = cbm + tranenumValue.CBM;
|
|
|
}
|
|
|
}
|
|
|
data.PKGS = pkgs;
|
|
|
data.KGS = kgs;
|
|
|
data.CBM = cbm;
|
|
|
newbodyList.Add(data);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return newbodyList;
|
|
|
}
|
|
|
|
|
|
static public List<MsOpSeaeDetail> AddBodyList ( List<MsOpSeaeDetail> bodylist, List<MsOpSeaeDetail> bodylist2 )
|
|
|
{
|
|
|
var newbodyList = bodylist;
|
|
|
foreach (var enumValue in bodylist2)
|
|
|
{
|
|
|
var iffind = false;
|
|
|
for (var i = 0; i < newbodyList.Count; i++)
|
|
|
{
|
|
|
if (enumValue.CNTRNO == newbodyList[i].CNTRNO)
|
|
|
{
|
|
|
if (newbodyList[i].SEALNO == "")
|
|
|
newbodyList[i].SEALNO = enumValue.SEALNO;
|
|
|
if (newbodyList[i].EXITDOOR == "")
|
|
|
newbodyList[i].EXITDOOR = enumValue.EXITDOOR;
|
|
|
if (newbodyList[i].ENTERDOOR == "")
|
|
|
newbodyList[i].ENTERDOOR = enumValue.ENTERDOOR;
|
|
|
if (newbodyList[i].CTNSTATUS == "")
|
|
|
newbodyList[i].CTNSTATUS = enumValue.CTNSTATUS;
|
|
|
if (newbodyList[i].TRUCKNO == "")
|
|
|
newbodyList[i].TRUCKNO = enumValue.TRUCKNO;
|
|
|
if (newbodyList[i].TRUCKTYPE == "")
|
|
|
newbodyList[i].TRUCKTYPE = enumValue.TRUCKTYPE;
|
|
|
if (newbodyList[i].ONBORD == "")
|
|
|
newbodyList[i].ONBORD = enumValue.ONBORD;
|
|
|
if (newbodyList[i].ETD == "")
|
|
|
newbodyList[i].ETD = enumValue.ETD;
|
|
|
iffind = true;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (iffind == false)
|
|
|
{
|
|
|
newbodyList.Add(enumValue);
|
|
|
}
|
|
|
}
|
|
|
return newbodyList;
|
|
|
}
|
|
|
|
|
|
#region 世腾克运//POBUTAO161000180//船名航次为中文,提取时需要从船名航次表中提取英文数据,没有则显示中文船名
|
|
|
static public DBResult GetSTXKEYUNCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.stx-keyun.com/query/search_bl_no.asp",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.stx-keyun.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.stx-keyun.com/query/search_bl_no.asp?BL_NO1=" + mblno + "&submit1=%B2%E9%D1%AF HTTP/1.1",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.stx-keyun.com/query/search_bl_no.asp",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "www.stx-keyun.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
Method = "GET",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../css/sheet.css", "http://www.stx-keyun.com/css/sheet.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船名航次
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "下货纸信息</font>", "</font><br>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
|
|
|
var fielddatastr = datahtml3.Remove(0, datahtml3.IndexOf(">") + 1);
|
|
|
data.VESSEL = fielddatastr.Substring(0, fielddatastr.IndexOf("/")).ToString().Trim();
|
|
|
string sVESSEL = T_ALL_DA.GetStrSQL("VESSEL", "select top 1 isnull(VESSEL,'') as VESSEL from code_vessel where CNAME='" + data.VESSEL.ToString().Trim() + "'");
|
|
|
data.VESSEL = (sVESSEL == "" ? data.VESSEL.ToString().Trim() : sVESSEL);
|
|
|
data.VOYNO = fielddatastr.Substring(fielddatastr.IndexOf("/")+1).ToString().Trim();
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 装箱信息
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "装箱信息</font><br>", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<TD") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
//bodyList=SumBodyList(bodyList);
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region (远洋)大亚场站
|
|
|
static public DBResult GetDAYACTNList ( string mblno, string bsno, string username, string password, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string url = "http://www.yydy.com/GacoWebService/DyxtService.asmx";
|
|
|
string[] args = new string[5];
|
|
|
args[0] = username;
|
|
|
args[1] = password;
|
|
|
args[2] = mblno;
|
|
|
args[3] = "";
|
|
|
args[4] = "1";
|
|
|
object resultXml = WebServiceHelper.InvokeWebService(url, "GetBackFCtnInfoXml", args);
|
|
|
StringReader rdr = new StringReader(resultXml.ToString());
|
|
|
XmlSerializer serializer = new XmlSerializer(typeof(DAYA));
|
|
|
DAYA xmlDoc = (DAYA)serializer.Deserialize(rdr);
|
|
|
|
|
|
if (xmlDoc != null)
|
|
|
{
|
|
|
dayatable[] ds = xmlDoc.ds;
|
|
|
for (int i = 0; i < ds.Length; i++)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.CNTRNO = ds[i].CTNNO;
|
|
|
data.SEALNO = ds[i].SEALNO;
|
|
|
data.CTNALL = ds[i].CTNSZ + ds[i].CTNTP;
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].PKGS != "")
|
|
|
data.PKGS = Convert.ToInt16(ds[i].PKGS);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ALKWGT != "")
|
|
|
data.KGS = Convert.ToDecimal(ds[i].ALKWGT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ALCUBAGE != "")
|
|
|
data.CBM = Convert.ToDecimal(ds[i].ALCUBAGE);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ECTNWT != "")
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(ds[i].ECTNWT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
public static long ConvertDateTimeInt(System.DateTime time)
|
|
|
{
|
|
|
//double intResult = 0;
|
|
|
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
|
|
|
//intResult = (time- startTime).TotalMilliseconds;
|
|
|
long t = (time.Ticks - startTime.Ticks) / 10000; //除10000调整为13位
|
|
|
return t;
|
|
|
}
|
|
|
//(远洋)大亚场站//COAU7054586970
|
|
|
//static public DBResult GetDAYAWEBCTNList2(string mblno, string bsno, bool isweb = false)
|
|
|
//{
|
|
|
// //var result = new DBResult();
|
|
|
// //result.Success = true;
|
|
|
// //var bodyList = new List<MsOpSeaeDetail>();
|
|
|
// //var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
|
|
|
// //MsOpSeaeQDPortDataDAL msd = new MsOpSeaeQDPortDataDAL("");
|
|
|
// //try
|
|
|
// //{
|
|
|
// // string datahtml = "";
|
|
|
// // //请求一次页面获取__VIEWSTATE和__EVENTVALIDATION
|
|
|
// // HttpHelper http = new HttpHelper();
|
|
|
// // HttpResult resulthtml = new HttpResult();
|
|
|
|
|
|
// // DataMining dm = new DataMining();
|
|
|
// // datahtml = dm.GetHTMLWithMBLNO(mblno);
|
|
|
|
|
|
|
|
|
// // if (isweb == true)
|
|
|
// // {
|
|
|
// // datahtml = datahtml.Replace("../CSS/Style1.css", "http://www.yydy.com/dyxt/CSS/Style.css");
|
|
|
// // datahtml = datahtml.Replace("../JS/jquery-1.9.1.min.js", "http://www.yydy.com/dyxt/JS/jquery-1.9.1.min.js");
|
|
|
// // datahtml = datahtml.Replace("../JS/basicFun.js", "http://www.yydy.com/dyxt/CSS/GridViewStyle.css/JS/basicFun.js");
|
|
|
// // datahtml = datahtml.Replace("../JS/Query/ExportByBill.js", "http://www.yydy.com/dyxt/CSS/GridViewStyle.css/JS/Query/ExportByBill.js");
|
|
|
// // result.Data = datahtml;
|
|
|
// // }
|
|
|
// // else
|
|
|
// // {
|
|
|
// // var datahtml3 = GetDataHtmlList(datahtml, "GridView1", "</table>");
|
|
|
// // if (datahtml3 != "")
|
|
|
// // {
|
|
|
// // #region 船名航次信息
|
|
|
// // var i = 1;
|
|
|
// // while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
// // {
|
|
|
// // var datalength = datahtml3.IndexOf("</tr>");
|
|
|
// // var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
// // datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
// // recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
// // recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// // var fieldno = 1;
|
|
|
// // if (i != 1)
|
|
|
// // {
|
|
|
// // MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// // data.BSNO = bsno;//业务编号
|
|
|
// // data.CTNNUM = 1;//箱量
|
|
|
// // while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// // {
|
|
|
// // var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// // var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// // recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// // fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// // fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// // fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
// // //fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
// // fielddatastr = fielddatastr.Replace("\t", "");
|
|
|
// // if (fieldno == 2)
|
|
|
// // {
|
|
|
// // data.VOYNO = fielddatastr;
|
|
|
// // }
|
|
|
// // if (fieldno == 3)
|
|
|
// // {
|
|
|
// // data.VESSEL = fielddatastr;
|
|
|
// // }
|
|
|
// // fieldno = fieldno + 1;
|
|
|
// // }
|
|
|
// // bodyList3.Add(data);
|
|
|
// // }
|
|
|
// // i = i + 1;
|
|
|
// // }
|
|
|
// // #endregion
|
|
|
// // }
|
|
|
// // //
|
|
|
// // var datahtml2 = GetDataHtmlList(datahtml, "GridView8", "</table>");
|
|
|
// // if (datahtml2 != "")
|
|
|
// // {
|
|
|
// // #region 实装箱信息
|
|
|
// // var i = 1;
|
|
|
// // while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// // {
|
|
|
// // var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// // var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// // datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// // recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
// // recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// // var fieldno = 1;
|
|
|
// // var istrue = false;
|
|
|
// // if (i != 1)
|
|
|
// // {
|
|
|
// // MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// // data.BSNO = bsno;//业务编号
|
|
|
// // data.CTNNUM = 1;//箱量
|
|
|
// // while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// // {
|
|
|
// // var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// // var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// // recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// // fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// // fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// // fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
// // fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
// // fielddatastr = fielddatastr.Replace("\t", "");
|
|
|
// // if (fieldno == 2)
|
|
|
// // {
|
|
|
// // fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// // fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// // if (fielddatastr == "" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
// // data.CNTRNO = fielddatastr;
|
|
|
// // foreach (var enumValue in bodyList3)
|
|
|
// // {
|
|
|
// // data.VESSEL = enumValue.VESSEL;
|
|
|
// // data.VOYNO = enumValue.VOYNO;
|
|
|
// // }
|
|
|
// // }
|
|
|
// // if (fieldno == 4)
|
|
|
// // {
|
|
|
// // data.CTNALL = fielddatastr;
|
|
|
// // }
|
|
|
// // if (fieldno == 6)
|
|
|
// // {
|
|
|
// // try
|
|
|
// // {
|
|
|
// // data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
// // }
|
|
|
// // catch
|
|
|
// // { }
|
|
|
// // }
|
|
|
// // if (fieldno == 7)
|
|
|
// // {
|
|
|
// // data.SEALNO = fielddatastr;
|
|
|
// // }
|
|
|
// // if (fieldno == 8)
|
|
|
// // {
|
|
|
// // data.KINDPKGS = fielddatastr;
|
|
|
// // }
|
|
|
// // if (fieldno == 9)
|
|
|
// // {
|
|
|
// // try
|
|
|
// // {
|
|
|
// // fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf(".000"), 4);
|
|
|
// // data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
// // }
|
|
|
// // catch
|
|
|
// // {
|
|
|
// // data.PKGS = 0;
|
|
|
// // }
|
|
|
// // }
|
|
|
// // if (fieldno == 10)
|
|
|
// // {
|
|
|
// // try
|
|
|
// // {
|
|
|
// // data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
// // }
|
|
|
// // catch
|
|
|
// // {
|
|
|
// // data.KGS = 0;
|
|
|
// // }
|
|
|
// // }
|
|
|
// // if (fieldno == 11)
|
|
|
// // {
|
|
|
// // try
|
|
|
// // {
|
|
|
// // data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
// // }
|
|
|
// // catch
|
|
|
// // {
|
|
|
// // data.CBM = 0;
|
|
|
// // }
|
|
|
// // }
|
|
|
// // fieldno = fieldno + 1;
|
|
|
// // }
|
|
|
// // if (istrue)
|
|
|
// // bodyList.Add(data);
|
|
|
// // }
|
|
|
// // i = i + 1;
|
|
|
// // }
|
|
|
// // #endregion
|
|
|
// // }
|
|
|
// // else
|
|
|
// // {
|
|
|
// // result.Success = false;
|
|
|
// // result.Message = "未重箱回场,请稍后重试!";
|
|
|
// // return result;
|
|
|
// // }
|
|
|
// // if (bodyList.Count == 0)
|
|
|
// // {
|
|
|
// // bodyList = bodyList3;
|
|
|
// // }
|
|
|
// // bodyList = SumBodyList(bodyList);
|
|
|
// // result.Data = bodyList.ToList();
|
|
|
// // }
|
|
|
// //}
|
|
|
// //catch (Exception e)
|
|
|
// //{
|
|
|
// // result.Success = false;
|
|
|
// // result.Message = "未提取到数据!";
|
|
|
// //}
|
|
|
// //return result;
|
|
|
//}
|
|
|
|
|
|
static public DBResult GetDAYAWEBCTNList(string mblno, string bsno, bool isweb = false)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
MsOpSeaeQDPortDataDAL msd = new MsOpSeaeQDPortDataDAL("");
|
|
|
try
|
|
|
{
|
|
|
string datahtml = "";
|
|
|
//请求一次页面获取__VIEWSTATE和__EVENTVALIDATION
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpResult resulthtml = new HttpResult();
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 7; i++)
|
|
|
{
|
|
|
|
|
|
|
|
|
// TimeSpan ts = DateTime.Now - DateTime.Parse("1970-1-1");
|
|
|
string strtime = ConvertDateTimeInt(DateTime.Now).ToString();
|
|
|
|
|
|
|
|
|
Dictionary<string, string> dict = msd.getVerificationCodebygdv(0, "http://www.yydy.com/dyxt/BasicService/CreateCheckCode.aspx?" + strtime);//<string, string> <验证码|错误码, Cookie>
|
|
|
if (String.IsNullOrEmpty(dict.Keys.First())) continue;
|
|
|
if (dict.Keys.First().Length != 4)
|
|
|
{
|
|
|
if (dict.Keys.First() == "14")
|
|
|
result.Message = "IAM鉴权失败,请检查业务参数配置(PARAMNAME:CLOUDBAIDUOCRApi、CLOUDBAIDUOCRSec)";
|
|
|
else if (dict.Keys.First() == "17")
|
|
|
result.Message = "每日请求量超出限额,请在业务参数中更新百度云ApiKey及SecretKey";
|
|
|
else
|
|
|
result.Message = "提取数据出错,错误码:" + dict.Keys.First();
|
|
|
result.Success = false;
|
|
|
return result;
|
|
|
}
|
|
|
//ts = DateTime.Now - DateTime.Parse("1970-1-1");
|
|
|
strtime = ConvertDateTimeInt(DateTime.Now).ToString();
|
|
|
|
|
|
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
|
|
|
URL = "http://www.yydy.com/dyxt/BasicService/QueryService.aspx?" + strtime + "&oper=QueryByBill¶m=" + mblno + "&CheckCode=" + dict.Keys.First(),
|
|
|
// ContentType = "application/x-www-form-urlencoded",
|
|
|
Method = "GET",
|
|
|
Host = "www.yydy.com",
|
|
|
// Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
|
|
|
// UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36",
|
|
|
Cookie = dict.Values.First(),
|
|
|
ResultType = ResultType.Byte
|
|
|
};
|
|
|
if (http.GetHtml(item).Html == "OK")
|
|
|
{
|
|
|
|
|
|
|
|
|
// item = new HttpItem()
|
|
|
// {
|
|
|
// // URL = "http://www.yydy.com/dyxt/Query/QueryMainFrame.aspx?type=B&value=" + mblno+"&code="+ dict.Keys.First(),//URL这里都是测试 必需项
|
|
|
// URL = "http://www.yydy.com/dyxt/Query/ExportByBill.aspx?s_no=" + mblno,
|
|
|
// // ContentType = "application/x-www-form-urlencoded",
|
|
|
//// Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
|
|
|
// Host = "www.yydy.com",
|
|
|
// // UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36",
|
|
|
// Method = "GET",
|
|
|
// Cookie = dict.Values.First()
|
|
|
// };
|
|
|
//datahtml = http.GetHtml(item).Html;
|
|
|
|
|
|
string whlURL = "http://www.yydy.com/dyxt/Query/ExportByBill.aspx?s_no=" + mblno;
|
|
|
WebRequest request = WebRequest.Create(whlURL);
|
|
|
request.Method = "GET";
|
|
|
request.Headers.Add("Cookie", dict.Values.First());
|
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
|
string url = response.ResponseUri.AbsoluteUri;
|
|
|
StreamReader reader = new StreamReader(response.GetResponseStream());
|
|
|
string content = reader.ReadToEnd();
|
|
|
|
|
|
datahtml = content;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
//移除多余部分
|
|
|
var datahtml1 = datahtml.Remove(0, datahtml.IndexOf("$('#myBillTable tbody').html"));//提单信息
|
|
|
datahtml1 = datahtml1.Remove(datahtml1.IndexOf("</script><script>$('#partBillTable tbody').html"));
|
|
|
datahtml1 = new Regex(@"<tr.+</tr>").Match(datahtml1).Value;
|
|
|
datahtml1 = new Regex(@"(?<=tr)[\w\s=\'\(\);]+").Replace(datahtml1, "");//去除tr 属性
|
|
|
datahtml1 = new Regex(@"(?<=td)[\s\w=\':;]+").Replace(datahtml1, "");//去掉td 属性
|
|
|
|
|
|
var datahtml2 = datahtml.Remove(0, datahtml.IndexOf("$('#partBillTable tbody').html"));//箱及分单信息
|
|
|
datahtml2 = datahtml2.Remove(datahtml2.IndexOf("</script>"));
|
|
|
datahtml2 = new Regex(@"<tr.+</tr>").Match(datahtml2).Value;
|
|
|
datahtml2 = new Regex(@"(?<=tr)[\w\s=\'\(\);]+").Replace(datahtml2, "");//去除tr 属性
|
|
|
datahtml2 = new Regex(@"(?<=td)[\s\w=\':;]+").Replace(datahtml2, "");//去掉td 属性
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
|
|
|
result.Data = "<table><thead><th>船名</th><th>航次</th><th>装船时间</th><th>提单</th></thead><tbody>" + datahtml1 + "</tbody></table><br/>" +
|
|
|
"<table><thead><th>分单号</th><th>箱号</th><th>铅封号</th><th>箱型</th><th>件</th><th>包装</th><th>重</th><th>尺</th></thead><tbody>" + datahtml2 + "</tbody></table>";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var trList1 = datahtml1.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
var VESSEL = "";
|
|
|
var VOYNO = "";
|
|
|
if (trList1.Count > 0)
|
|
|
{
|
|
|
var tdList = trList1[0].Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按td分组
|
|
|
VESSEL = tdList[0];
|
|
|
VOYNO = tdList[1];
|
|
|
}
|
|
|
var trList2 = datahtml2.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
trList2.RemoveAt(trList2.Count - 1);
|
|
|
foreach (var item in trList2)
|
|
|
{
|
|
|
var tdList = item.Replace("<td></td>", "<td>" + mblno + "</td>").Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按td分组
|
|
|
if (tdList[0].Contains("此票总计"))
|
|
|
continue;
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = mblno;
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.CNTRNO = tdList[1];
|
|
|
data.CBM = Convert.ToDecimal(tdList[7]);
|
|
|
data.CTNALL = tdList[3];
|
|
|
data.KGS = Convert.ToDecimal(tdList[6]);
|
|
|
data.PKGS = Convert.ToInt32(tdList[4]);
|
|
|
data.VESSEL = VESSEL;
|
|
|
data.VOYNO = VOYNO;
|
|
|
data.SEALNO = tdList[2];
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
//return GetDAYAWEBCTNList2(mblno, bsno, isweb);
|
|
|
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 捷丰场站
|
|
|
static public DBResult GetJIEFENGCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string url = "http://www.sdsmart.cn/DongShengWS/Service.asmx";
|
|
|
string[] args = new string[1];
|
|
|
args[0] = mblno;
|
|
|
|
|
|
object resultXml = WebServiceHelper.InvokeWebService(url, "GetBLNoInfo", args);
|
|
|
|
|
|
StringReader rdr = new StringReader(resultXml.ToString());
|
|
|
XmlSerializer serializer = new XmlSerializer(typeof(JIEFENG));
|
|
|
JIEFENG xmlDoc = (JIEFENG)serializer.Deserialize(rdr);
|
|
|
|
|
|
if (xmlDoc != null)
|
|
|
{
|
|
|
ds[] ds = xmlDoc.ds;
|
|
|
for (int i = 0; i < ds.Length; i++)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.CNTRNO = ds[i].CNTRNO;
|
|
|
data.SEALNO = ds[i].SEALNO;
|
|
|
data.CTNALL = ds[i].CNTRSIZE + ds[i].CNTRTYPE;
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].CARGOQTY != "")
|
|
|
data.PKGS = Convert.ToInt16(ds[i].CARGOQTY);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].CARGOWEIGHT != "")
|
|
|
data.KGS = Convert.ToDecimal(ds[i].CARGOWEIGHT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].CARGOVOLUME != "")
|
|
|
data.CBM = Convert.ToDecimal(ds[i].CARGOVOLUME);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
//捷丰//需求编号SR2017041100027//599439499//SITRTATK486949//KKLUTAO704646//QDAC024718//需求编号:SR2017082500005
|
|
|
static public DBResult GetJIEFENGWEBCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
//URL = "http://www.sdsmartlogistics.com/Search/YD_BLQueryGrid.aspx?blno=" + mblno,//URL这里都是测试 必需项
|
|
|
URL = "http://www.sdsmart.cn/FindClass/YD_BLQueryGrid.aspx?blno=" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.sdsmart.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../css/sheet.css", "http://www.sdsmart.cn/css/sheet.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "id=\"Grid1\"", "</table>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
#region 船名航次信息
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "id=\"Grid4\"", "</table>");
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
#region 箱货动态
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
var ctnall = "";
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "id=\"Grid3\"", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 装货信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
var istrue = false;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
if (fielddatastr == "<a>合计</a>")
|
|
|
istrue = false;
|
|
|
else
|
|
|
istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
foreach (var enumValue in bodyList2)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
if (ctnall == " ") istrue = false;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr + ctnall;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 75)
|
|
|
{
|
|
|
data.KINDPKGS = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 陆海场站//177OHPHPQ8004VFB
|
|
|
static public DBResult GetLUHAICTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string url = "http://www.lhl.cn:8190/WebServiceTest/services/myService";
|
|
|
string[] args = new string[1];
|
|
|
args[0] = mblno;
|
|
|
|
|
|
object resultXml = WebServiceHelper.InvokeWebService(url, "CntrMess", args);
|
|
|
|
|
|
StringReader rdr = new StringReader(resultXml.ToString());
|
|
|
XmlSerializer serializer = new XmlSerializer(typeof(DAYA));
|
|
|
DAYA xmlDoc = (DAYA)serializer.Deserialize(rdr);
|
|
|
|
|
|
if (xmlDoc != null)
|
|
|
{
|
|
|
dayatable[] ds = xmlDoc.ds;
|
|
|
for (int i = 0; i < ds.Length; i++)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.CNTRNO = ds[i].CTNNO;
|
|
|
data.SEALNO = ds[i].SEALNO;
|
|
|
data.CTNALL = ds[i].CTNSZ + ds[i].CTNTP;
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].PKGS != "")
|
|
|
data.PKGS = Convert.ToInt16(ds[i].PKGS);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ALKWGT != "")
|
|
|
data.KGS = Convert.ToDecimal(ds[i].ALKWGT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ALCUBAGE != "")
|
|
|
data.CBM = Convert.ToDecimal(ds[i].ALCUBAGE);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].ECTNWT != "")
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(ds[i].ECTNWT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
static public DBResult GetLUHAIWEBCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
//HttpItem item = new HttpItem()
|
|
|
//{
|
|
|
// URL = "http://221.215.96.158:8086/root/jsp/",//URL这里都是测试 必需项
|
|
|
// Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "221.215.96.158:8086",
|
|
|
// UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
// Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
// ContentType = "text/html",
|
|
|
|
|
|
// Method = "get",//URL 可选项 默认为Get
|
|
|
//};
|
|
|
//HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = "";
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://221.215.96.158:8086/root/jsp/mainframe.jsp",//URL这里都是测试 必需项
|
|
|
Referer = "http://221.215.96.158:8086/root/jsp/",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "221.215.96.158:8086",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "strlogname=guest&strpwd=guest&submit1=+%B5%C7%C2%BC+",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://221.215.96.158:8086/root/jsp/search/search0402.jsp",//URL这里都是测试 必需项
|
|
|
Referer = "http://221.215.96.158:8086/root/jsp/search/search0402.jsp",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "221.215.96.158:8086",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "BillNo=" + mblno + "&submit1=+%B2%E9%D5%D2+",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../css/sheet.css", "http://221.215.96.158:8086/css/sheet.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船名航次
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "table1", "</table>");
|
|
|
datahtml3 = datahtml3.Remove(datahtml3.IndexOf("</tr>"), 5);
|
|
|
datahtml3 = datahtml3.Remove(0, datahtml3.IndexOf(">") + 1);
|
|
|
datahtml3 = datahtml3.Remove(0, datahtml3.IndexOf(">") + 1);
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("<A id=TCount>","");
|
|
|
if (fielddatastr.IndexOf("<") > -1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("<"), fielddatastr.Length - fielddatastr.IndexOf("<"));
|
|
|
}
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 集装箱信息
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "table5", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
var ctnall = "";
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("<"), fielddatastr.Length - fielddatastr.IndexOf("<"));
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 10)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 中创场站/中创保税仓库/中创保税物流园//NYKS2410075330
|
|
|
static public DBResult GetZHONGCHUANGCTNList ( string mblno, string bsno, string password, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string url = "http://www.cmlog.com.cn:8003/cmlwebservice/CaragtQuery_Cxwl.asmx";
|
|
|
string[] args = new string[2];
|
|
|
args[0] = mblno;
|
|
|
args[1] = password;
|
|
|
|
|
|
object resultXml = WebServiceHelper.InvokeWebService(url, "GetInfo", args);
|
|
|
|
|
|
StringReader rdr = new StringReader(resultXml.ToString());
|
|
|
XmlSerializer serializer = new XmlSerializer(typeof(ZHONGCHUANG));
|
|
|
ZHONGCHUANG xmlDoc = (ZHONGCHUANG)serializer.Deserialize(rdr);
|
|
|
|
|
|
if (xmlDoc != null)
|
|
|
{
|
|
|
zhongchuangtable[] ds = xmlDoc.ds;
|
|
|
for (int i = 0; i < ds.Length; i++)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.CNTRNO = ds[i].CNTRNO;
|
|
|
data.SEALNO = ds[i].SEALNO.ToString().Trim();
|
|
|
data.CTNALL = ds[i].CTNSIZE + ds[i].CTNTYPE;
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].PKGS != "")
|
|
|
data.PKGS = Convert.ToInt16(ds[i].PKGS);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].KGS != "")
|
|
|
data.KGS = Convert.ToDecimal(ds[i].KGS);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].CBM != "")
|
|
|
data.CBM = Convert.ToDecimal(ds[i].CBM);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].TAREWEIGHT != "")
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(ds[i].TAREWEIGHT);
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
//中创//JJHB17QTY0001
|
|
|
static public DBResult GetZHONGCHUANGWEBCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
//2017-02-06
|
|
|
//地址:http://www.cmlog.com:8003/cmlwebservice/CaragtQuery_LH.asmx
|
|
|
//GetInfo为远达
|
|
|
//GetInfoGlx为港联欣
|
|
|
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 连接地址URL
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
//URL = "http:///www.cmlog.com.cn/WebApp/LoginNew.aspx",//URL这里都是测试 必需项
|
|
|
URL = "http://www.cmlog.com.cn/zcxt/query/ExportUsual.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.cmlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "GET",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
//viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
//viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2F" + viewstatehtml + "&_ctl0%3AContentPlaceHolder1%3ATextBox1=" + mblno + "&_ctl0%3AContentPlaceHolder1%3AbtnQuery=%E6%9F%A5+%E8%AF%A2&_ctl0%3AContentPlaceHolder1%3AhidAtddt=2015%2F4%2F19+7%3A40%3A00&_ctl0%3AContentPlaceHolder1%3AhidCMAFX=&_ctl0%3AContentPlaceHolder1%3AhidLocklb=0&_ctl0%3AContentPlaceHolder1%3AhidCorplb=";
|
|
|
//viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
//viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
//viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, " value =", "/>").Trim();
|
|
|
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=" + viewstatehtml + "&__VIEWSTATEENCRYPTED=" + "&_ctl0%3AContentPlaceHolder1%3ATextBox1=" + mblno + "&_ctl0%3AContentPlaceHolder1%3AbtnQuery=%E6%9F%A5+%E8%AF%A2&_ctl0%3AContentPlaceHolder1%3AhidAtddt=2019%2f5%2f5+7%3a00%3a00&_ctl0%3AContentPlaceHolder1%3AhidCMAFX=&_ctl0%3AContentPlaceHolder1%3AhidLocklb=&_ctl0%3AContentPlaceHolder1%3AhidCorplb=";
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.cmlog.com.cn/zcxt/query/ExportUsual.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.cmlog.com.cn/zcxt/query/ExportUsual.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.cmlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
|
|
|
Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Cookie = mycookie,
|
|
|
|
|
|
#region Postdata
|
|
|
//Postdata = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTM1NzMyNzMwMQ9kFgJmD2QWAgIDD2QWAgIJD2QWBAIDDw9kFgIeB29uY2xpY2sFDlNob3dXYWl0aW5nKCk7ZAIHDxYCHgdWaXNpYmxlZxYaAgEPZBYCZg9kFgICAQ88KwARAwAPFgQeC18hRGF0YUJvdW5kZx4LXyFJdGVtQ291bnQCAWQBEBYAFgAWAAwUKwAAFgJmD2QWBAIBD2QWGmYPZBYCZg8VAQExZAICDw8WAh4EVGV4dAUESEpTT2RkAgMPDxYCHwQFDOmfqei%2Fm%2BengOmVkGRkAgQPDxYCHwQFDEhBTkpJTiBTT09IT2RkAgUPDxYCHwQFBTAwMTVXZGQCBg8PFgIfBAUQMjAxNS0wNC0xOSAwNzo0MGRkAgcPDxYCHwQFEDIwMTUtMDQtMTYgMDY6MjBkZAIIDw8WAh8EBRAyMDE1LTA0LTE3IDE1OjIwZGQCCg8PFgIfBAUEUUNUM2RkAgsPDxYCHwQFBiZuYnNwO2RkAgwPDxYCHwQFBiZuYnNwO2RkAg0PDxYCHwRlZGQCDg8PFgIfBGVkZAICDw8WAh8BaGRkAgMPZBYCZg9kFgICAQ88KwARAwAPFgQfAmcfAwIBZAEQFgAWABYADBQrAAAWAmYPZBYEAgEPZBYYZg9kFgJmDxUBATFkAgEPDxYCHwQFC0NOUUlOMTQyMTA4ZGQCAg9kFgICAQ8PFgIeD0NvbW1hbmRBcmd1bWVudAUKMTUwNDAxMTY5MGRkAgMPDxYCHwQFC0NOUUlOMTQyMTA4ZGQCBA8PFgIfBAUFRVNBTEdkZAIFDw8WAh8EBQVOR0FQUGRkAggPDxYCHwQFBiZuYnNwO2RkAgkPDxYCHwQFBiZuYnNwO2RkAgoPDxYCHwQFBiZuYnNwO2RkAgsPDxYCHwQFATBkZAIMDw8WAh8EBQQzNzIwZGQCDQ8PFgIfBAUBMGRkAgIPDxYCHwFoZGQCBQ9kFgJmD2QWAgIBDzwrABEDAA8WBB8CZx8DZmQBEBYAFgAWAAwUKwAAZAIGD2QWAmYPZBYCAgEPDxYCHwFnZGQCBw9kFgJmD2QWAgIBDzwrABEDAA8WBB8CZx8DZmQBEBYAFgAWAAwUKwAAZAIID2QWAmYPZBYCAgEPDxYCHwFnZGQCCQ9kFgJmD2QWAgIBDzwrABEDAA8WBB8CZx8DAgFkARAWABYAFgAMFCsAABYCZg9kFgQCAQ9kFhhmD2QWAmYPFQEBMWQCAQ8PFgIfBAUDVUFTZGQCAg8PFgIfBAUEMjBHUGRkAgMPDxYCHwQFATFkZAIEDw8WAh8EBQFOZGQCBQ8PFgIfBAUBWWRkAgYPDxYCHwQFBiZuYnNwO2RkAgcPDxYCHwQFBiZuYnNwO2RkAggPDxYCHwQFBiZuYnNwO2RkAgkPDxYCHwQFBuWklueCuWRkAgsPDxYCHwQFDOayoeacieimgeaxgmRkAgwPDxYCHwQFBiZuYnNwO2RkAgIPDxYCHwFoZGQCCg9kFgJmD2QWAgIBDw8WAh8BZ2RkAgsPZBYCZg9kFgICAQ88KwARAwAPFgQfAmcfA2ZkARAWABYAFgAMFCsAAGQCDA9kFgJmD2QWAgIBDw8WAh8BZ2RkAg0PZBYCZg9kFgICAQ88KwARAwAPFgQfAmcfAwIBZAEQFgAWABYADBQrAAAWAmYPZBYEAgEPDxYEHglGb3JlQ29sb3IKJR4EXyFTQgIEZBYiZg9kFgJmDxUBATFkAgEPDxYCHwQFC1VBQ1UzODQwMTk5ZGQCAg8PFgIfBAUDVUFTZGQCAw8PFgIfBAUEMjBHUGRkAgQPDxYCHwQFBDIyOTBkZAIFDw8WAh8EBQYwMDY4OTlkZAIGDw8WAh8EBRAyMDE1LTA0LTE1IDA5OjI4ZGQCBw8PFgIfBAUHTEJXNTcxNmRkAggPDxYCHwQFCzE1NjE1MDE5NDY2ZGQCCQ8PFgIfBAUBWWRkAgoPDxYCHwQFEDIwMTUtMDQtMTcgMTE6NDBkZAILDw8WAh8EBQnmnKrliJLmi6hkZAIMDw8WAh8EBQblt7Lmj5BkZAINDw8WAh8EBQYmbmJzcDtkZAIODw8WAh8EBQYmbmJzcDtkZAIQDw8WAh8EBQblt7Lmj5BkZAISDw8WAh8EBQzmuK%2Fnq5nmlrDljLpkZAICDw8WAh8BaGRkAg8PZBYCZg9kFgICAQ8PFgIfAWdkZAIQD2QWAmYPZBYCAgEPPCsAEQMADxYEHwJnHwMCAWQBEBYAFgAWAAwUKwAAFgJmD2QWBAIBD2QWGmYPZBYCZg8VAQExZAIDDw8WAh8EBQtVQUNVMzg0MDE5OWRkAgQPDxYCHwQFC0NOUUlOMTQyMTA4ZGQCBQ8PFgIfBAUGMDA2ODk5ZGQCBg8PFgIfBAUSMjAxNS80LzE3IDExOjQwOjI3ZGQCBw8PFgIfBAUEMjI5MGRkAggPDxYCHwQFBDQ2OTBkZAIJDw8WAh8EBQYmbmJzcDtkZAIKDw8WAh8EBQYmbmJzcDtkZAILDw8WAh8EBQIxNWRkAgwPDxYCHwQFBDI0MDBkZAINDw8WAh8EBQIyNWRkAg8PZBYCZg8PFgIeC05hdmlnYXRlVXJsBUFodHRwOi8vd3d3LnFpbmdkYW9wb3J0Lm5ldC95d3p4L3FxY3QvZHBjeC95ZGJnLmpzcD94aD1VQUNVMzg0MDE5OWRkAgIPZBYIAgkPDxYCHwQFCeWQiOiuoe%2B8mmRkAgsPDxYCHwQFAjE1ZGQCDA8PFgIfBAUEMjQwMGRkAg0PDxYCHwQFAjI1ZGQYCAUlX2N0bDA6Q29udGVudFBsYWNlSG9sZGVyMTpndlNoaVpodWFuZw88KwAMAwYVAQZjdG5yZWYHFCsAARQrAAEFCjE1MDMxNDUyMjQIAgFkBSJfY3RsMDpDb250ZW50UGxhY2VIb2xkZXIxOmd2VmVzdm95DzwrAAwDBhUBBVpDWVdZBxQrAAEUKwABZAgCAWQFJF9jdGwwOkNvbnRlbnRQbGFjZUhvbGRlcjE6Z3ZFeHByZXN0dQ88KwAMAwYVBQhjdG5hcHBsYgV0eGVkdAVlaXJubwdlbWZ1ZWR0BWN0bm5vBxQrAAEUKwAFBQFZZGUGoPWPmXVF0ggFC1VBQ1UzODQwMTk5CAIBZAUiX2N0bDA6Q29udGVudFBsYWNlSG9sZGVyMTpndkN1c3RvbQ88KwAMAQhmZAUgX2N0bDA6Q29udGVudFBsYWNlSG9sZGVyMTpndkJpbGwPPCsADAMGFQMGYmlsbG5vB21iaWxsbm8IZXhiaWxyZWYHFCsAARQrAAMFC0NOUUlOMTQyMTA4BQtDTlFJTjE0MjEwOAUKMTUwNDAxMTY5MAgCAWQFIl9jdGwwOkNvbnRlbnRQbGFjZUhvbGRlcjE6Z3JkVHJrdGIPPCsADAEIZmQFIV9jdGwwOkNvbnRlbnRQbGFjZUhvbGRlcjE6Z3ZFb3lwbA88KwAMAQgCAWQFI19jdGwwOkNvbnRlbnRQbGFjZUhvbGRlcjE6Z3ZEaW5naGFvDzwrAAwBCGZkykdttiaXXIjoowe1gga1tue1cwRrgRQ6a1t3iIN8X7g%3D&_ctl0%3AContentPlaceHolder1%3ATextBox1=" + mblno + "&_ctl0%3AContentPlaceHolder1%3AbtnQuery=%E6%9F%A5+%E8%AF%A2&_ctl0%3AContentPlaceHolder1%3AhidAtddt=2015%2F4%2F19+7%3A40%3A00&_ctl0%3AContentPlaceHolder1%3AhidCMAFX=&_ctl0%3AContentPlaceHolder1%3AhidLocklb=0&_ctl0%3AContentPlaceHolder1%3AhidCorplb=",
|
|
|
#endregion
|
|
|
|
|
|
//2016-12-14 重新从网站获取Postdata配置信息
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../Css/admincenter.css", "http://www.cmlog.com.cn/zcxt/Css/admincenter.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船名航次信息
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvVesvoy", "</table>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 用箱信息
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvExprestu", "</table>");
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr;
|
|
|
data.SIZE = fielddatastr.Trim().Substring(0,2);
|
|
|
data.CTN = fielddatastr.Trim().Substring(2);
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.ToString().Trim();
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实装箱信息
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvShiZhuang", "</table>");
|
|
|
if (datahtml.ToString().Trim() != "")
|
|
|
{
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr.Trim();
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
foreach (var enumValue in bodyList2)
|
|
|
{
|
|
|
if (enumValue.CNTRNO.ToString().Trim() == fielddatastr.Trim())
|
|
|
{
|
|
|
data.SEALNO = enumValue.SEALNO.ToString().Trim();
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.SIZE = enumValue.SIZE;
|
|
|
data.CTN = enumValue.CTN;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
}
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.ToString().Trim();
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
//data.KINDPKGS = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 10)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bodyList = bodyList2;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bodyList = bodyList2;
|
|
|
}
|
|
|
#endregion
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 中创_港联欣场站//6TAOSD0245
|
|
|
static public DBResult GetGangLianXinWEBCTNList(string mblno, string bsno, bool isweb = false)
|
|
|
{
|
|
|
//2017-02-06
|
|
|
//地址:http://www.cmlog.com:8003/cmlwebservice/CaragtQuery_LH.asmx
|
|
|
//GetInfo为远达
|
|
|
//GetInfoGlx为港联欣
|
|
|
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 连接地址URL
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.cmlog.com.cn/zcxt/glx/ExportUsual.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.cmlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "GET",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "value=", "/>").Trim();
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=" + viewstatehtml + "&__VIEWSTATEENCRYPTED=" + "&_ctl0%3AContentPlaceHolder1%3ATextBox1=" + mblno + "&_ctl0%3AContentPlaceHolder1%3AbtnQuery=%E6%9F%A5+%E8%AF%A2&_ctl0%3AContentPlaceHolder1%3AhidAtddt=2019%2f5%2f5+7%3a00%3a00&_ctl0%3AContentPlaceHolder1%3AhidCMAFX=&_ctl0%3AContentPlaceHolder1%3AhidLocklb=&_ctl0%3AContentPlaceHolder1%3AhidCorplb=";
|
|
|
|
|
|
// viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
// viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2F" + viewstatehtml + "&_ctl0%3AContentPlaceHolder1%3ATextBox1=" + mblno + "&_ctl0%3AContentPlaceHolder1%3AbtnQuery=%E6%9F%A5+%E8%AF%A2&_ctl0%3AContentPlaceHolder1%3AhidAtddt=2015%2F4%2F19+7%3A40%3A00&_ctl0%3AContentPlaceHolder1%3AhidCMAFX=&_ctl0%3AContentPlaceHolder1%3AhidLocklb=0&_ctl0%3AContentPlaceHolder1%3AhidCorplb=";
|
|
|
// viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
// viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.cmlog.com.cn/zcxt/glx/ExportUsual.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.cmlog.com.cn/zcxt/glx/ExportUsual.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.cmlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
|
|
|
Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Cookie = mycookie,
|
|
|
|
|
|
//2016-12-14 重新从网站获取Postdata配置信息
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../Css/admincenter.css", "http://www.cmlog.com.cn/zcxt/Css/admincenter.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船名航次信息
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvVesvoy", "</table>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 用箱信息
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvExprestu", "</table>");
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr;
|
|
|
data.SIZE = fielddatastr.Trim().Substring(0, 2);
|
|
|
data.CTN = fielddatastr.Trim().Substring(2);
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.ToString().Trim();
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实装箱信息
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "_ctl0_ContentPlaceHolder1_gvShiZhuang", "</table>");
|
|
|
if (datahtml.ToString().Trim() != "")
|
|
|
{
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr.Trim();
|
|
|
if (fielddatastr == " ") istrue = false; else istrue = true;
|
|
|
foreach (var enumValue in bodyList2)
|
|
|
{
|
|
|
if (enumValue.CNTRNO.ToString().Trim() == fielddatastr.Trim())
|
|
|
{
|
|
|
data.SEALNO = enumValue.SEALNO;
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.SIZE = enumValue.SIZE;
|
|
|
data.CTN = enumValue.CTN;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
}
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.ToString().Trim();
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
//data.KINDPKGS = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 10)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bodyList = bodyList2;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bodyList = bodyList2;
|
|
|
}
|
|
|
#endregion
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 珉钧场站//6TAOKU6860//无船名航次,暂不提取
|
|
|
static public DBResult GetMJCZCTNList ( string mblno, string bsno, bool isweb = false)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
MsOpSeaeQDPortDataDAL msd=new MsOpSeaeQDPortDataDAL("");
|
|
|
try
|
|
|
{
|
|
|
HttpResult resulthtml=new HttpResult();
|
|
|
for (int i = 0; i < 7; i++)
|
|
|
{
|
|
|
Dictionary<string, string> dict = msd.getVerificationCodebygdv(0,"http://www.gfqd.com.cn/vcode.asp");//<string, string> <验证码|错误码, Cookie>
|
|
|
if (String.IsNullOrEmpty(dict.Keys.First())) continue;
|
|
|
if (dict.Keys.First().Length != 4)
|
|
|
{
|
|
|
if(dict.Keys.First()=="14")
|
|
|
result.Message = "IAM鉴权失败,请检查业务参数配置(PARAMNAME:CLOUDBAIDUOCRApi、CLOUDBAIDUOCRSec)";
|
|
|
else if(dict.Keys.First() == "17")
|
|
|
result.Message = "每日请求量超出限额,请在业务参数中更新百度云ApiKey及SecretKey";
|
|
|
else
|
|
|
result.Message = "提取数据出错,错误码:" + dict.Keys.First();
|
|
|
result.Success = false;
|
|
|
return result;
|
|
|
}
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.gfqd.com.cn/bnq.asp",//URL这里都是测试 必需项
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "bill_no=" + mblno + "&yzm=" + dict.Keys.First(),
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36",
|
|
|
Method = "post",
|
|
|
Cookie = dict.Values.First()
|
|
|
};
|
|
|
if (!http.GetHtml(item).Html.Contains("您输入的确认码和系统产生的不一致,请重新输入!"))
|
|
|
{
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if (String.IsNullOrEmpty(resulthtml.Html))
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据超时,请重试!";
|
|
|
return result;
|
|
|
}
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("css/main.css", "http://www.gfqd.com.cn/css/main.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Regex reg = new Regex(@"<table.*(?=>)(.|\n)*?</table>");
|
|
|
var datahtml = reg.Match(resulthtml.Html).Value;//匹配所有table标签(包含p标签、h2标签)
|
|
|
datahtml = new Regex(@"<p> </p>").Replace(datahtml, "");//去掉 p标签
|
|
|
datahtml = new Regex(@"<h2 class=\'bold\'>\s*([^u4e00-u9fa5]){5,6}</h2>").Replace(datahtml, "");//去掉 h2标签及其内容
|
|
|
string[] tableArr = datahtml.Split(new string[] { "<table>","</table>" }, StringSplitOptions.RemoveEmptyEntries);//按table分组
|
|
|
if (tableArr.Length > 2)
|
|
|
{
|
|
|
datahtml = tableArr[2] + "</table>"; //取第三个table
|
|
|
datahtml = new Regex(@"(?<=<table)\s*[\w=%\'\s#]*").Replace(datahtml, "");//去掉 table标签内所有属性
|
|
|
datahtml = new Regex(@" +|[\r\n]*").Replace(datahtml, "");//去掉 nbsp;、换行和回车符
|
|
|
datahtml = new Regex(@"<font color=\'#\w+\'>\s*|\s*</font>").Replace(datahtml, "");//去掉 font标签及空白字符
|
|
|
datahtml = new Regex(@"(?<=<tr)\s*\w+=\d+").Replace(datahtml, "");//去掉 tr标签内的属性
|
|
|
datahtml = new Regex(@"(?<=<td)\s*\w+=\'#\w+\'").Replace(datahtml, "");//去掉 td标签内的属性
|
|
|
datahtml = new Regex(@"(?<=<td>)\s*").Replace(datahtml, "");//去掉 td标签innerHTML中的空白
|
|
|
datahtml = new Regex(@"<table>|</table>").Replace(datahtml, "");
|
|
|
var trList = datahtml.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
trList.RemoveAt(0);//删除表头
|
|
|
//遍历tr列表 foreach...
|
|
|
foreach (var item in trList)
|
|
|
{
|
|
|
var tdList = item.Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按td分组
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
|
|
|
data.CNTRNO = tdList[1];//箱号;
|
|
|
data.CTNALL = tdList[3] + tdList[4];//箱型
|
|
|
data.TAREWEIGHT = String.IsNullOrEmpty(tdList[9]) ? 0M : Convert.ToDecimal(tdList[9]);//皮重
|
|
|
data.PKGS = String.IsNullOrEmpty(tdList[6]) ? 0 : Convert.ToInt32(tdList[6]);//件数
|
|
|
data.KGS = String.IsNullOrEmpty(tdList[7]) ? 0M : Convert.ToDecimal(tdList[7]);//重量
|
|
|
data.CBM = String.IsNullOrEmpty(tdList[8]) ? 0M : Convert.ToDecimal(tdList[8]);//尺码(寸)
|
|
|
data.SEALNO = tdList[2];//铅封号
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
//泛型集合处理
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch(Exception se)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = se.Message;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 明港场站/海铁中心//140600161817//MOLU11029771705
|
|
|
static public DBResult GetMGCZCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
// var datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/qqct/dpcx/cargoDyaMgcz.jsp", "tdh=" + mblno);
|
|
|
// if (isweb == true)
|
|
|
// {
|
|
|
// datahtml = datahtml.Replace("/common/css/style2009.css", "http://www.qingdaoport.net/common/css/style2009.css");
|
|
|
// datahtml = datahtml.Replace("/common/css/table.css", "http://www.qingdaoport.net/common/css/table.css");
|
|
|
// datahtml = datahtml.Replace("/common/js/common.js", "http://www.qingdaoport.net/common/js/common.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/validation.js", "http://www.qingdaoport.net/common/js/validation.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/date.js", "http://www.qingdaoport.net/common/js/date.js");
|
|
|
// //var i = datahtml.IndexOf("<table");
|
|
|
// //var j = datahtml.IndexOf("</TBODY>\r\n</TABLE>");
|
|
|
// //datahtml = datahtml.Remove(i, j + 20 - i);
|
|
|
// //i = datahtml.IndexOf("<form");
|
|
|
// //j = datahtml.IndexOf("</form>");
|
|
|
// //datahtml = datahtml.Remove(i, j + 7 - i);
|
|
|
// result.Data = datahtml;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// var datahtml3 = GetDataHtmlList(datahtml, "出口-海关报关单放行", "</table>");
|
|
|
// if (datahtml3 != "" && datahtml3.ToString().IndexOf("暂无") < 0)
|
|
|
// {
|
|
|
// #region 出口-海关报关单放行_船名航次
|
|
|
// var i = 1;
|
|
|
// while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml3.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
// datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1 && i != 2)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td>") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 5)
|
|
|
// {
|
|
|
// data.VESSEL = fielddatastr;
|
|
|
// }
|
|
|
// else if (fieldno == 6)
|
|
|
// {
|
|
|
// data.VOYNO = fielddatastr;
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList3.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
|
|
|
// var datahtml2 = GetDataHtmlList(datahtml, "实际装货信息</b></td>", "</table>");
|
|
|
// if (datahtml2 != "")
|
|
|
// {
|
|
|
// #region 实际装货信息
|
|
|
// var i = 1;
|
|
|
// while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var ctnall = "";
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1 && i != 2)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td>") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 3)
|
|
|
// {
|
|
|
// data.CNTRNO = fielddatastr;
|
|
|
// foreach (var enumValue in bodyList3)
|
|
|
// {
|
|
|
// data.VESSEL = enumValue.VESSEL;
|
|
|
// data.VOYNO = enumValue.VOYNO;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 4)
|
|
|
// {
|
|
|
// ctnall = fielddatastr;
|
|
|
// }
|
|
|
// if (fieldno == 5)
|
|
|
// {
|
|
|
// data.CTNALL = fielddatastr + ctnall;
|
|
|
// }
|
|
|
// if (fieldno == 6)
|
|
|
// {
|
|
|
// data.SEALNO = fielddatastr;
|
|
|
// }
|
|
|
// if (fieldno == 7)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.PKGS = 0;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 8)
|
|
|
// {
|
|
|
// data.KINDPKGS = fielddatastr;
|
|
|
// }
|
|
|
// if (fieldno == 9)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.KGS = 0;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 10)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
|
|
|
// }
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
// bodyList = SumBodyList(bodyList);
|
|
|
// if (bodyList.Count > 0)
|
|
|
// {
|
|
|
// result.Data = bodyList.ToList();
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// datahtml2 = GetDataHtmlList(datahtml, "码头信息", "合计");
|
|
|
// if (datahtml2 != "" && datahtml2.ToString().IndexOf("暂无") < 0)
|
|
|
// {
|
|
|
// #region 码头信息
|
|
|
// var i = 1;
|
|
|
// var ctnall = "";
|
|
|
// while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1 && i != 2)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td>") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 5)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("</a>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// }
|
|
|
// data.CNTRNO = fielddatastr;
|
|
|
// foreach (var enumValue in bodyList3)
|
|
|
// {
|
|
|
// data.VESSEL = enumValue.VESSEL;
|
|
|
// data.VOYNO = enumValue.VOYNO;
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 6)
|
|
|
// {
|
|
|
// ctnall = fielddatastr;//尺码
|
|
|
// }
|
|
|
// else if (fieldno == 7)
|
|
|
// {
|
|
|
// data.CTNALL = ctnall + fielddatastr;//表现形式
|
|
|
// }
|
|
|
// else if (fieldno == 9)
|
|
|
// {
|
|
|
// data.SEALNO = fielddatastr;//铅封号
|
|
|
// }
|
|
|
// else if (fieldno == 10)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.TAREWEIGHT = Convert.ToDecimal(fielddatastr); //箱皮重
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.TAREWEIGHT = 0; //箱皮重
|
|
|
// }
|
|
|
// }
|
|
|
// data.KGS = 0; //毛重
|
|
|
// data.PKGS = 0; //件数
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
|
|
|
// datahtml2 = GetDataHtmlList(datahtml, "出口-海关报关单放行", "</table>");
|
|
|
// if (datahtml2 != "" && datahtml2.ToString().IndexOf("暂无") < 0)
|
|
|
// {
|
|
|
// #region 出口-海关报关单放行
|
|
|
// var i = 1;
|
|
|
// while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1 && i != 2)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td>") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 8)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("</a>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// }
|
|
|
// data.CNTRNO = fielddatastr;
|
|
|
// }
|
|
|
// else if (fieldno == 5)
|
|
|
// {
|
|
|
// data.VESSEL = fielddatastr;
|
|
|
// }
|
|
|
// else if (fieldno == 6)
|
|
|
// {
|
|
|
// data.VOYNO = fielddatastr;
|
|
|
// }
|
|
|
// else if (fieldno == 4)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.PKGS = Convert.ToInt32(fielddatastr); //件数
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.PKGS = 0; //件数
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 10)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.KGS = Convert.ToDecimal(fielddatastr); //毛重
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.KGS = 0; //毛重
|
|
|
// }
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
// }
|
|
|
// if (bodyList.Count == 0)
|
|
|
// {
|
|
|
// bodyList = bodyList3;
|
|
|
// }
|
|
|
// bodyList = SumBodyList(bodyList);
|
|
|
// result.Data = bodyList.ToList();
|
|
|
// }
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
//}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
public class dgcz
|
|
|
{
|
|
|
public string RN { get; set; }
|
|
|
public string TDH { get; set; }
|
|
|
public string XH { get; set; }
|
|
|
public string CC { get; set; }
|
|
|
public string XX { get; set; }
|
|
|
public string QFH1 { get; set; }
|
|
|
public string JS { get; set; }
|
|
|
public string HZ { get; set; }
|
|
|
public string TJ { get; set; }
|
|
|
}
|
|
|
#region 明港东港场站/东港场站//OOLU2579806180//船名航次为中文,提取时需要从船名航次表中提取英文数据,没有则显示中文船名
|
|
|
static public DBResult GetMGDGCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://qoct.qingdao-port.com/cjtdcx/index.jhtml",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "qoct.qingdao-port.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://qoct.qingdao-port.com/data.jspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://qoct.qingdao-port.com/cjtdcx/index.jhtml",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "qoct.qingdao-port.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "pageNo=1&tdh=" + mblno + "&flag=sjzh&pageSize=10",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
var data1 = new System.Web.Script.Serialization.JavaScriptSerializer()
|
|
|
.Deserialize<List<dgcz>>(resulthtml.Html);
|
|
|
var str = "<table>";
|
|
|
foreach(var item1 in data1)
|
|
|
{
|
|
|
//循环显示的代号、名称、父级代号
|
|
|
str += "<tr><td>" + item1.RN
|
|
|
+ "</td><td>" + item1.TDH
|
|
|
+ "</td><td>" + item1.XH
|
|
|
+ "</td><td>" + item1.CC
|
|
|
+ "</td><td>" + item1.XX
|
|
|
+ "</td><td>" + item1.QFH1
|
|
|
+ "</td><td>" + item1.JS
|
|
|
+ "</td><td>" + item1.HZ
|
|
|
+ "</td><td>" + item1.TJ
|
|
|
+ "</td></tr>";
|
|
|
}
|
|
|
str += "</table>";
|
|
|
resulthtml.Html = str;
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("/gxcz/common/css/Style.css", "http://www.qingdaoportec.net/gxcz/common/css/Style.css");
|
|
|
datahtml = datahtml.Replace("/gxcz/common/css/Styletit.css", "http://www.qingdaoportec.net/gxcz/common/css/Styletit.css");
|
|
|
datahtml = datahtml.Replace("common/css/css.css", "http://www.qingdaoportec.net/nqoct/common/css/css.css");
|
|
|
|
|
|
//var i = datahtml.IndexOf("<table");
|
|
|
//var j = datahtml.IndexOf("</TBODY>\r\n</TABLE>");
|
|
|
//datahtml = datahtml.Remove(i, j + 20 - i);
|
|
|
//i = datahtml.IndexOf("<form");
|
|
|
//j = datahtml.IndexOf("</form>");
|
|
|
//datahtml = datahtml.Remove(i, j + 7 - i);
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//OOLU2581018180
|
|
|
#region 订舱信息
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "订舱信息", "</table>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (fieldno <= 2)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.VESSEL = fielddatastr;
|
|
|
string sVESSEL = T_ALL_DA.GetStrSQL("VESSEL", "select top 1 isnull(VESSEL,'') as VESSEL from code_vessel where CNAME='" + data.VESSEL.ToString().Trim() + "'");
|
|
|
data.VESSEL = (sVESSEL == "" ? data.VESSEL.ToString().Trim() : sVESSEL);
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 集货动态
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "集货动态", "</table>");
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实际装货信息
|
|
|
foreach (var item1 in data1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.CNTRNO = item1.XH;//箱号
|
|
|
data.CBM = Convert.ToDecimal(item1.TJ);//
|
|
|
data.CTNALL = item1.CC + item1.XX;//尺寸+箱型(箱型)
|
|
|
data.KGS = Convert.ToDecimal(item1.HZ); //毛重
|
|
|
data.PKGS = Convert.ToInt32(item1.JS); //件数
|
|
|
data.VESSEL = "";
|
|
|
data.VOYNO = "";
|
|
|
data.SEALNO = item1.QFH1;
|
|
|
data.TAREWEIGHT = 0; //箱皮重
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
bodyList2 = SumBodyList(bodyList2);
|
|
|
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
if (bodyList2.Count == 0)
|
|
|
{
|
|
|
bodyList2 = bodyList3;
|
|
|
}
|
|
|
result.Data = bodyList2.ToList();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 韩进储运场站//TAQA62234400
|
|
|
static public DBResult GetHANJINCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://222.173.95.226:8889/cntaoyd/renew/CheckBlNo.jsp",//URL这里都是测试 必需项
|
|
|
Referer = "http://222.173.95.226:8889/cntaoyd/renew/FindBl.html",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "222.173.95.226:8889",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=%2FwEPDwULLTE1ODM4ODE4NTdkZFB2%2BQ0gtbtA1JEPM1RqoXiiVVcC&frm_bl_no=" + mblno + "&__EVENTVALIDATION=%2FwEWAwK%2FxuHvDwLVtaiXDAKln%2FPuCkuicsJ%2FSIejrE6MoE7ttsUASyw6",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("/cntaoyd/css/tao.css", "http://222.173.95.226:8889/cntaoyd/css/tao.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "英文船名:", "</table>");
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "id=\"table1\"", "</table>");
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "集装箱信息:", "</table>");
|
|
|
|
|
|
#region 船名航次
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (fieldno < 3)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("</span>", "");
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("\">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("\">") + 2);
|
|
|
fielddatastr = fielddatastr.Replace("</span>", "");
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region table1信息
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 集装箱信息
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var istrue = false;
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "" || fielddatastr == "<b>合计</b>") istrue = false; else istrue = true;
|
|
|
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList2)
|
|
|
{
|
|
|
if (enumValue.CNTRNO == fielddatastr)
|
|
|
{
|
|
|
data.SEALNO = enumValue.SEALNO;
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
}
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
if (fielddatastr != "")
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Replace(",", "");
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛QQCTU场站//无法确定页面
|
|
|
//http:///cx.qqctu.cc/system/backend_page!main.action#publicquery/public_query!list?flg=dp//APLU660104669多个提单号都无数据,不能确定新页面是否有用
|
|
|
static public DBResult GetQQCTUCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qqctu.cc/findTdh.action",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qqctu.cc",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qqctu.cc/findTdh.action",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.qqctu.cc/findTdh.action",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "www.qqctu.cc",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "billNo=" + mblno + "&btnQueryBill=+%B2%E9%D1%AF+",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../cssjs/", "http://www.qqctu.cc/cssjs/css.css");
|
|
|
datahtml = datahtml.Replace("../iframe/", "http://www.qqctu.cc/iframe/");
|
|
|
datahtml = datahtml.Replace("../common/css/", "http://www.qqctu.cc/common/css/");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "实际装货信息", "</table>");
|
|
|
var datahtml2 = GetDataHtmlList(resulthtml.Html, "集货动态", "</table>");
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf(" </td>"), 11);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf(" </td>"), 11);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList2)
|
|
|
{
|
|
|
if (enumValue.CNTRNO == fielddatastr)
|
|
|
{
|
|
|
data.SEALNO = enumValue.SEALNO;
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
if (fielddatastr != "")
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
if (bodyList.Count == 0)
|
|
|
result.Data = bodyList2.ToList();
|
|
|
else
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛振华场站 //需求编号:SR2017082500003 //EASFT0109QB003 //HASLNREE87000700
|
|
|
static public DBResult GetZHENGHUACTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
//需求编号:SR2017062000001
|
|
|
//原振华场站地址:www.qdzh-logistics.com
|
|
|
//原振华场站地址:http:///221.215.94.251:8123/search/searchBillCase!findByBillNo
|
|
|
//新振华场站地址:http:///58.56.168.6:8123/search/searchBillCase!findByBillNo
|
|
|
// URL = "http://58.56.168.6:8123/search/searchBillCase!findByBillNo",//URL这里都是测试 必需项
|
|
|
URL = "http://222.173.69.38:8123/search/searchBillCase!findByBillNo",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "222.173.69.38:8123",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://222.173.69.38:8123/search/searchBillCase!findByBillNo",//URL这里都是测试 必需项
|
|
|
Referer = "http://222.173.69.38:8123/search/searchBillCase!findByBillNo",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "222.173.69.38:8123",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "tidan=" + mblno + "&search1=%E6%9F%A5+%E8%AF%A2",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("/css/catelogue.css", "http://222.173.69.38:8123/css/catelogue.css");
|
|
|
datahtml = datahtml.Replace("/css/public_head_footer.css", "http://222.173.69.38:8123/css/public_head_footer.css");
|
|
|
datahtml = datahtml.Replace("/images/", "http://222.173.69.38:8123/images/");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船舶信息
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "操作员/电话", "</table>");
|
|
|
datahtml3 = datahtml3.Remove(datahtml3.IndexOf("</tr>"), 5);
|
|
|
datahtml3 = datahtml3.Remove(0, datahtml3.IndexOf(">") + 1);
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (fieldno <= 3)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 配箱数据
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "特殊用箱要求", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
if (fielddatastr == "总计:") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 10)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 怡之航场站(改名怡航)
|
|
|
static public DBResult GetYZHCTNList ( string mblno, string bsno, string password, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string url = "http://222.173.95.170:78/Service.asmx";
|
|
|
string[] args = new string[2];
|
|
|
args[0] = mblno;
|
|
|
args[1] = password;
|
|
|
object resultXml = WebServiceHelper.InvokeWebService(url, "P_GETDATA", args);
|
|
|
StringReader rdr = new StringReader(resultXml.ToString());
|
|
|
XmlSerializer serializer = new XmlSerializer(typeof(ZHONGCHUANG));
|
|
|
ZHONGCHUANG xmlDoc = (ZHONGCHUANG)serializer.Deserialize(rdr);
|
|
|
if (xmlDoc != null)
|
|
|
{
|
|
|
zhongchuangtable[] ds = xmlDoc.ds;
|
|
|
for (int i = 0; i < ds.Length; i++)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.CNTRNO = ds[i].CNTRNO;
|
|
|
data.SEALNO = ds[i].SEALNO;
|
|
|
data.CTNALL = ds[i].CTNSIZE + ds[i].CTNTYPE;
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].PKGS != "")
|
|
|
data.PKGS = Convert.ToInt16(ds[i].PKGS);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].KGS != "")
|
|
|
data.KGS = Convert.ToDecimal(ds[i].KGS);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].CBM != "")
|
|
|
data.CBM = Convert.ToDecimal(ds[i].CBM);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
if (ds[i].TAREWEIGHT != "")
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(ds[i].TAREWEIGHT);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛怡航场站/鲁艺场站/港联捷(查询地址相同)//I240195363
|
|
|
static public DBResult GetYIHANGCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 抓取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
// URL = "http://www.worldex.com.cn/glj/querydata/billquerysearch.aspx",//URL这里都是测试 必需项
|
|
|
URL = "http://www.qdglj.cn:1027/querydata/billquerysearch.aspx?tdsourcetag=s_pcqq_aiomsg",//URL这里都是测试 必需项
|
|
|
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "www.worldex.com.cn",
|
|
|
Host = "www.qdglj.cn:1027",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = "__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24Maincontent%24txtBillNo=" + mblno + "&ctl00%24Maincontent%24btnSearch=%E6%9F%A5%E8%AF%A2";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qdglj.cn:1027/querydata/billquerysearch.aspx?tdsourcetag=s_pcqq_aiomsg",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.qdglj.cn:1027/querydata/billquerysearch.aspx?tdsourcetag=s_pcqq_aiomsg",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "www.qdglj.cn:1027",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = viewstatehtml,
|
|
|
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../style/", "http://www.qdglj.cn:1027/style/");
|
|
|
datahtml = datahtml.Replace("../Scripts/", "http://www.qdglj.cn:1027/Scripts/");
|
|
|
datahtml = datahtml.Replace("../scripts/", "http://www.qdglj.cn:1027/scripts/");
|
|
|
datahtml = datahtml.Replace("../css/style.css", "http://www.qdglj.cn:1027/css/style.css");
|
|
|
datahtml = datahtml.Replace("../News/", "http://www.qdglj.cn:1027/News/");
|
|
|
datahtml = datahtml.Replace("../querydata/", "http://www.qdglj.cn:1027/querydata/");
|
|
|
datahtml = datahtml.Replace("#tbDcxx", "");
|
|
|
datahtml = datahtml.Replace("#tbZHXX", "");
|
|
|
datahtml = datahtml.Replace("#tbXhdt", "");
|
|
|
datahtml = datahtml.Replace("#tbZDXH", "");
|
|
|
datahtml = datahtml.Replace("display: none", "display:block");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 船名航次//需求编号:SR2017052500003-3
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "tbMainData", "</table>");
|
|
|
datahtml3 = datahtml3.Remove(0, datahtml3.IndexOf(">") + 1);
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0 && i <= 2)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1 && recdatastr.IndexOf("暂无相关数据")<0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (fieldno <= 2)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("/"));
|
|
|
int ikg = 0;
|
|
|
for (int j = 0; j < fielddatastr.Length; j++)
|
|
|
{
|
|
|
if (fielddatastr.Substring(j, 1) == " ")
|
|
|
{
|
|
|
ikg++;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
fielddatastr = fielddatastr.Remove(0, ikg);
|
|
|
ikg = 0;
|
|
|
for (int j = fielddatastr.Length-1; j > -1; j--)
|
|
|
{
|
|
|
if (fielddatastr.Substring(j, 1) == " ")
|
|
|
{
|
|
|
ikg = j;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
fielddatastr = fielddatastr.Remove(ikg);
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实际装货信息
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "实际装货信息", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "合计:" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
data.KINDPKGS = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 烟台国际码头//SNL7YTJLV15T67(铅封号)//SITYAYOR266371
|
|
|
static public DBResult GetYANTAIYARDList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList4 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelperX2 ShippHttp = new HttpHelperX2();
|
|
|
var refurl = "http://www.ictsiyantai.com/search/index_common_ingate.asp";//进闸信息查询
|
|
|
var Postdata = "search=true&companyname=&companycode=&bill_no=" + mblno + "&btn3.x=54&btn3.y=13";
|
|
|
var alldatahtml = ShippHttp.PostAndGetHtml(refurl, Postdata, "application/x-www-form-urlencoded", refurl, true, Encoding.GetEncoding("gb2312"));
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
result.Data = alldatahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 进闸信息查询
|
|
|
var datahtml = GetDataHtmlList(alldatahtml, "dgdList6", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.MBLNO = mblno;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.SIZE = fielddatastr;
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTN = fielddatastr;
|
|
|
if (fielddatastr == "普通箱")
|
|
|
data.CTNALL = ctnall + "GP";
|
|
|
else if (fielddatastr == "超高箱")
|
|
|
data.CTNALL = ctnall + "HC";
|
|
|
else if (fielddatastr.IndexOf("超高冻") > 0)
|
|
|
data.CTNALL = ctnall + "RH";
|
|
|
else if (fielddatastr.IndexOf("冻") > 0)
|
|
|
data.CTNALL = ctnall + "RF";
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.ENTERDOOR = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 14)
|
|
|
{
|
|
|
data.TRUCKNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 15)
|
|
|
{
|
|
|
data.TRUCKTYPE = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (data.CNTRNO != "")
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 出闸信息查询
|
|
|
ShippHttp = new HttpHelperX2();
|
|
|
refurl = "http://www.ictsiyantai.com/search/index_me_gate.asp";//出闸信息查询
|
|
|
Postdata = "search=true&companyname=&companycode=&bill_no=" + mblno + "&btn3.x=52&btn3.y=11";
|
|
|
alldatahtml = ShippHttp.PostAndGetHtml(refurl, Postdata, "application/x-www-form-urlencoded", refurl, true, Encoding.GetEncoding("gb2312"));
|
|
|
datahtml = GetDataHtmlList(alldatahtml, "dgdList6", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 出闸信息查询
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.MBLNO = mblno;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.SIZE = fielddatastr;
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTN = fielddatastr;
|
|
|
if (fielddatastr == "普通箱")
|
|
|
data.CTNALL = ctnall + "GP";
|
|
|
else if (fielddatastr == "超高箱")
|
|
|
data.CTNALL = ctnall + "HC";
|
|
|
else if (fielddatastr.IndexOf("超高冻") > 0)
|
|
|
data.CTNALL = ctnall + "RH";
|
|
|
else if (fielddatastr.IndexOf("冻") > 0)
|
|
|
data.CTNALL = ctnall + "RF";
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
data.EXITDOOR = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 14)
|
|
|
{
|
|
|
data.TRUCKNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 15)
|
|
|
{
|
|
|
data.TRUCKTYPE = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (data.CNTRNO != "")
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
bodyList = AddBodyList(bodyList, bodyList2);
|
|
|
#endregion
|
|
|
|
|
|
#region 在港箱信息查询
|
|
|
ShippHttp = new HttpHelperX2();
|
|
|
refurl = "http://www.ictsiyantai.com/search/index_gi_container.asp";//在港箱信息查询
|
|
|
Postdata = "search=true&companyname=&companycode=&container_no=&bill_no=" + mblno + "&btn3.x=33&btn3.y=10";
|
|
|
alldatahtml = ShippHttp.PostAndGetHtml(refurl, Postdata, "application/x-www-form-urlencoded", refurl, true, Encoding.GetEncoding("gb2312"));
|
|
|
datahtml = GetDataHtmlList(alldatahtml, "dgdList6", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 在港箱信息查询
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.MBLNO = mblno;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.SIZE = fielddatastr;
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTN = fielddatastr;
|
|
|
if (fielddatastr == "普通箱")
|
|
|
{
|
|
|
data.CTNALL = ctnall + "GP";
|
|
|
}
|
|
|
else if (fielddatastr == "超高箱")
|
|
|
{
|
|
|
data.CTNALL = ctnall + "HC";
|
|
|
}
|
|
|
else if (fielddatastr.IndexOf("超高冻") > 0)
|
|
|
{
|
|
|
data.CTNALL = ctnall + "RH";
|
|
|
}
|
|
|
else if (fielddatastr.IndexOf("冻") > 0)
|
|
|
{
|
|
|
data.CTNALL = ctnall + "RF";
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
data.CTNSTATUS = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 19)
|
|
|
{
|
|
|
if (fielddatastr.Length > 4)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (data.CNTRNO != "")
|
|
|
{
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
bodyList = AddBodyList(bodyList, bodyList3);
|
|
|
#endregion
|
|
|
|
|
|
#region 装船信息查询
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
ShippHttp = new HttpHelperX2();
|
|
|
refurl = "http://www.ictsiyantai.com/search/index_common_ship.asp";//装船信息查询
|
|
|
Postdata = "search=true&companyname=&companycode=&container_no=" + enumValue.CNTRNO + "&btn3.x=28&btn3.y=9";
|
|
|
alldatahtml = ShippHttp.PostAndGetHtml(refurl, Postdata, "application/x-www-form-urlencoded", refurl, true, Encoding.GetEncoding("gb2312"));
|
|
|
|
|
|
datahtml = GetDataHtmlList(alldatahtml, "dgdList6", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 装船信息查询
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf(">") + 1);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
|
|
|
var istruectn = false;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
data.MBLNO = fielddatastr;
|
|
|
if (data.MBLNO == enumValue.MBLNO)
|
|
|
istruectn = true;
|
|
|
else
|
|
|
istruectn = false;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
data.ONBORD = fielddatastr;
|
|
|
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
data.ETD = fielddatastr;
|
|
|
|
|
|
}
|
|
|
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istruectn)
|
|
|
bodyList4.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
bodyList = AddBodyList(bodyList, bodyList4);
|
|
|
#endregion
|
|
|
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 胜狮场站
|
|
|
static public DBResult GetSSCZCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.ssqd.cn/Scfs.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.ssqd.cn/Scfs.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.ssqd.cn:808",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
//Postdata = "__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMjEwNDg2MDI2MA9kFgICAw9kFgoCCw8PZBYCHgVzdHlsZQUMZGlzcGxheTpub25lZAITDzwrABEBARAWABYAFgBkAhUPD2QWAh8ABQxkaXNwbGF5Om5vbmVkAhcPPCsAEQBkAhsPZBYEAgEPD2QWAh8ABQxkaXNwbGF5Om5vbmVkAgMPD2QWAh8ABQxkaXNwbGF5Om5vbmVkGAIFCUdyaWRWaWV3Mg9nZAUJR3JpZFZpZXcxD2dkAHBKIVh3fH2rbiwgkQ7dV38iMda4tjD0mZSM47VhHIw%3D&__VIEWSTATEGENERATOR=4FCC0923&TextBox1=" + mblno + "&Button1=%E6%9F%A5%E8%AF%A2",
|
|
|
|
|
|
Postdata = "__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTEwMTA3ODM3MzEPZBYCAgMPZBYKAgsPD2QWAh4Fc3R5bGUFDGRpc3BsYXk6bm9uZWQCEw88KwARAQEQFgAWABYAZAIVDw9kFgIfAAUMZGlzcGxheTpub25lZAIXDzwrABEAZAIbD2QWBAIBDw9kFgIfAAUMZGlzcGxheTpub25lZAIDDw9kFgIfAAUMZGlzcGxheTpub25lZBgCBQlHcmlkVmlldzIPZ2QFCUdyaWRWaWV3MQ9nZNmmDFDfxTd%2FuZdDk8fTvUEhK3v5vIsxkxJW8a5LNuUF&__VIEWSTATEGENERATOR=4FCC0923&TextBox1=" + mblno + "&Button1=%E6%9F%A5%E8%AF%A2",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = "__LASTFOCUS=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2F" + viewstatehtml + "&__VIEWSTATEGENERATOR=4FCC0923&TextBox1=" + mblno + "&Button1=%E6%9F%A5%E8%AF%A2";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
//
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
var item2 = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.ssqd.cn/Scfs.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.ssqd.cn/Scfs.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.ssqd.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml2 = http.GetHtml(item2);
|
|
|
var datahtml2 = resulthtml2.Html;
|
|
|
datahtml2 = datahtml2.Replace("images/", "http://www.ssqd.cn/images/");
|
|
|
result.Data = datahtml2;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.ssqd.cn/agentui.aspx?bl=" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.ssqd.cn:808",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
var ctnall = "";
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "<table>", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
while (datahtml.IndexOf("</td></tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</td></tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 10);
|
|
|
datahtml = datahtml.Substring(datalength + 10, datahtml.Length - datalength - 10);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr><td>") + 8);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</td></tr>"), 10);
|
|
|
var fieldnamestr = recdatastr.Substring(1, recdatastr.IndexOf(">") - 1);
|
|
|
if (fieldnamestr == "箱号")
|
|
|
{
|
|
|
data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.CNTRNO = GetDataHtmlList(recdatastr, "<箱号>", "</箱号>");
|
|
|
}
|
|
|
if (fieldnamestr == "尺寸")
|
|
|
{
|
|
|
ctnall = GetDataHtmlList(recdatastr, "<尺寸>", "</尺寸>");
|
|
|
}
|
|
|
if (fieldnamestr == "箱型")
|
|
|
{
|
|
|
data.CTNALL = ctnall + GetDataHtmlList(recdatastr, "<箱型>", "</箱型>");
|
|
|
}
|
|
|
if (fieldnamestr == "皮重")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(GetDataHtmlList(recdatastr, "<皮重>", "</皮重>"));
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldnamestr == "总件数")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt16(GetDataHtmlList(recdatastr, "<总件数>", "</总件数>"));
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldnamestr == "重量")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(GetDataHtmlList(recdatastr, "<重量>", "</重量>"));
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (fieldnamestr == "总尺码")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(GetDataHtmlList(recdatastr, "<总尺码>", "</总尺码>"));
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldnamestr == "铅封号")
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.SEALNO = GetDataHtmlList(recdatastr, "<铅封号>", "</铅封号>");
|
|
|
}
|
|
|
catch
|
|
|
{ }
|
|
|
|
|
|
}
|
|
|
if (fieldnamestr == "集港时间")
|
|
|
{
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛锦恒场站
|
|
|
static public DBResult GetJINHENGCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList2 = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelperX2 ShippHttp = new HttpHelperX2();
|
|
|
var refurl = "http://www.sjhlco.com/InfoService/blinfo";
|
|
|
var murl = "http://www.sjhlco.com/InfoService";
|
|
|
var Postdata = "BL_NO=" + mblno + "&x=35&y=10";
|
|
|
var alldatahtml = ShippHttp.GetAndGetHtml(murl, "application/x-www-form-urlencoded", refurl, true, Encoding.UTF8);
|
|
|
alldatahtml = ShippHttp.PostAndGetHtml(refurl, Postdata, "application/x-www-form-urlencoded", refurl, true, Encoding.UTF8);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
alldatahtml = alldatahtml.Replace("/InfoService/resources/", "http://www.sjhlco.com/InfoService/resources/");
|
|
|
result.Data = alldatahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var Vesseldatahtml = GetDataHtmlList(alldatahtml, "船名<", "</td>");
|
|
|
Vesseldatahtml = GetDataHtmlList(Vesseldatahtml, "]", "(").Trim();
|
|
|
var VoyNodatahtml = GetDataHtmlList(alldatahtml, "航次<", "</td>");
|
|
|
VoyNodatahtml = VoyNodatahtml.Remove(0, VoyNodatahtml.IndexOf("ty1 al_l\">") + 10);
|
|
|
alldatahtml = alldatahtml.Substring(alldatahtml.IndexOf("集装箱信息"));
|
|
|
var datahtml = alldatahtml.Substring(0, alldatahtml.IndexOf("</table>") + 8);
|
|
|
|
|
|
alldatahtml = alldatahtml.Remove(0, alldatahtml.IndexOf("</table>") + 8);
|
|
|
var datahtml2 = alldatahtml.Substring(0, alldatahtml.IndexOf("</table>") + 8);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf("</tr>") + 5);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.VESSEL = Vesseldatahtml;
|
|
|
data.VOYNO= VoyNodatahtml;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("<td>") + 4);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
if (datahtml2 != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
var isfen = false;
|
|
|
if (datahtml2.IndexOf("分提单号") > 1)
|
|
|
{
|
|
|
isfen = true;
|
|
|
}
|
|
|
var datalength = datahtml2.IndexOf("</tr>");
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
datalength = datahtml2.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var ctnall = "";
|
|
|
var fieldno = 1;
|
|
|
if (i != 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.VESSEL = Vesseldatahtml;
|
|
|
data.VOYNO = VoyNodatahtml;
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("<td>") + 4);
|
|
|
if ((!isfen & fieldno == 2) || (isfen & fieldno == 3))
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
if (enumValue.CNTRNO == fielddatastr)
|
|
|
{
|
|
|
data.SEALNO = enumValue.SEALNO;
|
|
|
data.CTNALL = enumValue.CTNALL;
|
|
|
data.TAREWEIGHT = enumValue.TAREWEIGHT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if ((!isfen & fieldno == 3) || (isfen & fieldno == 4))
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
if ((!isfen & fieldno == 4) || (isfen & fieldno == 5))
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
if ((!isfen & fieldno == 5) || (isfen & fieldno == 6))
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
if ((!isfen & fieldno == 6) || (isfen & fieldno == 7))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt16(fielddatastr.Replace(",", ""));
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if ((!isfen & fieldno == 7) || (isfen & fieldno == 8))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if ((!isfen & fieldno == 8) || (isfen & fieldno == 9))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if ((!isfen & fieldno == 10) || (isfen & fieldno == 11))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList2.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
bodyList2 = SumBodyList(bodyList2);
|
|
|
if (bodyList2.Count == 0)
|
|
|
result.Data = bodyList.ToList();
|
|
|
else
|
|
|
result.Data = bodyList2.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 外运场站//QD2E441098
|
|
|
static public DBResult GetWAIYUNTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 查询历史数据,当前查询不到
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.sd.sinotrans.com/CntrYardQuery/QueryByBlnoWLY.aspx?Blno=" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.sd.sinotrans.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("css/StyleSheet.css", "http://www.sd.sinotrans.com/sdweb/HomePage/CntrYardQuery/css/StyleSheet.css");
|
|
|
datahtml = datahtml.Replace("../../App_Themes/HomePage/HomePage.css", "http://www.sd.sinotrans.com/sdweb/App_Themes/HomePage/HomePage.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//需求编号:SR2017052500003-4
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "船舶信息", "</table>");
|
|
|
if (datahtml3 != "" && datahtml3.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 船舶信息
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 4)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "装箱单信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 装箱单信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 3)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 4)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 5)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
if (fielddatastr.IndexOf(".") > 0)
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("."), fielddatastr.Length - fielddatastr.IndexOf("."));
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
datahtml = GetDataHtmlList(resulthtml.Html, "箱动态信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 箱动态信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno ==2)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno ==4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
data.PKGS = 0;
|
|
|
data.KGS = 0;
|
|
|
data.CBM = 0;
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
datahtml = GetDataHtmlList(resulthtml.Html, "重箱返场信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 重箱返场信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
if (fielddatastr.IndexOf(".") > 0)
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("."), fielddatastr.Length - fielddatastr.IndexOf("."));
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
if (bodyList.Count > 0)
|
|
|
{
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
if (result.Data == null)
|
|
|
{
|
|
|
#region 查询历史数据
|
|
|
HttpHelper http2 = new HttpHelper();
|
|
|
HttpItem item2 = new HttpItem()
|
|
|
{
|
|
|
URL = "http://sd.sinotrans.com/sdweb/HomePage/CntrYardQuery/QueryByBlnoHistory.aspx?Blno=" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.sd.sinotrans.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml2 = http2.GetHtml(item2);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml2.Html;
|
|
|
datahtml = datahtml.Replace("css/StyleSheet.css", "http://www.sd.sinotrans.com/sdweb/HomePage/CntrYardQuery/css/StyleSheet.css");
|
|
|
datahtml = datahtml.Replace("../../App_Themes/HomePage/HomePage.css", "http://www.sd.sinotrans.com/sdweb/App_Themes/HomePage/HomePage.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//需求编号:SR2017052500003-4
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml2.Html, "船舶信息", "</table>");
|
|
|
if (datahtml3 != "" && datahtml3.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 船舶信息
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 4)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
var datahtml = GetDataHtmlList(resulthtml2.Html, "装箱单信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 装箱单信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 2)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
if (fielddatastr.IndexOf(".") > 0)
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("."), fielddatastr.Length - fielddatastr.IndexOf("."));
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 7)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
datahtml = GetDataHtmlList(resulthtml2.Html, "箱动态信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 箱动态信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
else if (fieldno == 2)
|
|
|
{
|
|
|
ctnall = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 3)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 4)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
}
|
|
|
data.PKGS = 0;
|
|
|
data.KGS = 0;
|
|
|
data.CBM = 0;
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
datahtml = GetDataHtmlList(resulthtml2.Html, "重箱返场信息", "</table>");
|
|
|
if (datahtml != "" && datahtml.ToString().IndexOf("No Record...") < 0)
|
|
|
{
|
|
|
#region 重箱返场信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
foreach (var enumValue in bodyList3)//需求编号:SR2017052500003-4
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
if (fielddatastr.IndexOf(".") > 0)
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("."), fielddatastr.Length - fielddatastr.IndexOf("."));
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 港陆场站
|
|
|
static public DBResult GetGLCZCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.medlog.com.cn/querydata/billquerysearch.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.medlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = "__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24Maincontent%24txtBillNo=" + mblno + "&ctl00%24Maincontent%24btnSearch=%E6%9F%A5%E8%AF%A2";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.medlog.com.cn/querydata/billquerysearch.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.medlog.com.cn/querydata/billquerysearch.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "www.medlog.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
//2016-05-10 重新从网站获取Postdata配置信息
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("../css/style.css", "http://www.medlog.com.cn/css/style.css");
|
|
|
datahtml = datahtml.Replace("../Scripts/jquery-easyui-1.3.1/themes/default/easyui.cs", "http://www.medlog.com.cn/Scripts/jquery-easyui-1.3.1/themes/default/easyui.cs");
|
|
|
datahtml = datahtml.Replace("../Scripts/jquery-easyui-1.3.1/themes/icon.css", "http://www.medlog.com.cn/Scripts/jquery-easyui-1.3.1/themes/icon.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var ctnall = "";
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "实际装货信息", "合计");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 实际装货信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "合计:" || fielddatastr == "暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
|
|
|
data.CNTRNO = fielddatastr.Trim();
|
|
|
}
|
|
|
if (fieldno == 3)
|
|
|
{
|
|
|
ctnall = fielddatastr.Trim();
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr.Trim();
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.Trim();
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 7)
|
|
|
{
|
|
|
data.KINDPKGS = fielddatastr.Trim();
|
|
|
}
|
|
|
if (fieldno == 8)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛新东方场站
|
|
|
static public DBResult GetXDFCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qdxdf.net/SystemQuery.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qdxdf.net",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24ContentPlaceHolder1%24BillNoTextBox=" + mblno + "&ctl00%24ContentPlaceHolder1%24QuickSearchButton=%E6%9F%A5+%E8%AF%A2";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qdxdf.net/SystemQuery.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.qdxdf.net/SystemQuery.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "www.qdxdf.net",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
#region Postdata
|
|
|
//Postdata = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2F"
|
|
|
//+"wEPDwUKLTM5ODgwOTM1OA9kFgJmD2QWAgIDD2QWAgIHD2QWKgIBDw8WAh4EVGV4dAUMVEFPT0FLMDAzOTAyZGQCBQ8PFgIeB1Zpc2libGVnZGQCBw8PFgIfAAUQ5LiL6LSn57q45pWw5o2uOmRkAgkPDxYEHwAFDFRBT09BSzAwMzkwMh8BaGRkAgsPDxYCHwAFE%2BmdoOiItueggeWktDogUVFDVDNkZAINDw8WAh8ABRHnrqHoiLnkuro6IOS7u%2BaziWRkAg8PDxYCHwAFFuiBlOezu%2BeUteivnTogODI5ODcwMjlkZAIRDw8WAh8ABR3kvKDnnJ86MDUzMi04Mjk4NzEzMC84Mjk4NzEzMWRkAhMPD2QPEBYBZhYBFgIeDlBhcmFtZXRlclZhbHVlBQxUQU9PQUswMDM5MDIWAWZkZAIVDzwrAA0BAA8WBB4LXyFEYXRhQm91bmRnHgtfIUl0ZW1Db3VudAIBZBYCZg9kFgQCAQ9kFh5mDw8WAh8ABQnmlrDkuprmtLJkZAIBDw8WAh8ABQtYSU4gWUEgWkhPVWRkAgIPDxYCHwAFBTAwOTRFZGQCAw8PFgIfAAUMVEFPT0FLMDAzOTAyZGQCBA8PFgIfAAUGJm5ic3A7ZGQCBQ8PFgIfAAUKICAgMVgyMCdHUGRkAgYPDxYCHwAFAzE0MmRkAgcPDxYCHwAFBzE4MTcuNjBkZAIIDw8WAh8ABQUxNS43NmRkAgkPDxYCHwAFCk9BS0xBTkQsQ0FkZAIKDw8WAh8ABQpPQUtMQU5ELENBZGQCCw8PFgIfAAURMjAxNC83LzE4IDk6MTU6MDBkZAIMDw8WAh8ABRIyMDE0LzcvMTggMTQ6MzA6MDBkZAINDw8WAh8ABRIyMDE0LzcvMjAgMTQ6MzA6MDBkZAIODw8WAh8ABREyMDE0LzcvMTkgMDowMDowMGRkAgIPDxYCHwFoZGQCFw88KwANAgAPFgQfA2cfBAIBZAwUKwAdFggeBE5hbWUFDOaJp%2BihjOaDheWGtR4KSXNSZWFkT25seWgeBFR5cGUZKwIeCURhdGFGaWVsZAUM5omn6KGM5oOF5Ya1FggfBQUJ5o%2BQ5Y2V5Y%2B3HwZoHwcZKwIfCAUJ5o%2BQ5Y2V5Y%2B3FggfBQUG566x5Y%2B3HwZoHwcZKwIfCAUG566x5Y%2B3FggfBQUG5bC656CBHwZoHwcZKwIfCAUG5bC656CBFggfBQUG566x5Z6LHwZoHwcZKwIfCAUG566x5Z6LFggfBQUG5Lu25pWwHwZoHwcZKVtTeXN0ZW0uRGVjaW1hbCwgbXNjb3JsaWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5HwgFBuS7tuaVsBYIHwUFBumHjemHjx8GaB8HGSsEHwgFBumHjemHjxYIHwUFBuS9k%2Benrx8GaB8HGSsEHwgFBuS9k%2BenrxYIHwUFBuWwgeWPtx8GaB8HGSsCHwgFBuWwgeWPtxYIHwUFEuaMh%2BWumueuseWPt%2Bexu%2BWeix8GaB8HGSsCHwgFEuaMh%2BWumueuseWPt%2Bexu%2BWeixYIHwUFCeeuseajgOeusR8GaB8HGSsCHwgFCeeuseajgOeusRYIHwUFCeWIkuaLqOWPtx8GaB8HGSsCHwgFCeWIkuaLqOWPtxYIHwUFBua4qeW6ph8GaB8HGSsCHwgFBua4qeW6phYIHwUFBua5v%2BW6ph8GaB8HGSsCHwgFBua5v%2BW6phYIHwUFBumAmumjjh8GaB8HGSsCHwgFBumAmumjjhYIHwUFCei9rOWFs%2Bi0px8GaB8HGSsCHwgFCei9rOWFs%2Bi0pxYIHwUFCeWKoOmHjeeusR8GaB8HGSsCHwgFCeWKoOmHjeeusRYIHwUFCeebtOinkueusR8GaB8HGSsCHwgFCeebtOinkueusRYIHwUFCea5v%2BW6pueusR8GaB8HGSsCHwgFCea5v%2BW6pueusRYIHwUFBui2hemrmB8GaB8HGSsEHwgFBui2hemrmBYIHwUFBui2heW3ph8GaB8HGSsEHwgFBui2heW3phYIHwUFBui2heWPsx8GaB8HGSsEHwgFBui2heWPsxYIHwUFDOeJueauiumFjei9vR8GaB8HGSsCHwgFDOeJueauiumFjei9vRYIHwUFD%2BWNsemZqeWTgeetiee6px8GaB8HGSsCHwgFD%2BWNsemZqeWTgeetiee6pxYIHwUFD%2BWbvemZheWNseinhOWPtx8GaB8HGSsCHwgFD%2BWbvemZheWNseinhOWPtxYIHwUFDOmdoOaziueggeWktB8GaB8HGSsCHwgFDOmdoOaziueggeWktBYIHwUFBueuseS4ux8GaB8HGSsCHwgFBueuseS4uxYIHwUFDOaPkOeuseWcsOeCuR8GaB8HGSsCHwgFDOaPkOeuseWcsOeCuRYIHwUFEuaMh%2BWumueuseWPt%2BaXtumXtB8GaB8HGSlcU3lzdGVtLkRhdGVUaW1lLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkfCAUS5oyH5a6a566x5Y%2B35pe26Ze0FgJmD2QWBAIBD2QWPGYPDxYCHwAFATFkZAIBDw8WAh8ABQbpm4bmuK9kZAICDw8WAh8ABQxUQU9PQUswMDM5MDJkZAIDDw8WAh8ABQtDU0xVMTE1OTYzOGRkAgQPDxYCHwAFAjIwZGQCBQ8PFgIfAAUCR1BkZAIGDw8WAh8ABQMxNDJkZAIHDw8WAh8ABQcxODE3LjYwZGQCCA8PFgIfAAUFMTUuNzZkZAIJDw8WAh8ABQdWMjQ3MDg5ZGQCCg8PFgIfAAUGJm5ic3A7ZGQCCw8PFgIfAAUD5ZCmZGQCDA8PFgIfAAUGJm5ic3A7ZGQCDQ8PFgIfAAUGJm5ic3A7ZGQCDg8PFgIfAAUGJm5ic3A7ZGQCDw8PFgIfAAUGJm5ic3A7ZGQCEA8PFgIfAAUD5ZCmZGQCEQ8PFgIfAAUD5ZCmZGQCEg8PFgIfAAUD5ZCmZGQCEw8PFgIfAAUD5ZCmZGQCFA8PFgIfAAUGJm5ic3A7ZGQCFQ8PFgIfAAUGJm5ic3A7ZGQCFg8PFgIfAAUGJm5ic3A7ZGQCFw8PFgIfAAUGJm5ic3A7ZGQCGA8PFgIfAAUGJm5ic3A7ZGQCGQ8PFgIfAAUGJm5ic3A7ZGQCGg8PFgIfAAUDWERGZGQCGw8PFgIfAAUDQ1NMZGQCHA8PFgIfAAUGJm5ic3A7ZGQCHQ8PFgIfAAUGJm5ic3A7ZGQCAg8PFgIfAWhkZAIZD2QWBgIBDw8WAh8ABT7nlKjnrrHkv6Hmga86ICAgICA8PT0g54K55Ye75Lu25pWw5Y%2Bv5Lul5p%2Bl6K%2Bi5YWl6LSn5piO57uGID09PmRkAgMPDxYCHwFnZGQCBQ88KwANAQAPFgQfA2cfBAIBZBYCZg9kFgQCAQ9kFhpmDw8WAh8ABQExZGQCAQ8PFgIfAAUMVEFPT0FLMDAzOTAyZGQCAg8PFgIfAAULQ1NMVTExNTk2MzhkZAIDDw8WAh8ABQJHUGRkAgQPDxYCHwAFAjIwZGQCBQ8PFgIfAAUHVjI0NzA4OWRkAgYPDxYCHwAFBuWklueCuWRkAgcPZBYCZg8VAgtDU0xVMTE1OTYzOABkAgkPDxYCHwAFB0xVOTgxODVkZAIKDw8WAh8ABRIyMDE0LzcvMTUgMTE6MTM6NDhkZAILDw8WAh8ABRIyMDE0LzcvMTUgMTk6MDA6NDRkZAIMDw8WAh8ABRIyMDE0LzcvMTggMTU6MTU6MTlkZAINDw8WAh8ABRIyMDE0LzcvMjAgMTM6MTY6NDZkZAICDw8WAh8BaGRkAhsPDxYCHwAFDeijheeuseS%2FoeaBrzpkZAIdDw8WAh8ABekCc2VsZWN0IHQuQklMTF9OTyBhcyDmj5DljZXlj7csdC5DTlRSX05PIGFzIOeuseWPtyx0LlNFQUxfTk8gYXMg5bCB5Y%2B3LHQuQ05UUl9UWVBFIGFzIOeuseWeiyx0LlFVQU5USVRZIGFzIOS7tuaVsCx0LldFSUdIVCBhcyDmr5vph40sdC5WT0xVTUUgYXMg5bC656CBLHQuVEVNUEVSQVRVUkUgYXMg5Ya3566x5rip5bqmLCB0LkRSQVVHSFQgYXMg6YCa6aOO5Y%2BjLHQuQkFDS19EQVRFIGFzIOi%2Fm%2BWcuuaXpeacnyx0LkNOVFJfSE9MREVSIGFzIFNPQyx0LlNFQUxfTk8yIGFzIOesrOS6jOWwgeWPtyx0LlNUVUZGX1RZUEUgYXMg56m6566xIGZyb20gVl9XRUJfQ0ZTX1NUVUZGV09SSyB0IHdoZXJlIEJJTExfTk8gPSAnVEFPT0FLMDAzOTAyJ2RkAh8PDxYCHwFnZGQCIQ8PFgIfAWdkZAIjDzwrAA0BAA8WBB8DZx8EAgFkFgJmD2QWBAIBD2QWHmYPDxYCHwAFATFkZAIBDw8WAh8ABQxUQU9PQUswMDM5MDJkZAICDw8WAh8ABQtDU0xVMTE1OTYzOGRkAgMPDxYCHwAFB1YyNDcwODlkZAIEDw8WAh8ABQUyMCdHUGRkAgUPDxYCHwAFAzE0MmRkAgYPDxYCHwAFBzE4MTcuNjBkZAIHDw8WAh8ABQUxNS43NmRkAgkPDxYCHwAFBiZuYnNwO2RkAgoPDxYCHwAFBiZuYnNwO2RkAgsPDxYCHwAFBiZuYnNwO2RkAgwPDxYCHwAFBiZuYnNwO2RkAg0PDxYCHwAFBDIyNTBkZAIODw8WAh8ABQkxMDAxMTg1NDZkZAIPDw8WAh8ABQPmmK9kZAICD2QWBgIFDw8WAh8ABQvlkIjorqE6IDE0MmRkAgYPDxYCHwAFDuWQiOiuoTogMTgxNy42ZGQCBw8PFgIfAAUN5ZCI6K6hOiAxNS43NmRkAiUPPCsAFgIADxYEHg9EYXRhU291cmNlQm91bmRnHg1DYWxsYmFja1N0YXRlBbwFQndJSEFnSUVSR0YwWVFhWUFRQUFBQUFCQUFBQUFRQUFBQUFBQUFBQkFBQUFBQTBBQUFBSjVvK1E1WTJWNVkrM0NlYVBrT1dObGVXUHR3Y0FBQWJucnJIbGo3Y0c1NjZ4NVkrM0J3QUFCdVd3Z2VXUHR3YmxzSUhsajdjSEFBQUc1NjZ4NVo2TEJ1ZXVzZVdlaXdjQUFBYmt1N2JtbGJBRzVMdTI1cFd3QlFBQUJ1YXZtK21IalFibXI1dnBoNDBGQUFBRzViQzY1NkNCQnVXd3V1ZWdnUVVBQUF6bGhyZm5yckhtdUtubHVxWU01WWEzNTY2eDVyaXA1YnFtQndBQUNlbUFtdW1qanVXUG93bnBnSnJwbzQ3bGo2TUhBQUFNNkwrYjVaeTY1cGVsNXB5ZkRPaS9tK1djdXVhWHBlYWNud2dBQUFOVFQwTURVMDlEQndBQURPZXNyT1M2ak9Xd2dlV1B0d3puckt6a3VvemxzSUhsajdjSEFBQUc1Nm02NTY2eEJ1ZXB1dWV1c1FVQUFBQUFBQUFIQUFjQUJ3QUhBQWIvL3djQ0RGUkJUMDlCU3pBd016a3dNZ2NDQzBOVFRGVXhNVFU1TmpNNEJ3SUhWakkwTnpBNE9RY0NCVEl3SjBkUUJRZU9CUU1BeGdJQUFBQUFBQUFBQUFBQUFBSUFCUU1vQmdBQUFBQUFBQUFBQUFBQUFBSUFEQXdJQWdRQWxzUTJkbTdSQ0FjQ0FVNE1EQUlGVTNSaGRHVUhYZ2NOQndBQ0FRY0JBZ0VIQWdJQkJ3TUNBUWNFQWdFSEJRSUJCd1lDQVFjSEFnRUhDQUlCQndrQ0FRY0tBZ0VIQ3dJQkJ3d0NBUWNBQndBSEFBY0FCUUFBQUlBSkFnQUpBZ0FDQUFNSEJBSUFCd0FDQVFjQUJ3QUNBUWNBQndBPWQGD2QQFg1mAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMFg08KwALAQAWCh4JRmllbGROYW1lBQnmj5DljZXlj7ceCFJlYWRPbmx5aB4SUHJvcGVydGllc0VkaXRUeXBlBQdUZXh0Qm94Hg5SdW50aW1lQ3JlYXRlZGceD0NvbFZpc2libGVJbmRleGY8KwALAQAWCh8LBQbnrrHlj7cfDGgfDQUHVGV4dEJveB8OZx8PAgE8KwALAQAWCh8LBQblsIHlj7cfDGgfDQUHVGV4dEJveB8OZx8PAgI8KwALAQAWCh8LBQbnrrHlnosfDGgfDQUHVGV4dEJveB8OZx8PAgM8KwALAQAWCh8LBQbku7bmlbAfDGgfDQUHVGV4dEJveB8OZx8PAgQ8KwALAQAWCh8LBQbmr5vph40fDGgfDQUHVGV4dEJveB8OZx8PAgU8KwALAQAWCh8LBQblsLrnoIEfDGgfDQUHVGV4dEJveB8OZx8PAgY8KwALAQAWCh8LBQzlhrfnrrHmuKnluqYfDGgfDQUHVGV4dEJveB8OZx8PAgc8KwALAQAWCh8LBQnpgJrpo47lj6MfDGgfDQUHVGV4dEJveB8OZx8PAgg8KwALAQAWCh8LBQzov5vlnLrml6XmnJ8fDGgfDQUIRGF0ZUVkaXQfDmcfDwIJPCsACwEAFgofCwUDU09DHwxoHw0FB1RleHRCb3gfDmcfDwIKPCsACwEAFgofCwUM56ys5LqM5bCB5Y%2B3HwxoHw0FB1RleHRCb3gfDmcfDwILPCsACwEAFgofCwUG56m6566xHwxoHw0FB1RleHRCb3gfDmcfDwIMDxYNAgECAQIBAgECAQIBAgECAQIBAgICAQIBAgEWAgWZAURldkV4cHJlc3MuV2ViLkFTUHhHcmlkVmlldy5HcmlkVmlld0RhdGFUZXh0Q29sdW1uLCBEZXZFeHByZXNzLldlYi5BU1B4R3JpZFZpZXcudjExLjIsIFZlcnNpb249MTEuMi43LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQWZAURldkV4cHJlc3MuV2ViLkFTUHhHcmlkVmlldy5HcmlkVmlld0RhdGFEYXRlQ29sdW1uLCBEZXZFeHByZXNzLldlYi5BU1B4R3JpZFZpZXcudjExLjIsIFZlcnNpb249MTEuMi43LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YWQCKQ8PFgIfAAUJ5paw5Lqa5rSyZGQCKw8PFgIfAAUFMDA5NEVkZAItDw8WAh8ABQxUQU9PQUswMDM5MDJkZBgEBSNjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJEdyaWRWaWV3MQ88KwAKAQgCAWQFI2N0bDAwJENvbnRlbnRQbGFjZUhvbGRlcjEkR3JpZFZpZXcyDzwrAAoBCAIBZAUjY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyMSRHcmlkVmlldzMPPCsACgEIAgFkBSNjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJEdyaWRWaWV3NA88KwAKAQgCAWQ%2B3gkiFXHdK%2FBHaXhYQFf6Ja8oIw%3D%3D"
|
|
|
//+"&ctl00%24ContentPlaceHolder1%24BillNoTextBox="+mblno+"&ctl00%24ContentPlaceHolder1%24QuickSearchButton=%E6%9F%A5+%E8%AF%A2",
|
|
|
#endregion
|
|
|
|
|
|
//2016-05-10 重新从网站获取Postdata配置信息
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("img/style.css", "http://www.qdxdf.net/img/style.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "ctl00_ContentPlaceHolder1_GridView4", "</table>");
|
|
|
var datahtml6 = GetDataHtmlList(resulthtml.Html, "装箱信息", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == " ")
|
|
|
{
|
|
|
istrue = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
istrue = true;
|
|
|
|
|
|
};
|
|
|
}
|
|
|
if (fieldno == 3 && istrue)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4 && istrue)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 5 && istrue)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr.Replace("'", "");
|
|
|
}
|
|
|
if (fieldno == 6 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 7 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 长荣场站 //需求编号:SR2017082500001,SR2017090400001 //140701083561
|
|
|
static public DBResult GetCHANGRONGCTNList(string mblno, string bsno, string userid, bool isweb = false)
|
|
|
{
|
|
|
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
if (userid != "")
|
|
|
{
|
|
|
MsOpSeaeQDPortDataDAL dal = new MsOpSeaeQDPortDataDAL(userid);
|
|
|
List<string> outList;
|
|
|
outList = dal.GetCRYard(mblno);
|
|
|
|
|
|
OpSeaeJGXX_CRModel jgxx = Newtonsoft.Json.JsonConvert.DeserializeObject<OpSeaeJGXX_CRModel>(outList[0].ToString());
|
|
|
var jgxxData = jgxx.resp.list;
|
|
|
|
|
|
|
|
|
OpSeaeXHDT_CRModel xhdt = Newtonsoft.Json.JsonConvert.DeserializeObject<OpSeaeXHDT_CRModel>(outList[1].ToString());
|
|
|
var xhdtData = xhdt.resp.list;
|
|
|
|
|
|
OpSeaeZHXX_CRModel sjzh = Newtonsoft.Json.JsonConvert.DeserializeObject<OpSeaeZHXX_CRModel>(outList[2].ToString());
|
|
|
var sjzhData = sjzh.resp.list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
string html = "";
|
|
|
string table1hd = "<p class=\"yardlabel \">集港信息查询</p><br><table id=\"example\" class=\"yardtable \" cellspacing=\"0\" width=\"100%\"><thead><tr><th>序号</th><th>船名(En)</th><th>船名(CH)</th><th>航次</th><th>总单号</th><th>箱型/箱量</th><th>船公司</th><th>目的港</th><th>卸货港</th><th>装船码头</th><th>送货地址</th><th>集港开始时间</th><th>集港结束时间</th></tr></thead><tbody id=\"jgxx\">";
|
|
|
string table1bd = "<tr class='odd'><td valign='top' class='dataTables_empty'>" + jgxxData[0].RN +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].YWCM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].ZWCM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].HC +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].XSTDH +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].YXYQ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].CGSM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].MDGM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].XHGM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].ZCMT +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].SHDZ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].XYKBSJ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + jgxxData[0].XYLBSJ +
|
|
|
"</td></tr>";
|
|
|
string table1end = "<tr class='odd'><td valign='top' colspan='20' class='dataTables_empty'>备注:" + jgxxData[0].BZBZ + "</td></tr></tbody></table>";
|
|
|
|
|
|
string table2hd = "<p class=\"yardlabel \">箱货动态查询</p><table id=\"example\" class=\"yardtable\" cellspacing=\"0\" width=\"100%\"><thead><tr><th>序号</th><th>箱号</th><th>尺寸</th><th>箱型</th><th>铅封号</th><th>内点/外点</th><th>提箱时间</th><th>返场时间</th><th>集港时间</th><th>箱皮重</th><th>车号</th></tr></thead><tbody id=\"xhdt\">";
|
|
|
string table2bd = "";
|
|
|
foreach (var item in xhdtData)
|
|
|
{
|
|
|
string str = "<tr class='odd'><td valign='top' class='dataTables_empty'>" + item.RN
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.CC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XX
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.QFH1
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.NWDBZ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.TXSJ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.FCSJ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.JGSJ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + ""
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.KCPH
|
|
|
+ "</td></tr>";
|
|
|
table2bd += str;
|
|
|
}
|
|
|
string table2end = "</tbody></table>";
|
|
|
|
|
|
string table3hd = "<p class=\"yardlabel \">实际装货信息查询</p><table id=\"example\" class=\"yardtable\" cellspacing=\"0\" width=\"100%\"><thead><tr><th>序号</th><th>分提单号</th><th>箱号</th><th>尺寸</th><th>箱型</th><th>铅封</th><th>实装件数</th><th>实装重量</th><th>实装尺码</th></tr></thead><tbody id=\"sjzh\">";
|
|
|
string table3bd = "";
|
|
|
foreach (var item in sjzhData)
|
|
|
{
|
|
|
string str = "<tr class='odd'><td valign='top' class='dataTables_empty'>" + item.RN
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.TDH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.CC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XX
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.QFH1
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.JS
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.HZ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.TJ
|
|
|
+ "</td></tr>";
|
|
|
table3bd += str;
|
|
|
}
|
|
|
|
|
|
string table3end = "</tbody></table>";
|
|
|
result.Data = table1hd + table1bd + table1end + table2hd + table2bd + table2end + table3hd + table3bd + table3end;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 箱货动态查询
|
|
|
foreach (var enumValue in xhdtData)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNCODE = enumValue.RN.ToString();
|
|
|
data.VESSEL = jgxxData[0].YWCM;
|
|
|
data.VOYNO = jgxxData[0].HC;
|
|
|
data.CNTRNO = enumValue.XH;
|
|
|
data.SEALNO = enumValue.QFH1;
|
|
|
data.CTNALL = enumValue.CC + enumValue.XX;
|
|
|
data.CTNNUM = 1;
|
|
|
//数据集箱皮重貌似有问题
|
|
|
data.TAREWEIGHT = 0;
|
|
|
|
|
|
data.KGS = 0;
|
|
|
data.PKGS = 0;
|
|
|
data.CBM = 0;
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实际装货信息查询
|
|
|
foreach (var enumValue in sjzhData)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNCODE = enumValue.RN.ToString();
|
|
|
data.VESSEL = jgxxData[0].YWCM;
|
|
|
data.VOYNO = jgxxData[0].HC;
|
|
|
data.CNTRNO = enumValue.XH;
|
|
|
data.SEALNO = enumValue.QFH1;
|
|
|
data.CTNALL = enumValue.CC + enumValue.XX;
|
|
|
data.CTNNUM = 1;
|
|
|
//data.TAREWEIGHT = 0;
|
|
|
try
|
|
|
{
|
|
|
data.KGS = enumValue.HZ;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = enumValue.JS;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
data.CBM = enumValue.TJ;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "登陆状态丢失,请重新登陆!";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 提取页面中的16-5个数据集
|
|
|
|
|
|
//集港信息查询
|
|
|
//string jgxx = DSWeb.Areas.Mobile.DAL.HttpHelper.HttpPost("http://qect.qingdao-port.com/data.jspx", "pageNo=1&tdh=" + mblno + "&flag=jgxx&pageSize=50");
|
|
|
//var jgxxData = JsonConvert.Deserialize<MsOpSeaeYard_ChangRong_jgxx>(jgxx.Replace("[", "").Replace("]", ""));
|
|
|
//[{"XYKBSJ-集港开始时间":"2017-09-06 16:40:00","HC-航次":"264A","MDGM-目的港":"PHCEB","BZBZ-备注":"","XYLBSJ-集港结束时间":"2017-09-06 17:00:00","RN-序号":1,"XSTDH-总单号":"140701083561","YWCM-船名(En)":"UNI-PROSPER","CGSM-船公司":"EMC","ZCMT-装船码头":"二期","YXYQ-箱型/箱量":"20GP*4","XHGM-卸货港":"XXPN5","ZWCM-船名(CH)":"立昌","SHDZ-送货地址":"三期"}]
|
|
|
|
|
|
|
|
|
|
|
|
//箱货动态查询
|
|
|
//string xhdt = DSWeb.Areas.Mobile.DAL.HttpHelper.HttpPost("http://qect.qingdao-port.com/data.jspx", "pageNo=1&tdh=" + mblno + "&flag=xhdt&pageSize=50");
|
|
|
// var xhdtData = JsonConvert.Deserialize<List<MsOpSeaeYard_ChangRong_xhdt>>(xhdt);
|
|
|
//[{"XX-箱型":"GP","CC-尺寸":"20","XPZ-箱皮重":2300,"TXSJ-提箱时间":"2017-09-03 11:05:26","XH-箱号":"EMCU3841277","RN-序号":1,"KCPH-车号":"LBW8899","QFH1-铅封号":"EMCGZN8287","FCSJ-返场时间":"2017-09-05 15:21:14","JGSJ-集港时间":"","NWDBZ-内点/外点":"外点"}
|
|
|
//,{"XX":"GP","CC":"20","XPZ":2300,"TXSJ":"2017-09-03 13:05:07","XH":"MAGU2469711","RN":2,"KCPH":"LBW8899","QFH1":"EMCGZN7817","FCSJ":"2017-09-05 16:41:13","JGSJ":"","NWDBZ":"外点"},{"XX":"GP","CC":"20","XPZ":2300,"TXSJ":"2017-09-03 13:05:07","XH":"TEMU3687642","RN":3,"KCPH":"LBW8899","QFH1":"EMCGZN7807","FCSJ":"2017-09-05 15:24:38","JGSJ":"","NWDBZ":"外点"},{"XX":"GP","CC":"20","XPZ":2300,"TXSJ":"2017-09-03 11:05:26","XH":"WFHU1426176","RN":4,"KCPH":"LBW8899","QFH1":"EMCGZN8297","FCSJ":"2017-09-05 15:29:44","JGSJ":"","NWDBZ":"外点"}]
|
|
|
|
|
|
//实际装货信息查询
|
|
|
//string sjzh = DSWeb.Areas.Mobile.DAL.HttpHelper.HttpPost("http://qect.qingdao-port.com/data.jspx", "pageNo=1&tdh=" + mblno + "&flag=sjzh&pageSize=50");
|
|
|
//List<MsOpSeaeYard_ChangRong_sjzh> sjzhData = JsonConvert.Deserialize<List<MsOpSeaeYard_ChangRong_sjzh>>(sjzh);
|
|
|
//sjzhData = sjzhData.FindAll(s=>s.TDH!= "合计").ToList();
|
|
|
//[{"HZ-实装重量":25000,"TJ-实装尺码":20,"XX-箱型":"GP","CC-尺寸":"20","TDH-分提单号":"140701083561","XH-箱号":"EMCU3841277","RN-序号":1,"QFH1-铅封":"EMCGZN8287","BZLXM":"","JS-实装件数":1}
|
|
|
//,{"HZ":25000,"TJ":20,"XX":"GP","CC":"20","TDH":"140701083561","XH":"WFHU1426176","RN":2,"QFH1":"EMCGZN8297","BZLXM":"","JS":1},{"HZ":25000,"TJ":20,"XX":"GP","CC":"20","TDH":"140701083561","XH":"TEMU3687642","RN":3,"QFH1":"EMCGZN7807","BZLXM":"","JS":1},{"HZ":25000,"TJ":20,"XX":"GP","CC":"20","TDH":"140701083561","XH":"MAGU2469711","RN":4,"QFH1":"EMCGZN7817","BZLXM":"","JS":1}]
|
|
|
|
|
|
#region 信息太少,暂时不获取
|
|
|
//分票信息查询(信息太少,暂时不获取)
|
|
|
//string fpxx = DSWeb.Areas.Mobile.DAL.HttpHelper.HttpPost("http://qect.qingdao-port.com/data.jspx", "pageNo=1&tdh=140701083561&flag=fpxx&pageSize=10");
|
|
|
//[{"TSZZXQ-装载要求":"","TJ-尺码":"","BZBZ":"","TFL-通风":"","HZ1-放行重量":"","RN-序号":1,"FX-船公司放箱信息":"","JS-件数":1,"LDWD-冷冻温度":"","HZ-重量":108000,"IMO-危险品等级":"","TDH-提单号":"140701083561","GJWGH-联合国危险品编号":"","BGDH-报关单号":"","JS1-放行件数":"","FXSJ-放行时间":"","XFL-箱分类":"加重箱","SDYQ-湿度":""}]
|
|
|
|
|
|
//订舱信息查询(信息太少,暂时不获取)
|
|
|
//string dcxx = DSWeb.Areas.Mobile.DAL.HttpHelper.HttpPost("http://qect.qingdao-port.com/data.jspx", "pageNo=1&tdh=140701083561&flag=dcxx&pageSize=10");
|
|
|
//[{"DQZT-当前状态":"在场","TFL-通风":"","XX-箱型":"GP","XH-箱号":"TEMU3687642","XSGSM-箱公司":"EMC","RN-序号":1,"KZ-空重":"F","SJRGSJ-出场时间":"","LDWD-冷冻温度":"","CC-尺寸":"20","TDH-提单号":"140701083561","QFH1-铅封号":"EMCGZN7807","SDYQ-湿度":"","XFL-箱分类":"","NWDBZ-内外点":"外点"}
|
|
|
//,{"DQZT":"在场","TFL":"","XX":"GP","XH":"MAGU2469711","XSGSM":"EMC","RN":2,"KZ":"F","SJRGSJ":"","LDWD":"","CC":"20","TDH":"140701083561","QFH1":"EMCGZN7817","SDYQ":"","XFL":"","NWDBZ":"外点"},{"DQZT":"在场","TFL":"","XX":"GP","XH":"WFHU1426176","XSGSM":"EMC","RN":3,"KZ":"F","SJRGSJ":"","LDWD":"","CC":"20","TDH":"140701083561","QFH1":"EMCGZN8297","SDYQ":"","XFL":"","NWDBZ":"外点"},{"DQZT":"在场","TFL":"","XX":"GP","XH":"EMCU3841277","XSGSM":"EMC","RN":4,"KZ":"F","SJRGSJ":"","LDWD":"","CC":"20","TDH":"140701083561","QFH1":"EMCGZN8287","SDYQ":"","XFL":"","NWDBZ":"外点"}]
|
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "请求超时,请稍后重试!";
|
|
|
throw e;
|
|
|
}
|
|
|
return result;
|
|
|
|
|
|
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 港联荣场站//JWIA604002
|
|
|
static public DBResult GetGLRCTNList(string mblno, string bsno, string userid, bool isweb = false)
|
|
|
{
|
|
|
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
if (userid != "")
|
|
|
{
|
|
|
MsOpSeaeQDPortDataDAL dal = new MsOpSeaeQDPortDataDAL(userid);
|
|
|
OpSeaeGLRModel glrData = dal.GetGLRYardXhdt(mblno);
|
|
|
|
|
|
var xhzData = glrData.zxdcwyy.xhz;
|
|
|
var sjzhxxData = glrData.zxdcwyy.sjzhxx;
|
|
|
var xhdtData = glrData.zxdcwyy.xhdt;
|
|
|
var mtsData = glrData.zxdcwyy.mts;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
string html = "";
|
|
|
string table1hd = "<p class=\"yardlabel \">港联荣场站下货纸</p><br><table id=\"example\" class=\"yardtable \" cellspacing=\"0\" width=\"100%\"><thead><tr><th>船名</th><th>航次</th><th>提单号</th><th>件数</th><th>货重</th><th>体积</th><th>主提单</th><th>用箱要求</th><th>放箱</th><th>指定箱号</th><th>登记时间</th><th>冷冻标记</th><th>冷冻温度</th><th>通风量</th><th>湿度</th><th>卸货港</th><th>目的港</th></tr></thead><tbody id=\"xhz\">";
|
|
|
string table1bd = "<tr class='odd'>" +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].YWCM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].CKHC +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + mblno +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].JS +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].HZ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].TJ +
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].FXBZ + 海关审结
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].YZCS + 处理审结
|
|
|
// "</td><td valign='top' class='dataTables_empty'>" + xhzData[0].TGYYMC + 退关
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].XSTDH +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].PXYQ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].FX +
|
|
|
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].CGMX +单船责任人/电话
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].ZDXHBZ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].DJRQ +
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].WPBZ +危险品标记
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].IMO +危险品等级
|
|
|
//"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].GJWGH +国际危标号
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].LDXBZ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].LDWD +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].TFL +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].SDYQ +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].XHGYM +
|
|
|
"</td><td valign='top' class='dataTables_empty'>" + xhzData[0].MDGYM +
|
|
|
"</td></tr>";
|
|
|
string table1end = "</tbody></table>";
|
|
|
|
|
|
string table2hd = "<p class=\"yardlabel \">箱货动态</p><table id=\"example\" class=\"yardtable\" cellspacing=\"0\" width=\"100%\"><thead><tr><th>提单号</th><th>箱号</th><th>箱型</th><th>尺寸</th><th>封号</th><th>内点/外点</th><th>提箱时间</th><th>提箱车号</th><th>返场时间</th><th>返场车号</th><th>箱皮</th></tr></thead><tbody id=\"xhdt\">";
|
|
|
string table2bd = "";
|
|
|
foreach (var item in xhdtData)
|
|
|
{
|
|
|
string str = "<tr class='odd'>"
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + mblno
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XX
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.CC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.QFH1
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.NWDBZ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.BXSJ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.BXKC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.FCSJ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.FCKC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XPZ
|
|
|
+ "</td></tr>";
|
|
|
table2bd += str;
|
|
|
}
|
|
|
string table2end = "</tbody></table>";
|
|
|
|
|
|
string table3hd = "<p class=\"yardlabel \">实际装货信息</p><table id=\"example\" class=\"yardtable\" cellspacing=\"0\" width=\"100%\"><thead><tr><th>箱属提单号</th><th>分单号</th><th>箱号</th><th>箱型/th><th>尺寸</th><th>铅封</th><th>实装件数</th><th>包装单位</th><th>实装重量</th><th>实装尺码</th></tr></thead><tbody id=\"sjzh\">";
|
|
|
string table3bd = "";
|
|
|
foreach (var item in sjzhxxData)
|
|
|
{
|
|
|
string str = "<tr class='odd'>"
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XSTDH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.TDH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XH
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.XX
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.CC
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.QFH1
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.JS
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.BZLXM
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.HZ
|
|
|
+ "</td><td valign='top' class='dataTables_empty'>" + item.TJ
|
|
|
+ "</td></tr>";
|
|
|
table3bd += str;
|
|
|
}
|
|
|
|
|
|
string table3end = "</tbody></table>";
|
|
|
result.Data = table1hd + table1bd + table1end + table2hd + table2bd + table2end + table3hd + table3bd + table3end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 箱货动态查询
|
|
|
int i = 1;
|
|
|
foreach (var enumValue in xhdtData)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNCODE = Convert.ToString(i++);
|
|
|
data.VESSEL = xhzData[0].YWCM;
|
|
|
data.VOYNO = xhzData[0].CKHC;
|
|
|
data.CNTRNO = enumValue.XH;
|
|
|
data.SEALNO = enumValue.QFH1;
|
|
|
data.CTNALL = enumValue.CC + enumValue.XX;
|
|
|
data.CTNNUM = 1;
|
|
|
try
|
|
|
{
|
|
|
data.TAREWEIGHT = enumValue.XPZ;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.TAREWEIGHT = 0;
|
|
|
}
|
|
|
data.KGS = 0;
|
|
|
data.PKGS = 0;
|
|
|
data.CBM = 0;
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 实际装货信息查询
|
|
|
i = 1;
|
|
|
foreach (var enumValue in sjzhxxData)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNCODE = Convert.ToString(i++);
|
|
|
data.VESSEL = xhzData[0].YWCM;
|
|
|
data.VOYNO = xhzData[0].CKHC;
|
|
|
data.CNTRNO = enumValue.XH;
|
|
|
data.SEALNO = enumValue.QFH1;
|
|
|
data.CTNALL = enumValue.CC + enumValue.XX;
|
|
|
data.CTNNUM = 1;
|
|
|
//data.TAREWEIGHT = 0;
|
|
|
try
|
|
|
{
|
|
|
data.KGS = enumValue.HZ;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = enumValue.JS;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
try
|
|
|
{
|
|
|
data.CBM = enumValue.TJ;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "登陆状态丢失,请重新登陆!";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "请求超时,请稍后重试!";
|
|
|
throw e;
|
|
|
}
|
|
|
return result;
|
|
|
|
|
|
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛神州行场站//神州场站//COSU6144610680//需求编号:SR2017041200006
|
|
|
static public DBResult GetSZXCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
#region 提取页面
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.szx.net.cn/querydata/billquerysearch.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.szx.net.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
#region Postdata
|
|
|
//Postdata = "__VIEWSTATE=%2FwEPDwULLTE3MzY3NTYxNTEPZBYCZg9kFgICAw9kFgICAQ9kFgICAQ8WAh4LXyFJdGVtQ291bnQCBhYMZg9kFgQCAQ8WAh4EVGV4dAU1PGEgIGhyZWY9Ii4uLy4uL0luZGV4LmFzcHgiIHRpdGxlPSLpppbpobUiPummlumhtTwvYT5kAgMPFgIfAGZkAgEPZBYEAgEPFgIfAQViPGEgIGhyZWY9Ii4uLy4uL25ld3MvbWFpbml0ZW0uYXNweD9zaWQ9MjAxMzExMTgwODA2MDU5NjgyNTMiIHRpdGxlPSLlhazlj7jmpoLlhrUiPuWFrOWPuOamguWGtTwvYT5kAgMPFgIfAAIFFgpmD2QWAgIBDxYCHwEFXzxhICBocmVmPSIuLi9OZXdzL21haW5pdGVtLmFzcHg%2Fc2lkPTIwMTMxMTE4MDgwNjA1OTY4MjUzIiB0aXRsZT0i5YWs5Y%2B4566A5LuLIj7lhazlj7jnroDku4s8L2E%2BZAIBD2QWAgIBDxYCHwEFXzxhICBocmVmPSIuLi9OZXdzL21haW5pdGVtLmFzcHg%2Fc2lkPTIwMTMxMTE4MDgyMTM5ODEyOTk4IiB0aXRsZT0i5LyB5Lia5paH5YyWIj7kvIHkuJrmlofljJY8L2E%2BZAICD2QWAgIBDxYCHwEFXjxhICBocmVmPSIuLi9OZXdzL21haW5pdGVtLmFzcHg%2Fc2lkPTIwMTMxMTE4MDgyNzQ2MzQzNzEiIHRpdGxlPSLnu4Tnu4fmnLrmnoQiPue7hOe7h%2BacuuaehDwvYT5kAgMPZBYCAgEPFgIfAQVfPGEgIGhyZWY9Ii4uL05ld3MvbWFpbml0ZW0uYXNweD9zaWQ9MjAxMzExMTgwODMwNTU0Njg3NTkiIHRpdGxlPSLlhazlj7jljobnqIsiPuWFrOWPuOWOhueoizwvYT5kAgQPZBYCAgEPFgIfAQVfPGEgIGhyZWY9Ii4uL05ld3MvSXRlbUxpc3QuYXNweD9zaWQ9MjAxMzExMTgwODMyMjgwNDY4NDkiIHRpdGxlPSLkuqTpgJrmjIfljZciPuS6pOmAmuaMh%2BWNlzwvYT5kAgIPZBYEAgEPFgIfAQViPGEgIGhyZWY9Ii4uLy4uL25ld3MvbWFpbml0ZW0uYXNweD9zaWQ9MjAxMzExMTgwODMzNTIwNDY1NzYiIHRpdGxlPSLlhazlj7jkuJrliqEiPuWFrOWPuOS4muWKoTwvYT5kAgMPFgIfAGZkAgMPZBYEAgEPFgIfAQVgPGEgIGhyZWY9Ii4uLy4uL25ld3MvSXRlbUxpc3QuYXNweD9zaWQ9MjAxMzExMTgwODM5MjA4OTA2IiB0aXRsZT0i6YeH6LSt5oub5qCHIj7ph4fotK3mi5vmoIc8L2E%2BZAIDDxYCHwBmZAIED2QWBAIBDxYCHwEFSzxhICBocmVmPSIuLi8uLi9xdWVyeWRhdGEvSW5kZXguYXNweCIgdGl0bGU9IuWcqOe6v%2BafpeivoiI%2B5Zyo57q%2F5p%2Bl6K%2BiPC9hPmQCAw8WAh8AAgcWDmYPZBYCAgEPFgIfAQVYPGEgIGhyZWY9Ii4uL3F1ZXJ5ZGF0YS9iaWxscXVlcnlzZWFyY2guYXNweCIgdGl0bGU9IuaPkOWNleWPt%2BafpeivoiI%2B5o%2BQ5Y2V5Y%2B35p%2Bl6K%2BiPC9hPmQCAQ9kFgICAQ8WAh8BBUs8YSAgaHJlZj0iLi4vcXVlcnlkYXRhL251bXF1ZXJ5LmFzcHgiIHRpdGxlPSLnkIbotKfmn6Xor6IiPueQhui0p%2BafpeivojwvYT5kAgIPZBYCAgEPFgIfAQVMPGEgIGhyZWY9Ii4uL2h0dHA6Ly8yMjIuMTczLjk1LjE3MDo4MTgwL1ZHTSIgdGl0bGU9IlZHTeaVsOaNriI%2BVkdN5pWw5o2uPC9hPmQCAw9kFgICAQ8WAh8BBV08YSAgaHJlZj0iLi4vcXVlcnlkYXRhL1NlYWNoQ2FyLmFzcHgiIHRpdGxlPSLpnZ7ljY%2Forq7ovabovobmn6Xor6IiPumdnuWNj%2Biurui9pui%2BhuafpeivojwvYT5kAgQPZBYCAgEPFgIfAQVqPGEgIGhyZWY9Ii4uL3F1ZXJ5ZGF0YS9Cb3hOT1NlY2guYXNweCIgdGl0bGU9IuiIueWFrOWPuOWujOiIueaVsOaNruafpeivoiI%2B6Ii55YWs5Y%2B45a6M6Ii55pWw5o2u5p%2Bl6K%2BiPC9hPmQCBQ9kFgICAQ8WAh8BBWE8YSAgaHJlZj0iLi4vcXVlcnlkYXRhL1NlYUludmVudG9yeVNlYXJjaC5hc3B4IiB0aXRsZT0i5Lit5rW36KOF566x5riF5Y2VIj7kuK3mtbfoo4XnrrHmuIXljZU8L2E%2BZAIGD2QWAgIBDxYCHwEFTTxhICBocmVmPSIuLi9xdWVyeWRhdGEvU2hpcFNlYXJjaC5hc3B4IiB0aXRsZT0i5pW06Ii55p%2Bl6K%2BiIj7mlbToiLnmn6Xor6I8L2E%2BZAIFD2QWBAIBDxYCHwEFYjxhICBocmVmPSIuLi8uLi9uZXdzL21haW5pdGVtLmFzcHg%2Fc2lkPTIwMTMxMTE4MDg1MDAyNDM3Mzk5IiB0aXRsZT0i6IGU57O75oiR5LusIj7ogZTns7vmiJHku6w8L2E%2BZAIDDxYCHwACARYCZg9kFgICAQ8WAh8BBV88YSAgaHJlZj0iLi4vTmV3cy9tYWluaXRlbS5hc3B4P3NpZD0yMDEzMTExODA4NTAwMjQzNzM5OSIgdGl0bGU9IuiBlOezu%2BaWueW8jyI%2B6IGU57O75pa55byPPC9hPmRkLxB67o1TuQQcQXH5d3De4ByiivYg%2Fk0SLZHllQRzSEY%3D&ctl00%24Maincontent%24txtBillNo=COSU6144610680&ctl00%24Maincontent%24btnSearch=%E6%9F%A5%E8%AF%A2",
|
|
|
#endregion
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
viewstatehtml = "__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24Maincontent%24txtBillNo=" + mblno + "&ctl00%24Maincontent%24btnSearch=%E6%9F%A5%E8%AF%A2";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;// "wglwgtsjsbz3l2jp34vtxyyg";
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.szx.net.cn/querydata/billquerysearch.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://www.szx.net.cn/querydata/billquerysearch.aspx",//“http:///www.szx.net.cn/Default.aspx”
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.szx.net.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Cookie = mycookie,
|
|
|
|
|
|
//2016-12-13 重新从网站获取Postdata配置信息
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
var viewdatahtml = GetDataHtmlList(datahtml, "value=", "/>");
|
|
|
datahtml=datahtml.Replace(viewdatahtml,"");
|
|
|
datahtml = datahtml.Replace("App_Themes/GridView/StyleSheet.css", "http://www.szx.net.cn/App_Themes/GridView/StyleSheet.css");
|
|
|
datahtml = datahtml.Replace("images/main.css", "http://www.szx.net.cn/images/main.css");
|
|
|
datahtml = datahtml.Replace("images/GridView.css", "http://www.szx.net.cn/images/GridView.css");
|
|
|
datahtml = datahtml.Replace("display: none;", "");//需求编号:SR2017061200010
|
|
|
result.Data = datahtml;
|
|
|
return result;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml3 = GetDataHtmlList(resulthtml.Html, "tbMainData", "</table>");
|
|
|
if (datahtml3 != "")
|
|
|
{
|
|
|
#region 船名航次信息
|
|
|
var i = 1;
|
|
|
while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml3.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1 && recdatastr.IndexOf("暂无相关数据") < 0)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("<td>") + 4);
|
|
|
fielddatastr = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
data.VESSEL = fielddatastr.Substring(0, fielddatastr.IndexOf("/")).Trim();
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList3.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "实际装货信息", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 实际装货信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr.IndexOf("合计") > -1 || fielddatastr.IndexOf("暂无相关数据") > -1)
|
|
|
{
|
|
|
istrue = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
istrue = true;
|
|
|
|
|
|
};
|
|
|
}
|
|
|
if (fieldno == 2 && istrue)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
foreach (var enumValue in bodyList3)
|
|
|
{
|
|
|
data.VESSEL = enumValue.VESSEL;
|
|
|
data.VOYNO = enumValue.VOYNO;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 3 && istrue)
|
|
|
{
|
|
|
ctnall = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
}
|
|
|
if (fieldno == 4 && istrue)
|
|
|
{
|
|
|
data.CTNALL = ctnall + fielddatastr.Trim().Replace("\r\n", "");
|
|
|
}
|
|
|
if (fieldno == 5 && istrue)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
}
|
|
|
if (fieldno == 6 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 9 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
if (bodyList.Count==0)
|
|
|
{
|
|
|
bodyList = bodyList3;
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 港湾场站//QJEAHDM108717728//需求编号:SR2017041200002
|
|
|
static public DBResult GetGANGWANCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qdglhwl.com/querydata/BillquerySearchOld.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qdglhwl.com",
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
|
ContentType = "text/html; charset=utf-8",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//正则匹配__VIEWSTATE和__EVENTVALIDATION
|
|
|
Regex reg = new Regex("(?<=<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\").*(?=\" />)");
|
|
|
var viewstatehtml = "__VIEWSTATE=" + reg.Match(resulthtml.Html).Value;
|
|
|
|
|
|
reg = new Regex("(?<=<input type=\"hidden\" name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\" value=\").*(?=\" />)");
|
|
|
viewstatehtml += "&__EVENTVALIDATION=" + reg.Match(resulthtml.Html).Value;
|
|
|
viewstatehtml += "&ctl00$Maincontent$txtBillNo=" + mblno;
|
|
|
viewstatehtml += "&ctl00$Maincontent$btnSearch=查询";
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B").Replace("/", "%2F");
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
#region 抓取页面
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qdglhwl.com/querydata/BillquerySearchOld.aspx",//URL这里都是测试 必需项
|
|
|
Encoding =null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qdglhwl.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = viewstatehtml,
|
|
|
Method = "Post",//URL 可选项 默认为Get
|
|
|
Cookie = mycookie
|
|
|
};
|
|
|
#endregion
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("css/StyleSheet.css", "http://www.sd.sinotrans.com/sdweb/HomePage/CntrYardQuery/css/StyleSheet.css");
|
|
|
datahtml = datahtml.Replace("../../App_Themes/HomePage/HomePage.css", "http://www.sd.sinotrans.com/sdweb/App_Themes/HomePage/HomePage.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//正则匹配
|
|
|
//获取船名/航次
|
|
|
reg = new Regex(@"<table\s*id=\""tbMainData\""(.|\n)*?</table>");//匹配表格 #tbZHXX
|
|
|
var headhtml = reg.Match(resulthtml.Html).Value;
|
|
|
|
|
|
reg = new Regex(@"<tr\s*class=\""GridCommonItem\""(.|\n)*?</tr>");//匹配数据行 .GridCommonItem
|
|
|
headhtml = reg.Match(headhtml).Value;
|
|
|
|
|
|
headhtml = new Regex(@"(?<=tr)\s*(\w*=\""[\w:#%-;\s_]*\""\s*)*").Replace(headhtml, "");
|
|
|
headhtml = new Regex(@" +|[\r\n\s]*").Replace(headhtml, "");//去掉 nbsp;、换行、空白和回车符
|
|
|
var trhList = headhtml.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
var tdhList = trhList.Count > 0 ? trhList[0].Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries).ToList() : new List<string>();//按td分组
|
|
|
|
|
|
//获取数据
|
|
|
|
|
|
reg = new Regex(@"<table\s*id=\""tbZHXX\""(.|\n)*?</table>");//匹配表格 #tbZHXX
|
|
|
var datahtml = reg.Match(resulthtml.Html).Value;
|
|
|
|
|
|
reg = new Regex(@"(<tr\s*class=\""GridCommonItem\""(.|\n)*?</tr>[\s\r\n]*)+");//匹配数据行 .GridCommonItem
|
|
|
datahtml = reg.Match(datahtml).Value;
|
|
|
|
|
|
datahtml = new Regex(@"(?<=tr)\s*(\w*=\""[\w:#%-;\s_]*\""\s*)*").Replace(datahtml, "");
|
|
|
datahtml = new Regex(@" +|[\r\n\s]*").Replace(datahtml, "");//去掉 nbsp;、换行、空白和回车符
|
|
|
var trList = datahtml.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
foreach (var obj in trList)
|
|
|
{
|
|
|
var tdList = obj.Split(new string[] { "<td>", "</td>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按td分组
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.CNTRNO = tdList[1];//箱号
|
|
|
data.CBM = Convert.ToDecimal(tdList[7]);//尺寸
|
|
|
// data.KINDPKGS = tdList[6];
|
|
|
data.CTNALL = tdList[2] + tdList[3];//尺寸+箱型(箱型)
|
|
|
data.KGS = Convert.ToDecimal(tdList[6]); //毛重
|
|
|
data.PKGS = Convert.ToInt32(tdList[5]); //件数
|
|
|
data.VESSEL = tdhList.Count > 0 ? tdhList[0] : "";
|
|
|
data.VESSEL = data.VESSEL.Split('/')[0];
|
|
|
data.VOYNO = tdhList.Count > 0 ? tdhList[1] : "";
|
|
|
data.SEALNO = tdList[4];
|
|
|
//data.TAREWEIGHT = Convert.ToDecimal(tdList[7]); //箱皮重
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
var bodyListPi = new List<MsOpSeaeDetail>();
|
|
|
if (true)
|
|
|
{
|
|
|
//取箱货动态数据
|
|
|
reg = new Regex(@"<table\s*id=\""tbXhdt\""(.|\n)*?</table>");//匹配表格 #tbZHXX
|
|
|
var datahtml2 = reg.Match(resulthtml.Html).Value;
|
|
|
|
|
|
reg = new Regex(@"(<tr\s*class=\""GridCommonItem\""(.|\n)*?</tr>[\s\r\n]*)+");//匹配数据行 .GridCommonItem
|
|
|
datahtml2 = reg.Match(datahtml2).Value;
|
|
|
|
|
|
datahtml2 = new Regex(@"(?<=tr)\s*(\w*=\""[\w:#%-;\s_]*\""\s*)*").Replace(datahtml2, "");
|
|
|
datahtml2 = new Regex(@" +|[\r\n\s]*").Replace(datahtml2, "");//去掉 nbsp;、换行、空白和回车符
|
|
|
var trList2 = datahtml2.Split(new string[] { "<tr>", "</tr>" }, StringSplitOptions.RemoveEmptyEntries).ToList();//按tr分组
|
|
|
foreach (var obj in trList2)
|
|
|
{
|
|
|
var tdList2 = obj.Split(new string[] { "</td><td>" }, StringSplitOptions.None).ToList();//按td分组
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
data.CNTRNO = tdList2[0].Replace("<td>", "");//箱号
|
|
|
//data.CBM = Convert.ToDecimal(tdList2[7]);//尺寸
|
|
|
// data.KINDPKGS = tdList[6];
|
|
|
data.CTNALL = tdList2[2] + tdList2[1];//尺寸+箱型(箱型)
|
|
|
//data.KGS = Convert.ToDecimal(tdList2[6]); //毛重
|
|
|
//data.PKGS = Convert.ToInt32(tdList2[5]); //件数
|
|
|
data.VESSEL = tdhList.Count > 0 ? tdhList[0] : "";
|
|
|
data.VESSEL = data.VESSEL.Split('/')[0];
|
|
|
data.VOYNO = tdhList.Count > 0 ? tdhList[1] : "";
|
|
|
data.SEALNO = tdList2[3];
|
|
|
data.TAREWEIGHT = Convert.ToDecimal(tdList2[8]); //箱皮重
|
|
|
bodyListPi.Add(data);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//merge
|
|
|
foreach (var m in bodyList)
|
|
|
{
|
|
|
foreach (var p in bodyListPi)
|
|
|
{
|
|
|
if (m.CNTRNO == p.CNTRNO)
|
|
|
{
|
|
|
m.TAREWEIGHT = p.TAREWEIGHT;
|
|
|
if (m.SEALNO == "" || m.SEALNO == null)
|
|
|
{
|
|
|
m.SEALNO = p.SEALNO;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (bodyList.Count == 0)
|
|
|
{
|
|
|
bodyList = bodyListPi;
|
|
|
}
|
|
|
result.Data = bodyList.ToList();
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion`
|
|
|
|
|
|
#region 新霸达场站//FQMSP90141//船名航次为中文,提取时需要从船名航次表中提取英文数据,没有则显示中文船名
|
|
|
static public DBResult GetXINBADACTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
// var datahtml = MsGetQingdaoPortDAL.GetHtmlData2("http://www.qingdaoportec.net/spcll/spclltdList.action", "btnQueryBill=&tdh=" + mblno);
|
|
|
// if (isweb == true)
|
|
|
// {
|
|
|
// datahtml = datahtml.Replace("/spcll/style.css", "http://www.qingdaoportec.net/spcll/style.css");
|
|
|
// datahtml = datahtml.Replace("/spcll/layout.css", "http://www.qingdaoportec.net/spcll/layout.css");
|
|
|
// datahtml = datahtml.Replace("/spcll/maxheight.js", "http://www.qingdaoportec.net/spcll/maxheight.js");
|
|
|
// datahtml = datahtml.Replace("/gxcz/common/css/Style.css", "http://www.qingdaoportec.net/gxcz/common/css/Style.css");
|
|
|
// datahtml = datahtml.Replace("/gxcz/common/css/Styletit.css", "http://www.qingdaoportec.net/gxcz/common/css/Styletit.css");
|
|
|
// result.Data = datahtml;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// var datahtml3 = GetDataHtmlList(datahtml, "订舱信息", "</table>");
|
|
|
// if (datahtml3 != "")
|
|
|
// {
|
|
|
// #region 订舱信息
|
|
|
// var i = 1;
|
|
|
// while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml3.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
// datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("</a>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// }
|
|
|
// data.VESSEL = fielddatastr;
|
|
|
// T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
// string sVESSEL = T_ALL_DA.GetStrSQL("VESSEL", "select top 1 isnull(VESSEL,'') as VESSEL from code_vessel where CNAME='" + data.VESSEL.ToString().Trim() + "'");
|
|
|
// data.VESSEL = (sVESSEL == "" ? data.VESSEL.ToString().Trim() : sVESSEL);
|
|
|
// }
|
|
|
// else if (fieldno == 2)
|
|
|
// {
|
|
|
// data.VOYNO = fielddatastr;
|
|
|
// }
|
|
|
// data.KGS = 0; //毛重
|
|
|
// data.PKGS = 0; //件数
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList3.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
|
|
|
// var datahtml2 = GetDataHtmlList(datahtml, "集货动态", "</table>");
|
|
|
// if (datahtml2 != "")
|
|
|
// {
|
|
|
// #region 集货动态
|
|
|
// var i = 1;
|
|
|
// var ctnall = "";
|
|
|
// while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("</a>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// }
|
|
|
// data.CNTRNO = fielddatastr;
|
|
|
// foreach (var enumValue in bodyList3)
|
|
|
// {
|
|
|
// data.VESSEL = enumValue.VESSEL;
|
|
|
// data.VOYNO = enumValue.VOYNO;
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 2)
|
|
|
// {
|
|
|
// ctnall = fielddatastr;//尺码
|
|
|
// }
|
|
|
// else if (fieldno == 3)
|
|
|
// {
|
|
|
// data.CTNALL = ctnall + fielddatastr;//表现形式
|
|
|
// }
|
|
|
// else if (fieldno == 5)
|
|
|
// {
|
|
|
// data.SEALNO = fielddatastr;//铅封号
|
|
|
// }
|
|
|
// else if (fieldno == 4)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.TAREWEIGHT = Convert.ToDecimal(fielddatastr); //箱皮重
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.TAREWEIGHT = 0; //箱皮重
|
|
|
// }
|
|
|
// }
|
|
|
// data.KGS = 0; //毛重
|
|
|
// data.PKGS = 0; //件数
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
|
|
|
// datahtml2 = GetDataHtmlList(datahtml, "实际装货信息", "</table>");
|
|
|
// if (datahtml2 != "")
|
|
|
// {
|
|
|
// #region 实际装货信息
|
|
|
// var i = 1;
|
|
|
// while (datahtml2.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml2.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml2.Substring(0, datalength + 5);
|
|
|
// datahtml2 = datahtml2.Substring(datalength + 5, datahtml2.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// if (fielddatastr.IndexOf("</td>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// }
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("</a>") > -1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</a>"), 4);
|
|
|
// }
|
|
|
// data.CNTRNO = fielddatastr;
|
|
|
// foreach (var enumValue in bodyList3)
|
|
|
// {
|
|
|
// data.VESSEL = enumValue.VESSEL;
|
|
|
// data.VOYNO = enumValue.VOYNO;
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 3)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.PKGS = Convert.ToInt32(fielddatastr); //件数
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.PKGS = 0; //件数
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 4)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.KGS = Convert.ToDecimal(fielddatastr); //毛重=整箱重-箱皮重
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.KGS = 0; //毛重
|
|
|
// }
|
|
|
// }
|
|
|
// else if (fieldno == 5)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.CBM = 0; //毛重
|
|
|
// }
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
|
|
|
// if (bodyList.Count == 0)
|
|
|
// {
|
|
|
// bodyList = bodyList3;
|
|
|
// }
|
|
|
// bodyList = SumBodyList(bodyList);
|
|
|
// result.Data = bodyList.ToList();
|
|
|
// }
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
//}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛前湾QQCT场站//无船名航次信息//2017-01-24因网址变更,页面格式变更等原因,需要重新解析提取此网站信息
|
|
|
static public DBResult GetQQCTCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
//http:///www.qqct.com.cn/dpcxList.jsp
|
|
|
URL = "http://www.qqct.com.cn/cn/yewuxinxi_02_02.aspx?Panel=13¶mstr=strMTJCKHW%3d" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = Encoding.UTF8,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qqct.com.cn",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("css_js/cnnetstars.css", "http://www.qqct.com.cn/css_js/cnnetstars.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "tableGrid", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 只有一个Table信息
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var ctnall = "";
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 3)
|
|
|
{
|
|
|
data.SEALNO = "";
|
|
|
}
|
|
|
else if (fieldno == 5)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr;
|
|
|
}
|
|
|
else if (fieldno == 11)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
data.PKGS = 0;
|
|
|
data.CBM = 0;
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛润海场站(只有一个Table且只有件重尺)//NGTAO02000614JP
|
|
|
static public DBResult GetRUNHAICTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qingdaoportec.net/rhtdList.action?billNo=" + mblno,//URL这里都是测试 必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "www.qingdaoportec.net",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "text/html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("/rh/common/css/css.css", "http://www.qingdaoportec.net/rh/common/css/css.css");
|
|
|
datahtml = datahtml.Replace("/rh/common/js/sw.js", "http://www.qingdaoportec.net/rh/common/js/sw.js");
|
|
|
datahtml = datahtml.Replace("/common/js/jquery.js", "http://www.qingdaoportec.net/common/js/jquery.js");
|
|
|
datahtml = datahtml.Replace("/jsp/authImg.jsp", "http://www.qingdaoportec.net/jsp/authImg.jsp");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//var datahtml = GetDataHtmlList(resulthtml.Html, "tableGrid", "</table>");
|
|
|
var datahtml = resulthtml.Html;
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
#region 只有一个Table信息
|
|
|
var htmllength = datahtml.Length;
|
|
|
var startstr = "船名";
|
|
|
var startindex = datahtml.IndexOf(startstr) - 200;
|
|
|
datahtml = datahtml.Substring(startindex + startstr.Length, htmllength - startindex - startstr.Length);
|
|
|
var startindex2 = datahtml.IndexOf("</table>");
|
|
|
if (startindex2 != -1 && startindex2 != 0)
|
|
|
{
|
|
|
datahtml = datahtml.Substring(0, startindex2);
|
|
|
}
|
|
|
//
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr>") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
data.CNTRNO = "";
|
|
|
data.SEALNO = "";
|
|
|
data.CTNALL = "";
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
data.VESSEL = fielddatastr;
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
string sVESSEL = T_ALL_DA.GetStrSQL("VESSEL", "select top 1 isnull(VESSEL,'') as VESSEL from code_vessel where CNAME='" + data.VESSEL.ToString().Trim() + "'");
|
|
|
data.VESSEL = (sVESSEL == "" ? data.VESSEL.ToString().Trim() : sVESSEL);
|
|
|
}
|
|
|
if (fieldno == 2)
|
|
|
{
|
|
|
data.VOYNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 5)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 6)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.CBM = 0;
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
//
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 中外运集装箱运输有限公司//SNL7XGJL166056天津箱运//SNL7DLJL226035大连//http://ebusiness.sinolines.com/snlebusiness/TrackingByBlno.aspx
|
|
|
static public DBResult GetZhongWaiYunCTNList(string mblno, string bsno, bool isweb = false)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//var bodyList3 = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
// //<input name="ValidateImageButton" id="ValidateImageButton" type="image" src="ValidateImage.aspx">
|
|
|
// //验证码图片http://ebusiness.sinolines.com/snlebusiness/ValidateImage.aspx
|
|
|
|
|
|
// #region 提取页面
|
|
|
// var outcodestr = MsGetZhongWaiYunDAL.GetHtmlData("http://ebusiness.sinolines.com/snlebusiness/TrackingByBlno.aspx", mblno);
|
|
|
// HttpHelper http = new HttpHelper();
|
|
|
// HttpItem item = new HttpItem()
|
|
|
// {
|
|
|
// URL = "http://ebusiness.sinolines.com/snlebusiness/TrackingByBlno.aspx",//URL这里都是测试 必需项
|
|
|
// Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "ebusiness.sinolines.com",
|
|
|
// UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
|
// Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
// ContentType = "application/x-www-form-urlencoded",
|
|
|
// Method = "get",//URL 可选项 默认为Get
|
|
|
// };
|
|
|
// HttpResult resulthtml = http.GetHtml(item);
|
|
|
// //
|
|
|
// var viewstatehtml = resulthtml.Html;
|
|
|
// viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
// viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
|
|
|
// viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
|
|
|
// viewstatehtml = "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE="//%2F
|
|
|
// + viewstatehtml + "&dl_seltype=blno&TbBlno=" + mblno + "&ValidateCodeTXT=" + outcodestr + "&BlnoListRetrieveBT=%E6%9F%A5%E8%AF%A2";
|
|
|
// viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
// viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
// var mycookie = resulthtml.Cookie;// "pbzqi4fkorcw5fdgw05rispd";
|
|
|
// item = new HttpItem()
|
|
|
// {
|
|
|
// URL = "http://ebusiness.sinolines.com/snlebusiness/TrackingByBlno.aspx",//URL这里都是测试 必需项
|
|
|
// Referer = "http://ebusiness.sinolines.com/snlebusiness/TrackingByBlno.aspx",//“http:///www.szx.net.cn/Default.aspx”
|
|
|
// Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "ebusiness.sinolines.com",
|
|
|
// UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
|
// Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
// ContentType = "application/x-www-form-urlencoded",
|
|
|
// Cookie = mycookie,
|
|
|
|
|
|
// Postdata = viewstatehtml,
|
|
|
// Method = "POST",//URL 可选项 默认为Get
|
|
|
// };
|
|
|
// #endregion
|
|
|
// resulthtml = http.GetHtml(item);
|
|
|
// if (isweb == true)
|
|
|
// {
|
|
|
// var datahtml = resulthtml.Html;
|
|
|
// datahtml = datahtml.Replace("App_Themes/GridView/StyleSheet.css", "http://ebusiness.sinolines.com/snlebusiness/jQuery-Autocomplete-Port/content/styles.css");
|
|
|
// datahtml = datahtml.Replace("images/main.css", "http://ebusiness.sinolines.com/snlebusiness/SnlStyles/menu.css");
|
|
|
// datahtml = datahtml.Replace("images/GridView.css", "http://ebusiness.sinolines.com/snlebusiness/SnlStyles/commonctrls.css");
|
|
|
// result.Data = datahtml;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// var datahtml3 = GetDataHtmlList(resulthtml.Html, "tbMainData", "</table>");
|
|
|
// if (datahtml3 != "")
|
|
|
// {
|
|
|
// #region 船名航次信息
|
|
|
// var i = 1;
|
|
|
// while (datahtml3.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml3.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml3.Substring(0, datalength + 5);
|
|
|
// datahtml3 = datahtml3.Substring(datalength + 5, datahtml3.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// if (i != 1 && recdatastr.IndexOf("暂无相关数据") < 0)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf("<td>") + 4);
|
|
|
// fielddatastr = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// data.VESSEL = fielddatastr.Substring(0, fielddatastr.IndexOf("/")).Trim();
|
|
|
// }
|
|
|
// if (fieldno == 2)
|
|
|
// {
|
|
|
// data.VOYNO = fielddatastr;
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// bodyList3.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
// //
|
|
|
// var datahtml = GetDataHtmlList(resulthtml.Html, "实际装货信息", "</table>");
|
|
|
// if (datahtml != "")
|
|
|
// {
|
|
|
// #region 实际装货信息
|
|
|
// var i = 1;
|
|
|
// while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
// datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// var fieldno = 1;
|
|
|
// var istrue = false;
|
|
|
// var ctnall = "";
|
|
|
// if (i != 1)
|
|
|
// {
|
|
|
// MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
// data.BSNO = bsno;//业务编号
|
|
|
// data.CTNNUM = 1;//箱量
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr.IndexOf("合计") > -1 || fielddatastr.IndexOf("暂无相关数据") > -1)
|
|
|
// {
|
|
|
// istrue = false;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// istrue = true;
|
|
|
|
|
|
// };
|
|
|
// }
|
|
|
// if (fieldno == 2 && istrue)
|
|
|
// {
|
|
|
// data.CNTRNO = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
// foreach (var enumValue in bodyList3)
|
|
|
// {
|
|
|
// data.VESSEL = enumValue.VESSEL;
|
|
|
// data.VOYNO = enumValue.VOYNO;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 3 && istrue)
|
|
|
// {
|
|
|
// ctnall = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
// }
|
|
|
// if (fieldno == 4 && istrue)
|
|
|
// {
|
|
|
// data.CTNALL = ctnall + fielddatastr.Trim().Replace("\r\n", "");
|
|
|
// }
|
|
|
// if (fieldno == 5 && istrue)
|
|
|
// {
|
|
|
// data.SEALNO = fielddatastr.Trim().Replace("\r\n", "");
|
|
|
// }
|
|
|
// if (fieldno == 6 && istrue)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.PKGS = 0;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 8 && istrue)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// data.KGS = 0;
|
|
|
// }
|
|
|
// }
|
|
|
// if (fieldno == 9 && istrue)
|
|
|
// {
|
|
|
// try
|
|
|
// {
|
|
|
// data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
|
|
|
// }
|
|
|
// }
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// if (istrue)
|
|
|
// bodyList.Add(data);
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
// #endregion
|
|
|
// }
|
|
|
// if (bodyList.Count == 0)
|
|
|
// {
|
|
|
// bodyList = bodyList3;
|
|
|
// }
|
|
|
// bodyList = SumBodyList(bodyList);
|
|
|
// result.Data = bodyList.ToList();
|
|
|
// }
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
//}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛克/客运场站(未完成,抓取页面总是抓取到跳转的错误页面)//A240013048
|
|
|
static public DBResult GetKEYUNCTNList ( string mblno, string bsno, bool isweb = false )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://124.129.1.67:8088/Login.aspx",//URL这里都是测试 必需项
|
|
|
Encoding = Encoding.UTF8,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "124.129.1.67:8088",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
ContentType = "text/html; charset=utf-8",
|
|
|
Cookie = "ASP.NET_SessionId=tj4yjy452sa2w555kxyjw2m3",//oanzqr2c1klvi0iuuykktmbo
|
|
|
|
|
|
//Postdata = "__EVENTTARGET=LBUserPublicLogin&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUJMzM2ODg0ODc1D2QWAgIDD2QWBAIBD2QWAmYPZBYGAgEPDxYCHgRUZXh0BQvnlKjmiLflkI0gOmRkAgUPDxYCHwAFB%2BWvhueggTpkZAIJDw8WAh8ABQbnmbvlvZVkZAIDDw8WAh8ABRjlhazlhbHmn6Xor6LotKbmiLfpk77mjqVkZGQ%3D&Login1%24UserName=&Login1%24Password=&__EVENTVALIDATION=%2FwEWBgLPqq6lDQKUvNa1DwL666vYDAKnz4ybCALFsbreBgKP3dSIBA%3D%3D",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var viewstatehtml = resulthtml.Html;
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "__VIEWSTATE", "/>");
|
|
|
viewstatehtml = viewstatehtml.Replace("\"", "");
|
|
|
viewstatehtml = GetDataHtmlList(viewstatehtml, "/", "/>").Trim();
|
|
|
|
|
|
var _eventvalidation = resulthtml.Html;
|
|
|
_eventvalidation = GetDataHtmlList(_eventvalidation, "__EVENTVALIDATION", "/>");
|
|
|
_eventvalidation = _eventvalidation.Replace("\"", "");
|
|
|
_eventvalidation = GetDataHtmlList(_eventvalidation, "/", "/>").Trim();
|
|
|
|
|
|
viewstatehtml = "ctl00_TreeView1_ExpandState=enn&ctl00_TreeView1_SelectedNode=&__EVENTTARGET=&__EVENTARGUMENT=&ctl00_TreeView1_PopulateLog=&__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24ContentPlaceHolder1%24txtTDH=" + mblno + "&ctl00%24ContentPlaceHolder1%24BtnTDH=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2F" + _eventvalidation;
|
|
|
viewstatehtml = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
if (resulthtml.Cookie == null)
|
|
|
{
|
|
|
mycookie = "ASP.NET_SessionId=adu3xj55pxcznk451totjc45";
|
|
|
}
|
|
|
|
|
|
var viewstatehtml2 = "__EVENTTARGET=LBUserPublicLogin&__EVENTARGUMENT=&__VIEWSTATE=%2F" + viewstatehtml + "&Login1%24UserName=&Login1%24Password=&__EVENTVALIDATION=%2F" + _eventvalidation;
|
|
|
viewstatehtml2 = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml2 = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://124.129.1.67:8088/Login.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://124.129.1.67:8088/Login.aspx",
|
|
|
Encoding = Encoding.UTF8,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "124.129.1.67:8088",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
//2016-05-10 重新从网站获取Postdata配置信息
|
|
|
//Postdata = "__EVENTTARGET=LBUserPublicLogin&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUJMzM2ODg0ODc1D2QWAgIDD2QWBAIBD2QWAmYPZBYGAgEPDxYCHgRUZXh0BQvnlKjmiLflkI0gOmRkAgUPDxYCHwAFB%2BWvhueggTpkZAIJDw8WAh8ABQbnmbvlvZVkZAIDDw8WAh8ABRjlhazlhbHmn6Xor6LotKbmiLfpk77mjqVkZGQ%3D&Login1%24UserName=&Login1%24Password=&__EVENTVALIDATION=%2FwEWBgLPqq6lDQKUvNa1DwL666vYDAKnz4ybCALFsbreBgKP3dSIBA%3D%3D",
|
|
|
Postdata = viewstatehtml2,
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
|
|
|
//ctl00_TreeView1_ExpandState=enn&ctl00_TreeView1_SelectedNode=&__EVENTTARGET=&__EVENTARGUMENT=&ctl00_TreeView1_PopulateLog=&__VIEWSTATE=%2FwEPBRI2MzYxNzMyMTA2MzgyMDcwOTRk&ctl00%24ContentPlaceHolder1%24txtTDH=A240013048&ctl00%24ContentPlaceHolder1%24BtnTDH=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2FwEWBgKbt5qPCQKizYC%2FCwKEioq3DgKKoomnCQLPit2EBAKD%2B5mLAQ%3D%3D
|
|
|
var viewstatehtml3 = "ctl00_TreeView1_ExpandState=enn&ctl00_TreeView1_SelectedNode=&__EVENTTARGET=&__EVENTARGUMENT=&ctl00_TreeView1_PopulateLog=&__VIEWSTATE=%2F" + viewstatehtml + "&ctl00%24ContentPlaceHolder1%24txtTDH=" + mblno + "&ctl00%24ContentPlaceHolder1%24BtnTDH=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2F" + _eventvalidation;
|
|
|
viewstatehtml3 = viewstatehtml.Replace("+", "%2B");
|
|
|
viewstatehtml3 = viewstatehtml.Replace("/", "%2F");
|
|
|
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
///DefaultContent.aspx
|
|
|
///WebResource.axd?d=8Q_LYGQ3ahbLqoTw5CV0Lg1e41aTOlreKY7Iy_M1_wk1&t=635475983166250000
|
|
|
URL = "http://124.129.1.67:8088/QD_CfsExportUsualTDHInfo.aspx?DbName=",//URL这里都是测试 必需项
|
|
|
Referer = "http://124.129.1.67:8088/QD_CfsExportUsualTDHInfo.aspx?DbName=",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Cookie = mycookie,
|
|
|
Host = "124.129.1.67:8088",
|
|
|
//UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
|
|
|
//2016-05-10 重新从网站获取Postdata配置信息
|
|
|
//Postdata = viewstatehtml3,
|
|
|
Postdata = "ctl00_TreeView1_ExpandState=enn&ctl00_TreeView1_SelectedNode=&__EVENTTARGET=&__EVENTARGUMENT=&ctl00_TreeView1_PopulateLog=&__VIEWSTATE=%2FwEPBRI2MzYxNzMyMTA2MzgyMDcwOTRk&ctl00%24ContentPlaceHolder1%24txtTDH=A240013048&ctl00%24ContentPlaceHolder1%24BtnTDH=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2FwEWBgKbt5qPCQKizYC%2FCwKEioq3DgKKoomnCQLPit2EBAKD%2B5mLAQ%3D%3D",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("/App_Themes/Default/css/main.css", "http://124.129.1.67:8088/App_Themes/Default/css/main.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "ctl00_ContentPlaceHolder1_GridView4", "</table>");
|
|
|
var datahtml6 = GetDataHtmlList(resulthtml.Html, "装箱信息", "</table>");
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 4);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1)
|
|
|
{
|
|
|
|
|
|
MsOpSeaeDetail data = new MsOpSeaeDetail();
|
|
|
data.BSNO = bsno;//业务编号
|
|
|
data.CTNNUM = 1;//箱量
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == " ")
|
|
|
{
|
|
|
istrue = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
istrue = true;
|
|
|
|
|
|
};
|
|
|
}
|
|
|
if (fieldno == 3 && istrue)
|
|
|
{
|
|
|
data.CNTRNO = fielddatastr;
|
|
|
}
|
|
|
if (fieldno == 4 && istrue)
|
|
|
{
|
|
|
data.SEALNO = fielddatastr;
|
|
|
}
|
|
|
|
|
|
if (fieldno == 5 && istrue)
|
|
|
{
|
|
|
data.CTNALL = fielddatastr.Replace("'", "");
|
|
|
}
|
|
|
if (fieldno == 6 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.PKGS = Convert.ToInt32(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.PKGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 7 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.KGS = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
data.KGS = 0;
|
|
|
}
|
|
|
}
|
|
|
if (fieldno == 8 && istrue)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.CBM = Convert.ToDecimal(fielddatastr);
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
}
|
|
|
bodyList = SumBodyList(bodyList);
|
|
|
result.Data = bodyList.ToList();
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
#endregion
|
|
|
|
|
|
#region QQCT单票查询
|
|
|
static public DBResult GetQQCTBILL ( string mblno, string bsno )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
string cookie = "";
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.igenzong.com/Port/CNTAO,5,4,1/" + mblno + ".html",
|
|
|
Method = "get",//URL 可选项 默认为Get
|
|
|
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
|
|
|
Postdata = "portCode=CNTAO&businessId=5&dockId=4&pageNo=1&queryPara=" + mblno + "&url=/Port/CNTAO,5,4,1/" + mblno + ".html"
|
|
|
};
|
|
|
HttpResult result2 = http.GetHtml(item);
|
|
|
cookie = result2.Cookie;
|
|
|
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.igenzong.com/Port/TraceAjax",
|
|
|
Method = "post",//URL 可选项 默认为Get
|
|
|
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
|
|
|
Postdata = "portCode=CNTAO&businessId=5&dockId=4&pageNo=1&queryPara=" + mblno + "&url=/Port/CNTAO,5,4,1/" + mblno + ".html",
|
|
|
Cookie = cookie
|
|
|
};
|
|
|
result2 = http.GetHtml(item);
|
|
|
string html = result2.Html;
|
|
|
//JObject jo = (JObject)JsonConvert.DeserializeObject(html);
|
|
|
//html = jo["Data"].ToString();
|
|
|
|
|
|
html = html.Replace("<td>", "<td> ").Replace("</td>", " </td>");
|
|
|
result.Data = html;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region QQCTU单票查询//青岛港物流电商平台(http://www.qingdao-port.net/)PCSLQIL305161107
|
|
|
static public DBResult GetQQCTUBILL ( string mblno, string bsno )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
//result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
// var datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/qqctu/qqctuDp.jsp", "tdh=" + mblno);
|
|
|
// //while (datahtml.IndexOf("码头信息") <= 0)
|
|
|
// //{
|
|
|
// // datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/qqctu/bill_query.jsp", "tdh=" + mblno);
|
|
|
// //}
|
|
|
|
|
|
// datahtml = datahtml.Replace("/common/css/style2009.css", "http://www.qingdaoport.net/common/css/style2009.css");
|
|
|
// datahtml = datahtml.Replace("/common/css/table.css", "http://www.qingdaoport.net/common/css/table.css");
|
|
|
// datahtml = datahtml.Replace("/common/js/common.js", "http://www.qingdaoport.net/common/js/common.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/validation.js", "http://www.qingdaoport.net/common/js/validation.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/date.js", "http://www.qingdaoport.net/common/js/date.js");
|
|
|
// var i = datahtml.IndexOf("<table");
|
|
|
// var j = datahtml.IndexOf("</TBODY>\r\n</TABLE>");
|
|
|
// datahtml = datahtml.Remove(i, j + 20 - i);
|
|
|
// i = datahtml.IndexOf("<form");
|
|
|
// j = datahtml.IndexOf("</form>");
|
|
|
// datahtml = datahtml.Remove(i, j + 7 - i);
|
|
|
// result.Data = datahtml;
|
|
|
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
//}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
static public DBResult GetQQCTUBILL2(string mblno, string bsno, bool isweb = false)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeDetail>();
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://www.qingdao-port.net/page/login.do",//URL这里都是测试,必需项
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk)可选项,默认类会自动识别
|
|
|
Host = "www.qingdao-port.net",
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",//可选项,有默认值
|
|
|
ContentType = "Content-Type text/html;charset=UTF-8",
|
|
|
Method = "get",//URL,可选项 默认为Get
|
|
|
Cookie = "JSESSIONID_QDPORT=de4d9ce2-8e14-4a92-b4ff-31dcf57a58f8; SERVERID=558e5262858a0a0c35661c324250792f|1484536268|1484536002; a5320_pages=1; a5320_times=1",
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
//
|
|
|
var mycookie = resulthtml.Cookie;// "wglwgtsjsbz3l2jp34vtxyyg";
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://track.qingdao-port.net/wmdp/logistics/wmdp/queryWmdp?tdhType=ZTDH&jckType=CK&value=PCSLQIL305161107 HTTP/1.1",//URL这里都是测试 必需项
|
|
|
Referer = "http://track.qingdao-port.net/wmdp",//“http:///www.szx.net.cn/Default.aspx”
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "track.qingdao-port.net",
|
|
|
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
|
|
Accept = "application/json, text/javascript, */*; q=0.01",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded; charset=UTF-8",
|
|
|
Cookie = "JSESSIONID_QDPORT=de4d9ce2-8e14-4a92-b4ff-31dcf57a58f8; SERVERID=e184e28e2e6e6d459c41e8c1b7e3b683|1484537073|1484536994",
|
|
|
|
|
|
//2016-12-13 重新从网站获取Postdata配置信息
|
|
|
Postdata = "qtype=pc",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
if (isweb == true)
|
|
|
{
|
|
|
var datahtml = resulthtml.Html;
|
|
|
datahtml = datahtml.Replace("static/js/layer/skin/default/icon.png", "http://track.qingdao-port.net/static/js/layer/skin/default/icon.png");
|
|
|
//datahtml = datahtml.Replace("images/main.css", "http://221.215.104.14:8084/images/main.css");
|
|
|
//datahtml = datahtml.Replace("images/GridView.css", "http://221.215.104.14:8084/images/GridView.css");
|
|
|
result.Data = datahtml;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region QQCT、QQCTU海关放行查询
|
|
|
static public DBResult GetQQCTQQCTUBILL ( string mblno, string bsno )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
// //http:..www.qingdaoport.net/ywzx/qqct/dpcx/hgfx.jsp?val=140600161817&s_type=0&num=80
|
|
|
// var datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/qqct/dpcx/hgfx.jsp", "val=" + mblno + "&s_type=0");
|
|
|
// //var sss = datahtml.IndexOf("序号");
|
|
|
// //while (datahtml.IndexOf("序号") <= 0 && datahtml.IndexOf(mblno) <= 0)//海关放行信息
|
|
|
// //{
|
|
|
// // datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/qqct/dpcx/hgfx.jsp", "val=" + mblno + "&s_type=0");
|
|
|
// //}
|
|
|
// datahtml = datahtml.Replace("/common/css/style2009.css", "http://www.qingdaoport.net/common/css/style2009.css");
|
|
|
// datahtml = datahtml.Replace("/common/css/table.css", "http://www.qingdaoport.net/common/css/table.css");
|
|
|
// datahtml = datahtml.Replace("/common/js/common.js", "http://www.qingdaoport.net/common/js/common.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/validation.js", "http://www.qingdaoport.net/common/js/validation.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/date.js", "http://www.qingdaoport.net/common/js/date.js");
|
|
|
// var i = datahtml.IndexOf("<table");
|
|
|
// var j = datahtml.IndexOf("</TBODY>\r\n</TABLE>");
|
|
|
// datahtml = datahtml.Remove(i, j + 20 - i);
|
|
|
// i = datahtml.IndexOf("<form");
|
|
|
// if (i < 0)
|
|
|
// {
|
|
|
// i = datahtml.IndexOf("<FORM");
|
|
|
// }
|
|
|
// j = datahtml.IndexOf("</form>");
|
|
|
// datahtml = datahtml.Remove(i, j + 7 - i);
|
|
|
// result.Data = datahtml;
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
//}
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 青岛港单船查询
|
|
|
static public DBResult GetQDVESSEL ( string vessel, string voyno )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
//var bodyList = new List<MsOpSeaeDetail>();
|
|
|
//try
|
|
|
//{
|
|
|
|
|
|
// var datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/ship/shipcx.jsp", "vessel_name=" + vessel + "&voyage_number=" + voyno);
|
|
|
// //while (datahtml.IndexOf("码头船期信息") <= 0)
|
|
|
// //{
|
|
|
// // datahtml = MsGetQingdaoPortDAL.GetHtmlData("http://www.qingdaoport.net/ywzx/ship/shipcx.jsp", "vessel_name=" + vessel + "&voyage_number=" + voyno);
|
|
|
// //}
|
|
|
|
|
|
// datahtml = datahtml.Replace("/common/js/jQuery/jquery-1.2.1.pack.js", "http://www.qingdaoport.net/common/js/jQuery/jquery-1.2.1.pack.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/jQuery/jquery.autocomplete.js", "http://www.qingdaoport.net/common/js/jQuery/jquery.autocomplete.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/jQuery/jquery.autocomplete.css", "http://www.qingdaoport.net/common/js/jQuery/jquery.autocomplete.css");
|
|
|
// datahtml = datahtml.Replace("/common/js/common.js", "http://www.qingdaoport.net/common/js/common.js");
|
|
|
// datahtml = datahtml.Replace("/common/css/table.css", "http://www.qingdaoport.net/common/css/table.css");
|
|
|
// datahtml = datahtml.Replace("/common/js/validation.js", "http://www.qingdaoport.net/common/js/validation.js");
|
|
|
// datahtml = datahtml.Replace("/common/js/date.js", "http://www.qingdaoport.net/common/js/date.js");
|
|
|
// var i = datahtml.IndexOf("<table");
|
|
|
// var j = datahtml.IndexOf("</TBODY>\r\n</TABLE>");
|
|
|
// datahtml = datahtml.Remove(i, j + 20 - i);
|
|
|
// i = datahtml.IndexOf("<form");
|
|
|
// j = datahtml.IndexOf("</form>");
|
|
|
// datahtml = datahtml.Remove(i, j + 7 - i);
|
|
|
// result.Data = datahtml;
|
|
|
|
|
|
//}
|
|
|
//catch
|
|
|
//{
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
//}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 物流信息网报关状态
|
|
|
static public MsOpSeaeCustomStatus GetNewCustStatus ( List<MsOpSeaeCustomStatus> bodylist )
|
|
|
{
|
|
|
if (bodylist.Count == 1) return bodylist[0];
|
|
|
|
|
|
var newbody = new MsOpSeaeCustomStatus();
|
|
|
var tranbodylist = bodylist;
|
|
|
var i = 1;
|
|
|
foreach (var enumValue in bodylist)
|
|
|
{
|
|
|
var istrue = false;
|
|
|
if (i == 1) newbody = enumValue;
|
|
|
else
|
|
|
{
|
|
|
if (enumValue.ISLOADCLEAR == true && newbody.ISLOADCLEAR != true)
|
|
|
istrue = true;
|
|
|
if (enumValue.ISBILLCLEAR == true && newbody.ISBILLCLEAR != true)
|
|
|
istrue = true;
|
|
|
if (enumValue.ISCUSTOMCLEAR == true && newbody.ISCUSTOMCLEAR != true)
|
|
|
istrue = true;
|
|
|
if (istrue == false && enumValue.LOADCLEARSTR != "")
|
|
|
if (istrue == true) newbody = enumValue;
|
|
|
|
|
|
}
|
|
|
|
|
|
i = i + 1;
|
|
|
}
|
|
|
|
|
|
return newbody;
|
|
|
}
|
|
|
|
|
|
//static public DBResult Get56CDCSTATUSList(string mblno, string bsno)
|
|
|
//{
|
|
|
// var result = new DBResult();
|
|
|
// result.Success = true;
|
|
|
// var bodyList = new List<MsOpSeaeCustomStatus>();
|
|
|
|
|
|
// try
|
|
|
// {
|
|
|
|
|
|
// HttpHelper http = new HttpHelper();
|
|
|
// HttpItem item = new HttpItem()
|
|
|
// {
|
|
|
// URL = "http://cdp.qdcdc.com/CDP/Login.aspx",//URL这里都是测试 必需项
|
|
|
// Referer = "http://cdp.qdcdc.com/CDP/Login.aspx",
|
|
|
// Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "56.qdcdc.com",
|
|
|
// UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
// Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
// ContentType = "application/x-www-form-urlencoded",
|
|
|
// Postdata = "__VIEWSTATE=%2FwEPDwULLTE2NDY3NDYxOTEPFgIeCWF1dGhMZXZlbAIBZGQFDBMiaM5jeSqYOP96II7WoW0oyc%2BSfvVv%2FGIrZ%2FP5bg%3D%3D&__EVENTVALIDATION=%2FwEWAgLO2Kj0DALLr40TnsCiM32qLiMK44G5moITtUwkOOjKlsY5RQB7pzBatDk%3D&user_name=user1&password=88888888&hdSuccess=true",
|
|
|
|
|
|
|
|
|
|
|
|
// Method = "POST",//URL 可选项 默认为Get
|
|
|
// };
|
|
|
// HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
// var mycookie = resulthtml.Cookie;
|
|
|
|
|
|
|
|
|
// http = new HttpHelper();
|
|
|
// item = new HttpItem()
|
|
|
// {
|
|
|
// URL = "http://cdp.qdcdc.com/CDP/MftQuery/BillExportQuery.aspx",//URL这里都是测试 必需项
|
|
|
// Referer = "http://cdp.qdcdc.com/CDP/MftQuery/BillExportQuery.aspx",
|
|
|
// Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
// Host = "cdp.qdcdc.com",
|
|
|
// Cookie = mycookie,
|
|
|
// UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
// Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
// ContentType = "application/x-www-form-urlencoded",
|
|
|
// Postdata = "__VIEWSTATE=%2FwEPDwUKLTExMzU1MTk4OGRktjQbcTwrtROJIB0DnKW%2FD24wHlo1MdO2yN13vwaX7GI%3D"
|
|
|
// + "&__EVENTVALIDATION=%2FwEWGAK%2FttbiCQKj%2B6LoDwLooeTACQLu%2F%2Fi7CwLa9PCNDgLp7r6qDgLblJqhCgLV3JG"
|
|
|
// + "HCALkwOjWBQLD2Y%2F%2FAwKYnc6YDwLJ7LFVAuDmrTwCvf3v3AcCluH%2BPgKs37SpCwKqgp2pDQLZ1tnQDQLol%2BuuCQL"
|
|
|
// + "T4ZKcAQKklPGiDwLB043aDwLAkeEVAoba9d8KBTCeVFBSa01eOoxl%2FjKz%2Fc7CpJUHsEtTic89nJEP3hM%3D&txtIMO="
|
|
|
// + "&txtTransportName=&txtVoyageNo=&txtBillNo=" + mblno + "&LinkButtonQuery=%E6%9F%A5%E8%AF%A2&hdSelectRow="
|
|
|
// + "&hdData=&hdCols=%E5%BA%8F%E5%8F%B7%2C%E5%87%BA%E5%8F%A3%E6%8F%90%E5%8D%95%E5%8F%B7%2C%E8%BF%90%E8%BE"
|
|
|
// + "%93%E5%B7%A5%E5%85%B7%E4%BF%A1%E6%81%AF%2C%E6%80%BB%E5%8D%95%2F%E5%88%86%E5%8D%95%2C%E9%A2%84%E9%85%"
|
|
|
// + "8D%E8%88%B1%E5%8D%95%2C%E5%87%BA%E5%8F%A3%E8%BF%90%E6%8A%B5%E6%8A%A5%E5%91%8A%2C%E8%90%BD%E8%B4%A7%E"
|
|
|
// + "6%94%B9%E9%85%8D%E7%8A%B6%E6%80%81%2C%E5%87%BA%E5%8F%A3%E8%A3%85%E8%BD%BD%2C%E5%87%BA%E5%8F%A3%E7%90"
|
|
|
// + "%86%E8%B4%A7%2C%E5%87%BA%E5%8F%A3%E6%8A%A5%E5%85%B3%E7%8A%B6%E6%80%81%2C%E6%8F%90%E5%8D%95%E6%94%BE%"
|
|
|
// + "E8%A1%8C%2C%E8%BD%AC%E5%8F%91%E7%8A%B6%E6%80%81&hdChildHide=&hdColsHide=&hdColSpan=%E6%8F%90%E5%8D%95"
|
|
|
// + "%E5%8F%B7&hdMutiQuery=&hdReturnResult=&hdLoadMarkText=&hdArrivalMarkText=&hdEmptyResult=&hdTalMarkText=&hdBillRelStatus=",
|
|
|
// Method = "POST",//URL 可选项 默认为Get
|
|
|
// };
|
|
|
|
|
|
|
|
|
// resulthtml = http.GetHtml(item);
|
|
|
// resulthtml.Html = resulthtml.Html.Replace("../Css/NewMftQueryStyle.css", "http://56.qdcdc.com/cnm/Css/NewMftQueryStyle.css");
|
|
|
// result.Data = resulthtml.Html;
|
|
|
|
|
|
// var datahtml = GetDataHtmlList(resulthtml.Html, "id=\"tbData\"", "</table>");
|
|
|
// datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
// datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
// if (datahtml != "")
|
|
|
// {
|
|
|
// var i = 1;
|
|
|
// while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
// {
|
|
|
// var datalength = datahtml.IndexOf("</tr>");
|
|
|
// var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
// datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
// recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
// recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
// recdatastr = recdatastr.Replace(" ", "");
|
|
|
// recdatastr = recdatastr.Replace("/r/n ", "");
|
|
|
// var fieldno = 1;
|
|
|
// var istrue = false;
|
|
|
// if (i != 1 && i != 2 && (recdatastr.Length > 40))
|
|
|
// {
|
|
|
|
|
|
// MsOpSeaeCustomStatus data = new MsOpSeaeCustomStatus();
|
|
|
// while (recdatastr.IndexOf("<td") >= 0)
|
|
|
// {
|
|
|
// var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
// var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
// recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
// fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
// fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
// if (fieldno == 1)
|
|
|
// {
|
|
|
// fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
// if (fielddatastr == "合计:" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
// }
|
|
|
// if (fieldno == 11)
|
|
|
// {
|
|
|
// data.PREPAREDSTR = fielddatastr;//箱号
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (fieldno == 12)
|
|
|
// {
|
|
|
// if (fielddatastr.IndexOf("接受申报") >= 0)
|
|
|
// data.ISPREPARED = true;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 13)
|
|
|
// {
|
|
|
// data.ARRIVALSTR = fielddatastr;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 14)
|
|
|
// {
|
|
|
// if (fielddatastr.IndexOf("运抵正常") >= 0)
|
|
|
// data.ISARRIVAL = true;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 15)
|
|
|
// {
|
|
|
// if (fielddatastr.IndexOf("单证放行") >= 0)
|
|
|
// {
|
|
|
// data.ISCUSTOMCLEAR = true;//箱号
|
|
|
// data.CUSTOMCLEARSTR = fielddatastr.Replace("单证放行", "");
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 16)
|
|
|
// {
|
|
|
// data.BILLCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 17)
|
|
|
// {
|
|
|
// if (fielddatastr.IndexOf("已放行") >= 0)
|
|
|
// data.ISBILLCLEAR = true;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 19)
|
|
|
// {
|
|
|
// data.LOADCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
// }
|
|
|
// if (fieldno == 20)
|
|
|
// {
|
|
|
// if (fielddatastr.IndexOf("同意装载") >= 0)
|
|
|
// data.ISLOADCLEAR = true;//箱号
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
// fieldno = fieldno + 1;
|
|
|
// }
|
|
|
// if (istrue)
|
|
|
// bodyList.Add(data);
|
|
|
|
|
|
// }
|
|
|
// i = i + 1;
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (bodyList.Count != 0)
|
|
|
// {
|
|
|
|
|
|
// Database db = DatabaseFactory.CreateDatabase();
|
|
|
// using (var conn = db.CreateConnection())
|
|
|
// {
|
|
|
// conn.Open();
|
|
|
|
|
|
// var strSql = new StringBuilder();
|
|
|
// strSql.Append("update op_seae set MANIFESTSTATUS=@MANIFESTSTATUS ");
|
|
|
|
|
|
// strSql.Append(" where BSNO=@BSNO ");
|
|
|
|
|
|
|
|
|
// var cmdupdate =
|
|
|
// db.GetSqlStringCommand(strSql.ToString());
|
|
|
|
|
|
// if (bodyList != null)
|
|
|
// {
|
|
|
|
|
|
// var manifeststatus = bodyList[0];
|
|
|
// if (manifeststatus.ISPREPARED == false)
|
|
|
// {
|
|
|
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// var statusref = "无状态";
|
|
|
// var status = "0";
|
|
|
// if (manifeststatus.ISLOADCLEAR)
|
|
|
// {
|
|
|
// status = "5";
|
|
|
// statusref = "装载放行";
|
|
|
// }
|
|
|
// else if (manifeststatus.ISBILLCLEAR)
|
|
|
// {
|
|
|
// status = "4";
|
|
|
// statusref = "提单放行";
|
|
|
// }
|
|
|
// else if (manifeststatus.ISCUSTOMCLEAR)
|
|
|
// {
|
|
|
// status = "3";
|
|
|
// statusref = "报关放行";
|
|
|
// }
|
|
|
// else if (manifeststatus.ISARRIVAL)
|
|
|
// {
|
|
|
// status = "2";
|
|
|
// statusref = "运抵正常";
|
|
|
// }
|
|
|
// else if (manifeststatus.ISPREPARED)
|
|
|
// {
|
|
|
// status = "1";
|
|
|
// statusref = "预配舱单";
|
|
|
// }
|
|
|
// cmdupdate.Parameters.Clear();
|
|
|
// db.AddInParameter(cmdupdate, "@MANIFESTSTATUS", DbType.String, status);
|
|
|
// db.AddInParameter(cmdupdate, "@BSNO", DbType.String, bsno);
|
|
|
// db.ExecuteNonQuery(cmdupdate);
|
|
|
|
|
|
// result.Message = statusref;
|
|
|
// }
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
// }
|
|
|
// catch
|
|
|
// {
|
|
|
// result.Success = false;
|
|
|
// result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
// }
|
|
|
|
|
|
// //result.Data = bodyList.ToList();
|
|
|
// return result;
|
|
|
//}
|
|
|
|
|
|
|
|
|
static public DBResult Get56CDCSTATUSList ( string mblno, string bsno, string path )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeCustomStatus>();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var filename = path + "\\" + mblno + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".Gif";
|
|
|
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://56.qdcdc.com/cnm/MftQuery/BillExportQuery.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://56.qdcdc.com/cnm/MftQuery/BillExportQuery.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "56.qdcdc.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=0%2Fn5%2BwUDXpmFl%2BFsCVpURKPb5zm1AA%2FvEUtQxN1K02VDENqpJ9ravvyGNjEiiY%2BU&"
|
|
|
+ "__EVENTVALIDATION=7uGtbHgy2hzetVvoMh99Kbi8rUuV06n88PcDvmMbdrXld968D3lNSKQdeJCMVZYUemVNqXircWM2NuMc8XOU6W2hrh"
|
|
|
+ "LiKEEh9AORqcthIR%2Bb1JXgLMr9IvVnVt2MjRmJiBsZxs7ZbgLZyGnR1Pk2oYUmPKJThsqyYwG%2FbHA81ZDclrC6arZ96IV7JY0nZGtgt4"
|
|
|
+ "6T77jeOcX8J073kcFVc6BQExZiRs%2BOYX793IZ%2FoBA%3D&txtIMO=&txtTransportName=&txtVoyageNo=&txtBillNo=" + mblno
|
|
|
+ "&LinkButtonQuery=%E6%9F%A5%E8%AF%A2&hdSelectRow=&hdData=&hdCols=%E5%BA%8F%E5%8F%B7%2C%E5%87%BA%E5%8F%A3%E6%8F%90%"
|
|
|
+ "E5%8D%95%E5%8F%B7%2C%E8%BF%90%E8%BE%93%E5%B7%A5%E5%85%B7%E4%BF%A1%E6%81%AF%2C%E6%80%BB%E5%8D%95%2F%E5%88%86%E5%8D%"
|
|
|
+ "95%2C%E9%A2%84%E9%85%8D%E8%88%B1%E5%8D%95%2C%E5%87%BA%E5%8F%A3%E8%BF%90%E6%8A%B5%E6%8A%A5%E5%91%8A%2C%E8%90%BD%E8%"
|
|
|
+ "B4%A7%E6%94%B9%E9%85%8D%E7%8A%B6%E6%80%81%2C%E5%87%BA%E5%8F%A3%E8%A3%85%E8%BD%BD%2C%E5%87%BA%E5%8F%A3%E7%90%86%E8%"
|
|
|
+ "B4%A7%2C%E5%87%BA%E5%8F%A3%E6%8A%A5%E5%85%B3%E7%8A%B6%E6%80%81%2C%E6%8F%90%E5%8D%95%E6%94%BE%E8%A1%8C%2C%E8%BD%AC%"
|
|
|
+ "E5%8F%91%E7%8A%B6%E6%80%81&hdChildHide=&hdColsHide=&hdColSpan=%E6%8F%90%E5%8D%95%E5%8F%B7&hdMutiQuery=&"
|
|
|
+ "hdReturnResult=&hdLoadMarkText=&hdArrivalMarkText=&hdEmptyResult=&hdTalMarkText=&hdBillRelStatus=",
|
|
|
Cookie = "ASP.NET_SessionId=f4vivggkpcitpxrqwvtzmmpz; forums=59088DDE442B9B9FF7985FA130A22DD73763B97C86F960019C4E1AF2C5A05AF0B15C3A0A4EFFBFBC5E0F7873273E6D7BF26A8566ABAC67A0598AC66E75D0934C54BE56E2C6A1F88D496D5385F2894F2E",
|
|
|
|
|
|
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
var datahtml = resulthtml.Html.Replace("../Css/NewMftQueryStyle.css", "http://56.qdcdc.com/cnm/Css/NewMftQueryStyle.css");
|
|
|
datahtml = datahtml.Replace("../Js/jquery-1.5.2.min.js", "http://56.qdcdc.com/cnm/Js/jquery-1.5.2.min.js");
|
|
|
|
|
|
|
|
|
result.Data = datahtml;
|
|
|
datahtml = GetDataHtmlList(datahtml, "id=\"tbData\"", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
recdatastr = recdatastr.Replace(" ", "");
|
|
|
recdatastr = recdatastr.Replace("/r/n ", "");
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1 && i != 2 && (recdatastr.Length > 40))
|
|
|
{
|
|
|
|
|
|
MsOpSeaeCustomStatus data = new MsOpSeaeCustomStatus();
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "合计:" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
data.PREPAREDSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("接受申报") >= 0)
|
|
|
data.ISPREPARED = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 13)
|
|
|
{
|
|
|
data.ARRIVALSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 14)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("运抵正常") >= 0)
|
|
|
data.ISARRIVAL = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 15)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("单证放行") >= 0)
|
|
|
{
|
|
|
data.ISCUSTOMCLEAR = true;//箱号
|
|
|
data.CUSTOMCLEARSTR = fielddatastr.Replace("单证放行", "");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (fieldno == 16)
|
|
|
{
|
|
|
data.BILLCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 17)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("已放行") >= 0)
|
|
|
data.ISBILLCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 19)
|
|
|
{
|
|
|
data.LOADCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 20)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("同意装载") >= 0)
|
|
|
data.ISLOADCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (bodyList.Count != 0)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("update op_seae set MANIFESTSTATUS=@MANIFESTSTATUS ");
|
|
|
|
|
|
strSql.Append(" where BSNO=@BSNO ");
|
|
|
|
|
|
|
|
|
var cmdupdate =
|
|
|
db.GetSqlStringCommand(strSql.ToString());
|
|
|
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
|
|
|
var manifeststatus = bodyList[0];
|
|
|
if (manifeststatus.ISPREPARED == false)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var statusref = "无状态";
|
|
|
var status = "0";
|
|
|
if (manifeststatus.ISLOADCLEAR)
|
|
|
{
|
|
|
status = "5";
|
|
|
statusref = "装载放行";
|
|
|
}
|
|
|
else if (manifeststatus.ISBILLCLEAR)
|
|
|
{
|
|
|
status = "4";
|
|
|
statusref = "提单放行";
|
|
|
}
|
|
|
else if (manifeststatus.ISCUSTOMCLEAR)
|
|
|
{
|
|
|
status = "3";
|
|
|
statusref = "报关放行";
|
|
|
}
|
|
|
else if (manifeststatus.ISARRIVAL)
|
|
|
{
|
|
|
status = "2";
|
|
|
statusref = "运抵正常";
|
|
|
}
|
|
|
else if (manifeststatus.ISPREPARED)
|
|
|
{
|
|
|
status = "1";
|
|
|
statusref = "预配舱单";
|
|
|
}
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@MANIFESTSTATUS", DbType.String, status);
|
|
|
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, bsno);
|
|
|
db.ExecuteNonQuery(cmdupdate);
|
|
|
|
|
|
result.Message = statusref;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
|
|
|
//result.Data = bodyList.ToList();
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
static public DBResult Get56CDCSTATUSListProcess ( string mblno, string bsno )
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
result.Success = true;
|
|
|
var bodyList = new List<MsOpSeaeCustomStatus>();
|
|
|
var createhtml = "<head> <style type=\"text/css\"> .shipmentContain{/**/left:160px;top:9px;width:825px;/*height:22px;*/position:absolute;z-index:1000;/*background-color:#CCC;*/} "
|
|
|
+ ".shipmentContainIdentify{float:left;margin-top:0px;padding-top:8px;padding-left:3px;display:block;width:150px;height:22px;position:absolute;font-size:12px;color:#111;font-family:\"微软雅黑\";left: -3px;top: 9px;}"
|
|
|
+ ".shipmentContain div{width:825px;min-width:815px;height:22px;line-height:22px;margin:0 auto;padding:0px;}"
|
|
|
+ ".shipmentContainContain ul{width:815px;min-width:815px;height:22px;line-height:22px;margin:0 auto;padding:0px;float:left;list-style:none; /*display:block;*/} "
|
|
|
+ ".shipmentContainContain li.frtNode{float:left;margin-top:0px;padding-top:0px;padding-left:0px;display:block;width:25px;height:22px;display:inline-block;}"
|
|
|
+ ".shipmentContainContain li.nextNode{float:left;margin-top:0px;padding-top:0px;padding-left:0px;display:block;width:99px;height:22px;display:inline-block;}"
|
|
|
+ ".shipmentContainContain li.lastNode{float:left;margin-top:0px;padding-top:0px;padding-left:0px;display:block;width:99px;height:22px;display:inline-block;}"
|
|
|
+ ".shipmentContainTextContain span{display:inline-block;/*padding-top:25px;*/font-family:\"Agency FB\";color:#f39700;font-size:12px;position:absolute;top: 34px;}"
|
|
|
+ "</style> </head> ";
|
|
|
try
|
|
|
{
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://56.qdcdc.com/cnm/Login.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://56.qdcdc.com/cnm/Login.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "56.qdcdc.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=%2FwEPDwULLTE2NDY3NDYxOTEPFgIeCWF1dGhMZXZlbAIBZGRaqF4SR76vRpKX1Ncvq5it959sl24P"
|
|
|
+ "78o8lgFjhBEoow%3D%3D&__EVENTVALIDATION=%2FwEWAgKunaPBDQLLr40TAUOVolCpWuq5jMb12TE1wUQRzvpzmgO1bc1UtxtDpwk"
|
|
|
+ "%3D&user_name=sdeport&password=66666666&hdSuccess=true",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
|
|
|
http = new HttpHelper();
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://56.qdcdc.com/cnm/MftQuery/BillExportQuery.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://56.qdcdc.com/cnm/MftQuery/BillExportQuery.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "56.qdcdc.com",
|
|
|
Cookie = mycookie,
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=%2FwEPDwUKLTExMzU1MTk4OGRkYAPyyS9HywlEejLmSF9LqKHC8bhlsXVaERiHd97bYiQ%3D&__EVENTVALIDATION="
|
|
|
+ "%2FwEWGAKAldnyBQKj%2B6LoDwLooeTACQLu%2F%2Fi7CwLa9PCNDgLp7r6qDgLblJqhCgLV3JGHCALkwOjWBQLD2Y%2F%2FAwKYnc6YDwLJ7LFV"
|
|
|
+ "AuDmrTwCvf3v3AcCluH%2BPgKs37SpCwKqgp2pDQLZ1tnQDQLol%2BuuCQLT4ZKcAQKklPGiDwLB043aDwLAkeEVAoba9d8K1lBFpQ8mNZ5Dlfij"
|
|
|
+ "IZBQ1bS1RwCIiTyskE9Nc3kpr8k%3D&txtIMO=&txtTransportName=&txtVoyageNo=&txtBillNo=" + mblno + "&LinkButtonQuery=%E6"
|
|
|
+ "%9F%A5%E8%AF%A2&hdSelectRow=&hdData=&hdCols=%E5%BA%8F%E5%8F%B7%2C%E5%87%BA%E5%8F%A3%E6%8F%90%E5%8D%95%E5%8F%B7%2C"
|
|
|
+ "%E8%BF%90%E8%BE%93%E5%B7%A5%E5%85%B7%E4%BF%A1%E6%81%AF%2C%E6%80%BB%E5%8D%95%2F%E5%88%86%E5%8D%95%2C%E9%A2%84%E9%85"
|
|
|
+ "%8D%E8%88%B1%E5%8D%95%2C%E5%87%BA%E5%8F%A3%E8%BF%90%E6%8A%B5%E6%8A%A5%E5%91%8A%2C%E8%90%BD%E8%B4%A7%E6%94%B9%E9%85"
|
|
|
+ "%8D%E7%8A%B6%E6%80%81%2C%E5%87%BA%E5%8F%A3%E8%A3%85%E8%BD%BD%2C%E5%87%BA%E5%8F%A3%E7%90%86%E8%B4%A7%2C%E5%87%BA%E5"
|
|
|
+ "%8F%A3%E6%8A%A5%E5%85%B3%E7%8A%B6%E6%80%81%2C%E6%8F%90%E5%8D%95%E6%94%BE%E8%A1%8C%2C%E8%BD%AC%E5%8F%91%E7%8A%B6%E6"
|
|
|
+ "%80%81&hdChildHide=&hdColsHide=&hdColSpan=%E6%8F%90%E5%8D%95%E5%8F%B7&hdMutiQuery=&hdReturnResult=&hdLoadMarkText"
|
|
|
+ "=&hdArrivalMarkText=&hdEmptyResult=&hdTalMarkText=&hdBillRelStatus=",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
resulthtml.Html = resulthtml.Html.Replace("../Css/NewMftQueryStyle.css", "http://56.qdcdc.com/cnm/Css/NewMftQueryStyle.css");
|
|
|
|
|
|
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "id=\"tbData\"", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
recdatastr = recdatastr.Replace(" ", "");
|
|
|
recdatastr = recdatastr.Replace("/r/n ", "");
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1 && i != 2 && (recdatastr.Length > 40))
|
|
|
{
|
|
|
|
|
|
MsOpSeaeCustomStatus data = new MsOpSeaeCustomStatus();
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "合计:" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
data.PREPAREDSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("接受申报") >= 0)
|
|
|
data.ISPREPARED = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 13)
|
|
|
{
|
|
|
data.ARRIVALSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 14)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("运抵正常") >= 0)
|
|
|
data.ISARRIVAL = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 15)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("单证放行") >= 0)
|
|
|
{
|
|
|
data.ISCUSTOMCLEAR = true;//箱号
|
|
|
data.CUSTOMCLEARSTR = fielddatastr.Replace("单证放行", "");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (fieldno == 16)
|
|
|
{
|
|
|
data.BILLCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 17)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("已放行") >= 0)
|
|
|
data.ISBILLCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 19)
|
|
|
{
|
|
|
data.LOADCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 20)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("同意装载") >= 0)
|
|
|
data.ISLOADCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (bodyList.Count != 0)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("update op_seae set MANIFESTSTATUS=@MANIFESTSTATUS ");
|
|
|
|
|
|
strSql.Append(" where BSNO=@BSNO ");
|
|
|
|
|
|
|
|
|
var cmdupdate =
|
|
|
db.GetSqlStringCommand(strSql.ToString());
|
|
|
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
|
|
|
var manifeststatus = bodyList[0];
|
|
|
if (manifeststatus.ISPREPARED == false)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var statusref = "无状态";
|
|
|
var status = "0";
|
|
|
if (manifeststatus.ISLOADCLEAR)
|
|
|
{
|
|
|
status = "5";
|
|
|
statusref = "装载放行";
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span class=\"frtNode\"><img src=\"../../images/frtNodeBlue.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
|
|
|
}
|
|
|
else if (manifeststatus.ISBILLCLEAR)
|
|
|
{
|
|
|
status = "4";
|
|
|
statusref = "提单放行";
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span class=\"frtNode\"><img src=\"../../images/frtNodeBlue.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeEnd.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
}
|
|
|
else if (manifeststatus.ISCUSTOMCLEAR)
|
|
|
{
|
|
|
status = "3";
|
|
|
statusref = "报关放行";
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span class=\"frtNode\"><img src=\"../../images/frtNodeBlue.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeEnd.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
}
|
|
|
else if (manifeststatus.ISARRIVAL)
|
|
|
{
|
|
|
status = "2";
|
|
|
statusref = "运抵正常";
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span class=\"frtNode\"><img src=\"../../images/frtNodeBlue.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeBlue.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeEnd.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
}
|
|
|
else if (manifeststatus.ISPREPARED)
|
|
|
{
|
|
|
status = "1";
|
|
|
statusref = "预配舱单";
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span class=\"frtNode\"><img src=\"../../images/frtNodeBlue.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeEnd.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
createhtml = "<div class=\"shipmentContainIdentify\"><span style=\"padding-left:3px;width:127px;display:block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\"></span></div>";
|
|
|
createhtml += "<div class=\"shipmentContain\">";
|
|
|
createhtml += "<div>";
|
|
|
|
|
|
createhtml += "<span style=\"display:inline-block;width:25px;height:22px;\"><img src=\"../../images/frtNodeOnly.jpg\" width=\"25\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/nextNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "<span style=\"display:inline-block;width:99px;height:22px;\"><img src=\"../../images/lastNodeGray.jpg\" width=\"99\" height=\"22\" /></span>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "</div>";
|
|
|
createhtml += "<div class=\"shipmentContainTextContain\">";
|
|
|
createhtml += "<span style=\"padding-left:135px;\">预配舱单</span>";
|
|
|
createhtml += "<span style=\"padding-left:235px;\">运抵正常</span>";
|
|
|
createhtml += "<span style=\"padding-left:335px;\">报关放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:435px;\">提单放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:535px;\">装载放行</span>";
|
|
|
createhtml += "<span style=\"padding-left:632px;\"> </span>";
|
|
|
createhtml += "<span style=\"padding-left:730px;\"> </span>";
|
|
|
createhtml += "</div>";
|
|
|
|
|
|
}
|
|
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@MANIFESTSTATUS", DbType.String, status);
|
|
|
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, bsno);
|
|
|
db.ExecuteNonQuery(cmdupdate);
|
|
|
result.Data = createhtml;
|
|
|
result.Message = statusref;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
|
|
|
|
|
|
}
|
|
|
|
|
|
//if (bodyList.Count > 0)
|
|
|
// result.Data=bodyList[0];
|
|
|
//result.Data=new MsOpSeaeCustomStatus();
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#region 更新舱单状态
|
|
|
public static DBResult RefreshManifestStatus(List<MsOpSeae> bodyList)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("update op_seae set MANIFESTSTATUS=@MANIFESTSTATUS ");
|
|
|
|
|
|
strSql.Append(" where BSNO=@BSNO ");
|
|
|
|
|
|
|
|
|
var cmdupdate =
|
|
|
db.GetSqlStringCommand(strSql.ToString());
|
|
|
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
var manifeststatus = GetManifestSTATUSList(enumValue.MBLNO, enumValue.BSNO);
|
|
|
if (manifeststatus.ISPREPARED == false)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var status = "0";
|
|
|
if (manifeststatus.ISLOADCLEAR)
|
|
|
{
|
|
|
status = "5";
|
|
|
}
|
|
|
else if (manifeststatus.ISBILLCLEAR)
|
|
|
{
|
|
|
status = "4";
|
|
|
}
|
|
|
else if (manifeststatus.ISCUSTOMCLEAR)
|
|
|
{
|
|
|
status = "3";
|
|
|
}
|
|
|
else if (manifeststatus.ISARRIVAL)
|
|
|
{
|
|
|
status = "2";
|
|
|
}
|
|
|
else if (manifeststatus.ISPREPARED)
|
|
|
{
|
|
|
status = "1";
|
|
|
}
|
|
|
cmdupdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdupdate, "@MANIFESTSTATUS", DbType.String, status);
|
|
|
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "更新出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "更新成功" + result.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
static public MsOpSeaeCustomStatus GetManifestSTATUSList ( string mblno, string bsno )
|
|
|
{
|
|
|
var bodyList = new List<MsOpSeaeCustomStatus>();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
|
|
|
HttpHelper http = new HttpHelper();
|
|
|
HttpItem item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://cdp.qdcdc.com/CDP/Login.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://cdp.qdcdc.com/CDP/Login.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "56.qdcdc.com",
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=%2FwEPDwULLTE2NDY3NDYxOTEPFgIeCWF1dGhMZXZlbAIBZGQFDBMiaM5jeSqYOP96II7WoW0oyc%2BSfvVv%2FGIrZ%2FP5bg%3D%3D&__EVENTVALIDATION=%2FwEWAgLO2Kj0DALLr40TnsCiM32qLiMK44G5moITtUwkOOjKlsY5RQB7pzBatDk%3D&user_name=user1&password=88888888&hdSuccess=true",
|
|
|
|
|
|
|
|
|
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
HttpResult resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var mycookie = resulthtml.Cookie;
|
|
|
|
|
|
|
|
|
http = new HttpHelper();
|
|
|
item = new HttpItem()
|
|
|
{
|
|
|
URL = "http://cdp.qdcdc.com/CDP/MftQuery/BillExportQuery.aspx",//URL这里都是测试 必需项
|
|
|
Referer = "http://cdp.qdcdc.com/CDP/MftQuery/BillExportQuery.aspx",
|
|
|
Encoding = null,//编码格式(utf-8,gb2312,gbk) 可选项 默认类会自动识别
|
|
|
Host = "cdp.qdcdc.com",
|
|
|
Cookie = mycookie,
|
|
|
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
|
|
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
|
|
|
ContentType = "application/x-www-form-urlencoded",
|
|
|
Postdata = "__VIEWSTATE=%2FwEPDwUKLTExMzU1MTk4OGRktjQbcTwrtROJIB0DnKW%2FD24wHlo1MdO2yN13vwaX7GI%3D"
|
|
|
+ "&__EVENTVALIDATION=%2FwEWGAK%2FttbiCQKj%2B6LoDwLooeTACQLu%2F%2Fi7CwLa9PCNDgLp7r6qDgLblJqhCgLV3JG"
|
|
|
+ "HCALkwOjWBQLD2Y%2F%2FAwKYnc6YDwLJ7LFVAuDmrTwCvf3v3AcCluH%2BPgKs37SpCwKqgp2pDQLZ1tnQDQLol%2BuuCQL"
|
|
|
+ "T4ZKcAQKklPGiDwLB043aDwLAkeEVAoba9d8KBTCeVFBSa01eOoxl%2FjKz%2Fc7CpJUHsEtTic89nJEP3hM%3D&txtIMO="
|
|
|
+ "&txtTransportName=&txtVoyageNo=&txtBillNo=" + mblno + "&LinkButtonQuery=%E6%9F%A5%E8%AF%A2&hdSelectRow="
|
|
|
+ "&hdData=&hdCols=%E5%BA%8F%E5%8F%B7%2C%E5%87%BA%E5%8F%A3%E6%8F%90%E5%8D%95%E5%8F%B7%2C%E8%BF%90%E8%BE"
|
|
|
+ "%93%E5%B7%A5%E5%85%B7%E4%BF%A1%E6%81%AF%2C%E6%80%BB%E5%8D%95%2F%E5%88%86%E5%8D%95%2C%E9%A2%84%E9%85%"
|
|
|
+ "8D%E8%88%B1%E5%8D%95%2C%E5%87%BA%E5%8F%A3%E8%BF%90%E6%8A%B5%E6%8A%A5%E5%91%8A%2C%E8%90%BD%E8%B4%A7%E"
|
|
|
+ "6%94%B9%E9%85%8D%E7%8A%B6%E6%80%81%2C%E5%87%BA%E5%8F%A3%E8%A3%85%E8%BD%BD%2C%E5%87%BA%E5%8F%A3%E7%90"
|
|
|
+ "%86%E8%B4%A7%2C%E5%87%BA%E5%8F%A3%E6%8A%A5%E5%85%B3%E7%8A%B6%E6%80%81%2C%E6%8F%90%E5%8D%95%E6%94%BE%"
|
|
|
+ "E8%A1%8C%2C%E8%BD%AC%E5%8F%91%E7%8A%B6%E6%80%81&hdChildHide=&hdColsHide=&hdColSpan=%E6%8F%90%E5%8D%95"
|
|
|
+ "%E5%8F%B7&hdMutiQuery=&hdReturnResult=&hdLoadMarkText=&hdArrivalMarkText=&hdEmptyResult=&hdTalMarkText=&hdBillRelStatus=",
|
|
|
Method = "POST",//URL 可选项 默认为Get
|
|
|
};
|
|
|
resulthtml = http.GetHtml(item);
|
|
|
|
|
|
var datahtml = GetDataHtmlList(resulthtml.Html, "id=\"tbData\"", "</table>");
|
|
|
datahtml = datahtml.Remove(datahtml.IndexOf("</tr>"), 5);
|
|
|
datahtml = datahtml.Remove(0, datahtml.IndexOf(">") + 1);
|
|
|
if (datahtml != "")
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (datahtml.IndexOf("</tr>") >= 0)
|
|
|
{
|
|
|
var datalength = datahtml.IndexOf("</tr>");
|
|
|
var recdatastr = datahtml.Substring(0, datalength + 5);
|
|
|
datahtml = datahtml.Substring(datalength + 5, datahtml.Length - datalength - 5);
|
|
|
recdatastr = recdatastr.Remove(0, recdatastr.IndexOf("<tr") + 3);
|
|
|
recdatastr = recdatastr.Remove(recdatastr.IndexOf("</tr>"), 5);
|
|
|
recdatastr = recdatastr.Replace(" ", "");
|
|
|
recdatastr = recdatastr.Replace("/r/n ", "");
|
|
|
var fieldno = 1;
|
|
|
var istrue = false;
|
|
|
if (i != 1 && i != 2 && (recdatastr.Length > 40))
|
|
|
{
|
|
|
|
|
|
MsOpSeaeCustomStatus data = new MsOpSeaeCustomStatus();
|
|
|
while (recdatastr.IndexOf("<td") >= 0)
|
|
|
{
|
|
|
var fieldlength = recdatastr.IndexOf("</td>");
|
|
|
var fielddatastr = recdatastr.Substring(0, fieldlength + 5);
|
|
|
recdatastr = recdatastr.Substring(fieldlength + 5, recdatastr.Length - fieldlength - 5);
|
|
|
fielddatastr = fielddatastr.Remove(fielddatastr.IndexOf("</td>"), 5);
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
fielddatastr = fielddatastr.Replace("\r\n", "");
|
|
|
fielddatastr = fielddatastr.Replace(" ", "");
|
|
|
if (fieldno == 1)
|
|
|
{
|
|
|
fielddatastr = fielddatastr.Remove(0, fielddatastr.IndexOf(">") + 1);
|
|
|
if (fielddatastr == "合计:" || fielddatastr == "<bstyle=\"color:Red\">暂无相关数据</b>") istrue = false; else istrue = true;
|
|
|
}
|
|
|
if (fieldno == 11)
|
|
|
{
|
|
|
data.PREPAREDSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
if (fieldno == 12)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("接受申报") >= 0)
|
|
|
data.ISPREPARED = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 13)
|
|
|
{
|
|
|
data.ARRIVALSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 14)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("运抵正常") >= 0)
|
|
|
data.ISARRIVAL = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 15)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("单证放行") >= 0)
|
|
|
{
|
|
|
data.ISCUSTOMCLEAR = true;//箱号
|
|
|
data.CUSTOMCLEARSTR = fielddatastr.Replace("单证放行", "");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (fieldno == 16)
|
|
|
{
|
|
|
data.BILLCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 17)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("已放行") >= 0)
|
|
|
data.ISBILLCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 19)
|
|
|
{
|
|
|
data.LOADCLEARSTR = fielddatastr;//箱号
|
|
|
|
|
|
}
|
|
|
if (fieldno == 20)
|
|
|
{
|
|
|
if (fielddatastr.IndexOf("同意装载") >= 0)
|
|
|
data.ISLOADCLEAR = true;//箱号
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
fieldno = fieldno + 1;
|
|
|
}
|
|
|
if (istrue)
|
|
|
bodyList.Add(data);
|
|
|
|
|
|
}
|
|
|
i = i + 1;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
if (bodyList.Count > 0)
|
|
|
return bodyList[0];
|
|
|
return new MsOpSeaeCustomStatus();
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
}
|