using System; using HcUtility.Core; using Newtonsoft.Json; using System.Collections.Generic; using DSWeb.MvcShipping.Models.MsOpSeae; namespace DSWeb.MvcShipping.Models.BookingConfirm { [JsonObject]//押箱业务 头表 public class BookingConfirmmb : ModelObjectBillHead { public override Dictionary GetPKey() {//用于给扩展的动态数据提供主键字段名 var d = new Dictionary() { { "ORDNO", ModelDBOprationType.All } }; return d; } public Dictionary SaveDic = new Dictionary(); public static string getSQL() { return " SELECT [ORDNO],[BSNO],[BSSTATUS],[SISTATUS],(select max(optime) from OP_LOG where billno=ORDNO and JsonValue like '%\"BSSTATUS\":\"Submit\"%') [BSDATE],[MBLNO],[HBLNO],[ORDERNO],[CONTRACTNO]" + ",[SERVICECONTRACTNO],[SHIPPERID],[CONSIGNEEID],[NOTIFYPARTYID],[SHIPPER],[CONSIGNEE]" + ",[NOTIFYPARTY],[NOTIFYPARTY2],[YARD],[VESSELID],[VESSEL],[VOYNO],CONVERT(varchar(100), [ETD], 23)[ETD],[CLOSINGDATE],[CLOSEDOCDATE]" + ",[ETA],[PLACERECEIPTID],[PLACERECEIPT],[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE]" + ",[PLACEDELIVERYID],[PLACEDELIVERY],[DESTINATIONID],[DESTINATION],[NOBILL],[COPYNOBILLL] COPYNOBILL" + ",[ISSUETYPE],CONVERT(varchar(100), [ISSUEDATE], 23)[ISSUEDATE],[ISSUEPLACEID],[ISSUEPLACE],[BLFRT],[PREPARDAT],[PAYABLEAT]" + ",[SERVICE],[MARKS],[HSCODE],[DESCRIPTION],[PKGS],[KINDPKGS],[KGS],[CBM],[CNTRTOTAL],[INPUTBY]" + ",[CARRIER],[CARGOID],[DCLASS],[DUNNO],[DPAGE],[DLABEL],[LINKMAN],[TEMPID],[TEMPSET],[REEFERF]" + ",[HUMIDITY],[ISCONTAINERSOC],O.[REMARK],[EDIREMARK],[CREATETIME],[MODIFYTIME],[MODIFYUSER]" + ",[USERID],[CORPID],[SHIPPERNAME],[SHIPPERADDR1],[SHIPPERADDR2],[SHIPPERADDR3]" + ",[SHIPPERCITY],[SHIPPERPROVINCE],[SHIPPERPOSTCODE],[SHIPPERCOUNTRY],[SHIPPERATTN],[SHIPPERTEL]" + ",[CONSIGNEENAME],[CONSIGNEEADDR1],[CONSIGNEEADDR2],[CONSIGNEEADDR3]" + ",[CONSIGNEECITY],[CONSIGNEEPROVINCE],[CONSIGNEEPOSTCODE],[CONSIGNEERCOUNTRY],[CONSIGNEEATTN],[CONSIGNEETEL]" + ",[NOTIFYPARTYNAME],[NOTIFYPARTYADDR1],[NOTIFYPARTYADDR2],[NOTIFYPARTYADDR3],[NOTIFYPARTYCITY],[NOTIFYPARTYPROVINCE]" + ",[NOTIFYPARTYPOSTCODE],[NOTIFYPARTYCOUNTRY],[NOTIFYPARTYATTN],[NOTIFYPARTYTEL],[SALE_NAME]" + ",U.name OPERATOR,U.TEL OPERATORTEL,U.Email OPERATOREMAIL,U.INFO_CLIENT CUSTOMERNAME, '整箱' BLTYPE " + ",case BSSTATUS when 'create' then '未提交' when 'submit' then '提交' when 'confirm' then '订舱确认' when 'none' then '无' when 'Back' then '驳回订舱' else '' end BSSTATUSREF" + ",case SISTATUS when 'create' then '创建' when 'submit' then '提交' when 'confirm' then '提单确认' when 'none' then '无' when 'Reject' then '拒绝' else '' end SISTATUSREF" + " FROM [OP_SEAE_ORDER] O left join SYS_USER u on USERID=u.gid where BSSTATUS <>'create' "; } public BookingConfirmmb() { TableName = "OP_SEAE_ORDER"; } public override string GetBillNoFieldName() { return "ORDNO"; } public override string GetTimeMarkFieldName() { return ""; } public override string GetStateFieldName() { return "BSSTATUS"; } public DSWeb.MvcShipping.Models.MsOpSeae.MsOpSeae getOpSeae() { var MsOpSeae = new MsOpSeae.MsOpSeae(); return MsOpSeae; } } [JsonObject]//押箱业务 集装箱表 public class Booking_Ctnmb : ModelObjectBillBody { public override Dictionary GetPKey() {//用于给扩展的动态数据提供主键字段名 var d = new Dictionary() { { "CTN_ID", ModelDBOprationType.All } }; return d; } public Dictionary SaveDic = new Dictionary(); public static string getSQL() { return " SELECT [CTN_ID],[ORDNO],[CTNALL],[CTNNUM],[TEU],[CNTRNO],[SEALNO],[PKGS],[KINDPKGS],[KGS],[CBM],[TAREWEIGHT],[CTNSTATUS],[WEIGHTYPE],[WEIGHKGS],[WEIGHATTN],[VGMCONNCOM],[WEIGHTEL],[WEIGHDATE],[VGMADDR],[VGMEMAIL],[REMARK] ,(select bsno from OP_SEAE_ORDER where ORDNO in(select ORDNO from op_seae_si where SINO=[OP_CTN].ORDNO)) BSNO_PARENT,(select bsno from OP_SEAE_ORDER where ORDNO =[OP_CTN].ORDNO) BSNO,(select MBLNO from OP_SEAE_SI where SINO =[OP_CTN].ORDNO) SI_MBLNO FROM [OP_CTN] "; } public Booking_Ctnmb() { TableName = "OP_CTN"; } public override string GetBillNoFieldName() { return "ORDNO"; } public override string GetTimeMarkFieldName() { return ""; } public override string GetStateFieldName() { return ""; } } [JsonObject]//押箱业务 集装箱多品名明细 public class Booking_CtnDetailmb : ModelObjectBillBody { public override Dictionary GetPKey() {//用于给扩展的动态数据提供主键字段名 var d = new Dictionary() { { "GID", ModelDBOprationType.All } }; return d; } public Dictionary SaveDic = new Dictionary(); public static string getSQL() { return " SELECT [GID],[CTN_ID],[PKGS],[KINDPKGS],[KGS],[CBM],[HSCODE],[MARKS],[DESCRIPTION],[REMARK] FROM [OP_CTN_DETAIL] "; } public Booking_CtnDetailmb() { TableName = "OP_CTN_DETAIL"; } public override string GetBillNoFieldName() { return "CTN_ID"; } public override string GetTimeMarkFieldName() { return ""; } public override string GetStateFieldName() { return ""; } } [JsonObject]//押箱业务 提单确认主表 public class Booking_OP_SEAE_SImb : ModelObjectBillHead { public override Dictionary GetPKey() {//用于给扩展的动态数据提供主键字段名 var d = new Dictionary() { { "SINO", ModelDBOprationType.All } }; return d; } public Dictionary SaveDic = new Dictionary(); public static string getSQL() { return " SELECT SINO,ORDNO,BSNO,BSSTATUS,(select max(optime) from OP_LOG where billno=ORDNO and JsonValue like '%\"BSSTATUS\":\"Submit\"%') BSDATE,(select max(optime) from OP_LOG where billno=SINO and JsonValue like '%\"BSSTATUS\":\"Submit\"%')SUBMITDATE,MBLNO,HBLNO,ORDERNO,CONTRACTNO,SERVICECONTRACTNO,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,NOTIFYPARTY2,YARD,VESSELID,VESSEL,VOYNO,CONVERT(varchar(100), ETD, 23)ETD,CONVERT(varchar(100), CLOSINGDATE, 20) CLOSINGDATE,CONVERT(varchar(100), CLOSEDOCDATE, 20) CLOSEDOCDATE,ETA,PLACERECEIPTID,PLACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,NOBILL,COPYNOBILLL COPYNOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACEID,ISSUEPLACE,BLFRT,PREPARDAT,PAYABLEAT,SERVICE,MARKS,HSCODE,DESCRIPTION,PKGS,KINDPKGS,KGS,CBM,CNTRTOTAL,INPUTBY,CARRIER,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,TEMPID,TEMPSET,REEFERF,HUMIDITY,ISCONTAINERSOC,REMARK,SIREMARK,CREATETIME,MODIFYTIME,MODIFYUSER,USERID,CORPID,SHIPPERNAME,SHIPPERADDR1,SHIPPERADDR2,SHIPPERADDR3,SHIPPERCITY,SHIPPERPROVINCE,SHIPPERPOSTCODE,SHIPPERCOUNTRY,SHIPPERATTN,SHIPPERTEL,CONSIGNEENAME,CONSIGNEEADDR1,CONSIGNEEADDR2,CONSIGNEEADDR3,CONSIGNEECITY,CONSIGNEEPROVINCE,CONSIGNEEPOSTCODE,CONSIGNEERCOUNTRY,CONSIGNEEATTN,CONSIGNEETEL,NOTIFYPARTYNAME,NOTIFYPARTYADDR1,NOTIFYPARTYADDR2,NOTIFYPARTYADDR3,NOTIFYPARTYCITY,NOTIFYPARTYPROVINCE,NOTIFYPARTYPOSTCODE,NOTIFYPARTYCOUNTRY,NOTIFYPARTYATTN,NOTIFYPARTYTEL " + ",case BSSTATUS when 'create' then '创建' when 'submit' then '提交' when 'confirm' then '提单确认' when 'none' then '无' when 'Reject' then '拒绝' else '' end BSSTATUSREF" + ",(case when (select count(*) from OP_SEAE_SI s where s.ordno=OP_SEAE_SI.ORDNO)>1 then 'true' else 'false' end )ISMULTI" + ",(select BSNO from OP_SEAE_ORDER where ORDNO = OP_SEAE_SI.ORDNO) ORDER_BSNO " + ",(select INFO_CLIENT from sys_user where GID=OP_SEAE_SI.USERID) CUSTOMERNAME " + ",(select NAME from sys_user where GID=OP_SEAE_SI.USERID) OPERATOR " + ",(select MOBILE from sys_user where GID=OP_SEAE_SI.USERID) OPERATORTEL " + ",(select EMAIL from sys_user where GID=OP_SEAE_SI.USERID) OPERATORMAIL " + " FROM OP_SEAE_SI "; } public Booking_OP_SEAE_SImb() { TableName = "OP_SEAE_SI"; } public override string GetBillNoFieldName() { return "SINO"; } public override string GetTimeMarkFieldName() { return ""; } public override string GetStateFieldName() { return ""; } } [JsonObject] public class DiffCheckmb : ModelObjectBillHead { #region private Fields private string _ISCONTRACTNO = string.Empty; private string _ISMBLNO = string.Empty; private string _ISHBLNO = string.Empty; private string _ISCARRIER = string.Empty; private string _ISVESSEL = string.Empty; private string _ISVOYNO = string.Empty; private string _ISSHIPPER = string.Empty; private string _ISCONSIGNEE = string.Empty; private string _ISNOTIFYPARTY = string.Empty; private string _ISMARKS = string.Empty; private string _ISDESCRIPTION = string.Empty; private string _ISHSCODE = string.Empty; private string _ISISCONTAINERSOC = string.Empty; private string _ISCARGOID = string.Empty; private string _ISCNTRTOTAL = string.Empty; private string _ISPKGS = string.Empty; private string _ISKINDPKGS = string.Empty; private string _ISKGS = string.Empty; private string _ISCBM = string.Empty; private string _ISPORTLOADID = string.Empty; private string _ISPORTLOAD = string.Empty; private string _ISPLACERECEIPTID = string.Empty; private string _ISPLACERECEIPT = string.Empty; private string _ISPORTDISCHARGEID = string.Empty; private string _ISPORTDISCHARGE = string.Empty; private string _ISDESTINATIONID = string.Empty; private string _ISDESTINATION = string.Empty; private string _ISPLACEDELIVERYID = string.Empty; private string _ISPLACEDELIVERY = string.Empty; private string _ISSIREMARK = string.Empty; private string _ISISSUETYPE = string.Empty; private string _ISSERVICE = string.Empty; private string _ISBLFRT = string.Empty; private string _ISPREPARDAT = string.Empty; private string _ISPAYABLEAT = string.Empty; private string _ISNOBILL = string.Empty; #endregion #region R&W public string ISCONTRACTNO { get { return _ISCONTRACTNO; } set { _ISCONTRACTNO = value; } } public string ISMBLNO { get { return _ISMBLNO; } set { _ISMBLNO = value; } } public string ISHBLNO { get { return _ISHBLNO; } set { _ISHBLNO = value; } } public string ISCARRIER { get { return _ISCARRIER; } set { _ISCARRIER = value; } } public string ISVESSEL { get { return _ISVESSEL; } set { _ISVESSEL = value; } } public string ISVOYNO { get { return _ISVOYNO; } set { _ISVOYNO = value; } } public string ISSHIPPER { get { return _ISSHIPPER; } set { _ISSHIPPER = value; } } public string ISCONSIGNEE { get { return _ISCONSIGNEE; } set { _ISCONSIGNEE = value; } } public string ISNOTIFYPARTY { get { return _ISNOTIFYPARTY; } set { _ISNOTIFYPARTY = value; } } public string ISMARKS { get { return _ISMARKS; } set { _ISMARKS = value; } } public string ISDESCRIPTION { get { return _ISDESCRIPTION; } set { _ISDESCRIPTION = value; } } public string ISHSCODE { get { return _ISHSCODE; } set { _ISHSCODE = value; } } public string ISISCONTAINERSOC { get { return _ISISCONTAINERSOC; } set { _ISISCONTAINERSOC = value; } } public string ISCARGOID { get { return _ISCARGOID; } set { _ISCARGOID = value; } } public string ISCNTRTOTAL { get { return _ISCNTRTOTAL; } set { _ISCNTRTOTAL = value; } } public string ISPKGS { get { return _ISPKGS; } set { _ISPKGS = value; } } public string ISKINDPKGS { get { return _ISKINDPKGS; } set { _ISKINDPKGS = value; } } public string ISKGS { get { return _ISKGS; } set { _ISKGS = value; } } public string ISCBM { get { return _ISCBM; } set { _ISCBM = value; } } public string ISPORTLOADID { get { return _ISPORTLOAD; } set { _ISPORTLOAD = value; } } public string ISPORTLOAD { get { return _ISPORTLOAD; } set { _ISPORTLOAD = value; } } public string ISPLACERECEIPTID { get { return _ISPLACERECEIPT; } set { _ISPLACERECEIPT = value; } } public string ISPLACERECEIPT { get { return _ISPLACERECEIPT; } set { _ISPLACERECEIPT = value; } } public string ISPORTDISCHARGEID { get { return _ISPORTDISCHARGE; } set { _ISPORTDISCHARGE = value; } } public string ISPORTDISCHARGE { get { return _ISPORTDISCHARGE; } set { _ISPORTDISCHARGE = value; } } public string ISDESTINATIONID { get { return _ISDESTINATION; } set { _ISDESTINATION = value; } } public string ISDESTINATION { get { return _ISDESTINATION; } set { _ISDESTINATION = value; } } public string ISPLACEDELIVERYID { get { return _ISPLACEDELIVERY; } set { _ISPLACEDELIVERY = value; } } public string ISPLACEDELIVERY { get { return _ISPLACEDELIVERY; } set { _ISPLACEDELIVERY = value; } } public string ISSIREMARK { get { return _ISSIREMARK; } set { _ISSIREMARK = value; } } public string ISISSUETYPE { get { return _ISISSUETYPE; } set { _ISISSUETYPE = value; } } public string ISSERVICE { get { return _ISSERVICE; } set { _ISSERVICE = value; } } public string ISBLFRT { get { return _ISBLFRT; } set { _ISBLFRT = value; } } public string ISPREPARDAT { get { return _ISPREPARDAT; } set { _ISPREPARDAT = value; } } public string ISPAYABLEAT { get { return _ISPAYABLEAT; } set { _ISPAYABLEAT = value; } } public string ISNOBILL { get { return _ISNOBILL; } set { _ISNOBILL = value; } } #endregion public string ISYARD { get; set; } public string ISETD { get; set; } public string ISCLOSINGDATE { get; set; } public string ISCLOSEDOCDATE { get; set; } public string ISVESSELID { get; set; } public string ISCOPYNOBILL { get; set; } /// /// 检查字段名对应的勾是否已经打上 /// /// /// public bool getChecked(string FieldName) { var _checked = GetValue("IS" + FieldName); if (!(_checked == "true")) return false; else return true; } } /// /// 用来存放“需要同步的列名”用的数据对象 /// [JsonObject] public class DiffFieldmb { public string FieldName { get; set; } public string FieldType { get; set; } public DiffFieldmb(string FieldName, string FieldType) { this.FieldName = FieldName; this.FieldType = FieldType; } public DiffFieldmb() { } public static Object GetValue(List DiffList, Dictionary Dic, string FieldName) { foreach (var item in DiffList) { if (item.FieldName == FieldName) { if (item.FieldType == "string") { return Dic[FieldName]; } if (item.FieldType == "decimal") { var _s = Dic[FieldName]; if (_s == "") _s = "0"; return Convert.ToDecimal(_s); } if (item.FieldType == "int") { var _s = Dic[FieldName]; return Convert.ToInt32(_s); } if (item.FieldType == "bool") { var _s = Dic[FieldName]; if (_s == "1"|| _s == "true") return true; return false; //return Convert.ToBoolean(_s); } break; } } return null; } } }