You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1746 lines
48 KiB
C#

10 months ago
using System;
using HcUtility.Core;
using Newtonsoft.Json;
using DSWeb.Areas.CommMng.DAL;
using System.Web.Mvc;
using System.IO;
using DSWeb.TruckMng.Helper;
using System.Collections.Generic;
using DSWeb.MvcShipping.DAL.MsSysParamSet;
using DSWeb.MvcShipping.DAL.MsChFeeDAL;
using HcUtility.Comm;
using System.Diagnostics.Contracts;
using DSWeb.Areas.MvcShipping.DB;
using DSWeb.MvcShipping.Models.MsOpSeae;
using DSWeb.Areas.MvcShipping.Models.Message.VGM;
using DSWeb.MvcShipping.DAL.MsOpSeaeEdiPortDAL;
namespace DSWeb.Areas.CommMng.Models
{
[JsonObject]
//用于解析要向表中保存的url地址的相关信息
public class FileUrlModel
{
#region
private string _TableName = string.Empty;
private string _KeyName = string.Empty;
private string _KeyValue = string.Empty;
private string _UrlName = string.Empty;
private string _UrlValue = string.Empty;
private string _ImgName = string.Empty;
private string _INDATABASE = string.Empty;
private string _FilePath = string.Empty;
private string ModelName = "";
private string ChildName = "";
private string ExName = "";//扩展名 在savefile时获取
#endregion
#region
public string TableName
{
get { return _TableName; }
set { _TableName = value; }
}
public string KeyName
{
get { return _KeyName; }
set { _KeyName = value; }
}
public string KeyValue
{
get { return _KeyValue; }
set { _KeyValue = value; }
}
public string UrlName
{
get { return _UrlName; }
set { _UrlName = value; }
}
public string UrlValue
{
get { return _UrlValue; }
set { _UrlValue = value; }
}
public string ImgName
{
get { return _ImgName; }
set { _ImgName = value; }
}
public string INDATABASE
{
get { return _INDATABASE; }
set { _INDATABASE = value; }
}
public bool needintoDatabase {
get {
if (_INDATABASE == "True" || _INDATABASE == "true") {
return true;
}return false;
}
}
public string FilePath
{
get { return _FilePath; }
set { _FilePath = value; }
}
public string Savefilename
{
get {
var _r = Savefilename_head;
_r += ExName;
return _r;
}
}
public string Savefilename_head
{
get
{
var _r = KeyValue;
if (!String.IsNullOrEmpty(ChildName))
{
_r += "_" + ChildName;
}
return _r;
}
}
#endregion
public static string _urlbase= "../../UploadFiles";
private string getSQL() {
var sql = String.Format("update {0} set {1}='{2}' where {3}='{4}'", TableName, UrlName, UrlValue, KeyName, KeyValue);
return sql;
}
public int DoUpdate() {
var _r = BasicDataRefDAL.ExecSql(getSQL());
return _r;
}
private string getInsert_info_files_SQL()
{
var sql = String.Format($"insert into info_files (GID,PID,FILENAME,FILEPATH) values ('{Guid.NewGuid().ToString()}','{KeyValue}','{Savefilename}','{getFileName()}')");
return sql;
}
public int DoInsert_info_files()
{
var _r = BasicDataRefDAL.ExecSql(getInsert_info_files_SQL());
return _r;
}
public FileUrlModel() {
}
public FileUrlModel(string ModelName)
{
var path = System.Web.HttpContext.Current.Server.MapPath(FileUrlModel._urlbase);
setModelValue(ModelName, path);
}
public FileUrlModel(string head,string ModelName,string ChildName="") {
var _Info = DSWeb.TruckMng.Helper.JsonConvert.Deserialize<FileUrlModel>(head);
var path = System.Web.HttpContext.Current.Server.MapPath(FileUrlModel._urlbase);
setModelValue(ModelName, path, ChildName);
//ChildName用于表示在某一模块下的多种类型文件 如info_client(往来单位)下添加电子章 或其他种类图片
this.SetValue(_Info);
}
private void setModelValue(string ModelName,string path, string ChildName = "") {
if (ModelName == "FactoryCargoname_TAGPIC")
{//进口贸易-厂号商品名称管理
TableName = "Import_Cargoname";
KeyName = "GID";
UrlName = "TAGPICURL";
FilePath = path + "\\" + ModelName;
this.ModelName = ModelName;
this.ChildName = ChildName;
}
if (ModelName == "InfoClient_Img")
{//往来单位-图片管理
//需要写入数据库
TableName = "Info_Client_IMG";
KeyName = "GID";
UrlName = "IMGURL";
ImgName = "IMG";
FilePath = path + "\\" + ModelName;
this.ModelName = ModelName;
this.ChildName = ChildName;
//INDATABASE = true;
}
if (ModelName == "SysUser_Head")
{
//系统用户 头像
TableName = "USER_BASEINFO";
KeyName = "USERID";
UrlName = "IMAGEURL";
FilePath = path + "\\" + ModelName;
this.ModelName = ModelName;
this.ChildName = ChildName;
//INDATABASE = true;
}
if (ModelName == "SysUser_Sign")
{
//系统用户 签名 需写入数据库
TableName = "USER_BASEINFO";
KeyName = "USERID";
UrlName = "SIGNATUREURL";
ImgName = "SIGNATUREPIC";
FilePath = path + "\\" + ModelName;
this.ModelName = ModelName;
this.ChildName = ChildName;
INDATABASE ="True";
}
if (ModelName == "Price_Quotation")
{
//系统用户 签名 需写入数据库
TableName = "Op_SeaPrice_Quotation";
KeyName = "BSNO";
UrlName = "PDFURL";
FilePath = path + "\\" + ModelName;
this.ModelName = ModelName;
this.ChildName = ChildName;
//INDATABASE = true;
}
}
public void SetValue(FileUrlModel info)
{
if (!string.IsNullOrEmpty(info.TableName))
{
TableName = info.TableName;
}
if (!string.IsNullOrEmpty(info.KeyName))
{
KeyName = info.KeyName;
}
if (!string.IsNullOrEmpty(info.UrlName))
{
UrlName = info.UrlName;
}
if (!string.IsNullOrEmpty(info.KeyValue))
{
KeyValue = info.KeyValue;
}
if (!string.IsNullOrEmpty(info.UrlValue))
{
UrlValue = info.UrlValue;
}
if (!string.IsNullOrEmpty(info.INDATABASE))
{
INDATABASE = info.INDATABASE;
}
}
private static string getexname(System.Web.HttpPostedFileBase file) {
return Path.GetExtension(file.FileName);
}
private string getFileName() {
var _r = FilePath + "\\" + Savefilename;
return _r;
}
/// <summary>
/// 保存方法 返回值为文件url
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public string SaveFile(System.Web.HttpPostedFileBase file,string savetype="")
{
//获得文件扩展名
ExName = getexname(file);
//首先 如没有目录则建立目录
if (!Directory.Exists(FilePath))
{
Directory.CreateDirectory(FilePath);
}
string filename = getFileName();
//如存在同名文件则删除
string[] fileNames = Directory.GetFiles(FilePath);
foreach (string _file in fileNames)
{
if (_file.IndexOf(Savefilename_head, StringComparison.OrdinalIgnoreCase) >= 0) {
File.Delete(_file);
}
}
//if (File.Exists(filename))
//{
// File.Delete(filename);
//}
//保存文件
file.SaveAs(filename);
if (File.Exists(filename))
{
//向数据库写入url
UrlValue = _urlbase + "/" + ModelName + "/" + Savefilename;
if (savetype == "")
{//通常保存方法
DoUpdate();
//调取升级数据库内图片字段的方法
if (needintoDatabase)
{
BasicDataRefDAL.SaveFileIntoDB(this, UrlValue);
}
}
else {
if (savetype == "info_files") {
//文件信息写入info_files表内
DoInsert_info_files();
}
}
//返回是否存在此文件
return UrlValue;
}
else return "";
}
}
[JsonObject]
public class PrintSql
{
public string sql1 { get; set; }
public string sql2 { get; set; }
public string sql3 { get; set; }
public string sql4 { get; set; }
public string sql5 { get; set; }
public string sql6 { get; set; }
public string sql7 { get; set; }
public string sql8 { get; set; }
}
/// <summary>
/// 用于传递session等control层数据
/// </summary>
public class USERINFO
{
public string USERID { get; set; }
public string BLSTATUSSTR { get; set; }
public string ISENABLECUSTRANGE { get; set; }
public USERINFO()
{
}
public USERINFO(string USERID, string BLSTATUSSTR = "", string ISENABLECUSTRANGE = "")
{
this.USERID = USERID;
this.BLSTATUSSTR = BLSTATUSSTR;
this.ISENABLECUSTRANGE = ISENABLECUSTRANGE;
}
}
[JsonObject]
public class StoreModifyResultStatus
{
public string GID { get; set; }
public string STORENAME { get; set; }
public string TABLENAME { get; set; }
public string MODIFIEDTIME { get; set; }
}
[JsonObject]
public class StoreModifyStatusMb: ModelObjectBillHead
{
public static List<StoreModifyStatusMb> StoreModifyStatusList {
get {
return (List<StoreModifyStatusMb>)BasicDataRefDAL.GetStoreModifyStatusCache();
}
}
public static List<StoreModifyResultStatus> getstatus()
{
try
{
var result = new List<StoreModifyResultStatus>();
var StoreModifyStatusList = (List<StoreModifyStatusMb>) BasicDataRefDAL.GetStoreModifyStatusCache();
foreach (var item in StoreModifyStatusList)
{
var status = new StoreModifyResultStatus();
status.GID = item.GID;
status.STORENAME = item.STORENAME;
status.TABLENAME = item.TABLENAME;
//status.DISPLAYFIELD = item.GID;
//status.VALUEFIELD = item.GID;
//status.DISPLAYFIELD2 = item.GID;
//status.CONDITION = item.GID;
status.MODIFIEDTIME = item.MODIFIEDTIME;
result.Add(status);
}
return result;
}
catch (Exception e) {
//BasicDataRefDAL.ResetStoreModifyStatus();
return getstatus();
}
}
#region private Fields
private string _GID = string.Empty;
private string _STORENAME = string.Empty;
private string _TABLENAME = string.Empty;
private string _DISPLAYFIELD = string.Empty;
private string _VALUEFIELD = string.Empty;
private string _DISPLAYFIELD2 = "''";
private string _CONDITION = string.Empty;
private string _MODIFIEDTIME = string.Empty;
public List<PubStore> PubStoreList = new List<PubStore>();
/// <summary>
/// 刷新指定的store
/// 目前只有USERID="EVERYONE"的能调用到这个方法
/// </summary>
/// <param name="STORENAME"></param>
/// <param name="USERID"></param>
public static DBResult RefreshStore(string STORENAME, USERINFO USERINFO)
{
var sqlstr = "";
DBResult result = new DBResult();
//sqlstr = getSqlStr(STORENAME, USERINFO);
var evList = getDBStore(STORENAME, USERINFO);
//if (StoreModifyStatusList.Exists(x => x.STORENAME == STORENAME))
//{
// var _t = StoreModifyStatusList.Find(t => t.STORENAME == STORENAME);
// if (_t.PubStoreList.Exists(x => x.STOREUSERID == USERINFO.USERID))
// {
// _t.PubStoreList.Find(x => x.STOREUSERID == USERINFO.USERID).storelist = evList;
// result.setMessage(true, "");
// }
// else {
// var newpubstore = new PubStore();
// newpubstore.STOREUSERID = USERINFO.USERID;
// newpubstore.storelist = evList;
// _t.PubStoreList.Add(newpubstore);
// result.setMessage(true, "");
// }
//}
return result;
//if (evList.Count == 0)
//{
// return Json(new { success = false });
//}
//else
//{
// var blank = new GeneralModel();
// blank.GID = "";
// blank.GVALUE = "";
// blank.GVALUE2 = "";
// evList.Add(blank);
// return Json(new { success = true, data = evList.ToList() });
//}
return result;
}
/// <summary>
/// 从数据库取store内容
/// </summary>
/// <param name="STORENAME"></param>
/// <param name="USERINFO"></param>
/// <returns></returns>
private static List<PubStoremb> getDBStore(string STORENAME, USERINFO USERINFO)
{
var sqlstr = getSqlStr(STORENAME, USERINFO);
var evList = BasicDataRefDAL.getPubExtendStore(sqlstr);
return evList;
}
public static List<PubStoremb> getStore(string STORENAME, USERINFO USERINFO) {
//如果是那种区分userid的 就不写入内存 直接从数据库取值
/*
if (USERINFO.USERID != "EVERYONE")
{
return getDBStore(STORENAME, USERINFO);
}
var result = new List<PubStoremb>();
if (StoreModifyStatusList.Exists(x => x.STORENAME == STORENAME)) {
var _t = StoreModifyStatusList.Find(t => t.STORENAME == STORENAME);
if (_t.PubStoreList.Exists(x => x.STOREUSERID == USERINFO.USERID)) {
result = _t.PubStoreList.Find(x => x.STOREUSERID == USERINFO.USERID).storelist;
return result;
}
}
var _r = RefreshStore(STORENAME, USERINFO);
if (_r.Success) {
result = getStore(STORENAME, USERINFO);
}
return result;*/
//20200407 取消内存缓存的逻辑 改为完全从数据库读取
return getDBStore(STORENAME, USERINFO);
}
//public static void setList(List<StoreModifyStatusMb> currentlist) {
// StoreModifyStatusList.Clear();
// foreach (var sms in currentlist) {
// var newitem = new StoreModifyStatusMb();
// newitem.GID = sms.GID;
// newitem.STORENAME = sms.STORENAME;
// newitem.TABLENAME = sms.TABLENAME;
// newitem.DISPLAYFIELD = sms.DISPLAYFIELD;
// newitem.VALUEFIELD = sms.VALUEFIELD;
// newitem.DISPLAYFIELD2 = sms.DISPLAYFIELD2;
// newitem.CONDITION = sms.CONDITION;
// newitem.MODIFIEDTIME = sms.MODIFIEDTIME;
// StoreModifyStatusList.Add(newitem);
// }
//}
public static string getSql() {
return " select GID,STORENAME,TABLENAME,dbo.trimtime(MODIFIEDTIME) MODIFIEDTIME,DISPLAYFIELD,DISPLAYFIELD2,VALUEFIELD,CONDITION from t_sys_StoreModifyStatus ";
}
/// <summary>
/// 根据storename分配相应的现存查询方法
/// </summary>
/// <param name="STORENAME"></param>
/// <param name="USERINFO"></param>
/// <returns></returns>
public static string getSqlStr(string STORENAME, USERINFO USERINFO) {
string result = "";
var modcondition = "";
if (STORENAME == "INFOCLIENT_ISCONTROLLER" || STORENAME == "INFOCLIENT_INV" || STORENAME == "INFOCLIENT_ALL")
{
if (!string.IsNullOrWhiteSpace(USERINFO.BLSTATUSSTR))
{
modcondition = USERINFO.BLSTATUSSTR;
}
if (USERINFO.ISENABLECUSTRANGE == "1")
{
if (!string.IsNullOrWhiteSpace(modcondition)) modcondition += " and ";
modcondition += " (SHORTNAME in (SELECT SHORTNAME from info_client_range where USERID='" + USERINFO.USERID + "' ) or SHORTNAME not in (SELECT SHORTNAME from info_client_range )) ";
}
}
//if (StoreModifyStatusList.Exists(x => x.STORENAME == STORENAME))
//{
//var _t = StoreModifyStatusList.Find(t => t.STORENAME == STORENAME);
//if (!string.IsNullOrWhiteSpace(_t.VALUEFIELD))
//{//有VALUEFIELD的使用通用查询方法
// if (string.IsNullOrWhiteSpace(_t.DISPLAYFIELD2)) _t.DISPLAYFIELD2 = "''";
// result = "select " + _t.VALUEFIELD + " as GID," + _t.DISPLAYFIELD + " as GVALUE , " + _t.DISPLAYFIELD2 + " as GVALUE2 from " + _t.TABLENAME;
// var _condition = _t.CONDITION;
// if (!string.IsNullOrWhiteSpace(modcondition))
// {
// if (!string.IsNullOrWhiteSpace(_condition))
// {
// _condition += " and " + modcondition;
// }
// else
// {
// _condition = modcondition;
// }
// }
// if (!string.IsNullOrWhiteSpace(_condition))
// {
// result += " where " + _condition.Replace("[[USERID]]", "'" + USERINFO.USERID + "'");
// }
// result += " order by " + _t.DISPLAYFIELD;
//}
//else {
//没有valuefield的使用独立方法
if (STORENAME == "IMPORT_SELLER") {
//进口贸易 贸易商 isagent=1
result = BasicDataRefDAL.GetTrader_Getsqlstr(" isagent=1 ").ToString();
}
if (STORENAME == "IMPORT_BUYER")
{
//进口贸易 客户 isagentcn=1
result = BasicDataRefDAL.GetTrader_Getsqlstr(" isagentcn=1 ").ToString();
}
if (STORENAME == "HSCODE")
{
result = BasicDataRefDAL.GetCargoTax_Sqlstr("").ToString();
}
if (STORENAME == "CIQCODE")
{
result = BasicDataRefDAL.GetCargociqRefList_Sqlstr("").ToString();
}
//往来单位开票信息
if (STORENAME == "INFOCLIENT_INV")
{
result = BasicDataRefDAL.GetCustomInvRefList_SqlStr("", USERINFO.ISENABLECUSTRANGE, USERINFO.USERID).ToString();
}
//国内港口信息
if (STORENAME == "CODE_PORTLOAD")
{
result = BasicDataRefDAL.GetCodeLoadportList_Sqlstr("").ToString();
}
//国际港口信息
if (STORENAME == "CODE_PORTDISCHARGE")
{
result = BasicDataRefDAL.GetCodeDisportList_DisplayWithCNAME_Sqlstr("").ToString();
}
//场站信息
if (STORENAME == "OPSEAE_YARD")
{
result = BasicDataRefDAL.GetCustomInvRefList_SqlStr(" ISYARD=1 ").ToString();
}
if (STORENAME == "CODE_FEE")
{
result = MsChFeeDAL.GetFeeTypeRefList_Sqlstr("","").ToString();
}
if (STORENAME == "INFOCLIENT_ALL")
{
result = BasicDataRefDAL.GetCustomInvRefList_SqlStr("", USERINFO.ISENABLECUSTRANGE, USERINFO.USERID).ToString();
}
if (STORENAME == "INFOCLIENT_CARRIER")
{
result = BasicDataRefDAL.GetCustomInvRefList_SqlStr(" ISCARRIER=1 ", USERINFO.ISENABLECUSTRANGE, USERINFO.USERID).ToString();
}
if (STORENAME == "INFOCLIENT_ISCONTROLLER")
{
result = BasicDataRefDAL.GetCustomRefList_GetSqlStr(" ISCONTROLLER=1 ", USERINFO.ISENABLECUSTRANGE, USERINFO.USERID).ToString();
}
//}
//}
return result;
}
[ModelDB(MDBType = ModelDBOprationType.All, IsPrimary = true)]
public string GID
{
get { return _GID; }
set { _GID = value; }
}
/// <summary>
/// store的名字 如 INFOCLIENT_CARRIER 等,用于表示这个数据集的内容
/// </summary>
public string STORENAME
{
get { return _STORENAME.ToUpper(); }
set { _STORENAME = value; }
}
public string TABLENAME
{
get { return _TABLENAME.ToUpper(); }
set { _TABLENAME = value; }
}
[ModelDB]
public string MODIFIEDTIME
{
get { return _MODIFIEDTIME; }
set { _MODIFIEDTIME = value; }
}
public string DISPLAYFIELD
{
get { return _DISPLAYFIELD; }
set { _DISPLAYFIELD = value; }
}
public string VALUEFIELD
{
get { return _VALUEFIELD; }
set { _VALUEFIELD = value; }
}
public string DISPLAYFIELD2
{
get { return _DISPLAYFIELD2; }
set { _DISPLAYFIELD2 = value; }
}
public string CONDITION
{
get { return _CONDITION; }
set { _CONDITION = value; }
}
#endregion
public StoreModifyStatusMb()
{
// TableName = "tMsWlPcHead";
TableName = "t_sys_StoreModifyStatus";
}
public string getrangstr(string USERID) {
var result = "";
return result;
}
public override string GetBillNoFieldName()
{
return "GID";
}
public override string GetTimeMarkFieldName()
{
return "";
}
}
/// <summary>
///
/// </summary>
public class PubStore
{
public string STOREUSERID { get; set; }
public List<PubStoremb> storelist { get; set; }
}
[JsonObject]//通用store数据集
public class PubStoremb : ModelObjectBillHead
{
public override Dictionary<string, ModelDBOprationType> GetPKey()
{//用于给扩展的动态数据提供主键字段名
var d = new Dictionary<string, ModelDBOprationType>() { { "GID", ModelDBOprationType.All } };
return d;
}
public Dictionary<string, string> SaveDic = new Dictionary<string, string>();
public PubStoremb()
{
//TableName = "Op_INTERNALTRADE";
}
public override string GetBillNoFieldName()
{
return "GID";
}
public override string GetTimeMarkFieldName()
{
return "";
}
}
[JsonObject]//用于费用历史引入的v_op_bs数据集
public class VOPBSmb : ModelObjectBillHead
{
public override Dictionary<string, ModelDBOprationType> GetPKey()
{//用于给扩展的动态数据提供主键字段名
var d = new Dictionary<string, ModelDBOprationType>() { { "BSNO", ModelDBOprationType.All } };
return d;
}
public VOPBSmb()
{
//TableName = "Op_INTERNALTRADE";
}
public override string GetBillNoFieldName()
{
return "BSNO";
}
public override string GetTimeMarkFieldName()
{
return "";
}
}
#region 用于规则平台合规校验的
public class RulesEngineResult_DetailList
{
/// <summary>
///
/// </summary>
public bool isSuccess { get; set; }
/// <summary>
///
/// </summary>
public string resultCode { get; set; }
/// <summary>
/// [校验错误]CMA发货人、收货人、通知人必须显示公司名称和地址
/// </summary>
public string resultName { get; set; }
/// <summary>
///
/// </summary>
public string errorType { get; set; }
/// <summary>
///
/// </summary>
public string ruleName { get; set; }
/// <summary>
///
/// </summary>
public string wfName { get; set; }
}
public class RulesEngineResult_Extra
{
/// <summary>
///
/// </summary>
public bool isSuccess { get; set; }
/// <summary>
///
/// </summary>
public string requestId { get; set; }
/// <summary>
///
/// </summary>
public DateTime excuteDate { get; set; }
/// <summary>
///
/// </summary>
public List<RulesEngineResult_DetailList> detailList { get; set; }
}
public class RulesEngineResult_Root
{
/// <summary>
///
/// </summary>
public bool succ { get; set; }
/// <summary>
///
/// </summary>
public int status { get; set; }
/// <summary>
/// 校验完成
/// </summary>
public string msg { get; set; }
/// <summary>
///
/// </summary>
public int total { get; set; }
/// <summary>
///
/// </summary>
public string rows { get; set; }
/// <summary>
///
/// </summary>
public string summary { get; set; }
/// <summary>
///
/// </summary>
public RulesEngineResult_Extra extra { get; set; }
/// <summary>
///
/// </summary>
public string extra2 { get; set; }
}
public class Head
{
/// <summary>
///
/// </summary>
public string senderKey { get; set; }
/// <summary>
///
/// </summary>
public string gid { get; set; }
/// <summary>
///
/// </summary>
public string messageType { get; set; }
/// <summary>
///
/// </summary>
public string senderId { get; set; }
/// <summary>
/// 新海运订舱平台
/// </summary>
public string senderName { get; set; }
/// <summary>
///
/// </summary>
public string receiverId { get; set; }
/// <summary>
/// 大简云规则引擎
/// </summary>
public string receiverName { get; set; }
/// <summary>
///
/// </summary>
public string token { get; set; }
/// <summary>
///
/// </summary>
public string version { get; set; }
/// <summary>
///
/// </summary>
public DateTime requestDate { get; set; }
/// <summary>
///
/// </summary>
public string requestAction { get; set; }
}
public class CargoList
{
public decimal? pKGs { get; set; }
public string kindPKGs { get; set; }
public decimal? kGs { get; set; }
public decimal? cbm { get; set; }
public string hsCode { get; set; }
public string marks { get; set; }
public string description { get; set; }
public string remark { get; set; }
}
public class ContaList
{
/// <summary>
///
/// </summary>
public string contaType { get; set; }
/// <summary>
///
/// </summary>
public string contaTypeName { get; set; }
/// <summary>
///
/// </summary>
public string teu { get; set; }
/// <summary>
///
/// </summary>
public string contaNo { get; set; }
/// <summary>
///
/// </summary>
public string sealNo { get; set; }
/// <summary>
///
/// </summary>
public decimal? pkGs { get; set; }
/// <summary>
///
/// </summary>
public string kindPKGs { get; set; }
/// <summary>
///
/// </summary>
public decimal? kGs { get; set; }
/// <summary>
///
/// </summary>
public decimal? cbm { get; set; }
/// <summary>
///
/// </summary>
public decimal? tareWeight { get; set; }
/// <summary>
///
/// </summary>
public string contaStatus { get; set; }
/// <summary>
/// 总重
/// </summary>
public string weighType { get; set; }
/// <summary>
///
/// </summary>
public decimal? weighKGs { get; set; }
/// <summary>
///
/// </summary>
public string weighAttn { get; set; }
/// <summary>
///
/// </summary>
public string vgmConnCom { get; set; }
/// <summary>
///
/// </summary>
public string weighTel { get; set; }
/// <summary>
///
/// </summary>
public string weighDate { get; set; }
/// <summary>
///
/// </summary>
public string vgmAddr { get; set; }
/// <summary>
///
/// </summary>
public string vgmEmail { get; set; }
/// <summary>
///
/// </summary>
public string remark { get; set; }
/// <summary>
///
/// </summary>
public string contaCategory { get; set; }
/// <summary>
///
/// </summary>
public List<CargoList> cargoList { get; set; }
}
public class BusinessInfo
{
/// <summary>
///
/// </summary>
public string masterBlNo { get; set; }
/// <summary>
///
/// </summary>
public string houseBlNo { get; set; }
/// <summary>
///
/// </summary>
public string bookingNo { get; set; }
/// <summary>
///
/// </summary>
public string contrNo { get; set; }
/// <summary>
///
/// </summary>
public string servContrNo { get; set; }
/// <summary>
///
/// </summary>
public string shipperId { get; set; }
/// <summary>
///
/// </summary>
public string consigneeId { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyId { get; set; }
/// <summary>
///
/// </summary>
public string shipper { get; set; }
/// <summary>
///
/// </summary>
public string consignee { get; set; }
/// <summary>
///
/// </summary>
public string notifyParty { get; set; }
/// <summary>
///
/// </summary>
public string notifyPrt2 { get; set; }
/// <summary>
///
/// </summary>
public string yardId { get; set; }
/// <summary>
///
/// </summary>
public string yard { get; set; }
/// <summary>
///
/// </summary>
public string vesselId { get; set; }
/// <summary>
///
/// </summary>
public string vessel { get; set; }
/// <summary>
///
/// </summary>
public string voyno { get; set; }
/// <summary>
///
/// </summary>
public string voynoIn { get; set; }
/// <summary>
///
/// </summary>
public string etd { get; set; }
/// <summary>
///
/// </summary>
public string atd { get; set; }
/// <summary>
///
/// </summary>
public string eta { get; set; }
/// <summary>
///
/// </summary>
public string closingDate { get; set; }
/// <summary>
///
/// </summary>
public string closeDocDate { get; set; }
/// <summary>
///
/// </summary>
public string closeVGMDate { get; set; }
/// <summary>
///
/// </summary>
public string placeReceiptId { get; set; }
/// <summary>
///
/// </summary>
public string placeReceipt { get; set; }
/// <summary>
///
/// </summary>
public string portLoadId { get; set; }
/// <summary>
///
/// </summary>
public string portLoad { get; set; }
/// <summary>
///
/// </summary>
public string portDischargeId { get; set; }
/// <summary>
///
/// </summary>
public string portDischarge { get; set; }
/// <summary>
///
/// </summary>
public string placeDeliveryId { get; set; }
/// <summary>
///
/// </summary>
public string placeDelivery { get; set; }
/// <summary>
///
/// </summary>
public string destinationId { get; set; }
/// <summary>
///
/// </summary>
public string destination { get; set; }
/// <summary>
///
/// </summary>
public string noBill { get; set; }
/// <summary>
///
/// </summary>
public string copyNoBill { get; set; }
/// <summary>
///
/// </summary>
public string issueType { get; set; }
/// <summary>
///
/// </summary>
public string issueDate { get; set; }
/// <summary>
///
/// </summary>
public string issuePlaceId { get; set; }
/// <summary>
///
/// </summary>
public string issuePlace { get; set; }
/// <summary>
///
/// </summary>
public string blfrt { get; set; }
/// <summary>
///
/// </summary>
public string prepardAt { get; set; }
/// <summary>
///
/// </summary>
public string payableAt { get; set; }
/// <summary>
///
/// </summary>
public string service { get; set; }
/// <summary>
///
/// </summary>
public string marks { get; set; }
/// <summary>
///
/// </summary>
public string hsCode { get; set; }
/// <summary>
///
/// </summary>
public string goodsDescription { get; set; }
/// <summary>
///
/// </summary>
public int pkGs { get; set; }
/// <summary>
///
/// </summary>
public string kindPKGs { get; set; }
/// <summary>
///
/// </summary>
public int kGs { get; set; }
/// <summary>
///
/// </summary>
public int cbm { get; set; }
/// <summary>
///
/// </summary>
public string totalNO { get; set; }
/// <summary>
///
/// </summary>
public string cntrTotal { get; set; }
/// <summary>
///
/// </summary>
public string carrierId { get; set; }
/// <summary>
/// 法国达飞
/// </summary>
public string carrier { get; set; }
/// <summary>
///
/// </summary>
public string cargoId { get; set; }
/// <summary>
///
/// </summary>
public string dClass { get; set; }
/// <summary>
///
/// </summary>
public string dUnno { get; set; }
/// <summary>
///
/// </summary>
public string dPage { get; set; }
/// <summary>
///
/// </summary>
public string dLabel { get; set; }
/// <summary>
///
/// </summary>
public string dLinkMan { get; set; }
/// <summary>
///
/// </summary>
public string tempId { get; set; }
/// <summary>
///
/// </summary>
public string tempSet { get; set; }
/// <summary>
///
/// </summary>
public string reeferf { get; set; }
/// <summary>
///
/// </summary>
public string humidity { get; set; }
/// <summary>
///
/// </summary>
public string tempMin { get; set; }
/// <summary>
///
/// </summary>
public string tempMax { get; set; }
/// <summary>
///
/// </summary>
public bool isContaSOC { get; set; }
/// <summary>
///
/// </summary>
public string soRemark { get; set; }
/// <summary>
///
/// </summary>
public string siRemark { get; set; }
/// <summary>
///
/// </summary>
public string yardRemark { get; set; }
/// <summary>
///
/// </summary>
public string compId { get; set; }
/// <summary>
///
/// </summary>
public string compName { get; set; }
/// <summary>
///
/// </summary>
public string shipperName { get; set; }
/// <summary>
///
/// </summary>
public string shipperAddr1 { get; set; }
/// <summary>
///
/// </summary>
public string shipperAddr2 { get; set; }
/// <summary>
///
/// </summary>
public string shipperAddr3 { get; set; }
/// <summary>
///
/// </summary>
public string shipperCity { get; set; }
/// <summary>
///
/// </summary>
public string shipperProvice { get; set; }
/// <summary>
///
/// </summary>
public string shipperPostCode { get; set; }
/// <summary>
///
/// </summary>
public string shipperCountry { get; set; }
/// <summary>
///
/// </summary>
public string shipperAttn { get; set; }
/// <summary>
///
/// </summary>
public string shipperTel { get; set; }
/// <summary>
///
/// </summary>
public string consigneeName { get; set; }
/// <summary>
///
/// </summary>
public string consigneeAddr1 { get; set; }
/// <summary>
///
/// </summary>
public string consigneeAddr2 { get; set; }
/// <summary>
///
/// </summary>
public string consigneeAddr3 { get; set; }
/// <summary>
///
/// </summary>
public string consigneeCity { get; set; }
/// <summary>
///
/// </summary>
public string consigneeProvince { get; set; }
/// <summary>
///
/// </summary>
public string consigneePostCode { get; set; }
/// <summary>
///
/// </summary>
public string consigneeCountry { get; set; }
/// <summary>
///
/// </summary>
public string consigneeAttn { get; set; }
/// <summary>
///
/// </summary>
public string consigneeTel { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyName { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyAddr1 { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyAddr2 { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyAddr3 { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyCity { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyProvince { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyPostCode { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyCountry { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyAttn { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyTel { get; set; }
/// <summary>
///
/// </summary>
public string poNo { get; set; }
/// <summary>
///
/// </summary>
public string opid { get; set; }
/// <summary>
///
/// </summary>
public string docid { get; set; }
/// <summary>
///
/// </summary>
public string op { get; set; }
/// <summary>
///
/// </summary>
public string doc { get; set; }
/// <summary>
///
/// </summary>
public string saleId { get; set; }
/// <summary>
///
/// </summary>
public string sale { get; set; }
/// <summary>
///
/// </summary>
public string custserviceId { get; set; }
/// <summary>
///
/// </summary>
public string custservice { get; set; }
/// <summary>
///
/// </summary>
public string custserviceName { get; set; }
/// <summary>
///
/// </summary>
public string forwarder { get; set; }
/// <summary>
///
/// </summary>
public string shipAgency { get; set; }
/// <summary>
///
/// </summary>
public string customsER { get; set; }
/// <summary>
///
/// </summary>
public string truckER { get; set; }
/// <summary>
///
/// </summary>
public string agentId { get; set; }
/// <summary>
///
/// </summary>
public int customerId { get; set; }
/// <summary>
///
/// </summary>
public string forwarderId { get; set; }
/// <summary>
///
/// </summary>
public string shipAgencyId { get; set; }
/// <summary>
///
/// </summary>
public string customsERId { get; set; }
/// <summary>
///
/// </summary>
public string truckERId { get; set; }
/// <summary>
///
/// </summary>
public string agentName { get; set; }
/// <summary>
///
/// </summary>
public string weiTo { get; set; }
/// <summary>
///
/// </summary>
public string consigneeDoorAddr { get; set; }
/// <summary>
///
/// </summary>
public string shipperDoorAddr { get; set; }
/// <summary>
///
/// </summary>
public string scacCode { get; set; }
/// <summary>
///
/// </summary>
public string itnCode { get; set; }
/// <summary>
///
/// </summary>
public string prePardAtId { get; set; }
/// <summary>
///
/// </summary>
public string payableAtId { get; set; }
/// <summary>
///
/// </summary>
public string custNo { get; set; }
/// <summary>
///
/// </summary>
public string transportId { get; set; }
/// <summary>
///
/// </summary>
public string transport { get; set; }
/// <summary>
///
/// </summary>
public string thirdPayAddr { get; set; }
/// <summary>
///
/// </summary>
public string yardContractTel { get; set; }
/// <summary>
///
/// </summary>
public string yardContractEmail { get; set; }
/// <summary>
///
/// </summary>
public string feeSelf { get; set; }
/// <summary>
///
/// </summary>
public string laneCode { get; set; }
/// <summary>
/// 南非航线
/// </summary>
public string laneName { get; set; }
/// <summary>
///
/// </summary>
public string freightPayer { get; set; }
/// <summary>
///
/// </summary>
public string shipperTaxNo { get; set; }
/// <summary>
///
/// </summary>
public string consigneeTaxNo { get; set; }
/// <summary>
///
/// </summary>
public string notifyPartyTaxNo { get; set; }
/// <summary>
///
/// </summary>
public bool? isATDChangeIssueType { get; set; }
/// <summary>
///
/// </summary>
public bool? isEngChinaLineBar { get; set; }
/// <summary>
///
/// </summary>
public bool? isDoubleShipper { get; set; }
/// <summary>
///
/// </summary>
public bool? isFCLAndLCLMix { get; set; }
/// <summary>
///
/// </summary>
public bool? isMutipleGoods { get; set; }
/// <summary>
///
/// </summary>
public bool? isContaLCL { get; set; }
/// <summary>
///
/// </summary>
public string portDischargeCountryNo { get; set; }
/// <summary>
///
/// </summary>
public string portDischargeEN { get; set; }
/// <summary>
/// 南非
/// </summary>
public string portDischargeCN { get; set; }
/// <summary>
///
/// </summary>
public string transportCountryNo { get; set; }
/// <summary>
///
/// </summary>
public string transportEN { get; set; }
/// <summary>
/// 南非
/// </summary>
public string transportCN { get; set; }
/// <summary>
///
/// </summary>
public List<ContaList> contaList { get; set; } = new List<ContaList>();
}
public class Main
{
/// <summary>
///
/// </summary>
public List<string> projectCode { get; set; }=new List<string>();
/// <summary>
///
/// </summary>
public BusinessInfo businessInfo { get; set; }
}
public class RulesEngineOrderBooking_Root
{
/// <summary>
///
/// </summary>
public Head head { get; set; }=new Head();
/// <summary>
///
/// </summary>
public Main main { get; set; }=new Main();
}
#endregion
}