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.

6456 lines
358 KiB
C#

12 months ago
using System;
using System.Data;
using System.Data.Common;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using DSWeb.MvcShipping.Models.MsOpSeae;
using DSWeb.MvcShipping.Models.MsOpSeaeBill;
using DSWeb.MvcShipping.Models.MsOpStatus;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.EntityDA;
using DSWeb.Areas.CommMng.Models;
using HcUtility.Comm;
using System.Data.SqlClient;
using DSWeb.DataAccess;
using HcUtility.Core;
using DSWeb.Areas.CommMng.DAL;
using DotNet4.Utilities;
using DSWeb.MvcShipping.DAL.MsSysParamSet;
using System.Web;
using DSWeb.MvcShipping.DAL.DsSendmail;
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
{
public class MsOpSeaeDAL
{
#region 查询
static public List<MsOpSeae> GetDataList ( string strCondition, string userid, string usercode, string companyid, string sort = null, string load = null )
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
//var Feninlist = MsSysParamSetDAL.GetData("PARAMNAME='Feninlist'");
//if (Feninlist.PARAMVALUE != "1") {
// if (!string.IsNullOrEmpty(strCondition))
// {
// strCondition = " MASTERNO=BSNO and " + strCondition;
// }
// else
// {
// strCondition = " MASTERNO=BSNO ";
// }
//}
//
var strSql = new StringBuilder();
//if (load == "true")
//{
// strSql.Append("SELECT top 200 B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
// strSql.Append("CONSIGNEEID,NOTIFYPARTYID,'' SHIPPER,'' CONSIGNEE,'' NOTIFYPARTY,AGENTID,'' AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,");
//}
//else
//{
strSql.Append("SELECT OP_SEAE.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
//}
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
//strSql.Append(",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=OP_SEAE.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(OP_SEAE.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(OP_SEAE.BSNO) CRFEESTATUS,ISPRINTPR,MAILPROJECT");
// strSql.Append(",S.STATUS as OPSTATUS ");
strSql.Append(",(SELECT COUNT(*) FROM OP_AMEND WHERE PARENTID=OP_SEAE.BSNO) as AMENDCOUNT,SHIPAGENCY ");
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
strSql.Append(",(SELECT COUNT(*) FROM OP_APPLY WHERE MASTERNO=OP_SEAE.BSNO) as APPLYCOUNT ");
//20161117 邓羽 增加对提单签发状态的查询
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=OP_SEAE.BSNO) BLISSUESTATUS,ISCANCEL,ISTUI,TRANSREMARK,PRERECORD ");
strSql.Append(",MSHIPPERID,MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL,BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=OP_SEAE.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,'' COUNTRY,OPFEECOUNT,OPCOUNT,GOODSTYPE ");
strSql.Append(" from OP_SEAE ");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=OP_SEAE.BSNO) ");
// strSql.Append(" left join V_OP_STATUS S ON (S.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO AND EXISTS ( select 1 from OP_SEAE B WHERE OP_SEAE.BSNO=B.MASTERNO AND " + strCondition + " )");
}
else
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO ");
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE );
else
strSql.Append(" order by BSDATE desc");
}
return SetData(strSql);
}
static public List<MsOpSeae> GetDataList(int start, int limit, string strCondition, string userid, string usercode, string companyid, string sort = null, string load = null)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var isNoForward = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modMsNoForward", userid);
var strSql = new StringBuilder();
strSql.Append(@"SELECT *,'' COUNTRY from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
if (sortstring.ToUpper().IndexOf("OPSTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("OPSTATUS", "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC)"));
else if (sortstring.ToUpper().IndexOf("DRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("DRFEESTATUS", " dbo.F_GetBillDrFeeStatus(OP_SEAE.BSNO) "));
else if (sortstring.ToUpper().IndexOf("CRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("CRFEESTATUS", " dbo.F_GetBillCrFeeStatus(OP_SEAE.BSNO) "));
else if (sortstring.ToUpper().IndexOf("BSSTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("BSSTATUSREF", " BSSTATUS "));
else if (sortstring.ToUpper().IndexOf("FEESTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("FEESTATUSREF", " FEESTATUS "));
else
{
sortstring= sortstring.Replace("SALECORP", "OP_SEAE.SALECORPID");
strSql.Append(" order by " + sortstring);
}
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE );
else
strSql.Append(" order by BSDATE desc");
}
strSql.Append(@") as num , ");
strSql.Append("OP_SEAE.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=OP_SEAE.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(OP_SEAE.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(OP_SEAE.BSNO) CRFEESTATUS,ISPRINTPR,MAILPROJECT");
strSql.Append(",(SELECT COUNT(*) FROM OP_AMEND WHERE PARENTID=OP_SEAE.BSNO) as AMENDCOUNT,SHIPAGENCY ");
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
strSql.Append(",(SELECT COUNT(*) FROM OP_APPLY WHERE MASTERNO=OP_SEAE.BSNO) as APPLYCOUNT ");
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=OP_SEAE.BSNO) BLISSUESTATUS,ISCANCEL,ISTUI,TRANSREMARK,PRERECORD ");
strSql.Append(",MSHIPPERID,MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL,BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=OP_SEAE.SALECORPID) as SALECORP,(select TOP 1 COLOR FROM code_op_status_detail WITH (NOLOCK) WHERE OPSTATUS = (CASE WHEN (SELECT TOP 1 [STATUS] FROM V_OP_STATUS WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WHERE BSNO = OP_SEAE.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR");
strSql.Append(" ,V.CUSTOMSSTATUS,V.PORTSTATUS,V.EXPSTATUS,V.TRUCKCTNSTATUS,V.CTNRETURNSTATUS,V.HGYDSTATUS,TRUCKSTATUS,V.ATASTATUS,V.STCSSTATUS,V.RCVESTATUS,OPFEECOUNT,OPCOUNT,GOODSTYPE ");
strSql.Append(" from OP_SEAE ");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=OP_SEAE.BSNO) ");
strSql.Append(" left join (select bsno, sum(case when[status] = '海关放行' then 1 else 0 end) CUSTOMSSTATUS, sum(case when [status] = '运抵报告' then 1 else 0 end) HGYDSTATUS , sum(case when[status] = '码头放行' then 1 else 0 end) PORTSTATUS");
strSql.Append(", sum(case when[status] = '装船出运' then 1 else 0 end) EXPSTATUS, sum(case when [status] = '空箱出场' then 1 else case when [status] = '部分空出' then 2 else 0 end end) TRUCKCTNSTATUS");
strSql.Append(", sum(case when[status] = '到港' then 1 else 0 end) ATASTATUS, sum(case when [status] = '目的港提箱' then 1 else case when [status] = '部分目的港提箱' then 2 else 0 end end) STCSSTATUS ");
strSql.Append(", sum(case when [status] = '目的港返空' then 1 else case when [status] = '部分目的港返空' then 2 else 0 end end) RCVESTATUS ");
strSql.Append(", sum(case when[status] = '重箱返场' then 1 else case when [status] = '部分重返' then 2 else 0 end end) CTNRETURNSTATUS from op_status WITH (NOLOCK) GROUP BY BSNO) as v on(v.bsno = OP_SEAE.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO AND EXISTS ( select 1 from OP_SEAE B WHERE OP_SEAE.BSNO=B.MASTERNO AND " + strCondition + " )");
}
else
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO ");
}
strSql.Append(@")as t ");
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
return SetData(strSql, isNoForward);
}
public static int getTotalCount(string strCondition, string userid, string usercode, string companyid)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) ");
strSql.Append(" from OP_SEAE ");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=OP_SEAE.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO AND EXISTS ( select 1 from OP_SEAE B WHERE OP_SEAE.BSNO=B.MASTERNO AND " + strCondition + " )");
}
else
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO ");
}
int cnt = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
cnt = Convert.ToInt32(reader[0]);
}
}
return cnt;
}
static public List<MsOpSeae> GetSaleDataList ( string strCondition, string username, string sort = null, string load = null,string userid="",string companyid="")
{
var rangstr = GetSaleRangDAStr("index", userid, username, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,APPLYNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,B.INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,B.REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS ");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=B.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS,ISPRINTPR,MAILPROJECT,0 AMENDCOUNT,0 as APPLYCOUNT,ISCANCEL,ISTUI,TRANSREMARK,PRERECORD ");
strSql.Append(",SHIPAGENCY");
11 months ago
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR,I.TTLDR-I.TTLCR TTLPROFIT,CASE WHEN I.TTLDR=0 THEN 0 ELSE (I.TTLDR-I.TTLCR)/I.TTLDR*100 END PROFITRATE");
12 months ago
strSql.Append(",'' MSHIPPERID,'' MCONSIGNEEID,'' MNOTIFYPARTYID,'' MSHIPPER,'' MCONSIGNEE,'' MNOTIFYPARTY,null ATD,DELIVERYDATE,YARDATTN,YARDTEL,'' COUNTRY ");
//20161117 邓羽 增加对提单签发状态的查询
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS,B.BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,(select TOP 1 COLOR FROM code_op_status_detail WITH (NOLOCK) WHERE OPSTATUS = (CASE WHEN (SELECT TOP 1 [STATUS] FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO = B.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS ");
strSql.Append(",CASE WHEN len(DESTINATIONID)<>5 THEN '' ELSE (select top 1 c_country_name from t_sys_country_code where c_country_code=LEFT(DESTINATIONID,2)) END as COUNTRY,OPFEECOUNT,OPCOUNT,GOODSTYPE ");
strSql.Append(" from OP_SEAE B");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
if (sortstring.ToUpper().IndexOf("OPSTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("OPSTATUS", "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC)"));
else if (sortstring.ToUpper().IndexOf("DRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("DRFEESTATUS", " dbo.F_GetBillDrFeeStatus(B.BSNO) "));
else if (sortstring.ToUpper().IndexOf("CRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("CRFEESTATUS", " dbo.F_GetBillCrFeeStatus(B.BSNO) "));
else if (sortstring.ToUpper().IndexOf("BSSTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("BSSTATUSREF", " BSSTATUS "));
else if (sortstring.ToUpper().IndexOf("FEESTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("FEESTATUSREF", " FEESTATUS "));
else
{
sortstring = sortstring.Replace("SALECORP", "B.SALECORPID");
strSql.Append(" order by " + sortstring);
}
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE);
else
strSql.Append(" order by BSDATE desc");
}
11 months ago
return SetData(strSql,false,true);
12 months ago
}
#region 更改单
static public List<MsOpSeae> GetAmendDataList(int start, int limit, string strCondition, string userid, string usercode, string companyid, string sort = null, string load = null)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append(@"SELECT * from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
sortstring = sortstring.Replace("TRANSNO", "AMENDNO").Replace("EDIREMARK", "REASON");
sortstring = sortstring.Replace("AMEND", "AMENDCOUNT");
//sortstring = sortstring.Replace("SALE", "A.SALE");
//sortstring = sortstring.Replace("CREATEUSER", "A.CREATEUSER");
strSql.Append(" order by " + sortstring);
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE );
else
strSql.Append(" order by BSDATE desc");
}
strSql.Append(@") as num ,* FROM (");
strSql.Append("SELECT A.BSNO,A.PARENTID MASTERNO,B.ORDERTYPE,B.ORDTYPE,B.ORDERNO,BSSTATUS,A.FEESTATUS,BSDATE,A.ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,A.AMENDNO TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,CREATEUSER INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,A.SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,A.ISVOU,A.VOUNO,A.REMARKS REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,A.CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,A.REASON EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE A.FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",'' as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,B.ISGAIQIAN,B.WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(A.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(A.BSNO) CRFEESTATUS,ISPRINTPR,B.MAILPROJECT");
strSql.Append(",(select slno+1 from v_op_bill where bsno=A.BSNO) as AMENDCOUNT,SHIPAGENCY ");
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
strSql.Append(",0 as APPLYCOUNT ");
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS,ISCANCEL,ISTUI,TRANSREMARK,PRERECORD ");
strSql.Append(",'' MSHIPPERID,'' MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL,A.BillFeeStatus,B.SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS ,B.TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,'' COUNTRY,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE");
strSql.Append(" from OP_AMEND A ");
strSql.Append(" LEFT JOIN OP_SEAE B ON (B.BSNO=A.PARENTID)");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=A.BSNO) ");
//strSql.Append(" LEFT JOIN V_FEE_LASTAUDIT f ON (f.BSNO=A.BSNO AND f.NUM=1) ");
strSql.Append(" WHERE B.BSNO IS NOT NULL ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" AND " + strCondition );
}
strSql.Append(") AS T ");
strSql.Append(@")as t ");
strSql.Append(string.Format("where t.num>={0} and t.num<={1} order by t.num", start, start + limit)); //
return SetData(strSql);
}
public static int getAmendTotalCount(string strCondition, string userid, string usercode, string companyid)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) ");
strSql.Append(" from OP_AMEND A ");
strSql.Append(" left join OP_SEAE B ON (B.BSNO=A.PARENTID)");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=A.BSNO) ");
strSql.Append(" WHERE B.BSNO IS NOT NULL ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" AND " + strCondition);
}
int cnt = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
cnt = Convert.ToInt32(reader[0]);
}
}
return cnt;
}
#endregion
static public DBResult GetAmendDataStr(string strCondition, string userid, string usercode, string companyid, string sort = null, string load = null)
{
var result = new DBResult();
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT A.BSNO,A.PARENTID MASTERNO,B.ORDERTYPE,B.ORDTYPE,B.ORDERNO,BSSTATUS,A.FEESTATUS,BSDATE,A.ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,A.AMENDNO TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,LANE,A.SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,A.ISVOU,A.VOUNO,A.REMARKS REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,A.CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,A.REASON EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE A.FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",'' as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,B.ISGAIQIAN,B.WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(A.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(A.BSNO) CRFEESTATUS,ISPRINTPR");
strSql.Append(",0 as AMENDCOUNT,SHIPAGENCY ");
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
strSql.Append(",0 as APPLYCOUNT ");
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS,ISCANCEL,ISTUI ");
strSql.Append(",MSHIPPERID,MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL,SALECORPID ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE ");
strSql.Append(" from OP_AMEND A ");
strSql.Append(" LEFT JOIN OP_SEAE B ON (B.BSNO=A.PARENTID)");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=A.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
sortstring = sortstring.Replace("FEESTATUS", "A.FEESTATUS").Replace("TRANSNO", "A.AMENDNO").Replace("EDIREMARK", "A.REASON").Replace("ACCDATE", "A.ACCDATE")
.Replace("CREATETIME", "A.CREATETIME").Replace("REMARK", "A.REMARK").Replace("SALECORP", "B.SALECORPID");
strSql.Append(" order by " + sortstring);
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE );
else
strSql.Append(" order by BSDATE desc");
}
result.Data = strSql.ToString();
result.Message = strCondition;
return result;
}
static public List<MsOpSeae> GetAllDataList(int start, int limit, string strCondition, string userid, string usercode, string companyid, string sort = null, string load = null)
{
//var rangstr = GetRangDAStr("index", userid, usercode, companyid);
//if (!string.IsNullOrEmpty(rangstr))
//{
// if (!string.IsNullOrEmpty(strCondition))
// {
// strCondition = strCondition + " and " + rangstr;
// }
// else
// {
// strCondition = rangstr;
// }
//}
//var isNoForward = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modMsNoForward", userid);
var strSql = new StringBuilder();
strSql.Append(@"SELECT *,'' COUNTRY from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
if (sortstring.ToUpper().IndexOf("OPSTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("OPSTATUS", "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC)"));
else if (sortstring.ToUpper().IndexOf("DRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("DRFEESTATUS", " dbo.F_GetBillDrFeeStatus(B.BSNO) "));
else if (sortstring.ToUpper().IndexOf("CRFEESTATUS") >= 0)
strSql.Append(" order by " + sortstring.Replace("CRFEESTATUS", " dbo.F_GetBillCrFeeStatus(B.BSNO) "));
else if (sortstring.ToUpper().IndexOf("BSSTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("BSSTATUSREF", " BSSTATUS "));
else if (sortstring.ToUpper().IndexOf("FEESTATUSREF") >= 0)
strSql.Append(" order by " + sortstring.Replace("FEESTATUSREF", " FEESTATUS "));
if (sortstring.ToUpper().IndexOf("ORDERTYPE") >= 0)
strSql.Append(" order by " + sortstring.Replace("ORDERTYPE", " OPTYPE "));
else
{
sortstring = sortstring.Replace("SALECORP", "B.SALECORPID");
strSql.Append(" order by " + sortstring);
}
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeDefaultSort'");
if (SeaeDefaultSort.PARAMVALUE != "")
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE);
else
strSql.Append(" order by BSDATE desc");
}
strSql.Append(@") as num , ");
strSql.Append("B.BSNO,MASTERNO,OPTYPE ORDERTYPE,'' ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,'' SHIPPERID,");
strSql.Append("'' CONSIGNEEID,'' NOTIFYPARTYID,'' SHIPPER,'' CONSIGNEE,'' NOTIFYPARTY,AGENTID,'' AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,'' VESSEL2N,'' VOYNO2N,'' VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,'' PREPARDAT,'' PREPARDATID,'' PAYABLEAT,[SERVICE],'' MARKS,'' CNTRSEALNO,'' NOPKGS,'' [DESCRIPTION],GOODSNAME,");
strSql.Append("'' GROSSWEIGHT,'' MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,'' TOTALNO,'' CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,'' DCLASS,'' DUNNO,'' DPAGE,'' DLABEL,'' LINKMAN,");
strSql.Append("'' REEFERF,'' TEMPID,'' TEMPSET,'' TEMPMAX,'' TEMPMIN,'' HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,'' INSURANCEER,'' INSURANCENO,0 INAMOUT,0 ISVOU,'' VOUNO,REMARK,0 STATUS1,");
strSql.Append("0 STATUS2,0 STATUS3,0 STATUS4,0 STATUS5,0 ISFUMIGATION,0 ISSTORAGE,0 ISLAND,0 ISCUSTOMS,0 ISINSPECTION,0 ISBOOKING,0 ISAGENT,0 ISHBLNO,0 SERVICE9,0 SERVICE10,DOC,'' PACKINGTYPE,");
strSql.Append("'' WAREHOUSE,null CLOSEDOCDATE,null INTOPORTDATE,CORPID,SALEDEPT,'' MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,'' OPERATORCODE,'' OPERATOR,'' OPERATOREMAIL,'' OPERATORTEL,'' OPERATORFAX,");
strSql.Append("'' FINANCIALSTAFFCODE,'' FINANCIALSTAFF,'' FINANCIALSTAFFEMAIL,'' FINANCIALSTAFFTEL,'' FINANCIALSTAFFFAX,'' PLACERECEIPTID,'' SOURCECODE,0 ISCONTAINERSOC,'' VESSELID,'' ISSUEPLACEID,'' HSCODE");
strSql.Append(",'' TRANSTATUS,'' EDIREMARK,'' SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,'' TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",'' as MANIFESTSTATUSREF");
strSql.Append(",'' CUSTOMNO,'' ENTERPID,'' ENTERP,'' INSPECTIONNO,null INSPECTIONDATE,null CUSTOMDATE,null CLEARCUSTOMDATE,0 ISMOREGOOD,'' TERMSDELIVERY,'' INSPECTSERVICE,'' TRADETERM,0 FENPIAO,0 ISGAIQIAN,0 WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS,0 ISPRINTPR,'' MAILPROJECT");
strSql.Append(",(SELECT COUNT(*) FROM OP_AMEND WHERE PARENTID=B.BSNO) as AMENDCOUNT,'' SHIPAGENCY ");
strSql.Append(",0 TTLDR,0 TTLINVDR,0 TTLDUIDR");
strSql.Append(",0 as APPLYCOUNT ");
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS,0 ISCANCEL,0 ISTUI,'' TRANSREMARK,0 PRERECORD ");
strSql.Append(",'' MSHIPPERID,'' MCONSIGNEEID,'' MNOTIFYPARTYID,'' MSHIPPER,'' MCONSIGNEE,'' MNOTIFYPARTY,NULL ATD,NULL DELIVERYDATE,'' YARDATTN,'' YARDTEL,BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,'' AS COLOR");
strSql.Append(" ,0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,0 TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE ");
strSql.Append(" from v_op_seae B");
//strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
strSql.Append(@")as t ");
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
return SetData(strSql);
}
public static int getAllTotalCount(string strCondition, string userid, string usercode, string companyid)
{
//var rangstr = GetRangDAStr("index", userid, usercode, companyid);
//if (!string.IsNullOrEmpty(rangstr))
//{
// if (!string.IsNullOrEmpty(strCondition))
// {
// strCondition = strCondition + " and " + rangstr;
// }
// else
// {
// strCondition = rangstr;
// }
//}
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) ");
strSql.Append(" from v_op_seae B ");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
int cnt = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
cnt = Convert.ToInt32(reader[0]);
}
}
return cnt;
}
static public DBResult GetDataListStr ( string strCondition, string userid, string usercode, string companyid, string sort = null )
{
var result = new DBResult();
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
//
var strSql = new StringBuilder();
strSql.Append("SELECT * ");
strSql.Append(",CASE WHEN ISNULL(TTLINVDR,0)=0 THEN '未开票' WHEN ISNULL(TTLINVDR,0)=ISNULL(TTLDR,0) THEN '已开票' WHEN ISNULL(TTLINVDR,0)!=ISNULL(TTLDR,0) THEN '部分开票' END DRINVSTATUS ");
strSql.Append(",CASE WHEN ISNULL(TTLDUIDR,0)=0 THEN '未对账' WHEN ISNULL(TTLDUIDR,0)=ISNULL(TTLDR,0) THEN '已对账' WHEN ISNULL(TTLDUIDR,0)!=ISNULL(TTLDR,0) THEN '部分对账' END DRDUISTATUS ");
strSql.Append(",APPLYCOUNT ISAPPLY,AMENDCOUNT AMEND from (");
strSql.Append("SELECT OP_SEAE.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,APPLYNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=OP_SEAE.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(OP_SEAE.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(OP_SEAE.BSNO) CRFEESTATUS,ISPRINTPR,MAILPROJECT");
strSql.Append(",(SELECT COUNT(*) FROM OP_AMEND WHERE PARENTID=OP_SEAE.BSNO) as AMENDCOUNT,SHIPAGENCY ");
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
strSql.Append(",(SELECT COUNT(*) FROM OP_APPLY WHERE MASTERNO=OP_SEAE.BSNO) as APPLYCOUNT ");
strSql.Append(",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=OP_SEAE.BSNO) BLISSUESTATUS,ISCANCEL,ISTUI,TRANSREMARK,PRERECORD ");
strSql.Append(",MSHIPPERID,MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL,BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=OP_SEAE.SALECORPID) as SALECORP,(select TOP 1 COLOR FROM code_op_status_detail WITH (NOLOCK) WHERE OPSTATUS = (CASE WHEN (SELECT TOP 1 [STATUS] FROM V_OP_STATUS WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WHERE BSNO = OP_SEAE.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR");
strSql.Append(" ,V.CUSTOMSSTATUS,V.PORTSTATUS,V.EXPSTATUS,V.TRUCKCTNSTATUS,V.CTNRETURNSTATUS,V.HGYDSTATUS,TRUCKSTATUS,V.ATASTATUS,V.STCSSTATUS,V.RCVESTATUS,OPFEECOUNT,OPCOUNT,GOODSTYPE ");
strSql.Append(" from OP_SEAE ");
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=OP_SEAE.BSNO) ");
strSql.Append(" left join (select bsno, sum(case when[status] = '海关放行' then 1 else 0 end) CUSTOMSSTATUS, sum(case when [status] = '运抵报告' then 1 else 0 end) HGYDSTATUS , sum(case when[status] = '码头放行' then 1 else 0 end) PORTSTATUS");
strSql.Append(", sum(case when[status] = '装船出运' then 1 else 0 end) EXPSTATUS, sum(case when [status] = '空箱出场' then 1 else case when [status] = '部分空出' then 2 else 0 end end) TRUCKCTNSTATUS");
strSql.Append(", sum(case when[status] = '到港' then 1 else 0 end) ATASTATUS, sum(case when [status] = '目的港提箱' then 1 else case when [status] = '部分目的港提箱' then 2 else 0 end end) STCSSTATUS ");
strSql.Append(", sum(case when [status] = '目的港返空' then 1 else case when [status] = '部分目的港返空' then 2 else 0 end end) RCVESTATUS ");
strSql.Append(", sum(case when[status] = '重箱返场' then 1 else case when [status] = '部分重返' then 2 else 0 end end) CTNRETURNSTATUS from op_status WITH (NOLOCK) GROUP BY BSNO) as v on(v.bsno = OP_SEAE.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO AND EXISTS ( select 1 from OP_SEAE B WHERE OP_SEAE.BSNO=B.MASTERNO AND " + strCondition + " )");
}
else
{
strSql.Append(" where MASTERNO=OP_SEAE.BSNO ");
}
strSql.Append(" ) as T ");
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by BSDATE desc");
}
result.Data = strSql.ToString();
result.Message = strCondition;
return result;
}
static public MsOpSeae GetData ( string condition,string userid="")
{
var strSql = new StringBuilder();
strSql.Append("SELECT BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,APPLYNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",'' as OPSTATUS ");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=B.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",'' DRFEESTATUS");
strSql.Append(",'' CRFEESTATUS");
strSql.Append(",SHIPAGENCY,ISPRINTPR,MAILPROJECT,0 AMENDCOUNT,0 as APPLYCOUNT,0 TTLDR,0 TTLINVDR,0 TTLDUIDR,ISCANCEL,ISTUI,''TRANSREMARK,PRERECORD ");
strSql.Append(",MSHIPPERID,MCONSIGNEEID,MNOTIFYPARTYID,MSHIPPER,MCONSIGNEE,MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL ");
// strSql.Append(",(SELECT COUNT(*) FROM OP_SEAE WHERE BSNO<>MASTERNO AND MASTERNO=B.BSNO) as FENPIAO ");
//20161117 邓羽 增加对提单签发状态的查询
strSql.Append(",isnull(BLISSUESTATUS,'') BLISSUESTATUS,B.BillFeeStatus,SALECORPID,MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS ");
strSql.Append(",CASE WHEN len(DESTINATIONID)<>5 THEN '' ELSE (select top 1 c_country_name from t_sys_country_code where c_country_code=LEFT(DESTINATIONID,2)) END as COUNTRY,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE ");
strSql.Append(" from OP_SEAE B");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
strSql.Append(" ORDER BY CREATETIME ");
var isNoForward = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modMsNoForward", userid);
var list = SetData(strSql, isNoForward);
if (list.Count > 0)
return list[0];
return new MsOpSeae();
}
static public List<MsOpSeae> GetFenList ( string strCondition, string userid, string usercode, string companyid, string sort = null,bool norang=true)
{
if (norang)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
}
//
var strSql = new StringBuilder();
strSql.Append("SELECT B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,APPLYNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,B.INPUTBY,OP,CUSTSERVICE,FRCUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,B.REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS ");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=B.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS");
strSql.Append(",SHIPAGENCY,ISPRINTPR,MAILPROJECT,0 AMENDCOUNT,0 as APPLYCOUNT,0 TTLDR,0 TTLINVDR,0 TTLDUIDR,ISCANCEL,ISTUI,'' TRANSREMARK,PRERECORD");
strSql.Append(",'' MSHIPPERID,'' MCONSIGNEEID,'' MNOTIFYPARTYID,'' MSHIPPER,'' MCONSIGNEE,'' MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL ");
// strSql.Append(",S.STATUS as OPSTATUS ");
// strSql.Append(",(SELECT COUNT(*) FROM OP_SEAE WHERE BSNO<>MASTERNO AND MASTERNO=B.BSNO) as FENPIAO ");
//20161117 邓羽 增加对提单签发状态的查询
strSql.Append(",isnull(BLISSUESTATUS,'') BLISSUESTATUS,B.BillFeeStatus,SALECORPID,'' MDESCRIPTION ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,'' COUNTRY,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE ");
strSql.Append(" from OP_SEAE B");
// strSql.Append(" left join V_OP_STATUS S ON (S.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by BSDATE desc");
}
return SetData(strSql);
}
static public string GetFenListStr(string strCondition, string userid, string usercode, string companyid, string sort = null, bool norang = true)
{
if (norang)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
}
//
var strSql = new StringBuilder();
strSql.Append("SELECT B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,APPLYNO,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,VESSEL2N,VOYNO2N,VESSELID2N,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,COPYNOBILL,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PREPARDATID,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,");
strSql.Append("TEU,CNTRTOTAL,B.INPUTBY,OP,CUSTSERVICE,LANE,SALE,CARRIER,FORWARDER,CUSTOMSER,TRUCKER,INVNO,CARGOID,DCLASS,DUNNO,DPAGE,DLABEL,LINKMAN,");
strSql.Append("REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN,HUMIDITY,BSSOURCE,BSSOURCEDETAIL,CUSTOMSNUM,CONTRACTNO,INSURANCEER,INSURANCENO,INAMOUT,ISVOU,VOUNO,B.REMARK,STATUS1,");
strSql.Append("STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION,ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,DOC,PACKINGTYPE,");
strSql.Append("WAREHOUSE,CLOSEDOCDATE,INTOPORTDATE,CORPID,SALEDEPT,MBLFRT,CREATETIME,STLNAME,dbo.trimdate(STLDATE) STLDATE,OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,");
strSql.Append("FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX,PLACERECEIPTID,SOURCECODE,ISCONTAINERSOC,VESSELID,ISSUEPLACEID,HSCODE");
strSql.Append(",TRANSTATUS,EDIREMARK,SERVICECONTRACTNO,(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,TRANSPORT ");
strSql.Append(",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS ");
strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97018 and EnumValueID=B.MANIFESTSTATUS) as MANIFESTSTATUSREF");
strSql.Append(",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,CLEARCUSTOMDATE,ISMOREGOOD,TERMSDELIVERY,INSPECTSERVICE,TRADETERM,0 FENPIAO,ISGAIQIAN,WARNCOUNT");
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS");
strSql.Append(",SHIPAGENCY,ISPRINTPR,MAILPROJECT,0 AMENDCOUNT,0 as APPLYCOUNT,0 TTLDR,0 TTLINVDR,ISCANCEL,ISTUI");
strSql.Append(",'' MSHIPPERID,'' MCONSIGNEEID,'' MNOTIFYPARTYID,'' MSHIPPER,'' MCONSIGNEE,'' MNOTIFYPARTY,ATD,DELIVERYDATE,YARDATTN,YARDTEL ");
// strSql.Append(",S.STATUS as OPSTATUS ");
// strSql.Append(",(SELECT COUNT(*) FROM OP_SEAE WHERE BSNO<>MASTERNO AND MASTERNO=B.BSNO) as FENPIAO ");
//20161117 邓羽 增加对提单签发状态的查询
strSql.Append(",isnull(BLISSUESTATUS,'') BLISSUESTATUS,BillFeeStatus,SALECORPID ");
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",0 CUSTOMSSTATUS,0 PORTSTATUS,0 EXPSTATUS,0 TRUCKCTNSTATUS,0 CTNRETURNSTATUS,0 HGYDSTATUS,TRUCKSTATUS,0 ATASTATUS,0 STCSSTATUS,0 RCVESTATUS,B.OPFEECOUNT,B.OPCOUNT,B.GOODSTYPE ");
strSql.Append(" from OP_SEAE B");
// strSql.Append(" left join V_OP_STATUS S ON (S.BSNO=B.BSNO) ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by BSDATE desc");
}
return strSql.ToString();
}
11 months ago
private static List<MsOpSeae> SetData ( StringBuilder strSql,bool isNoForward=false, bool isSale = false)
12 months ago
{
var headList = new List<MsOpSeae>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeae data = new MsOpSeae();
#region Set DB data to Object
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
//字段过滤器(判断是否存在该列)
reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'COLOR'";
if (reader.GetSchemaTable().DefaultView.Count > 0)
data.COLOR= Convert.ToString(reader["COLOR"]);
data.ORDERTYPE = Convert.ToString(reader["ORDERTYPE"]);//委托方式
data.MASTERNO = Convert.ToString(reader["MASTERNO"]);//主编号
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);//委托编号
data.MBLNO = Convert.ToString(reader["MBLNO"]);//主提单号
data.HBLNO = Convert.ToString(reader["HBLNO"]);//分提单号
data.APPLYNO = Convert.ToString(reader["APPLYNO"]);//放箱申请单号
if (reader["BSSTATUS"] != DBNull.Value)
data.BSSTATUS = Convert.ToBoolean(reader["BSSTATUS"]);//业务状态
if (reader["FEESTATUS"] != DBNull.Value)
data.FEESTATUS = Convert.ToBoolean(reader["FEESTATUS"]);//费用状态
data.BSSTATUSREF = Convert.ToString(reader["BSSTATUSREF"]);// 业务状态
data.FEESTATUSREF = Convert.ToString(reader["FEESTATUSREF"]);// 费用状态
data.MANIFESTSTATUS = Convert.ToString(reader["MANIFESTSTATUSREF"]); //舱单状态
if (Convert.ToString(reader["OPSTATUS"]) != "")
data.OPSTATUS = Convert.ToString(reader["OPSTATUS"]);// 费用状态
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
if (reader["AMENDCOUNT"] != DBNull.Value)
data.AMEND = Convert.ToString(reader["AMENDCOUNT"]);//是否有更改单
if (reader["APPLYCOUNT"] != DBNull.Value)
data.ISAPPLY = Convert.ToString(reader["APPLYCOUNT"]);//是否生成报关
if (reader["BSDATE"] != DBNull.Value)
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]);//接单日期
data.ACCDATE = Convert.ToString(reader["ACCDATE"]);//会计期间
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);//委托单位
data.BSSOURCE = Convert.ToString(reader["BSSOURCE"]);//业务来源
data.BSSOURCEDETAIL = Convert.ToString(reader["BSSOURCEDETAIL"]);//来源明细
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//录入人
data.OP = Convert.ToString(reader["OP"]);//操作员
data.CUSTSERVICE = Convert.ToString(reader["CUSTSERVICE"]);//客服员
data.FRCUSTSERVICE = Convert.ToString(reader["FRCUSTSERVICE"]);//海外客服员
data.SALE = Convert.ToString(reader["SALE"]);//揽货人
data.CORPID = Convert.ToString(reader["CORPID"]);//分公司代码
data.SALECORPID = Convert.ToString(reader["SALECORPID"]);//分公司代码
data.SALECORP = Convert.ToString(reader["SALECORP"]);//分公司代码
data.SALEDEPT = Convert.ToString(reader["SALEDEPT"]);//所属部门
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);//创建时间
data.VESSEL = Convert.ToString(reader["VESSEL"]);//船名
data.VOYNO = Convert.ToString(reader["VOYNO"]);//航次
if (reader["ETD"] != DBNull.Value)
data.ETD = Convert.ToDateTime(reader["ETD"]).ToString("yyyy-MM-dd");//到港日期
if (reader["ATD"] != DBNull.Value)
data.ATD = Convert.ToDateTime(reader["ATD"]).ToString("yyyy-MM-dd");//到港日期
if (reader["DELIVERYDATE"] != DBNull.Value)
data.DELIVERYDATE = Convert.ToDateTime(reader["DELIVERYDATE"]).ToString("yyyy-MM-dd");//交货日期
data.VESSEL2N = Convert.ToString(reader["VESSEL2N"]);//船名
data.VOYNO2N = Convert.ToString(reader["VOYNO2N"]);//航次
data.VESSELID2N = Convert.ToString(reader["VESSELID2N"]);//航次
data.PORTLOADID = Convert.ToString(reader["PORTLOADID"]);//装货港代码
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);//装货港
data.TRANSPORT = Convert.ToString(reader["TRANSPORT"]);//中转港
data.PORTDISCHARGEID = Convert.ToString(reader["PORTDISCHARGEID"]);//卸货港代码
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);//卸货港
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//集装箱大写
if (reader["CNTR1"] != DBNull.Value)
data.CNTR1 = Convert.ToInt32(reader["CNTR1"]);//箱型1
if (reader["CNTR2"] != DBNull.Value)
data.CNTR2 = Convert.ToInt32(reader["CNTR2"]);//箱型2
if (reader["CNTR3"] != DBNull.Value)
data.CNTR3 = Convert.ToInt32(reader["CNTR3"]);//箱型3
if (reader["CNTR4"] != DBNull.Value)
data.CNTR4 = Convert.ToInt32(reader["CNTR4"]);//箱型4
if (reader["CNTR5"] != DBNull.Value)
data.CNTR5 = Convert.ToInt32(reader["CNTR5"]);//箱型5
if (reader["CNTR6"] != DBNull.Value)
data.CNTR6 = Convert.ToInt32(reader["CNTR6"]);//箱型6
if (reader["CNTR7"] != DBNull.Value)
data.CNTR7 = Convert.ToInt32(reader["CNTR7"]);//箱型7
if (reader["CNTR8"] != DBNull.Value)
data.CNTR8 = Convert.ToInt32(reader["CNTR8"]);//箱型8
if (reader["CNTR9"] != DBNull.Value)
data.CNTR9 = Convert.ToInt32(reader["CNTR9"]);//箱型9
if (reader["CNTR10"] != DBNull.Value)
data.CNTR10 = Convert.ToInt32(reader["CNTR10"]);//箱型10
if (reader["OTCNTR"] != DBNull.Value)
data.OTCNTR = Convert.ToInt32(reader["OTCNTR"]);//其他箱型
if (reader["TEU"] != DBNull.Value)
data.TEU = Convert.ToInt32(reader["TEU"]);//箱TEU
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);//集装箱全部内容
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);//合同号
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToString(reader["KGS"]);//毛重
data.CUSTOMSER = Convert.ToString(reader["CUSTOMSER"]);//报关行
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToString(reader["PKGS"]);//件数
if (reader["ISVOU"] != DBNull.Value)
data.ISVOU = Convert.ToBoolean(reader["ISVOU"]);//是否生成凭证
data.VOUNO = Convert.ToString(reader["VOUNO"]);//凭证号
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//件数包装
data.REMARK = Convert.ToString(reader["REMARK"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//备注
data.YARD = Convert.ToString(reader["YARD"]);//场站/靠泊码头
data.YARDATTN = Convert.ToString(reader["YARDATTN"]);//场站/靠泊码头
data.YARDTEL = Convert.ToString(reader["YARDTEL"]);//场站/靠泊码头
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);//装运方式
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToString(reader["CBM"]);//立方数/尺码
data.CNTRSEALNO = Convert.ToString(reader["CNTRSEALNO"]);//箱号封号
data.CARRIER = Convert.ToString(reader["CARRIER"]);//船公司
data.TRUCKER = Convert.ToString(reader["TRUCKER"]);//承运车队
if (reader["CUSTOMSNUM"] != DBNull.Value)
data.CUSTOMSNUM = Convert.ToInt32(reader["CUSTOMSNUM"]);//报关票数
if (reader["PRERECORD"] != DBNull.Value)
data.PRERECORD = Convert.ToInt32(reader["PRERECORD"]);//报关票数
data.NOPKGS = Convert.ToString(reader["NOPKGS"]);//件数包装
if (reader["GROSSWEIGHT"] != DBNull.Value)
data.GROSSWEIGHT = Convert.ToString(reader["GROSSWEIGHT"]);//货物毛重
if (reader["MEASUREMENT"] != DBNull.Value)
data.MEASUREMENT = Convert.ToString(reader["MEASUREMENT"]);//货物尺码
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);//货物描述
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);//件数大写
data.TRANSNO = Convert.ToString(reader["TRANSNO"]);//运单号
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);//发货人
data.CONSIGNEEID = Convert.ToString(reader["CONSIGNEEID"]);//收货人
data.NOTIFYPARTYID = Convert.ToString(reader["NOTIFYPARTYID"]);//通知人
data.SHIPPER = Convert.ToString(reader["SHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//发货人内容
data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//收货人内容
data.NOTIFYPARTY = Convert.ToString(reader["NOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//通知人内容
data.MSHIPPERID = Convert.ToString(reader["MSHIPPERID"]);//发货人
data.MCONSIGNEEID = Convert.ToString(reader["MCONSIGNEEID"]);//收货人
data.MNOTIFYPARTYID = Convert.ToString(reader["MNOTIFYPARTYID"]);//通知人
data.MSHIPPER = Convert.ToString(reader["MSHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//发货人内容
data.MCONSIGNEE = Convert.ToString(reader["MCONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//收货人内容
data.MNOTIFYPARTY = Convert.ToString(reader["MNOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//通知人内容
data.AGENTID = Convert.ToString(reader["AGENTID"]);//国外代理
data.AGENT = Convert.ToString(reader["AGENT"]);//国外代理内容
if (reader["CLOSINGDATE"] != DBNull.Value)
data.CLOSINGDATE = Convert.ToDateTime(reader["CLOSINGDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期
if (reader["ETA"] != DBNull.Value)
data.ETA = Convert.ToDateTime(reader["ETA"]).ToString("yyyy-MM-dd");//预抵日期
data.PLACERECEIPT = Convert.ToString(reader["PlACERECEIPT"]);//收货地
data.PLACERECEIPTID = Convert.ToString(reader["PLACERECEIPTID"]);//收货地
data.PLACEDELIVERYID = Convert.ToString(reader["PLACEDELIVERYID"]);//交货地代码
data.PLACEDELIVERY = Convert.ToString(reader["PLACEDELIVERY"]);//交货地
data.DESTINATIONID = Convert.ToString(reader["DESTINATIONID"]);//目的地代码
data.DESTINATION = Convert.ToString(reader["DESTINATION"]);//目的地
data.NOBILL = Convert.ToString(reader["NOBILL"]);//提单份数
data.COPYNOBILL = Convert.ToString(reader["COPYNOBILL"]);//提单份数
data.ISSUETYPE = Convert.ToString(reader["ISSUETYPE"]);//签单方式
if (reader["ISSUEDATE"] != DBNull.Value)
data.ISSUEDATE = Convert.ToDateTime(reader["ISSUEDATE"]).ToString("yyyy-MM-dd");//预抵日期
data.ISSUEPLACE = Convert.ToString(reader["ISSUEPLACE"]);//签单地点
data.BLFRT = Convert.ToString(reader["BLFRT"]);//付费方式
data.PREPARDAT = Convert.ToString(reader["PREPARDAT"]);//预付地点
data.PREPARDATID = Convert.ToString(reader["PREPARDATID"]);//预付地点
data.PAYABLEAT = Convert.ToString(reader["PAYABLEAT"]);//到付地点
data.SERVICE = Convert.ToString(reader["SERVICE"]);//运输条款
data.MARKS = Convert.ToString(reader["MARKS"]);//唛头
data.LANE = Convert.ToString(reader["LANE"]);//航线
if (isNoForward&& data.ORDERTYPE=="销售订舱")
data.FORWARDER ="订舱中心";//订舱公司
else
data.FORWARDER = Convert.ToString(reader["FORWARDER"]);//订舱公司
data.INVNO = Convert.ToString(reader["INVNO"]);//发票号
data.CARGOID = Convert.ToString(reader["CARGOID"]);//货物标识
data.DCLASS = Convert.ToString(reader["DCLASS"]);//危险品分类/等级
data.DUNNO = Convert.ToString(reader["DUNNO"]);//危险品编号
data.REEFERF = Convert.ToString(reader["REEFERF"]);//冷藏通风量
data.TEMPID = Convert.ToString(reader["TEMPID"]);//温度单位
data.TEMPSET = Convert.ToString(reader["TEMPSET"]);//设置温度
data.TEMPMAX = Convert.ToString(reader["TEMPMAX"]);//最高温度
data.TEMPMIN = Convert.ToString(reader["TEMPMIN"]);//最低温度
data.HUMIDITY = Convert.ToString(reader["HUMIDITY"]);//湿度
data.ORDTYPE = Convert.ToString(reader["ORDTYPE"]);//订舱类型
data.ORDERNO = Convert.ToString(reader["ORDERNO"]);//订舱编号
data.INSURANCEER = Convert.ToString(reader["INSURANCEER"]);//保险人
data.INSURANCENO = Convert.ToString(reader["INSURANCENO"]);//保险单号
if (reader["INAMOUT"] != DBNull.Value)
data.INAMOUT = Convert.ToDecimal(reader["INAMOUT"]);//保险金额
if (reader["STATUS1"] != DBNull.Value)
data.STATUS1 = Convert.ToBoolean(reader["STATUS1"]);//状态1
if (reader["STATUS2"] != DBNull.Value)
data.STATUS2 = Convert.ToBoolean(reader["STATUS2"]);//状态2
if (reader["STATUS3"] != DBNull.Value)
data.STATUS3 = Convert.ToBoolean(reader["STATUS3"]);//状态3
if (reader["STATUS4"] != DBNull.Value)
data.STATUS4 = Convert.ToBoolean(reader["STATUS4"]);//状态4
if (reader["STATUS5"] != DBNull.Value)
data.STATUS5 = Convert.ToBoolean(reader["STATUS5"]);//状态5
if (reader["ISFUMIGATION"] != DBNull.Value)
data.ISFUMIGATION = Convert.ToBoolean(reader["ISFUMIGATION"]);//熏蒸
if (reader["ISSTORAGE"] != DBNull.Value)
data.ISSTORAGE = Convert.ToBoolean(reader["ISSTORAGE"]);//仓储
if (reader["ISLAND"] != DBNull.Value)
data.ISLAND = Convert.ToBoolean(reader["ISLAND"]);//陆运
if (reader["ISCUSTOMS"] != DBNull.Value)
data.ISCUSTOMS = Convert.ToBoolean(reader["ISCUSTOMS"]);//报关
if (reader["ISINSPECTION"] != DBNull.Value)
data.ISINSPECTION = Convert.ToBoolean(reader["ISINSPECTION"]);//报检
if (reader["ISBOOKING"] != DBNull.Value)
data.ISBOOKING = Convert.ToBoolean(reader["ISBOOKING"]);//订舱
if (reader["ISAGENT"] != DBNull.Value)
data.ISAGENT = Convert.ToBoolean(reader["ISAGENT"]);//使用代理
if (reader["ISHBLNO"] != DBNull.Value)
data.ISHBLNO = Convert.ToBoolean(reader["ISHBLNO"]);//分单签单
if (reader["SERVICE9"] != DBNull.Value)
data.SERVICE9 = Convert.ToBoolean(reader["SERVICE9"]);//服务项目9
if (reader["SERVICE10"] != DBNull.Value)
data.SERVICE10 = Convert.ToBoolean(reader["SERVICE10"]);//服务项目10
data.DOC = Convert.ToString(reader["DOC"]);//单证
data.PACKINGTYPE = Convert.ToString(reader["PACKINGTYPE"]);//装箱类型
data.WAREHOUSE = Convert.ToString(reader["WAREHOUSE"]);//仓库
if (reader["CLOSEDOCDATE"] != DBNull.Value)
data.CLOSEDOCDATE = Convert.ToDateTime(reader["CLOSEDOCDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截单日期
if (reader["INTOPORTDATE"] != DBNull.Value)
data.INTOPORTDATE = Convert.ToDateTime(reader["INTOPORTDATE"]).ToString("yyyy-MM-dd");//集港日期
data.MBLFRT = Convert.ToString(reader["MBLFRT"]);//MBL付费方式
data.STLNAME = Convert.ToString(reader["STLNAME"]);//结算方式
data.STLDATE = Convert.ToString(reader["STLDATE"]);//结算时间
data.OPERATORCODE = Convert.ToString(reader["OPERATORCODE"]);//客户操作代码
data.OPERATOR = Convert.ToString(reader["OPERATOR"]);//客户操作名称
data.OPERATOREMAIL = Convert.ToString(reader["OPERATOREMAIL"]);//操作电子邮箱
data.OPERATORTEL = Convert.ToString(reader["OPERATORTEL"]);//操作电话
data.OPERATORFAX = Convert.ToString(reader["OPERATORFAX"]);//操作传真
data.FINANCIALSTAFFCODE = Convert.ToString(reader["FINANCIALSTAFFCODE"]);//客户财务代码
data.FINANCIALSTAFF = Convert.ToString(reader["FINANCIALSTAFF"]);//客户财务名称
data.FINANCIALSTAFFEMAIL = Convert.ToString(reader["FINANCIALSTAFFEMAIL"]);//财务电子邮箱
data.FINANCIALSTAFFTEL = Convert.ToString(reader["FINANCIALSTAFFTEL"]);//财务电话
data.FINANCIALSTAFFFAX = Convert.ToString(reader["FINANCIALSTAFFFAX"]);//财务传真
data.SOURCECODE = Convert.ToString(reader["SOURCECODE"]);//集装箱(器)来源代码
if (reader["ISCONTAINERSOC"] != DBNull.Value)
data.ISCONTAINERSOC = Convert.ToBoolean(reader["ISCONTAINERSOC"]);//货主箱标志,是否自有箱
data.DPAGE = Convert.ToString(reader["DPAGE"]);//危险品页号
data.DLABEL = Convert.ToString(reader["DLABEL"]);//危险品标签
data.LINKMAN = Convert.ToString(reader["LINKMAN"]);//危险品联系人
data.VESSELID = Convert.ToString(reader["VESSELID"]);//船舶呼号
data.ISSUEPLACEID = Convert.ToString(reader["ISSUEPLACEID"]);//提单签发地代码
data.HSCODE = Convert.ToString(reader["HSCODE"]);//HS编码
data.TRANSTATUS = Convert.ToString(reader["TRANSTATUS"]);//出运状态
data.EDIREMARK = Convert.ToString(reader["EDIREMARK"]);//EDI备注
data.SERVICECONTRACTNO = Convert.ToString(reader["SERVICECONTRACTNO"]);//EDI备注
data.CUSTOMNO = Convert.ToString(reader["CUSTOMNO"]);//报关单号
if (reader["CUSTOMDATE"] != DBNull.Value)
data.CUSTOMDATE = Convert.ToDateTime(reader["CUSTOMDATE"]).ToString("yyyy-MM-dd");//
data.INSPECTIONNO = Convert.ToString(reader["INSPECTIONNO"]);//商检号
if (reader["INSPECTIONDATE"] != DBNull.Value)
data.INSPECTIONDATE = Convert.ToDateTime(reader["INSPECTIONDATE"]).ToString("yyyy-MM-dd");//
data.ENTERP = Convert.ToString(reader["ENTERP"]);//经营单位
data.ENTERPID = Convert.ToString(reader["ENTERPID"]);//经营单位代码
if (reader["CLEARCUSTOMDATE"] != DBNull.Value)
data.CLEARCUSTOMDATE = Convert.ToDateTime(reader["CLEARCUSTOMDATE"]).ToString("yyyy-MM-dd");//
data.TERMSDELIVERY = Convert.ToString(reader["TERMSDELIVERY"]);//经营单位
data.INSPECTSERVICE = Convert.ToString(reader["INSPECTSERVICE"]);//经营单位代码
data.TRADETERM = Convert.ToString(reader["TRADETERM"]);//贸易条款
data.SHIPAGENCY = Convert.ToString(reader["SHIPAGENCY"]);//船代
if (reader["ISMOREGOOD"] != DBNull.Value)
data.ISMOREGOOD = Convert.ToBoolean(reader["ISMOREGOOD"]);//多品名
if (Convert.ToString(reader["BLTYPE"]) == "拼箱主票"|| Convert.ToString(reader["BLTYPE"]) == "合票主票")
data.FENPIAO = "1";//件数
else
data.FENPIAO = "0";//件数
data.ISPRINTPR = Convert.ToString(reader["ISPRINTPR"]);
data.MAILPROJECT = Convert.ToString(reader["MAILPROJECT"]);
//20161117 邓羽 增加对提单签发状态的查询
data.BLISSUESTATUS = Convert.ToString(reader["BLISSUESTATUS"]);
decimal ttldr = 0;
decimal ttlduidr = 0;
if (reader["TTLDR"] != DBNull.Value)
ttldr = Convert.ToDecimal(reader["TTLDR"]);
decimal ttlinvdr = 0;
if (reader["TTLINVDR"] != DBNull.Value)
ttlinvdr = Convert.ToDecimal(reader["TTLINVDR"]);
if (reader["TTLDUIDR"] != DBNull.Value)
ttlduidr = Convert.ToDecimal(reader["TTLDUIDR"]);
11 months ago
if (isSale) {
if (reader["TTLPROFIT"] != DBNull.Value)
data.PROFIT = Convert.ToDecimal(reader["TTLPROFIT"]);
if (reader["PROFITRATE"] != DBNull.Value)
data.TTLPRRATE = Math.Round(Convert.ToDecimal(reader["PROFITRATE"]), 2, MidpointRounding.AwayFromZero);
}
12 months ago
if (ttlinvdr == 0) data.DRINVSTATUS = "未开票";
else if (ttlinvdr == ttldr) data.DRINVSTATUS = "已开票";
else if (ttlinvdr != ttldr) data.DRINVSTATUS = "部分开票";
if (ttlduidr == 0) data.DRDUISTATUS = "未对账";
else if (ttlduidr == ttldr) data.DRDUISTATUS = "已对账";
else if (ttlduidr != ttldr) data.DRDUISTATUS = "部分对账";
data.ISCANCEL = Convert.ToString(reader["ISCANCEL"]);
data.ISTUI = Convert.ToString(reader["ISTUI"]);
data.BillFeeStatus = Convert.ToString(reader["BillFeeStatus"]);
if (reader["CUSTOMSSTATUS"] != DBNull.Value)
data.CUSTOMSSTATUS = Convert.ToInt32(reader["CUSTOMSSTATUS"]);
if (reader["PORTSTATUS"] != DBNull.Value)
data.PORTSTATUS = Convert.ToInt32(reader["PORTSTATUS"]);
if (reader["EXPSTATUS"] != DBNull.Value)
data.EXPSTATUS = Convert.ToInt32(reader["EXPSTATUS"]);
if (reader["TRUCKCTNSTATUS"] != DBNull.Value)
data.TRUCKCTNSTATUS = Convert.ToInt32(reader["TRUCKCTNSTATUS"]);
if (reader["CTNRETURNSTATUS"] != DBNull.Value)
data.CTNRETURNSTATUS = Convert.ToInt32(reader["CTNRETURNSTATUS"]);
if (reader["ATASTATUS"] != DBNull.Value)
data.ATASTATUS = Convert.ToInt32(reader["ATASTATUS"]);
if (reader["STCSSTATUS"] != DBNull.Value)
data.STCSSTATUS = Convert.ToInt32(reader["STCSSTATUS"]);
if (reader["HGYDSTATUS"] != DBNull.Value)
data.HGYDSTATUS = Convert.ToInt32(reader["HGYDSTATUS"]);
if (reader["RCVESTATUS"] != DBNull.Value)
data.RCVESTATUS = Convert.ToInt32(reader["RCVESTATUS"]);
if (reader["ISGAIQIAN"] != DBNull.Value)
data.ISGAIQIAN = Convert.ToBoolean(reader["ISGAIQIAN"]);//状态1
if (reader["WARNCOUNT"] != DBNull.Value)
data.WARNCOUNT = Convert.ToInt32(reader["WARNCOUNT"]);
data.TRUCKSTATUS = Convert.ToString(reader["TRUCKSTATUS"]);
data.TRANSREMARK= Convert.ToString(reader["TRANSREMARK"]);
data.MDESCRIPTION = Convert.ToString(reader["MDESCRIPTION"]);
data.COUNTRY= Convert.ToString(reader["COUNTRY"]);
if (reader["OPFEECOUNT"] != DBNull.Value)
data.OPFEECOUNT = Convert.ToDecimal(reader["OPFEECOUNT"]);
if (reader["OPCOUNT"] != DBNull.Value)
data.OPCOUNT = Convert.ToDecimal(reader["OPCOUNT"]);
data.GOODSTYPE = Convert.ToString(reader["GOODSTYPE"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static string getfeestatus ( string feestatusint )
{
var result = "";
if (feestatusint == "0:")
{
return "审核通过";
}
else if (feestatusint == "1:")
{
return "录入状态";
}
else if (feestatusint == "2:")
{
return "提交审核";
}
else if (feestatusint == "8:")
{
return "部分结算";
}
else if (feestatusint == "9:")
{
return "结算完毕";
}
else if (feestatusint == "")
{
return "未录入";
}
else if (feestatusint == "3:")
{
return "申请修改";
}
else if (feestatusint == "4:")
{
return "申请删除";
}else if (feestatusint.IndexOf("6:") > -1)
{
return "驳回提交";
}
else if (feestatusint.IndexOf("7:") > -1)
{
return "驳回申请";
}
else if (feestatusint.IndexOf("1:") > -1)
{
return "部分录入";
}
else if (feestatusint.IndexOf("2:") > -1)
{
return "部分提交";
}
else if (feestatusint.IndexOf("9:") > -1)
{
return "部分结算";
}
else if (feestatusint.IndexOf("8:") > -1)
{
return "部分结算";
}
else if (feestatusint.IndexOf("0:") > -1)
{
return "部分审核";
}
else if (feestatusint.IndexOf("2:") > -1)
{
return "部分提交";
}
return result;
}
static public List<MsOpSeaeSum> GetDataListSum ( string strCondition, string userid, string usercode, string companyid, string sort = null,bool norang=false )
{
if (!norang)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
}
//
var strSql = new StringBuilder();
strSql.Append("SELECT Count(B.BSNO) as NOBILL,");
strSql.Append("sum(B.PKGS) as PKGS,sum(B.KGS) as KGS,sum(B.CBM) as CBM,sum(B.CNTR1) as CNTR1,sum(B.CNTR2) as CNTR2,sum(B.CNTR3) as CNTR3");
strSql.Append(",sum(B.CNTR4) as CNTR4,sum(B.CNTR5) as CNTR5,sum(B.CNTR6) as CNTR6,sum(B.CNTR7) as CNTR7");
strSql.Append(",sum(B.CNTR8) as CNTR8,sum(B.CNTR9) as CNTR9,sum(B.CNTR10) as CNTR10,sum(B.OTCNTR) as OTCNTR, sum(TEU) as TEU");
strSql.Append(" from OP_SEAE B ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
return SetDataSum(strSql);
}
static public List<MsOpSeaeSum> GetSaleDataListSum ( string strCondition, string usercode, string sort = null )
{
//
var strSql = new StringBuilder();
strSql.Append("SELECT Count(B.BSNO) as NOBILL,");
strSql.Append("sum(B.PKGS) as PKGS,sum(B.KGS) as KGS,sum(B.CBM) as CBM,sum(B.CNTR1) as CNTR1,sum(B.CNTR2) as CNTR2,sum(B.CNTR3) as CNTR3");
strSql.Append(",sum(B.CNTR4) as CNTR4,sum(B.CNTR5) as CNTR5,sum(B.CNTR6) as CNTR6,sum(B.CNTR7) as CNTR7");
strSql.Append(",sum(B.CNTR8) as CNTR8,sum(B.CNTR9) as CNTR9,sum(B.CNTR10) as CNTR10,sum(B.OTCNTR) as OTCNTR, sum(TEU) as TEU");
strSql.Append(" from OP_SEAE B ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where B.SALE='" + usercode + "' AND " + strCondition);
}
return SetDataSum(strSql);
}
private static List<MsOpSeaeSum> SetDataSum ( StringBuilder strSql )
{
var headList = new List<MsOpSeaeSum>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeSum data = new MsOpSeaeSum();
#region Set DB data to Object
data.NOBILL = Convert.ToInt32(reader["NOBILL"]);//票数
if (reader["CNTR1"] != DBNull.Value)
data.CNTR1 = Convert.ToInt32(reader["CNTR1"]);//箱型1
if (reader["CNTR2"] != DBNull.Value)
data.CNTR2 = Convert.ToInt32(reader["CNTR2"]);//箱型2
if (reader["CNTR3"] != DBNull.Value)
data.CNTR3 = Convert.ToInt32(reader["CNTR3"]);//箱型3
if (reader["CNTR4"] != DBNull.Value)
data.CNTR4 = Convert.ToInt32(reader["CNTR4"]);//箱型4
if (reader["CNTR5"] != DBNull.Value)
data.CNTR5 = Convert.ToInt32(reader["CNTR5"]);//箱型5
if (reader["CNTR6"] != DBNull.Value)
data.CNTR6 = Convert.ToInt32(reader["CNTR6"]);//箱型6
if (reader["CNTR7"] != DBNull.Value)
data.CNTR7 = Convert.ToInt32(reader["CNTR7"]);//箱型7
if (reader["CNTR8"] != DBNull.Value)
data.CNTR8 = Convert.ToInt32(reader["CNTR8"]);//箱型8
if (reader["CNTR9"] != DBNull.Value)
data.CNTR9 = Convert.ToInt32(reader["CNTR9"]);//箱型9
if (reader["CNTR10"] != DBNull.Value)
data.CNTR10 = Convert.ToInt32(reader["CNTR10"]);//箱型10
if (reader["OTCNTR"] != DBNull.Value)
data.OTCNTR = Convert.ToInt32(reader["OTCNTR"]);//其他箱型
if (reader["TEU"] != DBNull.Value)
data.TEU = Convert.ToInt32(reader["TEU"]);//箱TEU
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//毛重
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//立方数/尺码
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 明细表
static public List<MsOpSeaeDetail> GetBodyList ( string strCondition,string sort=null )
{
var strSql = new StringBuilder();
strSql.Append("SELECT [CTN_ID],[BSNO],isnull(CTNCODE,1) as [CTNCODE],[SIZE],[CTN],[CTNNUM],[TEU],[CTNALL],op_ctn.CNTRNO,[SEALNO],[PKGS],[KGS],[CBM],[REMARK],[KINDPKGS],[TAREWEIGHT],[VGMCONNCOM],[GOODSNAME],CTNSTATUS,op_ctn.MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE ");
strSql.Append(" ,TRUCKER,TRUCKNO,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TiXiangShiJian,");
strSql.Append(" f.FENPKGS,f.FENKGS,f.FENCBM,VGMADDR,VGMEMAIL,ISTEMP from op_ctn left join V_FEN_CTN_SUM f on (f.MASTERNO=op_ctn.BSNO and f.CNTRNO=op_ctn.CNTRNO) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by BSNO,CTNCODE,CTNALL");
}
return SetBodyData(strSql);
}
public static List<MsOpSeaeDetail> SetBodyData ( StringBuilder strSql )
{
var bodyList = new List<MsOpSeaeDetail>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
#region Set DB data to Object
data.VGMCONNCOM = Convert.ToString(reader["VGMCONNCOM"]);//vgm联系公司
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);//编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.CTNCODE = Convert.ToString(reader["CTNCODE"]);//箱型代码
data.SIZE = Convert.ToString(reader["SIZE"]);//尺寸
data.CTN = Convert.ToString(reader["CTN"]);//箱型
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);//箱量
data.TEU = Convert.ToInt32(reader["TEU"]);//TEU
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
if (reader["TAREWEIGHT"] != DBNull.Value)
data.TAREWEIGHT = Convert.ToDecimal(reader["TAREWEIGHT"]);//箱皮重
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
data.WEIGHTYPE = Convert.ToString(reader["WEIGHTYPE"]);
data.WEIGHKGS = Convert.ToDecimal(reader["WEIGHKGS"]);//
data.WEIGHATTN = Convert.ToString(reader["WEIGHATTN"]);
data.WEIGHTEL = Convert.ToString(reader["WEIGHTEL"]);
data.WEIGHSIGN = Convert.ToString(reader["WEIGHSIGN"]);
data.WEIGHDATE = Convert.ToString(reader["WEIGHDATE"]);
data.VGMADDR = Convert.ToString(reader["VGMADDR"]);
data.VGMEMAIL = Convert.ToString(reader["VGMEMAIL"]);
data.ISTEMP = Convert.ToString(reader["ISTEMP"]);
data.CTNSTATUS = Convert.ToString(reader["CTNSTATUS"]);
data.MASTERNO = Convert.ToString(reader["MASTERNO"]);
if (reader["FENPKGS"] != DBNull.Value)
data.FENPKGS = Convert.ToInt32(reader["FENPKGS"]);//件数
if (reader["FENKGS"] != DBNull.Value)
data.FENKGS = Convert.ToDecimal(reader["FENKGS"]);//重量(货重)
if (reader["FENCBM"] != DBNull.Value)
data.FENCBM = Convert.ToDecimal(reader["FENCBM"]);//尺码
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
data.TRUCKER = Convert.ToString(reader["TRUCKER"]);
if (reader["FREESTORAGEDAY"] != DBNull.Value)
data.FREESTORAGEDAY = Convert.ToString(reader["FREESTORAGEDAY"]);
if (reader["STORAGEDAY"] != DBNull.Value)
data.STORAGEDAY = Convert.ToString(reader["STORAGEDAY"]);
if (reader["FREECTNDAY"] != DBNull.Value)
data.FREECTNDAY = Convert.ToString(reader["FREECTNDAY"]);
if (reader["CTNDAY"] != DBNull.Value)
data.CTNDAY = Convert.ToString(reader["CTNDAY"]);
if (reader["TRUCKFEE"] != DBNull.Value)
data.TRUCKFEE = Convert.ToString(reader["TRUCKFEE"]);
if (reader["STORAGEPRICE"] != DBNull.Value)
data.STORAGEPRICE = Convert.ToString(reader["STORAGEPRICE"]);
if (reader["STORAGEFEE"] != DBNull.Value)
data.STORAGEFEE = Convert.ToString(reader["STORAGEFEE"]);
if (reader["CTNPRICE"] != DBNull.Value)
data.CTNPRICE = Convert.ToString(reader["CTNPRICE"]);
if (reader["CTNFEE"] != DBNull.Value)
data.CTNFEE = Convert.ToString(reader["CTNFEE"]);
data.TIXIANGSHIJIAN = Convert.ToString(reader["TiXiangShiJian"]);
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
static public List<MsOpSeaeDetail> GetBodyListSum ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT SUM(CTNNUM) AS CTNNUM,[CTNALL],SUM(TEU) TEU,SUM(PKGS) PKGS,SUM(KGS) KGS,SUM(CBM) CBM from op_ctn");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" Group by CTNALL");
return SetBodyDataSum(strSql);
}
static public List<MsOpSeaeDetail> GetBodyListBSNOSum(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT SUM(CTNNUM) AS CTNNUM,'' CTNALL,SUM(TEU) TEU,SUM(PKGS) PKGS,SUM(KGS) KGS,SUM(CBM) CBM from op_ctn");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
// strSql.Append(" Group by CTNALL");
return SetBodyDataSum(strSql);
}
static public List<MsOpSeaeDetail> GetTDBSNOSum(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT 0 AS CTNNUM,'' CTNALL,0 TEU,SUM(PKGS) PKGS,SUM(KGS) KGS,SUM(CBM) CBM from op_seae_billmanage");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
// strSql.Append(" Group by CTNALL");
return SetBodyDataSum(strSql);
}
private static List<MsOpSeaeDetail> SetBodyDataSum ( StringBuilder strSql )
{
var bodyList = new List<MsOpSeaeDetail>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
#region Set DB data to Object
if (reader["CTNNUM"] != DBNull.Value)
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);//箱量
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
if (reader["TEU"] != DBNull.Value)
data.TEU = Convert.ToInt32(reader["TEU"]);//箱量
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
static public List<MsOpCtnDetail> GetOpCtnDetailList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT *,CNTRNO=(select top 1 CNTRNO from op_ctn where [CTN_ID]=op_ctn_detail.[CTN_ID]),CTNALL=(select top 1 CTNALL from op_ctn where [CTN_ID]=op_ctn_detail.[CTN_ID]) from op_ctn_detail");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
else
{
strSql.Append(" where 1<0");
}
strSql.Append(" order by [CTN_ID],[ID]");
return SetOpCtnDetailData(strSql);
}
private static List<MsOpCtnDetail> SetOpCtnDetailData ( StringBuilder strSql )
{
var bodyList = new List<MsOpCtnDetail>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpCtnDetail data = new MsOpCtnDetail();
#region Set DB data to Object
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//GID
data.CTN_ID = (reader["CTN_ID"] == null ? "" : Convert.ToString(reader["CTN_ID"]));//CTN_ID
data.PKGS = (reader["PKGS"] == null ? 0 : Convert.ToInt32(reader["PKGS"]));//件数
data.KINDPKGS = (reader["KINDPKGS"] == null ? "" : Convert.ToString(reader["KINDPKGS"]));//件数包装
data.KGS = (reader["KGS"] == null ? 0 : Convert.ToDecimal(reader["KGS"]));//重量
data.CBM = (reader["CBM"] == null ? 0 : Convert.ToDecimal(reader["CBM"]));//尺码
data.HSCODE = (reader["HSCODE"] == null ? "" : Convert.ToString(reader["HSCODE"]));//HS编码
data.DESCRIPTION = (reader["DESCRIPTION"] == null ? "" : Convert.ToString(reader["DESCRIPTION"]));//货物描述
data.MARKS = (reader["MARKS"] == null ? "" : Convert.ToString(reader["MARKS"]));//唛头
data.REMARK = (reader["REMARK"] == null ? "" : Convert.ToString(reader["REMARK"]));//备注
data.CNTRNO = (reader["CNTRNO"] == null ? "" : Convert.ToString(reader["CNTRNO"]));
data.CTNALL = (reader["CTNALL"] == null ? "" : Convert.ToString(reader["CTNALL"]));
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
static public List<MsOpSeaeManifest> GetManifestList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],[BSNO],[MBLNO],[CNTRNO],[SEALNO],[PKGS],[KGS],[CBM],[REMARK],KINDPKGS,[DESCRIPTION] from op_manifest");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" order by MBLNO");
return SetManifestData(strSql);
}
static public List<MsOpSeaeManifest> GetManifestSumList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT '' GID,[BSNO],[MBLNO],'' CNTRNO,'' SEALNO,sum(PKGS) PKGS,SUM(KGS) KGS ,SUM(CBM) CBM,'' REMARK, KINDPKGS,DESCRIPTION from op_manifest");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" GROUP BY BSNO,MBLNO,KINDPKGS,DESCRIPTION ");
strSql.Append(" order by MBLNO");
return SetManifestData(strSql);
}
static public List<MsOpSeaeManifest> GetManifestBsNoSumList(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT '' GID,[BSNO],'' CNTRNO,'' SEALNO,sum(PKGS) PKGS,SUM(KGS) KGS ,SUM(CBM) CBM,'' REMARK,'' KINDPKGS,'' MBLNO,'' DESCRIPTION from op_manifest");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" GROUP BY BSNO ");
return SetManifestData(strSql);
}
private static List<MsOpSeaeManifest> SetManifestData ( StringBuilder strSql )
{
var bodyList = new List<MsOpSeaeManifest>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeManifest data = new MsOpSeaeManifest();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);//编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
data.MBLNO = Convert.ToString(reader["MBLNO"]);//品名
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);//品名
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
static public List<MsOpStatus> GetOpStatusStandard()
{
var strSql = new StringBuilder();
strSql.AppendLine("SELECT [STATUS] from op_status with (NOLOCK) ");
strSql.AppendLine("WHERE STTYPE='0' ");
strSql.AppendLine("order by ST_ID DESC ");
return SetStatusStandardData(strSql);
}
private static List<MsOpStatus> SetStatusStandardData(StringBuilder strSql)
{
var bodyList = new List<MsOpStatus>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpStatus data = new MsOpStatus();
#region Set DB data to Object
data.STATUS = Convert.ToString(reader["STATUS"]);//编号
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
static public List<MsOpStatus> GetOpStatus(string bsno)
{
StringBuilder sql = new StringBuilder();
sql.AppendLine("SELECT ST_ID, STATUS, COMPTIME ");
sql.AppendLine("FROM op_status with (NOLOCK) ");
sql.AppendLine("WHERE BSNO = '" + bsno + "' ");
sql.AppendLine("ORDER BY COMPTIME asc ");
return SetStatusData(sql);
}
static public List<MsOpStatus> SearchOpStatus(string mblno)
{
StringBuilder sql = new StringBuilder();
sql.AppendLine("SELECT ST_ID, STATUS, COMPTIME ");
sql.AppendLine("FROM op_status with (NOLOCK) ");
sql.AppendLine("WHERE BSNO = (select BSNO from op_seae where MBLNO='" + mblno + "') ");
sql.AppendLine("ORDER BY COMPTIME asc ");
return SetStatusData(sql);
}
private static List<MsOpStatus> SetStatusData(StringBuilder sql)
{
var bodyList = new List<MsOpStatus>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql.ToString()))
{
while (reader.Read())
{
MsOpStatus data = new MsOpStatus();
#region Set DB data to Object
data.ST_ID = Convert.ToString(reader["ST_ID"]);
data.STATUS = Convert.ToString(reader["STATUS"]);//编号
data.COMPTIME = Convert.ToString(reader["COMPTIME"]).Replace("/", "-");
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
#endregion
#region 保存明细
public static DBResult SaveDetail ( string bsno, List<MsOpSeaeDetail> bodyList, string userid, bool updatetotal, string dbname = "" )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
if (dbname != "") db = DatabaseFactory.CreateDatabase(dbname);
var tempctnstr = "";
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
//var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,SIZE,CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME) values (newid(),@BSNO,@CTNCODE,@SIZE,@CTN,@CTNNUM,@TEU,@CTNALL,@CNTRNO,@SEALNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS,@TAREWEIGHT,@GOODSNAME) ");
//var cmdUpdate = db.GetSqlStringCommand(@"update op_ctn set CTNCODE=@CTNCODE,SIZE=@SIZE,CTN=@CTN,CTNNUM=@CTNNUM,TEU=@TEU,CTNALL=@CTNALL,CNTRNO=@CNTRNO,SEALNO=@SEALNO,PKGS=@PKGS,KGS=@KGS,CBM=@CBM,REMARK=@REMARK,KINDPKGS=@KINDPKGS,TAREWEIGHT=@TAREWEIGHT where BSNO=@BSNO AND CTN_ID=@CTN_ID ");
if (bodyList != null)
{
//var StrSerialNo = "('1000'";
foreach (var enumValue in bodyList)
{
//StrSerialNo = StrSerialNo + ",'" + Convert.ToString(enumValue.CTN_ID) + "'";
var SIZE = enumValue.CTNALL.ToString().Trim().Substring(0, 2);
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
if (enumValue.CTNALL.IndexOf("'")>0) CTN = enumValue.CTNALL.ToString().Trim().Substring(3);
int TEU = enumValue.CTNNUM;
var iTEU = enumValue.CTNALL.ToString().Trim().Substring(0, 1);
if (iTEU == "4")
{
TEU = TEU * 2;
}
else if (iTEU == "L")
{
TEU =0;
}
if (enumValue.TRUCKFEE == "") enumValue.TRUCKFEE = "0";
if (enumValue.FREESTORAGEDAY == "") enumValue.FREESTORAGEDAY = "0";
if (enumValue.STORAGEDAY == "") enumValue.STORAGEDAY = "0";
if (enumValue.STORAGEPRICE == "") enumValue.STORAGEPRICE = "0";
if (enumValue.STORAGEFEE == "") enumValue.STORAGEFEE = "0";
if (enumValue.FREECTNDAY == "") enumValue.FREECTNDAY = "0";
if (enumValue.CTNDAY == "") enumValue.CTNDAY = "0";
if (enumValue.CTNPRICE == "") enumValue.CTNPRICE = "0";
if (enumValue.CTNFEE == "") enumValue.CTNFEE = "0";
//
if (enumValue.BSNO == "*")
{
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL,ISTEMP,TIXIANGSHIJIAN) values ('" + enumValue.CTN_ID
+ "','" + bsno + "','" + enumValue.CTNCODE + "','" + SIZE + "','" + CTN + "'," + enumValue.CTNNUM + "," + TEU + ",'" + enumValue.CTNALL.Replace("'","''") + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','" + enumValue.PKGS + "'," + enumValue.KGS + "," + enumValue.CBM + ",'" + enumValue.REMARK + "','" + enumValue.KINDPKGS + "'," + enumValue.TAREWEIGHT + ",'','"
+ enumValue.CTNSTATUS + "','" + enumValue.MASTERNO + "','" + enumValue.WEIGHTYPE + "'," + enumValue.WEIGHKGS + ",'" + enumValue.WEIGHATTN + "','" + enumValue.WEIGHTEL + "','" + enumValue.WEIGHSIGN + "','" + enumValue.WEIGHDATE + "','" + enumValue.TRUCKER+ "',"+enumValue.TRUCKFEE
+ "," + enumValue.FREESTORAGEDAY + "," + enumValue.STORAGEDAY + "," + enumValue.STORAGEPRICE + "," + enumValue.STORAGEFEE + "," + enumValue.FREECTNDAY + "," + enumValue.CTNDAY + "," + enumValue.CTNPRICE + "," + enumValue.CTNFEE + ",'" + enumValue.TRUCKNO + "','" + enumValue.VGMCONNCOM + "','" + enumValue.VGMADDR + "','" + enumValue.VGMEMAIL + "','" + enumValue.ISTEMP + "','" + enumValue.TIXIANGSHIJIAN + "')");
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
var cmdUpdate = db.GetSqlStringCommand(@"update op_ctn set CTNCODE='" + enumValue.CTNCODE + "',[SIZE]='" + SIZE + "',CTN='" + CTN + "',CTNNUM=" + enumValue.CTNNUM + ",TEU=" + TEU + ",CTNALL='" + enumValue.CTNALL.Replace("'", "''") + "',CNTRNO='" + enumValue.CNTRNO + "',SEALNO='" + enumValue.SEALNO + "',PKGS='" + enumValue.PKGS + "',KGS=" + enumValue.KGS
+ ",CBM=" + enumValue.CBM + ",REMARK='" + enumValue.REMARK + "',KINDPKGS='" + enumValue.KINDPKGS + "',TAREWEIGHT=" + enumValue.TAREWEIGHT + ",CTNSTATUS='" + enumValue.CTNSTATUS + "',MASTERNO='" + enumValue.MASTERNO + "',WEIGHTYPE='" + enumValue.WEIGHTYPE + "',WEIGHKGS=" + enumValue.WEIGHKGS + ",WEIGHATTN='"
+ enumValue.WEIGHATTN + "',WEIGHTEL='" + enumValue.WEIGHTEL + "',WEIGHSIGN='" + enumValue.WEIGHSIGN + "',WEIGHDATE='" + enumValue.WEIGHDATE + "',TRUCKER='" + enumValue.TRUCKER + "',TRUCKFEE=" + enumValue.TRUCKFEE + ",FREESTORAGEDAY=" + enumValue.FREESTORAGEDAY + ",STORAGEDAY=" + enumValue.STORAGEDAY
+ ",STORAGEPRICE=" + enumValue.STORAGEPRICE + ",STORAGEFEE=" + enumValue.STORAGEFEE + ",FREECTNDAY=" + enumValue.FREECTNDAY + ",CTNDAY=" + enumValue.CTNDAY + ",CTNPRICE=" + enumValue.CTNPRICE + ",CTNFEE=" + enumValue.CTNFEE + ",TRUCKNO='" + enumValue.TRUCKNO + "',VGMCONNCOM='" + enumValue.VGMCONNCOM + "',VGMADDR='" + enumValue.VGMADDR + "',VGMEMAIL='" + enumValue.VGMEMAIL + "',ISTEMP='" + enumValue.ISTEMP + "',TIXIANGSHIJIAN='"+ enumValue.TIXIANGSHIJIAN + "'"
+ " where BSNO='" + bsno + "' AND CTN_ID='" + enumValue.CTN_ID + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
if (enumValue.CNTRNO != "")
{
var FeeCount = db.ExecuteScalar(tran,CommandType.Text, "SELECT COUNT(1) as FeeCount from OP_CTN where ISTEMP='1' AND CNTRNO='" + enumValue.CNTRNO + "' AND EXISTS (SELECT 1 FROM OP_SEAI B WHERE B.BSNO=OP_CTN.BSNO) ");
var IntFeeCount = Convert.ToInt16(FeeCount);
if (IntFeeCount != 0)
{
if (tempctnstr == "")
tempctnstr = enumValue.CNTRNO;
else
tempctnstr = tempctnstr +","+ enumValue.CNTRNO;
}
}
}
//StrSerialNo = StrSerialNo + ")";
//var cmdDelete = db.GetSqlStringCommand("delete from op_ctn where BSNO='" + bsno + "' and CTN_ID not in " + StrSerialNo);
//db.ExecuteNonQuery(cmdDelete, tran);
}
//
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
//
if (updatetotal)
getCNTRTOTAL(bsno, "op_seae");
else
getCNTRTOTALFen(bsno, "op_seae");
//
if (tempctnstr != "") tempctnstr ="箱号:"+tempctnstr + "为暂进箱,请处理!";
result.Success = true;
result.Message = "保存成功" + result.Message+ tempctnstr;
return result;
}
public static DBResult SaveBillDetail ( string bsno, List<MsOpSeaeDetail> bodyList, string userid )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (bodyList != null)
{
//var cmddelete = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='" + bsno + "'");
//db.ExecuteNonQuery(cmddelete, tran);
foreach (var enumValue in bodyList)
{
var SIZE = enumValue.CTNALL.ToString().Trim().Substring(0, 2);
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
if (enumValue.CTNALL.IndexOf("'")>0) CTN = enumValue.CTNALL.ToString().Trim().Substring(3);
int TEU = enumValue.CTNNUM;
var iTEU = enumValue.CTNALL.ToString().Trim().Substring(0, 1);
if (iTEU == "4")
{
TEU = TEU * 2;
}
else if (iTEU == "L")
{
TEU = 0;
}
//
if (enumValue.TRUCKFEE == "") enumValue.TRUCKFEE = "0";
if (enumValue.FREESTORAGEDAY == "") enumValue.FREESTORAGEDAY = "0";
if (enumValue.STORAGEDAY == "") enumValue.STORAGEDAY = "0";
if (enumValue.STORAGEPRICE == "") enumValue.STORAGEPRICE = "0";
if (enumValue.STORAGEFEE == "") enumValue.STORAGEFEE = "0";
if (enumValue.FREECTNDAY == "") enumValue.FREECTNDAY = "0";
if (enumValue.CTNDAY == "") enumValue.CTNDAY = "0";
if (enumValue.CTNPRICE == "") enumValue.CTNPRICE = "0";
if (enumValue.CTNFEE == "") enumValue.CTNFEE = "0";
//
if (enumValue.BSNO == "*")
{
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL) values ('" + enumValue.CTN_ID
+ "','" + bsno + "','" + enumValue.CTNCODE + "','" + SIZE + "','" + CTN + "'," + enumValue.CTNNUM + "," + TEU + ",'" + enumValue.CTNALL.Replace("'","''") + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','" + enumValue.PKGS + "'," + enumValue.KGS + "," + enumValue.CBM + ",'" + enumValue.REMARK + "','" + enumValue.KINDPKGS + "'," + enumValue.TAREWEIGHT + ",'','"
+ enumValue.CTNSTATUS + "','" + enumValue.MASTERNO + "','" + enumValue.WEIGHTYPE + "'," + enumValue.WEIGHKGS + ",'" + enumValue.WEIGHATTN + "','" + enumValue.WEIGHTEL + "','" + enumValue.WEIGHSIGN + "','" + enumValue.WEIGHDATE + "','" + enumValue.TRUCKER + "'," + enumValue.TRUCKFEE
+ "," + enumValue.FREESTORAGEDAY + "," + enumValue.STORAGEDAY + "," + enumValue.STORAGEPRICE + "," + enumValue.STORAGEFEE + "," + enumValue.FREECTNDAY + "," + enumValue.CTNDAY + "," + enumValue.CTNPRICE + "," + enumValue.CTNFEE + ",'" + enumValue.TRUCKNO + "','" + enumValue.VGMCONNCOM + "','" + enumValue.VGMADDR + "','" + enumValue.VGMEMAIL + "')");
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
var cmdUpdate = db.GetSqlStringCommand(@"update op_ctn set CTNCODE='" + enumValue.CTNCODE + "',[SIZE]='" + SIZE + "',CTN='" + CTN + "',CTNNUM=" + enumValue.CTNNUM + ",TEU=" + TEU + ",CTNALL='" + enumValue.CTNALL.Replace("'", "''") + "',CNTRNO='" + enumValue.CNTRNO + "',SEALNO='" + enumValue.SEALNO + "',PKGS='" + enumValue.PKGS + "',KGS=" + enumValue.KGS
+ ",CBM=" + enumValue.CBM + ",REMARK='" + enumValue.REMARK + "',KINDPKGS='" + enumValue.KINDPKGS + "',TAREWEIGHT=" + enumValue.TAREWEIGHT + ",CTNSTATUS='" + enumValue.CTNSTATUS + "',MASTERNO='" + enumValue.MASTERNO + "',WEIGHTYPE='" + enumValue.WEIGHTYPE + "',WEIGHKGS=" + enumValue.WEIGHKGS + ",WEIGHATTN='"
+ enumValue.WEIGHATTN + "',WEIGHTEL='" + enumValue.WEIGHTEL + "',WEIGHSIGN='" + enumValue.WEIGHSIGN + "',WEIGHDATE='" + enumValue.WEIGHDATE + "',TRUCKER='" + enumValue.TRUCKER + "',TRUCKFEE=" + enumValue.TRUCKFEE + ",FREESTORAGEDAY=" + enumValue.FREESTORAGEDAY + ",STORAGEDAY=" + enumValue.STORAGEDAY
+ ",STORAGEPRICE=" + enumValue.STORAGEPRICE + ",STORAGEFEE=" + enumValue.STORAGEFEE + ",FREECTNDAY=" + enumValue.FREECTNDAY + ",CTNDAY=" + enumValue.CTNDAY + ",CTNPRICE=" + enumValue.CTNPRICE + ",CTNFEE=" + enumValue.CTNFEE + ",TRUCKNO='" + enumValue.TRUCKNO + "',VGMCONNCOM='" + enumValue.VGMCONNCOM + "',VGMADDR='" + enumValue.VGMADDR + "',VGMEMAIL='" + enumValue.VGMEMAIL + "'"
+ " where BSNO='" + bsno + "' AND CTN_ID='" + enumValue.CTN_ID + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
}
//
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
getCNTRTOTALBill(bsno);
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
//合计当前业务的集装箱信息更新op_seai中的CNTRTOTAL,CNTRSEALNO两个字段
public static void getCNTRTOTAL ( string strBSNO, string bstype )
{
int iTEU = 0;
string strCNTRTOTAL = "";
string strCNTRNO = "";
string str = "";
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
DataSet ds = T_ALL_DA.GetAllSQL("select * from op_ctn where BSNO='" + strBSNO + "'");
//
str = "update " + bstype + " set CNTR1=0,CNTR2=0,CNTR3=0,CNTR4=0,CNTR5=0,CNTR6=0,CNTR7=0,CNTR8=0,CNTR9=0,CNTR10=0,OTCNTR=0 where BSNO='" + strBSNO + "'";
bool bl3 = T_ALL_DA.GetExecuteSqlCommand(str);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRNO += myRow["CNTRNO"].ToString().Trim() + "/" + myRow["SEALNO"].ToString().Trim() + "/" + myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "\r\n";
iTEU += int.Parse(myRow["TEU"].ToString().Trim());
}
}
//
str = "select CTNALL,sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "' group by CTNALL order by CTNALL";
ds = T_ALL_DA.GetAllSQL(str);
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRTOTAL += myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "*" + myRow["hj"].ToString().Trim() + " / ";
//
if (dsDisp == null)
{
string sHJ = T_ALL_DA.GetStrSQL("hj", "select sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "'");
str = "update " + bstype + " set OTCNTR=OTCNTR+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(str);
}
else
{
int j = 0;
for (int i = 1; i < 11; i++)
{
if (dsDisp.Tables[0].Rows[0][i].ToString().Trim().Equals(myRow["CTNALL"].ToString().Replace("'", "''").Trim()))
{
str = "update " + bstype + " set CNTR" + i + "=CNTR" + i + "+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
j = j + 1;
break;
}
}
if (j == 0)
{
str = "update " + bstype + " set OTCNTR=OTCNTR+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
}
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(str);
}
}
}
strCNTRTOTAL = strCNTRTOTAL.Trim().Substring(0, strCNTRTOTAL.Trim().Length - 1);
}
}
str = "update op_seae set CNTRTOTAL='" + strCNTRTOTAL + "',CNTRSEALNO='" + strCNTRNO + "',TEU=" + iTEU + " where BSNO='" + strBSNO + "'";
bool bl = T_ALL_DA.GetExecuteSqlCommand(str);
}
public static void getCNTRTOTALFen(string strBSNO, string bstype)
{
string strCNTRNO = "";
string str = "";
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
DataSet ds = T_ALL_DA.GetAllSQL("select * from op_ctn where BSNO='" + strBSNO + "'");
str = "update " + bstype + " set CNTR1=0,CNTR2=0,CNTR3=0,CNTR4=0,CNTR5=0,CNTR6=0,CNTR7=0,CNTR8=0,CNTR9=0,CNTR10=0,OTCNTR=0,TEU=0 where BSNO='" + strBSNO + "'";
bool bl3 = T_ALL_DA.GetExecuteSqlCommand(str);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRNO += myRow["CNTRNO"].ToString().Trim() + "/" + myRow["SEALNO"].ToString().Trim() + "/" + myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "\r\n";
}
}
//
}
str = "update op_seae set CNTRSEALNO='" + strCNTRNO + "' where BSNO='" + strBSNO + "'";
bool bl = T_ALL_DA.GetExecuteSqlCommand(str);
}
}
public static void getCNTRTOTAL2 ( string strBSNO, string bstype )
{
int iTEU = 0;
string strCNTRTOTAL = "";
string strCNTRNO = "";
string str = "";
decimal pkgs = 0;
decimal kgs = 0;
decimal cbm = 0;
string kindpkgs = "";
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
DataSet ds = T_ALL_DA.GetAllSQL("select * from op_ctn where BSNO='" + strBSNO + "'");
str = "update " + bstype + " set CNTR1=0,CNTR2=0,CNTR3=0,CNTR4=0,CNTR5=0,CNTR6=0,CNTR7=0,CNTR8=0,CNTR9=0,CNTR10=0,OTCNTR=0 where BSNO='" + strBSNO + "'";
bool bl3 = T_ALL_DA.GetExecuteSqlCommand(str);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRNO += myRow["CNTRNO"].ToString().Trim() + "/" + myRow["SEALNO"].ToString().Trim() + "/" + myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "\r\n";
iTEU += int.Parse(myRow["TEU"].ToString().Trim());
pkgs += Convert.ToDecimal(myRow["PKGS"].ToString().Trim());
kgs += Convert.ToDecimal(myRow["KGS"].ToString().Trim());
cbm += Convert.ToDecimal(myRow["CBM"].ToString().Trim());
kindpkgs = myRow["KINDPKGS"].ToString().Trim();
}
}
//
//
str = "select CTNALL,sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "' group by CTNALL order by CTNALL";
ds = T_ALL_DA.GetAllSQL(str);
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRTOTAL += myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "*" + myRow["hj"].ToString().Trim() + " / ";
//
if (dsDisp == null)
{
string sHJ = T_ALL_DA.GetStrSQL("hj", "select sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "'");
str = "update " + bstype + " set OTCNTR=OTCNTR+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(str);
}
else
{
int j = 0;
for (int i = 1; i < 11; i++)
{
if (dsDisp.Tables[0].Rows[0][i].ToString().Trim().Equals(myRow["CTNALL"].ToString().Replace("'", "''").Trim()))
{
str = "update " + bstype + " set CNTR" + i + "=CNTR" + i + "+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
j = j + 1;
break;
}
}
if (j == 0)
{
str = "update " + bstype + " set OTCNTR=OTCNTR+" + myRow["hj"].ToString().Trim() + " where BSNO='" + strBSNO + "'";
}
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(str);
}
}
}
strCNTRTOTAL = strCNTRTOTAL.Trim().Substring(0, strCNTRTOTAL.Trim().Length - 1);
}
}
str = "update op_seae set CNTRTOTAL='" + strCNTRTOTAL + "',CNTRSEALNO='" + strCNTRNO + "',TEU=" + iTEU + ",PKGS=" + pkgs + ",KGS=" + kgs + ",CBM=" + cbm + ",NOPKGS='" + pkgs.ToString() + kindpkgs + "',GROSSWEIGHT='" + kgs.ToString() + "KGS',MEASUREMENT='" + cbm.ToString() + "CBM' where BSNO='" + strBSNO + "'";
bool bl = T_ALL_DA.GetExecuteSqlCommand(str);
}
public static void getCNTRTOTALBill ( string strBSNO )
{
int iTEU = 0;
string strCNTRTOTAL = "";
string strCNTRNO = "";
string str = "";
decimal pkgs = 0;
decimal kgs = 0;
decimal cbm = 0;
string kindpkgs = "";
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
DataSet ds = T_ALL_DA.GetAllSQL("select * from op_ctn where BSNO='" + strBSNO + "'");
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRNO += myRow["CNTRNO"].ToString().Trim() + "/" + myRow["SEALNO"].ToString().Trim() + "/" + myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "\r\n";
iTEU += int.Parse(myRow["TEU"].ToString().Trim());
pkgs += Convert.ToDecimal(myRow["PKGS"].ToString().Trim());
kgs += Convert.ToDecimal(myRow["KGS"].ToString().Trim());
cbm += Convert.ToDecimal(myRow["CBM"].ToString().Trim());
kindpkgs = myRow["KINDPKGS"].ToString().Trim();
}
}
//
//
str = "select CTNALL,sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "' group by CTNALL order by CTNALL";
ds = T_ALL_DA.GetAllSQL(str);
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRTOTAL += myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "*" + myRow["hj"].ToString().Trim() + " / ";
}
}
strCNTRTOTAL = strCNTRTOTAL.Trim().Substring(0, strCNTRTOTAL.Trim().Length - 1);
}
}
str = "update op_seae_billmanage set CNTRTOTAL='" + strCNTRTOTAL + "',CNTRSEALNO='" + strCNTRNO + "' where AS_ID='" + strBSNO + "'";
bool bl = T_ALL_DA.GetExecuteSqlCommand(str);
}
public static void getCNTRTOTALAllBill(string strBSNO)
{
int iTEU = 0;
string strCNTRTOTAL = "";
string strCNTRNO = "";
string str = "";
decimal pkgs = 0;
decimal kgs = 0;
decimal cbm = 0;
string kindpkgs = "";
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
DataSet ds = T_ALL_DA.GetAllSQL("select * from op_ctn where BSNO='" + strBSNO + "'");
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRNO += myRow["CNTRNO"].ToString().Trim() + "/" + myRow["SEALNO"].ToString().Trim() + "/" + myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "\r\n";
iTEU += int.Parse(myRow["TEU"].ToString().Trim());
pkgs += Convert.ToDecimal(myRow["PKGS"].ToString().Trim());
kgs += Convert.ToDecimal(myRow["KGS"].ToString().Trim());
cbm += Convert.ToDecimal(myRow["CBM"].ToString().Trim());
kindpkgs = myRow["KINDPKGS"].ToString().Trim();
}
}
//
//
str = "select CTNALL,sum(CTNNUM) as hj from op_ctn where BSNO='" + strBSNO + "' group by CTNALL order by CTNALL";
ds = T_ALL_DA.GetAllSQL(str);
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRTOTAL += myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "*" + myRow["hj"].ToString().Trim() + " / ";
}
}
strCNTRTOTAL = strCNTRTOTAL.Trim().Substring(0, strCNTRTOTAL.Trim().Length - 1);
}
}
str = "update op_seae_billmanage set CNTRTOTAL='" + strCNTRTOTAL + "',CNTRSEALNO='" + strCNTRNO + "',PKGS = " + pkgs + ",KGS = " + kgs + ",CBM = " + cbm + ",NOPKGS = '" + pkgs.ToString() + kindpkgs + "',GROSSWEIGHT = '" + kgs.ToString() + "KGS',MEASUREMENT = '" + cbm.ToString() + "CBM' where AS_ID='" + strBSNO + "'";
bool bl = T_ALL_DA.GetExecuteSqlCommand(str);
}
//判断单号是否重复
static public int GetRdCount ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT Count(BSNO) AS CT from op_seae (NOLOCK) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["CT"]);
}
reader.Close();
}
return ct;
}
#endregion
#region 退舱
public static DBResult CancelShippingOrder ( string bsno,string type,string op,string isdelctn)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (type == "1")
{
if (isdelctn == "1")
{
var cmdUpdate = db.GetSqlStringCommand("update op_seae set iscancel='" + type + "',TEU=0,CNTR1=0,CNTR2=0,CNTR3=0,CNTR4=0,CNTR5=0,CNTR6=0,CNTR7=0,CNTR8=0,CNTR9=0,CNTR10=0,OTCNTR=0,CNTRTOTAL='',BLFRT='FREE',YARD='退舱',ISSUETYPE='无单' where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
var cmdDeletectn = db.GetSqlStringCommand("delete from op_ctn where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdDeletectn, tran);
}
else
{
var cmdUpdate = db.GetSqlStringCommand("update op_seae set iscancel='" + type + "' where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE,COMPOP,INPUTBY) values(NEWID(),'" + bsno + "','退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1','" + op + "','" + op + "')");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdUpdateOrder = db.GetSqlStringCommand("update crm_seaeorder set ORSTATUS=4 where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdateOrder, tran);
}
else {
var cmdUpdate = db.GetSqlStringCommand("update op_seae set iscancel='" + type + "' where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE,COMPOP,INPUTBY) values(NEWID(),'" + bsno + "','接受委托',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1','" + op + "','" + op + "')");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdUpdateOrder = db.GetSqlStringCommand("update crm_seaeorder set ORSTATUS=-1 where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdateOrder, tran);
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "退舱出现错误,请重试或联系系统管理员";
return result;
}
}
if (type == "1")
{
try
{
Database db2 = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
using (var conn2 = db2.CreateConnection())
{
conn2.Open();
var tran2 = conn2.BeginTransaction();
try
{
//var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values('" + bsno + "','" + bsno + "','退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
//db.ExecuteNonQuery(cmdDelete, tran);
var cmdUpdate = db2.GetSqlStringCommand("update BookingCargoSpace set BSSTATUS='CI20150711000007' where BSNO='" + bsno + "'");
db2.ExecuteNonQuery(cmdUpdate, tran2);
tran2.Commit();
}
catch (Exception)
{
tran2.Rollback();
result.Success = false;
result.Message = "退舱出现错误,请重试或联系系统管理员";
return result;
}
}
}
catch (Exception)
{
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
#endregion
#region 取消自动锁定
public static DBResult CancelCloseShippingOrder(string bsno, string type)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (type == "1")
{
var cmdUpdate = db.GetSqlStringCommand("update op_seae set STATUS5=1 where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
else {
var cmdUpdate = db.GetSqlStringCommand("update op_seae set STATUS5=0 where bsno='" + bsno + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "退舱出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
#endregion
#region 删除
public static DBResult DeleteDetail ( string bsno )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("delete from op_ctn where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdDeleteams = db.GetSqlStringCommand("delete from op_seae_ams where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDeleteams, tran);
var cmdDeletebill = db.GetSqlStringCommand("delete from op_seae_billmanage where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDeletebill, tran);
var cmdDeleteamend = db.GetSqlStringCommand("delete from op_amend where PARENTID='" + bsno + "'");
db.ExecuteNonQuery(cmdDeleteamend, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
public static DBResult DeleteDetail2 ( MsOpSeaeDetail headData,string userid,string companyid )
{
var result = new DBResult();
//var OPLETTERTRUCKCANTDELCTN= MsSysParamSetDAL.GetData("PARAMNAME='OPLETTERTRUCKCANTDELCTN'").PARAMVALUE;
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
//var BLCOUNT = T_ALL_DA.GetStrSQL("BLCOUNT", "select count(*) BLCOUNT from op_letter_yard_ctn C LEFT JOIN op_letter L ON (L.LE_ID=C.LE_ID) WHERE L.BSNO = '"+headData.BSNO+"'");
//if (BLCOUNT == "0"|| OPLETTERTRUCKCANTDELCTN=="0")
//{
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("delete from op_ctn_detail where CTN_ID='" + headData.CTN_ID + "'");
db.ExecuteNonQuery(cmdDelete, tran);
cmdDelete = db.GetSqlStringCommand("delete from op_ctn where CTN_ID='" + headData.CTN_ID + "' and BSNO='" + headData.BSNO + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var blUpSQL = " insert into sys_log(GID,NAME,LOGTYPE,LOGTIME,LOGCONTENT,CREATEUSER) values(NEWID(),'" + headData.BSNO + "','删除集装箱明细','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + headData.CNTRNO + "','" + userid + "')";
bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL);
if (companyid == "Comcab2d43f60454327af30a131fc1d3abd")
{
var BSSTATUS = T_ALL_DA.GetStrSQL("BSSTATUS", "select BSSTATUS from OP_SEAE where BSNO='" + headData.BSNO + "'");
if (BSSTATUS == "1" || BSSTATUS.ToUpper() == "TRUE")
{
var mailtopic = "提醒:删除集装箱明细";
var mailbody = "提醒:删除集装箱明细" + headData.CNTRNO + " USERID:" + userid;
SendEmail se = new SendEmail("CS003@dongshengsoft.com", "admin@dongshengsoft.com", "", "", mailtopic, mailbody, false);
se.SetSmtp("admin@dongshengsoft.com", "ds!@#)(*", "smtpcom.263xmail.com", 465, false, System.Net.Mail.MailPriority.Normal);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
getCNTRTOTAL(headData.BSNO, "op_seae");
//} else
//{
// result.Success = false;
// result.Message = "删除出现错误,已生成派车,不允许删除集装箱!";
// return result;
//}
//
//
result.Success = true;
result.Message = "操作成功";
return result;
}
#region 2018年2月7日17:29:23 鼎世 李进举
//导入主单信息是删除原有集装箱分箱信息
public static void DeleteDetail2 (string bsno )
{
if (bsno!=""&&bsno!=null)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
string sql = "delete from op_ctn where bsno = '" + bsno + "' ";
db.ExecuteNonQuery(CommandType.Text, sql);
}
getCNTRTOTAL(bsno, "op_seae");
}
#endregion
#endregion
#region 批量修改
public static DBResult Modify ( List<MsOpSeae> bodyList, MsOpSeae modifydata,string companyid )
{
var result = new DBResult();
var head = ChMonthCloseDAL.ChMonthCloseDAL.GetData("",companyid);
string errstr = "";
int i = 0;
var ACCDATESAMEETD=MsSysParamSetDAL.GetData("PARAMNAME='ACCDATESAMEETD'").PARAMVALUE;
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 bsno=bsno ");
if (modifydata.YARD != "" && modifydata.YARD != null)
strSql.Append(",YARD=@YARD");
if (modifydata.HBLNO != "" && modifydata.HBLNO != null)
strSql.Append(",HBLNO=@HBLNO");
if (modifydata.CARRIER != "" && modifydata.CARRIER != null)
strSql.Append(",CARRIER=@CARRIER");
if (modifydata.FORWARDER != "" && modifydata.FORWARDER != null)
strSql.Append(",FORWARDER=@FORWARDER");
if (modifydata.TRUCKER != "" && modifydata.TRUCKER != null)
strSql.Append(",TRUCKER=@TRUCKER");
if (modifydata.CUSTOMSER != "" && modifydata.CUSTOMSER != null)
strSql.Append(",CUSTOMSER=@CUSTOMSER");
if (modifydata.CUSTOMERNAME != "" && modifydata.CUSTOMERNAME != null)
strSql.Append(",CUSTOMERNAME=@CUSTOMERNAME");
if (modifydata.LANE != "" && modifydata.LANE != null)
strSql.Append(",LANE=@LANE");
if (modifydata.AGENTID != "" && modifydata.AGENTID != null)
strSql.Append(",AGENTID=@AGENTID");
if (modifydata.PORTLOAD != "" && modifydata.PORTLOAD != null)
strSql.Append(",PORTLOAD=@PORTLOAD");
if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null)
strSql.Append(",PORTDISCHARGE=@PORTDISCHARGE");
if (modifydata.PORTLOADID != "" && modifydata.PORTLOADID != null)
strSql.Append(",PORTLOADID=@PORTLOADID");
if (modifydata.PORTDISCHARGEID != "" && modifydata.PORTDISCHARGEID != null)
strSql.Append(",PORTDISCHARGEID=@PORTDISCHARGEID");
if (modifydata.VESSEL != "" && modifydata.VESSEL != null)
strSql.Append(",VESSEL=@VESSEL");
if (modifydata.VESSELID != "" && modifydata.VESSELID != null)
strSql.Append(",VESSELID=@VESSELID");
if (modifydata.VOYNO != "" && modifydata.VOYNO != null)
strSql.Append(",VOYNO=@VOYNO");
if (modifydata.ETD != "" && modifydata.ETD != null)
{
strSql.Append(",ETD=@ETD");
if (ACCDATESAMEETD=="1") strSql.Append(",ACCDATE=@ACCDATE");
}
if (modifydata.ACCDATE != "" && modifydata.ACCDATE != null)
strSql.Append(",ACCDATE=@ACCDATE");
if (modifydata.SALEDEPT != "" && modifydata.SALEDEPT != null)
strSql.Append(",SALEDEPT=@SALEDEPT");
if (modifydata.CLOSINGDATE != "" && modifydata.CLOSINGDATE != null)
strSql.Append(",CLOSINGDATE=@CLOSINGDATE");
if (modifydata.CLOSEDOCDATE != "" && modifydata.CLOSEDOCDATE != null)
strSql.Append(",CLOSEDOCDATE=@CLOSEDOCDATE");
if (modifydata.AGENT != "" && modifydata.AGENT != null)
strSql.Append(",AGENT=@AGENT");
if (modifydata.SHIPAGENCY != "" && modifydata.SHIPAGENCY != null)
strSql.Append(",SHIPAGENCY=@SHIPAGENCY");
if (modifydata.SALE != "" && modifydata.SALE != null)
strSql.Append(",SALE=@SALE");
if (modifydata.CUSTSERVICE != "" && modifydata.CUSTSERVICE != null)
strSql.Append(",CUSTSERVICE=@CUSTSERVICE");
if (modifydata.FRCUSTSERVICE != "" && modifydata.FRCUSTSERVICE != null)
strSql.Append(",FRCUSTSERVICE=@FRCUSTSERVICE");
if (modifydata.YARDATTN != "" && modifydata.YARDATTN != null)
strSql.Append(",YARDATTN=@YARDATTN");
if (modifydata.DOC != "" && modifydata.DOC != null)
strSql.Append(",DOC=@DOC");
if (modifydata.OP != "" && modifydata.OP != null)
strSql.Append(",OP=@OP");
if (modifydata.BSSOURCE != "" && modifydata.BSSOURCE != null)
strSql.Append(",BSSOURCE=@BSSOURCE");
if (modifydata.BLTYPE != "" && modifydata.BLTYPE != null)
strSql.Append(",BLTYPE=@BLTYPE");
if (modifydata.CONTRACTNO != "" && modifydata.CONTRACTNO != null)
strSql.Append(",CONTRACTNO=@CONTRACTNO");
if (modifydata.SERVICECONTRACTNO != "" && modifydata.SERVICECONTRACTNO != null)
strSql.Append(",SERVICECONTRACTNO=@SERVICECONTRACTNO");
if (modifydata.ORDERNO != "" && modifydata.ORDERNO != null)
strSql.Append(",ORDERNO=@ORDERNO");
if (modifydata.ISFUMIGATION) strSql.Append(",ISFUMIGATION=1");
if (modifydata.ISSTORAGE) strSql.Append(",ISSTORAGE=1");
if (modifydata.ISLAND) strSql.Append(",ISLAND=1");
if (modifydata.ISCUSTOMS) strSql.Append(",ISCUSTOMS=1");
if (modifydata.ISINSPECTION) strSql.Append(",ISINSPECTION=1");
if (modifydata.ISBOOKING) strSql.Append(",ISBOOKING=1");
if (modifydata.ISAGENT) strSql.Append(",ISAGENT=1");
if (modifydata.ISHBLNO) strSql.Append(",ISHBLNO=1");
if (modifydata.SERVICE9) strSql.Append(",SERVICE9=1");
if (modifydata.SERVICE10) strSql.Append(",SERVICE10=1");
strSql.Append(" where BSNO=@BSNO ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
var opseae = GetData("BSNO='" + enumValue.BSNO + "'");
var isPost = true;
if (Convert.ToDateTime(head.PERIOD + "-01") > Convert.ToDateTime(enumValue.ACCDATE + "-01"))
{
if (errstr == "")
errstr = enumValue.CUSTNO + "此票所在业务已月末结账";
else
errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务已月末结账";
isPost = false;
}
if (opseae.BSSTATUS) {
if (errstr == "")
errstr = enumValue.CUSTNO + "此票所在业务已业务锁定";
else
errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务已业务锁定";
isPost = false;
}
if (!string.IsNullOrEmpty(opseae.ETD) && !string.IsNullOrEmpty(modifydata.CLOSINGDATE))
{
if (Convert.ToDateTime(opseae.ETD + " 23:59:59") < Convert.ToDateTime(modifydata.CLOSINGDATE))
{
isPost = false;
errstr = errstr + "," + "截港日期不允许大于开船日期";
}
}
if (!string.IsNullOrEmpty(opseae.ETD) && !string.IsNullOrEmpty(modifydata.CLOSEDOCDATE))
{
if (Convert.ToDateTime(opseae.ETD + " 23:59:59") < Convert.ToDateTime(modifydata.CLOSEDOCDATE))
{
isPost = false;
errstr = errstr + "," + "截单日期不允许大于开船日期";
}
}
if (modifydata.ACCDATE != "" && modifydata.ACCDATE != null) {
if (Convert.ToDateTime(head.PERIOD + "-01") > Convert.ToDateTime(modifydata.ACCDATE + "-01"))
{
if (errstr == "")
errstr = enumValue.CUSTNO + "此票所在业务会计期间更改至已月末结账月份";
else
errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务会计期间更改至已月末结账月份";
isPost = false;
}
}
if (modifydata.ETD != "" && modifydata.ETD != null)
{
if (ACCDATESAMEETD == "1")
{
var ACCDATE = Convert.ToDateTime(modifydata.ETD).ToString("yyyy-MM");
if (Convert.ToDateTime(head.PERIOD + "-01") > Convert.ToDateTime(ACCDATE + "-01"))
{
if (errstr == "")
errstr = enumValue.CUSTNO + "此票所在业务会计期间更改至已月末结账月份";
else
errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务会计期间更改至已月末结账月份";
isPost = false;
}
}
}
if (isPost)
{
cmdupdate.Parameters.Clear();
if (modifydata.YARD != "" && modifydata.YARD != null)
db.AddInParameter(cmdupdate, "@YARD", DbType.String, modifydata.YARD);
if (modifydata.HBLNO != "" && modifydata.HBLNO != null)
db.AddInParameter(cmdupdate, "@HBLNO", DbType.String, modifydata.HBLNO);
if (modifydata.CARRIER != "" && modifydata.CARRIER != null)
db.AddInParameter(cmdupdate, "@CARRIER", DbType.String, modifydata.CARRIER);
if (modifydata.FORWARDER != "" && modifydata.FORWARDER != null)
db.AddInParameter(cmdupdate, "@FORWARDER", DbType.String, modifydata.FORWARDER);
if (modifydata.TRUCKER != "" && modifydata.TRUCKER != null)
db.AddInParameter(cmdupdate, "@TRUCKER", DbType.String, modifydata.TRUCKER);
if (modifydata.CUSTOMSER != "" && modifydata.CUSTOMSER != null)
db.AddInParameter(cmdupdate, "@CUSTOMSER", DbType.String, modifydata.CUSTOMSER);
if (modifydata.CUSTOMERNAME!= "" && modifydata.CUSTOMERNAME != null)
db.AddInParameter(cmdupdate, "@CUSTOMERNAME", DbType.String, modifydata.CUSTOMERNAME);
if (modifydata.LANE != "" && modifydata.LANE != null)
db.AddInParameter(cmdupdate, "@LANE", DbType.String, modifydata.LANE);
if (modifydata.AGENTID != "" && modifydata.AGENTID != null)
db.AddInParameter(cmdupdate, "@AGENTID", DbType.String, modifydata.AGENTID);
if (modifydata.PORTLOAD != "" && modifydata.PORTLOAD != null)
db.AddInParameter(cmdupdate, "@PORTLOAD", DbType.String, modifydata.PORTLOAD);
if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null)
db.AddInParameter(cmdupdate, "@PORTDISCHARGE", DbType.String, modifydata.PORTDISCHARGE);
if (modifydata.PORTLOADID != "" && modifydata.PORTLOADID != null)
db.AddInParameter(cmdupdate, "@PORTLOADID", DbType.String, modifydata.PORTLOADID);
if (modifydata.PORTDISCHARGEID != "" && modifydata.PORTDISCHARGEID != null)
db.AddInParameter(cmdupdate, "@PORTDISCHARGEID", DbType.String, modifydata.PORTDISCHARGEID);
if (modifydata.VESSEL != "" && modifydata.VESSEL != null)
db.AddInParameter(cmdupdate, "@VESSEL", DbType.String, modifydata.VESSEL);
if (modifydata.VESSELID != "" && modifydata.VESSELID != null)
db.AddInParameter(cmdupdate, "@VESSELID", DbType.String, modifydata.VESSELID);
if (modifydata.VOYNO != "" && modifydata.VOYNO != null)
db.AddInParameter(cmdupdate, "@VOYNO", DbType.String, modifydata.VOYNO);
if (modifydata.ETD != "" && modifydata.ETD != null)
{
db.AddInParameter(cmdupdate, "@ETD", DbType.String, modifydata.ETD);
if (ACCDATESAMEETD == "1")
{
var ACCDATE = Convert.ToDateTime(modifydata.ETD).ToString("yyyy-MM");
db.AddInParameter(cmdupdate, "@ACCDATE", DbType.String, ACCDATE);
}
}
if (modifydata.CLOSINGDATE != "" && modifydata.CLOSINGDATE != null)
db.AddInParameter(cmdupdate, "@CLOSINGDATE", DbType.String, modifydata.CLOSINGDATE);
if (modifydata.CLOSEDOCDATE != "" && modifydata.CLOSEDOCDATE != null)
db.AddInParameter(cmdupdate, "@CLOSEDOCDATE", DbType.String, modifydata.CLOSEDOCDATE);
if (modifydata.ACCDATE != "" && modifydata.ACCDATE != null)
db.AddInParameter(cmdupdate, "@ACCDATE", DbType.String, modifydata.ACCDATE);
if (modifydata.SALEDEPT != "" && modifydata.SALEDEPT != null)
db.AddInParameter(cmdupdate, "@SALEDEPT", DbType.String, modifydata.SALEDEPT);
if (modifydata.AGENT != "" && modifydata.AGENT != null)
db.AddInParameter(cmdupdate, "@AGENT", DbType.String, modifydata.AGENT);
if (modifydata.SHIPAGENCY != "" && modifydata.SHIPAGENCY != null)
db.AddInParameter(cmdupdate, "@SHIPAGENCY", DbType.String, modifydata.SHIPAGENCY);
if (modifydata.SALE != "" && modifydata.SALE != null)
db.AddInParameter(cmdupdate, "@SALE", DbType.String, modifydata.SALE);
if (modifydata.CUSTSERVICE != "" && modifydata.CUSTSERVICE != null)
db.AddInParameter(cmdupdate, "@CUSTSERVICE", DbType.String, modifydata.CUSTSERVICE);
if (modifydata.FRCUSTSERVICE != "" && modifydata.FRCUSTSERVICE != null)
db.AddInParameter(cmdupdate, "@FRCUSTSERVICE", DbType.String, modifydata.FRCUSTSERVICE);
if (modifydata.YARDATTN != "" && modifydata.YARDATTN != null)
db.AddInParameter(cmdupdate, "@YARDATTN", DbType.String, modifydata.YARDATTN);
if (modifydata.DOC != "" && modifydata.DOC != null)
db.AddInParameter(cmdupdate, "@DOC", DbType.String, modifydata.DOC);
if (modifydata.OP!= "" && modifydata.OP != null)
db.AddInParameter(cmdupdate, "@OP", DbType.String, modifydata.OP);
if (modifydata.BSSOURCE != "" && modifydata.BSSOURCE != null)
db.AddInParameter(cmdupdate, "@BSSOURCE", DbType.String, modifydata.BSSOURCE);
if (modifydata.BLTYPE != "" && modifydata.BLTYPE != null)
db.AddInParameter(cmdupdate, "@BLTYPE", DbType.String, modifydata.BLTYPE);
if (modifydata.CONTRACTNO != "" && modifydata.CONTRACTNO != null)
db.AddInParameter(cmdupdate, "@CONTRACTNO", DbType.String, modifydata.CONTRACTNO);
if (modifydata.SERVICECONTRACTNO != "" && modifydata.SERVICECONTRACTNO != null)
db.AddInParameter(cmdupdate, "@SERVICECONTRACTNO", DbType.String, modifydata.SERVICECONTRACTNO);
if (modifydata.ORDERNO != "" && modifydata.ORDERNO != null)
db.AddInParameter(cmdupdate, "@ORDERNO", DbType.String, modifydata.ORDERNO);
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
i = i + 1;
}
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "修改成功" + i.ToString() + "票";
if (errstr != "") {
result.Message = result.Message + "(其中" + errstr + " 无法修改)";
}
return result;
}
public static DBResult ModifyRt(List<MsOpSeae> bodyList, MsOpSeae modifydata, string companyid)
{
var result = new DBResult();
string errstr = "";
int i = 0;
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 bsno=bsno ");
if (modifydata.YARDATTN != "" && modifydata.YARDATTN != null)
strSql.Append(",YARDATTN=@YARDATTN");
if (modifydata.FRCUSTSERVICE != "" && modifydata.FRCUSTSERVICE != null)
strSql.Append(",FRCUSTSERVICE=@FRCUSTSERVICE");
if (modifydata.ETA != "" && modifydata.ETA != null)
strSql.Append(",ETA=@ETA");
strSql.Append(" where BSNO=@BSNO ");
// var blUpSQL1 = " update op_ctnbscard set RTOP='" + headData.YARDATTN + "',CTN_HANDINGOP='" + headData.FRCUSTSERVICE + "' where APPLYNO='" + headData.APPLYNO + "' ";
// bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1);
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
var strSqlUpdateBscard = new StringBuilder();
strSqlUpdateBscard.Append("update op_ctnbscard set RTOP=@RTOP,CTN_HANDINGOP=@CTN_HANDINGOP ");
if (modifydata.ETA != "" && modifydata.ETA != null)
strSqlUpdateBscard.Append(",PREETA=@ETA");
strSqlUpdateBscard.Append(" where APPLYNO=@APPLYNO ");
var cmdInsertLog = db.GetSqlStringCommand("insert into sys_log(GID,NAME,LOGTYPE,LOGTIME,LOGCONTENT,CREATEUSER) values(NEWID(),@BSNO,@LOGTYPE,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',@LOGCONTENT,@USERID)");
var cmdUpdateBscard = db.GetSqlStringCommand(strSqlUpdateBscard.ToString());
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdupdate.Parameters.Clear();
if (modifydata.YARDATTN != "" && modifydata.YARDATTN != null)
db.AddInParameter(cmdupdate, "@YARDATTN", DbType.String, modifydata.YARDATTN);
if (modifydata.FRCUSTSERVICE != "" && modifydata.FRCUSTSERVICE != null)
db.AddInParameter(cmdupdate, "@FRCUSTSERVICE", DbType.String, modifydata.FRCUSTSERVICE);
if (modifydata.ETA != "" && modifydata.ETA != null)
db.AddInParameter(cmdupdate, "@ETA", DbType.String, modifydata.ETA);
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
i = i + 1;
if (!string.IsNullOrEmpty(enumValue.APPLYNO)) {
cmdUpdateBscard.Parameters.Clear();
db.AddInParameter(cmdUpdateBscard, "@RTOP", DbType.String, modifydata.YARDATTN);
db.AddInParameter(cmdUpdateBscard, "@CTN_HANDINGOP", DbType.String, modifydata.FRCUSTSERVICE);
if (modifydata.ETA != "" && modifydata.ETA != null)
db.AddInParameter(cmdUpdateBscard, "@ETA", DbType.String, modifydata.ETA);
db.AddInParameter(cmdUpdateBscard, "@APPLYNO", DbType.String, enumValue.APPLYNO);
db.ExecuteNonQuery(cmdUpdateBscard, tran);
}
//cmdInsertLog.Parameters.Clear();
//db.AddInParameter(cmdInsertLog, "@BSNO", DbType.String, enumValue.BSNO);
//db.AddInParameter(cmdInsertLog, "@LOGTYPE", DbType.String, "更改签单方式");
//db.AddInParameter(cmdInsertLog, "@LOGCONTENT", DbType.String, "签单方式更新为" + modifydata.ISSUETYPE);
//db.AddInParameter(cmdInsertLog, "@USERID", DbType.String, userid);
//db.ExecuteNonQuery(cmdInsertLog, tran);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "修改成功" + i.ToString() + "票";
if (errstr != "")
{
result.Message = result.Message + "(其中" + errstr + " 无法修改)";
}
return result;
}
public static DBResult ModifyIssue(List<MsOpSeae> bodyList, MsOpSeae modifydata, string companyid,string userid)
{
var result = new DBResult();
string errstr = "";
int i = 0;
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 bsno=bsno ");
if (modifydata.ISSUETYPE != "" && modifydata.ISSUETYPE != null)
strSql.Append(",ISSUETYPE=@ISSUETYPE");
strSql.Append(" where BSNO=@BSNO ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
var cmdInsertLog = db.GetSqlStringCommand("insert into sys_log(GID,NAME,LOGTYPE,LOGTIME,LOGCONTENT,CREATEUSER) values(NEWID(),@BSNO,@LOGTYPE,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',@LOGCONTENT,@USERID)");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
var opseae = GetData("BSNO='" + enumValue.BSNO + "'");
if (opseae.BLISSUESTATUS== "提单签入"|| opseae.BLISSUESTATUS == "提单签出")
{
if (errstr == "")
errstr = enumValue.CUSTNO + "此票所在业务已提单签入或签出";
else
errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务已提单签入或签出";
}
else
{
cmdupdate.Parameters.Clear();
if (modifydata.ISSUETYPE != "" && modifydata.ISSUETYPE != null)
db.AddInParameter(cmdupdate, "@ISSUETYPE", DbType.String, modifydata.ISSUETYPE);
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
i = i + 1;
cmdInsertLog.Parameters.Clear();
db.AddInParameter(cmdInsertLog, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsertLog, "@LOGTYPE", DbType.String, "更改签单方式");
db.AddInParameter(cmdInsertLog, "@LOGCONTENT", DbType.String, "签单方式更新为"+ modifydata.ISSUETYPE);
db.AddInParameter(cmdInsertLog, "@USERID", DbType.String, userid);
db.ExecuteNonQuery(cmdInsertLog, tran);
}
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "修改成功" + i.ToString() + "票";
if (errstr != "")
{
result.Message = result.Message + "(其中" + errstr + " 无法修改)";
}
return result;
}
#endregion
#region 拼箱操作
public static DBResult SaveFenList ( string bsno, List<MsOpSeae> bodyList, string corpid )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"INSERT INTO op_seae([BSNO],[MASTERNO],[ORDERTYPE],[CUSTNO],[MBLNO],[HBLNO],[BSSTATUS],[FEESTATUS],[BSDATE]
,[ACCDATE],[CUSTOMERNAME],[INPUTBY],[OP],[CUSTSERVICE],[SALE],[CORPID]
,[SALEDEPT],[CREATETIME],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[ETA]
,[SHIPPERID],[SHIPPER],[CONSIGNEEID],[CONSIGNEE],[NOTIFYPARTYID],[NOTIFYPARTY],[BSSOURCE]
,[BSSOURCEDETAIL],[GOODSNAME],[NOBILL],[ISSUETYPE],[MARKS],[DESCRIPTION],[HSCODE]
,[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[PLACEDELIVERYID],[PLACEDELIVERY]
,[DESTINATIONID],[DESTINATION],[BLTYPE],[AGENTID],[AGENT],[YARD]
,[BLFRT],[PREPARDAT],[PAYABLEAT],[SERVICE],[NOPKGS],[GROSSWEIGHT]
,[MEASUREMENT],[PKGS],[KINDPKGS],[CBM],[TOTALNO],[KGS],[LANE],[CARRIER],[FORWARDER]
,[CARGOID],[REMARK],[PLACERECEIPTID],[PlACERECEIPT],[VESSELID],[CNTR1],[CNTR2],[CNTR3],[CNTR4],[CNTR5]
,[CNTR6],[CNTR7],[CNTR8],[CNTR9],[CNTR10],[OTCNTR],[TEU],[CUSTOMSNUM],[INAMOUT],ISVOU,ISCONTAINERSOC)
VALUES
(@BSNO,@MASTERNO,@ORDERTYPE,@CUSTNO,@MBLNO,@HBLNO,@BSSTATUS,@FEESTATUS,@BSDATE
,@ACCDATE,@CUSTOMERNAME,@INPUTBY,@OP,@CUSTSERVICE,@SALE,@CORPID
,@SALEDEPT,@CREATETIME,@VESSEL,@VOYNO,@ETD,@CLOSINGDATE,@ETA
,@SHIPPERID,@SHIPPER,@CONSIGNEEID,@CONSIGNEE,@NOTIFYPARTYID,@NOTIFYPARTY,@BSSOURCE
,@BSSOURCEDETAIL,@GOODSNAME,@NOBILL,@ISSUETYPE,@MARKS,@DESCRIPTION,@HSCODE
,@PORTLOADID,@PORTLOAD,@PORTDISCHARGEID,@PORTDISCHARGE,@PLACEDELIVERYID,@PLACEDELIVERY
,@DESTINATIONID,@DESTINATION,@BLTYPE,@AGENTID,@AGENT,@YARD
,@BLFRT,@PREPARDAT,@PAYABLEAT,@SERVICE,@NOPKGS,@GROSSWEIGHT
,@MEASUREMENT,@PKGS,@KINDPKGS,@CBM,@TOTALNO,@KGS,@LANE,@CARRIER,@FORWARDER
,@CARGOID,@REMARK,@PLACERECEIPTID,@PlACERECEIPT,@VESSELID,@CNTR1,@CNTR2,@CNTR3,@CNTR4,@CNTR5
,@CNTR6,@CNTR7,@CNTR8,@CNTR9,@CNTR10,@OTCNTR,@TEU,@CUSTOMSNUM,@INAMOUT,@ISVOU,@ISCONTAINERSOC) ");
var cmdupdate =
db.GetSqlStringCommand(@"update op_seae set [MBLNO]=@MBLNO,[HBLNO]=@HBLNO,[BSSTATUS]=@BSSTATUS,[FEESTATUS]=@FEESTATUS,[BSDATE]=@BSDATE
,[ACCDATE]=@ACCDATE,[CUSTOMERNAME]=@CUSTOMERNAME,[INPUTBY]=@INPUTBY,[OP]=@OP,[CUSTSERVICE]=@CUSTSERVICE,[SALE]=@SALE
,[SALEDEPT]=@SALEDEPT,[VESSEL]=@VESSEL,[VOYNO]=@VOYNO,[ETD]=@ETD,[CLOSINGDATE]=@CLOSINGDATE,[ETA]=@ETA,[GOODSNAME]=@GOODSNAME,[HSCODE]=@HSCODE
,[PORTLOADID]=@PORTLOADID,[PORTLOAD]=@PORTLOAD,[PORTDISCHARGEID]=@PORTDISCHARGEID,[PORTDISCHARGE]=@PORTDISCHARGE
,[PLACEDELIVERYID]=@PLACEDELIVERYID,[PLACEDELIVERY]=@PLACEDELIVERY,[DESTINATIONID]=@DESTINATIONID,[DESTINATION]=@DESTINATION
,[AGENTID]=@AGENTID,[AGENT]=@AGENT,[YARD]=@YARD,[BLFRT]=@BLFRT,[PREPARDAT]=@PREPARDAT,[PAYABLEAT]=@PAYABLEAT,[SERVICE]=@SERVICE
,[MARKS]=@MARKS,[NOPKGS]=@NOPKGS,[GROSSWEIGHT]=@GROSSWEIGHT,[MEASUREMENT]=@MEASUREMENT,[PKGS]=@PKGS,[KINDPKGS]=@KINDPKGS,
[CBM]=@CBM,[TOTALNO]=@TOTALNO,[KGS]=@KGS,[LANE]=@LANE,[CARRIER]=@CARRIER,[FORWARDER]=@FORWARDER ,[CARGOID]=@CARGOID
,[REMARK]=@REMARK,[PLACERECEIPTID]=@PLACERECEIPTID,[PlACERECEIPT]=@PLACERECEIPT,[VESSELID]=@VESSELID WHERE [BSNO]=@BSNO");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.MASTERNO == "*")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsert, "@MASTERNO", DbType.String, bsno);
db.AddInParameter(cmdInsert, "@ORDERTYPE", DbType.String, "操作录入");
db.AddInParameter(cmdInsert, "@CUSTNO", DbType.String, enumValue.CUSTNO);
db.AddInParameter(cmdInsert, "@MBLNO", DbType.String, enumValue.MBLNO);
db.AddInParameter(cmdInsert, "@HBLNO", DbType.String, enumValue.HBLNO);
db.AddInParameter(cmdInsert, "@BSSTATUS", DbType.Boolean, enumValue.BSSTATUS);
db.AddInParameter(cmdInsert, "@FEESTATUS", DbType.Boolean, enumValue.FEESTATUS);
db.AddInParameter(cmdInsert, "@BSDATE", DbType.Date, DateTime.Now);
db.AddInParameter(cmdInsert, "@ACCDATE", DbType.String, enumValue.ACCDATE);
db.AddInParameter(cmdInsert, "@CUSTOMERNAME", DbType.String, enumValue.CUSTOMERNAME);
db.AddInParameter(cmdInsert, "@INPUTBY", DbType.String, enumValue.INPUTBY);
db.AddInParameter(cmdInsert, "@OP", DbType.String, enumValue.OP);
db.AddInParameter(cmdInsert, "@CUSTSERVICE", DbType.String, enumValue.CUSTSERVICE);
db.AddInParameter(cmdInsert, "@SALE", DbType.String, enumValue.SALE);
db.AddInParameter(cmdInsert, "@CORPID", DbType.String, corpid);
db.AddInParameter(cmdInsert, "@SALEDEPT", DbType.String, enumValue.SALEDEPT);
db.AddInParameter(cmdInsert, "@SHIPPERID", DbType.String, enumValue.SHIPPERID);
db.AddInParameter(cmdInsert, "@SHIPPER", DbType.String, enumValue.SHIPPER);
db.AddInParameter(cmdInsert, "@CONSIGNEEID", DbType.String, enumValue.CONSIGNEEID);
db.AddInParameter(cmdInsert, "@CONSIGNEE", DbType.String, enumValue.CONSIGNEE);
db.AddInParameter(cmdInsert, "@NOTIFYPARTYID", DbType.String, enumValue.NOTIFYPARTYID);
db.AddInParameter(cmdInsert, "@NOTIFYPARTY", DbType.String, enumValue.NOTIFYPARTY);
db.AddInParameter(cmdInsert, "@BSSOURCE", DbType.String, enumValue.BSSOURCE);
db.AddInParameter(cmdInsert, "@BSSOURCEDETAIL", DbType.String, enumValue.BSSOURCEDETAIL);
db.AddInParameter(cmdInsert, "@GOODSNAME", DbType.String, enumValue.GOODSNAME);
db.AddInParameter(cmdInsert, "@NOBILL", DbType.String, enumValue.NOBILL);
db.AddInParameter(cmdInsert, "@ISSUETYPE", DbType.String, enumValue.ISSUETYPE);
db.AddInParameter(cmdInsert, "@MARKS", DbType.String, enumValue.MARKS);
db.AddInParameter(cmdInsert, "@DESCRIPTION", DbType.String, enumValue.DESCRIPTION);
db.AddInParameter(cmdInsert, "@HSCODE", DbType.String, enumValue.HSCODE);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.Date, DateTime.Now);
db.AddInParameter(cmdInsert, "@VESSEL", DbType.String, enumValue.VESSEL);
db.AddInParameter(cmdInsert, "@VOYNO", DbType.String, enumValue.VOYNO);
db.AddInParameter(cmdInsert, "@ETD", DbType.Date, enumValue.ETD);
db.AddInParameter(cmdInsert, "@CLOSINGDATE", DbType.Date, enumValue.CLOSINGDATE);
db.AddInParameter(cmdInsert, "@ETA", DbType.Date, enumValue.ETA);
db.AddInParameter(cmdInsert, "@PORTLOADID", DbType.String, enumValue.PORTLOADID);
db.AddInParameter(cmdInsert, "@PORTLOAD", DbType.String, enumValue.PORTLOAD);
db.AddInParameter(cmdInsert, "@PORTDISCHARGEID", DbType.String, enumValue.PORTDISCHARGEID);
db.AddInParameter(cmdInsert, "@PORTDISCHARGE", DbType.String, enumValue.PORTDISCHARGE);
db.AddInParameter(cmdInsert, "@PLACEDELIVERYID", DbType.String, enumValue.PLACEDELIVERYID);
db.AddInParameter(cmdInsert, "@PLACEDELIVERY", DbType.String, enumValue.PLACEDELIVERY);
db.AddInParameter(cmdInsert, "@DESTINATIONID", DbType.String, enumValue.DESTINATIONID);
db.AddInParameter(cmdInsert, "@DESTINATION", DbType.String, enumValue.DESTINATION);
db.AddInParameter(cmdInsert, "@BLTYPE", DbType.String, enumValue.BLTYPE);
db.AddInParameter(cmdInsert, "@AGENTID", DbType.String, enumValue.AGENTID);
db.AddInParameter(cmdInsert, "@AGENT", DbType.String, enumValue.AGENT);
db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD);
db.AddInParameter(cmdInsert, "@BLFRT", DbType.String, enumValue.BLFRT);
db.AddInParameter(cmdInsert, "@PREPARDAT", DbType.String, enumValue.PREPARDAT);
db.AddInParameter(cmdInsert, "@PAYABLEAT", DbType.String, enumValue.PAYABLEAT);
db.AddInParameter(cmdInsert, "@SERVICE", DbType.String, enumValue.SERVICE);
db.AddInParameter(cmdInsert, "@NOPKGS", DbType.String, enumValue.NOPKGS);
db.AddInParameter(cmdInsert, "@GROSSWEIGHT", DbType.String, enumValue.GROSSWEIGHT);
db.AddInParameter(cmdInsert, "@MEASUREMENT", DbType.String, enumValue.MEASUREMENT);
db.AddInParameter(cmdInsert, "@PKGS", DbType.String, enumValue.PKGS);
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
db.AddInParameter(cmdInsert, "@CBM", DbType.String, enumValue.CBM);
db.AddInParameter(cmdInsert, "@TOTALNO", DbType.String, enumValue.TOTALNO);
db.AddInParameter(cmdInsert, "@KGS", DbType.String, enumValue.KGS);
db.AddInParameter(cmdInsert, "@LANE", DbType.String, enumValue.LANE);
db.AddInParameter(cmdInsert, "@CARRIER", DbType.String, enumValue.CARRIER);
db.AddInParameter(cmdInsert, "@FORWARDER", DbType.String, enumValue.FORWARDER);
db.AddInParameter(cmdInsert, "@CARGOID", DbType.String, enumValue.CARGOID);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@PLACERECEIPTID", DbType.String, enumValue.PLACERECEIPTID);
db.AddInParameter(cmdInsert, "@PlACERECEIPT", DbType.String, enumValue.PLACERECEIPT);
db.AddInParameter(cmdInsert, "@VESSELID", DbType.String, enumValue.VESSELID);
db.AddInParameter(cmdInsert, "@CNTR1", DbType.Int16, enumValue.CNTR1);
db.AddInParameter(cmdInsert, "@CNTR2", DbType.Int16, enumValue.CNTR2);
db.AddInParameter(cmdInsert, "@CNTR3", DbType.Int16, enumValue.CNTR3);
db.AddInParameter(cmdInsert, "@CNTR4", DbType.Int16, enumValue.CNTR4);
db.AddInParameter(cmdInsert, "@CNTR5", DbType.Int16, enumValue.CNTR5);
db.AddInParameter(cmdInsert, "@CNTR6", DbType.Int16, enumValue.CNTR6);
db.AddInParameter(cmdInsert, "@CNTR7", DbType.Int16, enumValue.CNTR7);
db.AddInParameter(cmdInsert, "@CNTR8", DbType.Int16, enumValue.CNTR8);
db.AddInParameter(cmdInsert, "@CNTR9", DbType.Int16, enumValue.CNTR9);
db.AddInParameter(cmdInsert, "@CNTR10", DbType.Int16, enumValue.CNTR10);
db.AddInParameter(cmdInsert, "@OTCNTR", DbType.Int16, enumValue.OTCNTR);
db.AddInParameter(cmdInsert, "@TEU", DbType.Int16, enumValue.TEU);
db.AddInParameter(cmdInsert, "@CUSTOMSNUM", DbType.Int16, enumValue.CUSTOMSNUM);
db.AddInParameter(cmdInsert, "@INAMOUT", DbType.Decimal, enumValue.INAMOUT);
db.AddInParameter(cmdInsert, "@ISVOU", DbType.Boolean, enumValue.ISVOU);
db.AddInParameter(cmdInsert, "@ISCONTAINERSOC", DbType.Boolean, enumValue.ISCONTAINERSOC);
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdupdate, "@MBLNO", DbType.String, enumValue.MBLNO);
db.AddInParameter(cmdupdate, "@HBLNO", DbType.String, enumValue.HBLNO);
db.AddInParameter(cmdupdate, "@BSSTATUS", DbType.Boolean, enumValue.BSSTATUS);
db.AddInParameter(cmdupdate, "@FEESTATUS", DbType.Boolean, enumValue.FEESTATUS);
db.AddInParameter(cmdupdate, "@BSDATE", DbType.Date, DateTime.Now);
db.AddInParameter(cmdupdate, "@ACCDATE", DbType.String, enumValue.ACCDATE);
db.AddInParameter(cmdupdate, "@CUSTOMERNAME", DbType.String, enumValue.CUSTOMERNAME);
db.AddInParameter(cmdupdate, "@INPUTBY", DbType.String, enumValue.INPUTBY);
db.AddInParameter(cmdupdate, "@OP", DbType.String, enumValue.OP);
db.AddInParameter(cmdupdate, "@CUSTSERVICE", DbType.String, enumValue.CUSTSERVICE);
db.AddInParameter(cmdupdate, "@SALE", DbType.String, enumValue.SALE);
db.AddInParameter(cmdupdate, "@SALEDEPT", DbType.String, enumValue.SALEDEPT);
db.AddInParameter(cmdupdate, "@VESSEL", DbType.String, enumValue.VESSEL);
db.AddInParameter(cmdupdate, "@VOYNO", DbType.String, enumValue.VOYNO);
db.AddInParameter(cmdupdate, "@ETD", DbType.Date, enumValue.ETD);
db.AddInParameter(cmdupdate, "@GOODSNAME", DbType.String, enumValue.GOODSNAME);
db.AddInParameter(cmdupdate, "@HSCODE", DbType.String, enumValue.HSCODE);
db.AddInParameter(cmdupdate, "@CLOSINGDATE", DbType.Date, enumValue.CLOSINGDATE);
db.AddInParameter(cmdupdate, "@ETA", DbType.Date, enumValue.ETA);
db.AddInParameter(cmdupdate, "@PORTLOADID", DbType.String, enumValue.PORTLOADID);
db.AddInParameter(cmdupdate, "@PORTLOAD", DbType.String, enumValue.PORTLOAD);
db.AddInParameter(cmdupdate, "@PORTDISCHARGEID", DbType.String, enumValue.PORTDISCHARGEID);
db.AddInParameter(cmdupdate, "@PORTDISCHARGE", DbType.String, enumValue.PORTDISCHARGE);
db.AddInParameter(cmdupdate, "@PLACEDELIVERYID", DbType.String, enumValue.PLACEDELIVERYID);
db.AddInParameter(cmdupdate, "@PLACEDELIVERY", DbType.String, enumValue.PLACEDELIVERY);
db.AddInParameter(cmdupdate, "@DESTINATIONID", DbType.String, enumValue.DESTINATIONID);
db.AddInParameter(cmdupdate, "@DESTINATION", DbType.String, enumValue.DESTINATION);
db.AddInParameter(cmdupdate, "@AGENTID", DbType.String, enumValue.AGENTID);
db.AddInParameter(cmdupdate, "@AGENT", DbType.String, enumValue.AGENT);
db.AddInParameter(cmdupdate, "@YARD", DbType.String, enumValue.YARD);
db.AddInParameter(cmdupdate, "@BLFRT", DbType.String, enumValue.BLFRT);
db.AddInParameter(cmdupdate, "@PREPARDAT", DbType.String, enumValue.PREPARDAT);
db.AddInParameter(cmdupdate, "@PAYABLEAT", DbType.String, enumValue.PAYABLEAT);
db.AddInParameter(cmdupdate, "@SERVICE", DbType.String, enumValue.SERVICE);
db.AddInParameter(cmdupdate, "@MARKS", DbType.String, enumValue.MARKS);
db.AddInParameter(cmdupdate, "@NOPKGS", DbType.String, enumValue.NOPKGS);
db.AddInParameter(cmdupdate, "@GROSSWEIGHT", DbType.String, enumValue.GROSSWEIGHT);
db.AddInParameter(cmdupdate, "@MEASUREMENT", DbType.String, enumValue.MEASUREMENT);
db.AddInParameter(cmdupdate, "@PKGS", DbType.String, enumValue.PKGS);
db.AddInParameter(cmdupdate, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
db.AddInParameter(cmdupdate, "@CBM", DbType.String, enumValue.CBM);
db.AddInParameter(cmdupdate, "@TOTALNO", DbType.String, enumValue.TOTALNO);
db.AddInParameter(cmdupdate, "@KGS", DbType.String, enumValue.KGS);
db.AddInParameter(cmdupdate, "@LANE", DbType.String, enumValue.LANE);
db.AddInParameter(cmdupdate, "@CARRIER", DbType.String, enumValue.CARRIER);
db.AddInParameter(cmdupdate, "@FORWARDER", DbType.String, enumValue.FORWARDER);
db.AddInParameter(cmdupdate, "@CARGOID", DbType.String, enumValue.CARGOID);
db.AddInParameter(cmdupdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdupdate, "@PLACERECEIPTID", DbType.String, enumValue.PLACERECEIPTID);
db.AddInParameter(cmdupdate, "@PlACERECEIPT", DbType.String, enumValue.PLACERECEIPT);
db.AddInParameter(cmdupdate, "@VESSELID", DbType.String, enumValue.VESSELID);
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;
}
public static DBResult DeleteFen ( string bsno )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("delete from op_seae where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdDeletectn = db.GetSqlStringCommand("delete from op_ctn_fen where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDeletectn, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
public static DBResult CancelFenAdd ( string bsno )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("update op_seae set MASTERNO=BSNO where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdDeletectn = db.GetSqlStringCommand("delete from op_ctn_fen where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDeletectn, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
public static DBResult AddFenAdd ( string bsno, List<MsOpSeae> bodyList, string ctnid )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdupdate =
db.GetSqlStringCommand(@"update op_seae set MASTERNO=@MASTERNO WHERE [BSNO]=@BSNO");
var cmdInsert =
db.GetSqlStringCommand(
@"INSERT INTO op_ctn_fen([GID],[CTN_ID],[BSNO],[MASTERNO],[PKGS],[KGS],[CBM],[REMARK],[KINDPKGS])
VALUES
(@GID,@CTN_ID,@BSNO,@MASTERNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS) ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdupdate, "@MASTERNO", DbType.String, bsno);
db.ExecuteNonQuery(cmdupdate, tran);
if (ctnid != "")
{
cmdInsert.Parameters.Clear();
var GID = Guid.NewGuid().ToString();
db.AddInParameter(cmdInsert, "@GID", DbType.String, GID);
db.AddInParameter(cmdInsert, "@MASTERNO", DbType.String, bsno);
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, ctnid);
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16, enumValue.PKGS);
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, enumValue.KGS);
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, enumValue.CBM);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
db.ExecuteNonQuery(cmdInsert, 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 List<MsOpSeaeDetail> GetFenCtnList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT f.GID,f.CTN_ID,f.BSNO,f.MASTERNO,f.PKGS,f.KGS,f.CBM,f.REMARK,f.KINDPKGS,c.CTNALL,c.CNTRNO,c.SEALNO from op_ctn_fen f ");
strSql.Append(" left join op_ctn c on (c.CTN_ID=f.CTN_ID)");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" order by f.CTN_ID");
return SetFenCtnData(strSql);
}
private static List<MsOpSeaeDetail> SetFenCtnData ( StringBuilder strSql )
{
var bodyList = new List<MsOpSeaeDetail>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);//编号
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);//编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.MASTERNO = Convert.ToString(reader["MASTERNO"]);//业务编号
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
public static DBResult SaveFenCtn ( string bsno, List<MsOpSeaeDetail> bodyList )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"INSERT INTO op_ctn_fen([GID],[CTN_ID],[BSNO],[MASTERNO],[PKGS],[KGS],[CBM],[REMARK],[KINDPKGS])
VALUES
(@GID,@CTN_ID,@BSNO,@MASTERNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS) ");
var cmdupdate =
db.GetSqlStringCommand(@"update op_ctn_fen set [CTN_ID]=@CTN_ID,[PKGS]=@PKGS
,[KGS]=@KGS,[CBM]=@CBM,[REMARK]=@REMARK,[KINDPKGS]=@KINDPKGS WHERE [GID]=@GID");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.MASTERNO == "*")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdInsert, "@MASTERNO", DbType.String, bsno);
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, enumValue.CTN_ID);
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16, enumValue.PKGS);
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, enumValue.KGS);
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, enumValue.CBM);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, enumValue.CTN_ID);
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16, enumValue.PKGS);
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, enumValue.KGS);
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, enumValue.CBM);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
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;
}
public static DBResult DeleteFenCtn ( string bsno )
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("delete from op_ctn_fen where GID='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
static public List<MsOpSeaeFenCtn> GetSeaeFenCtnList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT f.GID,f.CTN_ID,f.BSNO,f.MASTERNO,f.PKGS,f.KGS,f.CBM,f.REMARK,f.KINDPKGS,c.CTNALL,c.CNTRNO,c.SEALNO ");
strSql.Append(",b.MBLNO,b.HBLNO,b.GOODSNAME,b.DESCRIPTION,b.CARGOID ");
strSql.Append(" from op_ctn_fen f left join op_ctn c on (c.CTN_ID=f.CTN_ID)");
strSql.Append(" left join op_seae b on (b.BSNO=f.BSNO)");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" order by f.CTN_ID");
return SetSeaeFenCtnData(strSql);
}
private static List<MsOpSeaeFenCtn> SetSeaeFenCtnData ( StringBuilder strSql )
{
var bodyList = new List<MsOpSeaeFenCtn>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeFenCtn data = new MsOpSeaeFenCtn();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);//编号
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);//编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.MASTERNO = Convert.ToString(reader["MASTERNO"]);//业务编号
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
data.MBLNO = Convert.ToString(reader["MBLNO"]);//包装类型
data.HBLNO = Convert.ToString(reader["HBLNO"]);//包装类型
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//包装类型
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);//包装类型
data.CARGOID = Convert.ToString(reader["CARGOID"]);//包装类型
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
#endregion
#region 合票操作
static public List<MsOpSeaeDetail> GetBodyListTran(string strCondition, Database db, DbTransaction tran, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [CTN_ID],[BSNO],isnull(CTNCODE,1) as [CTNCODE],[SIZE],[CTN],[CTNNUM],[TEU],[CTNALL],op_ctn.CNTRNO,[SEALNO],[PKGS],[KGS],[CBM],[REMARK],[KINDPKGS],[TAREWEIGHT],[VGMCONNCOM],[GOODSNAME],CTNSTATUS,op_ctn.MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE ");
strSql.Append(" ,TRUCKER,TRUCKNO,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE, FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,");
strSql.Append(" f.FENPKGS,f.FENKGS,f.FENCBM,VGMADDR,VGMEMAIL from op_ctn left join V_FEN_CTN_SUM f on (f.MASTERNO=op_ctn.BSNO and f.CNTRNO=op_ctn.CNTRNO) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by BSNO,CTNCODE,CTNALL");
}
return SetBodyDataTran(strSql, db, tran);
}
public static List<MsOpSeaeDetail> SetBodyDataTran(StringBuilder strSql, Database db, DbTransaction tran)
{
var bodyList = new List<MsOpSeaeDetail>();
using (IDataReader reader = db.ExecuteReader(tran,CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
#region Set DB data to Object
data.VGMCONNCOM = Convert.ToString(reader["VGMCONNCOM"]);//vgm联系公司
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);//编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.CTNCODE = Convert.ToString(reader["CTNCODE"]);//箱型代码
data.SIZE = Convert.ToString(reader["SIZE"]);//尺寸
data.CTN = Convert.ToString(reader["CTN"]);//箱型
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);//箱量
data.TEU = Convert.ToInt32(reader["TEU"]);//TEU
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
if (reader["TAREWEIGHT"] != DBNull.Value)
data.TAREWEIGHT = Convert.ToDecimal(reader["TAREWEIGHT"]);//箱皮重
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
data.WEIGHTYPE = Convert.ToString(reader["WEIGHTYPE"]);
data.WEIGHKGS = Convert.ToDecimal(reader["WEIGHKGS"]);//
data.WEIGHATTN = Convert.ToString(reader["WEIGHATTN"]);
data.WEIGHTEL = Convert.ToString(reader["WEIGHTEL"]);
data.WEIGHSIGN = Convert.ToString(reader["WEIGHSIGN"]);
data.WEIGHDATE = Convert.ToString(reader["WEIGHDATE"]);
data.VGMADDR = Convert.ToString(reader["VGMADDR"]);
data.VGMEMAIL = Convert.ToString(reader["VGMEMAIL"]);
data.CTNSTATUS = Convert.ToString(reader["CTNSTATUS"]);
data.MASTERNO = Convert.ToString(reader["MASTERNO"]);
if (reader["FENPKGS"] != DBNull.Value)
data.FENPKGS = Convert.ToInt32(reader["FENPKGS"]);//件数
if (reader["FENKGS"] != DBNull.Value)
data.FENKGS = Convert.ToDecimal(reader["FENKGS"]);//重量(货重)
if (reader["FENCBM"] != DBNull.Value)
data.FENCBM = Convert.ToDecimal(reader["FENCBM"]);//尺码
data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]);
data.TRUCKER = Convert.ToString(reader["TRUCKER"]);
if (reader["FREESTORAGEDAY"] != DBNull.Value)
data.FREESTORAGEDAY = Convert.ToString(reader["FREESTORAGEDAY"]);
if (reader["STORAGEDAY"] != DBNull.Value)
data.STORAGEDAY = Convert.ToString(reader["STORAGEDAY"]);
if (reader["FREECTNDAY"] != DBNull.Value)
data.FREECTNDAY = Convert.ToString(reader["FREECTNDAY"]);
if (reader["CTNDAY"] != DBNull.Value)
data.CTNDAY = Convert.ToString(reader["CTNDAY"]);
if (reader["TRUCKFEE"] != DBNull.Value)
data.TRUCKFEE = Convert.ToString(reader["TRUCKFEE"]);
if (reader["STORAGEPRICE"] != DBNull.Value)
data.STORAGEPRICE = Convert.ToString(reader["STORAGEPRICE"]);
if (reader["STORAGEFEE"] != DBNull.Value)
data.STORAGEFEE = Convert.ToString(reader["STORAGEFEE"]);
if (reader["CTNPRICE"] != DBNull.Value)
data.CTNPRICE = Convert.ToString(reader["CTNPRICE"]);
if (reader["CTNFEE"] != DBNull.Value)
data.CTNFEE = Convert.ToString(reader["CTNFEE"]);
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
public static DBResult HPFenAdd(string bsno, List<MsOpSeae> bodyList)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdupdate =
db.GetSqlStringCommand(@"update op_seae set MASTERNO=@MASTERNO WHERE [BSNO]=@BSNO");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdupdate, "@MASTERNO", DbType.String, bsno);
db.ExecuteNonQuery(cmdupdate, tran);
var ctnlist = GetBodyListTran("BSNO='"+enumValue.BSNO+"'",db,tran);
if (ctnlist != null)
{
foreach (var enumValueCtn in ctnlist)
{
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL,PCTN_ID) values (NEWID()"
+ ",'" + bsno + "','" + enumValueCtn.CTNCODE + "','" + enumValueCtn.SIZE + "','" + enumValueCtn.CTN + "'," + enumValueCtn.CTNNUM + "," + enumValueCtn.TEU + ",'" + enumValueCtn.CTNALL.Replace("'", "''") + "','" + enumValueCtn.CNTRNO + "','" + enumValueCtn.SEALNO + "','" + enumValueCtn.PKGS + "'," + enumValueCtn.KGS + "," + enumValueCtn.CBM + ",'" + enumValueCtn.REMARK + "','" + enumValueCtn.KINDPKGS + "'," + enumValueCtn.TAREWEIGHT + ",'','"
+ enumValueCtn.CTNSTATUS + "','" + enumValueCtn.MASTERNO + "','" + enumValueCtn.WEIGHTYPE + "'," + enumValueCtn.WEIGHKGS + ",'" + enumValueCtn.WEIGHATTN + "','" + enumValueCtn.WEIGHTEL + "','" + enumValueCtn.WEIGHSIGN + "','" + enumValueCtn.WEIGHDATE + "','" + enumValueCtn.TRUCKER + "'," + enumValueCtn.TRUCKFEE
+ "," + enumValueCtn.FREESTORAGEDAY + "," + enumValueCtn.STORAGEDAY + "," + enumValueCtn.STORAGEPRICE + "," + enumValueCtn.STORAGEFEE + "," + enumValueCtn.FREECTNDAY + "," + enumValueCtn.CTNDAY + "," + enumValueCtn.CTNPRICE + "," + enumValueCtn.CTNFEE + ",'" + enumValueCtn.TRUCKNO + "','" + enumValueCtn.VGMCONNCOM + "','" + enumValueCtn.VGMADDR + "','" + enumValueCtn.VGMEMAIL + "','"+enumValueCtn.CTN_ID+"')");
db.ExecuteNonQuery(cmdInsert, tran);
}
}
}
}
tran.Commit();
getCNTRTOTAL2(bsno, "op_seae");
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "更新成功" + result.Message;
return result;
}
public static DBResult CancelHPFen(string bsno,List<MsOpSeae> bodyList)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdupdate =
db.GetSqlStringCommand(@"update op_seae set MASTERNO=BSNO WHERE [BSNO]=@BSNO");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
var ctnlist = GetBodyListTran("BSNO='" + enumValue.BSNO + "'", db, tran);
if (ctnlist != null)
{
foreach (var enumValueCtn in ctnlist)
{
var cmdInsert = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='"+bsno+"' AND PCTN_ID='"+enumValueCtn.CTN_ID+"'");
db.ExecuteNonQuery(cmdInsert, tran);
}
}
}
}
tran.Commit();
getCNTRTOTAL2(bsno, "op_seae");
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "更新成功" + result.Message;
return result;
}
public static DBResult CancelHPFen(string bsno)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("update op_seae set MASTERNO=BSNO where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "操作成功";
return result;
}
#endregion
#region 编码生成
public static String getCodeRule ( string strRULENAME, string strfield, string strETD, string strACCDATE, string strUserID, string strCompanyID )
{
//调用编码规则
if (strETD.Trim().IndexOf("0001") > -1)
{
strETD = "";
}
string strRULEYEAR = "";
string strRULECONTENT = "";
string strCODENAME = "";
string strDEPTNO = "";
string strRULENOLENGTH = "";
int iRULENOLENGTH = 0;
int inum = 0;
string strCONTENT = "";
T_ALL_DA T_ALL_DA = new T_ALL_DA();
//
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=1");
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
{
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
{
if (strETD.Trim() == "")
{
return "";
}
DateTime dETD = System.Convert.ToDateTime(strETD.Trim());
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
}
}
else
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = dETD.ToString("yyyy");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = dETD.ToString("yy");
}
}
}
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("会计期间"))
{
if (strACCDATE.Trim() == "")
{
return "";
}
DateTime dACCDATE = System.Convert.ToDateTime(strACCDATE.Trim() + "-01");
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = dACCDATE.ToString("yyyy") + dACCDATE.ToString("MM");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = dACCDATE.ToString("yy") + dACCDATE.ToString("MM");
}
}
else
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = dACCDATE.ToString("yyyy");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = dACCDATE.ToString("yy");
}
}
}
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
{
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
}
}
else
{
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
{
strRULEYEAR = fwqdate.ToString("yyyy");
}
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
{
strRULEYEAR = fwqdate.ToString("yy");
}
}
}
//
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
{
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
}
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
{
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
}
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
//
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
strCONTENT = strRULECONTENT + strRULEYEAR;
//获取分公司的票号头字符
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
strCONTENT = tempBANKSHEAD + strCONTENT;
//
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [op_Seae] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");
if (strRULENOLENGTH == "")
{
strRULENOLENGTH = "1";
}
else
{
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
inum = int.Parse(strRULENOLENGTH.Trim());
inum = inum + 1;
strRULENOLENGTH = inum.ToString();
}
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
for (int i = 1; i <= j; i++)
{
strRULENOLENGTH = "0" + strRULENOLENGTH;
}
//
strCONTENT = strCONTENT + strRULENOLENGTH;
return strCONTENT;
}
}
}
return "";
}
#endregion
#region 判断是否有费用
public static bool GetFeeCount ( string BSNO )
{
var isfee = false;
var strSql = new StringBuilder();
strSql.Append("Select count(*) as count ");
strSql.Append(" from ch_fee ");
strSql.Append(" where BSNO in (select bsno from v_op_bill where parentid='" + BSNO + "')");
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
var evData = Convert.ToInt32(reader["count"]);
if (evData > 0) { isfee = true; };
}
reader.Close();
}
return isfee;
}
public static bool GetAmendCount(string BSNO)
{
var isfee = false;
var strSql = new StringBuilder();
strSql.Append("Select count(*) as count ");
strSql.Append(" from op_amend ");
strSql.Append(" where PARENTID='" + BSNO + "'");
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
var evData = Convert.ToInt32(reader["count"]);
if (evData > 0) { isfee = true; };
}
reader.Close();
}
return isfee;
}
public static bool GetFenCount(string BSNO)
{
var isfee = false;
var strSql = new StringBuilder();
strSql.Append("Select count(*) as count ");
strSql.Append(" from op_seae ");
strSql.Append(" where BSNO<>'"+BSNO+"' AND MASTERNO='" + BSNO + "'");
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
var evData = Convert.ToInt32(reader["count"]);
if (evData > 0) { isfee = true; };
}
reader.Close();
}
return isfee;
}
#endregion
#region 委托业务费用加锁
/// <summary>
/// 委托业务费用加锁
/// </summary>
/// <param name="tempBSNO">委托业务编号</param>
/// <returns>值等于1表示加锁成功 值不等于1表示加锁失败</returns>
public static int LockFeeStatus ( string tempBSNO )
{
int iResult = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
SqlParameter[] parms = new SqlParameter[] {
new SqlParameter("@BSNO",SqlDbType.VarChar,100)
};
parms[0].Value = tempBSNO;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, "UPDATE op_Seae SET FEESTATUS = 1 WHERE BSNO = @BSNO", parms);
sqlTran.Commit();
iResult = 1;//状态为1表示更新成功
}
catch (Exception execError)
{
iResult = -1;//有异常,更新失败
sqlTran.Rollback();
iResult = -2;//更新异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
#endregion
#region 委托业务费用解锁
/// <summary>
/// 委托业务费用解锁
/// </summary>
/// <param name="tempBSNO">委托业务编号</param>
/// <returns>值等于1表示解锁成功 值不等于1表示解锁失败</returns>
public static int UnLockFeeStatus ( string tempBSNO )
{
int iResult = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
SqlParameter[] parms = new SqlParameter[] {
new SqlParameter("@BSNO",SqlDbType.VarChar,100)
};
parms[0].Value = tempBSNO;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, "UPDATE op_Seae SET FEESTATUS =0 WHERE BSNO = @BSNO", parms);
sqlTran.Commit();
iResult = 1;//状态为1表示更新成功
}
catch (Exception execError)
{
iResult = -1;//有异常,更新失败
sqlTran.Rollback();
iResult = -2;//更新异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
#endregion
#region 提单信息
static public List<MsOpSeaeBill> GetBillList ( string strCondition, string sort = null, bool ishp = false)
{
if (ishp)
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and ISNULL(ISHP,0)=1 ";
}
else
{
strCondition = " ISNULL(ISHP,0)=1 ";
}
}
else {
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and ISNULL(ISHP,0)=0 ";
}
else
{
strCondition = " ISNULL(ISHP,0)=0 ";
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT AS_ID,BSNO,CUSTNO,MBLNO,HBLNO,TEMPLATE,BILLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,NOTIFYPARTYIDSECOND,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,PRINTSTATUS,INPUTDATE,");
strSql.Append("CNTRTOTAL,INPUTBY,PLACERECEIPTID,ORDERCORP,ORDERCONTENT,REMARKS,BLISSUESTATUS ");
strSql.Append(",[SHIPPERCODE],SHIPPERCOUNTRY,SHIPPERTEL,[SHIPPEREMAIL],[CONSIGNEECODE],CONSIGNEECOUNTRY,CONSIGNEETEL,[CONSIGNEEEMAIL],[NOTIFYPARTYCODE],NOTIFYPARTYCOUNTRY,NOTIFYPARTYTEL,[NOTIFYPARTYEMAIL]");
strSql.Append(",[NOTIFYPARTYCODESECOND],NOTIFYPARTYCOUNTRYSECOND,NOTIFYPARTYTELSECOND,[NOTIFYPARTYEMAILSECOND],NOTIFYPARTYSECOND");
strSql.Append(",SHIPPERNAME,SHIPPERADDR1,CONSIGNEENAME,CONSIGNEEADDR1,NOTIFYPARTYNAME,NOTIFYPARTYADDR1,SCACCODE");
strSql.Append(",[DELIVERYTONAME],[DELIVERYTOADDR1],[DELIVERYTOADDR2],[DELIVERYTOCITY],[DELIVERYTOPOSTCODE],[DELIVERYTOCOUNTRY],[DELIVERYTOTEL]");
strSql.Append(",(select CONTRACTNO from op_seae where BSNO = op_seae_billmanage.BSNO) CONTRACTNO");
strSql.Append(",(select HSCODE from op_seae where BSNO = op_seae_billmanage.BSNO) HSCODE");
strSql.Append(",(select CARRIER from op_seae where BSNO = op_seae_billmanage.BSNO) CARRIER");
strSql.Append(",(select ISCONTAINERSOC from op_seae where BSNO = op_seae_billmanage.BSNO) ISCONTAINERSOC");
strSql.Append(",(select CARGOID from op_seae where BSNO = op_seae_billmanage.BSNO) CARGOID");
strSql.Append(",(select COPYNOBILL from op_seae where BSNO = op_seae_billmanage.BSNO) COPYNOBILL");
strSql.Append(" from op_seae_billmanage ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by MBLNO,HBLNO desc");
}
return SetBillData(strSql);
}
static public MsOpSeaeBill GetBillData ( string condition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT AS_ID,BSNO,CUSTNO,MBLNO,HBLNO,TEMPLATE,BILLTYPE,SHIPPERID,");
strSql.Append("CONSIGNEEID,NOTIFYPARTYID,NOTIFYPARTYIDSECOND,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,YARD,VESSEL,VOYNO,ETD,CLOSINGDATE,ETA,");
strSql.Append("PlACERECEIPT,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,");
strSql.Append("NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,BLFRT,PREPARDAT,PAYABLEAT,[SERVICE],MARKS,CNTRSEALNO,NOPKGS,[DESCRIPTION],GOODSNAME,");
strSql.Append("GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS,KGS,CBM,TOTALNO,CNTRNO,PRINTSTATUS,INPUTDATE,");
strSql.Append("CNTRTOTAL,INPUTBY,PLACERECEIPTID,ORDERCORP,ORDERCONTENT,REMARKS,BLISSUESTATUS");
strSql.Append(",[SHIPPERCODE],SHIPPERCOUNTRY,SHIPPERTEL,[SHIPPEREMAIL],[CONSIGNEECODE],CONSIGNEECOUNTRY,CONSIGNEETEL,[CONSIGNEEEMAIL],[NOTIFYPARTYCODE],NOTIFYPARTYCOUNTRY,NOTIFYPARTYTEL,[NOTIFYPARTYEMAIL]");
strSql.Append(",[NOTIFYPARTYCODESECOND],NOTIFYPARTYCOUNTRYSECOND,NOTIFYPARTYTELSECOND,[NOTIFYPARTYEMAILSECOND],NOTIFYPARTYSECOND");
strSql.Append(",SHIPPERNAME,SHIPPERADDR1,CONSIGNEENAME,CONSIGNEEADDR1,NOTIFYPARTYNAME,NOTIFYPARTYADDR1,SCACCODE");
strSql.Append(",[DELIVERYTONAME],[DELIVERYTOADDR1],[DELIVERYTOADDR2],[DELIVERYTOCITY],[DELIVERYTOPOSTCODE],[DELIVERYTOCOUNTRY],[DELIVERYTOTEL]");
strSql.Append(",(select CONTRACTNO from op_seae where BSNO = op_seae_billmanage.BSNO) CONTRACTNO");
strSql.Append(",(select HSCODE from op_seae where BSNO = op_seae_billmanage.BSNO) HSCODE");
strSql.Append(",(select CARRIER from op_seae where BSNO = op_seae_billmanage.BSNO) CARRIER");
strSql.Append(",(select ISCONTAINERSOC from op_seae where BSNO = op_seae_billmanage.BSNO) ISCONTAINERSOC");
strSql.Append(",(select CARGOID from op_seae where BSNO = op_seae_billmanage.BSNO) CARGOID");
strSql.Append(",(select COPYNOBILL from op_seae where BSNO = op_seae_billmanage.BSNO) COPYNOBILL");
strSql.Append(" from op_seae_billmanage ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
var list = SetBillData(strSql);
if (list.Count > 0)
return list[0];
return new MsOpSeaeBill();
}
private static List<MsOpSeaeBill> SetBillData ( StringBuilder strSql )
{
var headList = new List<MsOpSeaeBill>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSeaeBill data = new MsOpSeaeBill();
#region Set DB data to Object
data.AS_ID = Convert.ToString(reader["AS_ID"]);//业务编号
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
data.MBLNO = Convert.ToString(reader["MBLNO"]);//主提单号
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);//主提单号
data.HBLNO = Convert.ToString(reader["HBLNO"]);//分提单号
data.ORDERCORP = Convert.ToString(reader["ORDERCORP"]);// 委托对象
data.ORDERCONTENT = Convert.ToString(reader["ORDERCONTENT"]);// 委托内容
data.TEMPLATE = Convert.ToString(reader["TEMPLATE"]);// 业务状态
data.BILLTYPE = Convert.ToString(reader["BILLTYPE"]);// 费用状态
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//录入人
data.VESSEL = Convert.ToString(reader["VESSEL"]);//船名
data.VOYNO = Convert.ToString(reader["VOYNO"]);//航次
if (reader["ETD"] != DBNull.Value)
data.ETD = Convert.ToDateTime(reader["ETD"]).ToString("yyyy-MM-dd");//到港日期
data.PORTLOADID = Convert.ToString(reader["PORTLOADID"]);//装货港代码
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);//装货港
data.PORTDISCHARGEID = Convert.ToString(reader["PORTDISCHARGEID"]);//卸货港代码
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);//卸货港
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//集装箱大写
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);//集装箱全部内容
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
if (reader["KGS"] != DBNull.Value)
data.KGS = Convert.ToDecimal(reader["KGS"]);//毛重
if (reader["PKGS"] != DBNull.Value)
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
if (reader["CBM"] != DBNull.Value)
data.CBM = Convert.ToDecimal(reader["CBM"]);//立方数/尺码
data.YARD = Convert.ToString(reader["YARD"]);//场站/靠泊码头
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//件数包装
data.CNTRSEALNO = Convert.ToString(reader["CNTRSEALNO"]);//箱号封号
data.NOPKGS = Convert.ToString(reader["NOPKGS"]);//件数包装
data.GROSSWEIGHT = Convert.ToString(reader["GROSSWEIGHT"]);//货物毛重
data.MEASUREMENT = Convert.ToString(reader["MEASUREMENT"]);//货物尺码
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);//货物描述
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);//件数大写
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);//发货人
data.CONSIGNEEID = Convert.ToString(reader["CONSIGNEEID"]);//收货人
data.NOTIFYPARTYID = Convert.ToString(reader["NOTIFYPARTYID"]);//通知人
data.NOTIFYPARTYIDSECOND = Convert.ToString(reader["NOTIFYPARTYIDSECOND"]);//第二通知人
//data.SHIPPER = Convert.ToString(reader["SHIPPER"]);//发货人内容
data.SHIPPER = Convert.ToString(reader["SHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//发货人内容
//data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]);//收货人内容
data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//收货人内容
//data.NOTIFYPARTY = Convert.ToString(reader["NOTIFYPARTY"]);//通知人内容
data.NOTIFYPARTY = Convert.ToString(reader["NOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//通知人内容
data.NOTIFYPARTYSECOND = Convert.ToString(reader["NOTIFYPARTYSECOND"]);//通知人内容
data.AGENTID = Convert.ToString(reader["AGENTID"]);//国外代理
data.AGENT = Convert.ToString(reader["AGENT"]);//国外代理内容
data.CLOSINGDATE = Convert.ToString(reader["CLOSINGDATE"]);//截港日期
if (reader["ETA"] != DBNull.Value)
data.ETA = Convert.ToDateTime(reader["ETA"]).ToString("yyyy-MM-dd");//预抵日期
data.PLACERECEIPT = Convert.ToString(reader["PlACERECEIPT"]);//收货地
data.PLACERECEIPTID = Convert.ToString(reader["PlACERECEIPTID"]);//收货地
data.PLACEDELIVERYID = Convert.ToString(reader["PLACEDELIVERYID"]);//交货地代码
data.PLACEDELIVERY = Convert.ToString(reader["PLACEDELIVERY"]);//交货地
data.DESTINATIONID = Convert.ToString(reader["DESTINATIONID"]);//目的地代码
data.DESTINATION = Convert.ToString(reader["DESTINATION"]);//目的地
data.NOBILL = Convert.ToString(reader["NOBILL"]);//提单份数
data.ISSUETYPE = Convert.ToString(reader["ISSUETYPE"]);//签单方式
if (reader["ISSUEDATE"] != DBNull.Value)
data.ISSUEDATE = Convert.ToDateTime(reader["ISSUEDATE"]).ToString("yyyy-MM-dd");//签单日期
data.ISSUEPLACE = Convert.ToString(reader["ISSUEPLACE"]);//签单地点
data.BLFRT = Convert.ToString(reader["BLFRT"]);//付费方式
data.PREPARDAT = Convert.ToString(reader["PREPARDAT"]);//预付地点
data.PAYABLEAT = Convert.ToString(reader["PAYABLEAT"]);//到付地点
data.SERVICE = Convert.ToString(reader["SERVICE"]);//运输条款
data.MARKS = Convert.ToString(reader["MARKS"]);//唛头
data.REMARKS = Convert.ToString(reader["REMARKS"]);//唛头
data.BLISSUESTATUS = Convert.ToString(reader["BLISSUESTATUS"]);//唛头
data.SHIPPERCODE = Convert.ToString(reader["SHIPPERCODE"]);//发货人
data.SHIPPERCOUNTRY = Convert.ToString(reader["SHIPPERCOUNTRY"]);//发货人
data.SHIPPERTEL = Convert.ToString(reader["SHIPPERTEL"]);//发货人
data.SHIPPEREMAIL = Convert.ToString(reader["SHIPPEREMAIL"]);//发货人
data.CONSIGNEECODE = Convert.ToString(reader["CONSIGNEECODE"]);//收货人
data.CONSIGNEECOUNTRY = Convert.ToString(reader["CONSIGNEECOUNTRY"]);//发货人
data.CONSIGNEETEL = Convert.ToString(reader["CONSIGNEETEL"]);//收货人
data.CONSIGNEEEMAIL = Convert.ToString(reader["CONSIGNEEEMAIL"]);//收货人
data.NOTIFYPARTYCODE = Convert.ToString(reader["NOTIFYPARTYCODE"]);//通知人
data.NOTIFYPARTYCOUNTRY = Convert.ToString(reader["NOTIFYPARTYCOUNTRY"]);//发货人
data.NOTIFYPARTYTEL = Convert.ToString(reader["NOTIFYPARTYTEL"]);//通知人
data.NOTIFYPARTYEMAIL = Convert.ToString(reader["NOTIFYPARTYEMAIL"]);//通知人
data.NOTIFYPARTYCODESECOND = Convert.ToString(reader["NOTIFYPARTYCODESECOND"]);//通知人
data.NOTIFYPARTYCOUNTRYSECOND = Convert.ToString(reader["NOTIFYPARTYCOUNTRYSECOND"]);//发货人
data.NOTIFYPARTYTELSECOND = Convert.ToString(reader["NOTIFYPARTYTELSECOND"]);//通知人
data.NOTIFYPARTYEMAILSECOND = Convert.ToString(reader["NOTIFYPARTYEMAILSECOND"]);//通知人
if (reader["ISCONTAINERSOC"] != DBNull.Value)
data.ISCONTAINERSOC = Convert.ToBoolean(reader["ISCONTAINERSOC"]);//货主箱标志,是否自有箱
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);//
data.HSCODE = Convert.ToString(reader["HSCODE"]);//
data.CARRIER = Convert.ToString(reader["CARRIER"]);//
data.CARGOID = Convert.ToString(reader["CARGOID"]);//
data.COPYNOBILL = Convert.ToString(reader["COPYNOBILL"]);//
data.PRINTSTATUS = Convert.ToString(reader["PRINTSTATUS"]);//
if (reader["INPUTDATE"] != DBNull.Value)
data.INPUTDATE = Convert.ToDateTime(reader["INPUTDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//签单日期
data.SHIPPERNAME = Convert.ToString(reader["SHIPPERNAME"]);//发货人
data.SHIPPERADDR1 = Convert.ToString(reader["SHIPPERADDR1"]);//发货人
data.CONSIGNEENAME = Convert.ToString(reader["CONSIGNEENAME"]);//收货人
data.CONSIGNEEADDR1 = Convert.ToString(reader["CONSIGNEEADDR1"]);//收货人
data.NOTIFYPARTYNAME = Convert.ToString(reader["NOTIFYPARTYNAME"]);//通知人
data.NOTIFYPARTYADDR1 = Convert.ToString(reader["NOTIFYPARTYADDR1"]);//通知人
data.SCACCODE = Convert.ToString(reader["SCACCODE"]);//通知人
data.DELIVERYTONAME = Convert.ToString(reader["DELIVERYTONAME"]);//通知人
data.DELIVERYTOADDR1 = Convert.ToString(reader["DELIVERYTOADDR1"]);//通知人
data.DELIVERYTOADDR2 = Convert.ToString(reader["DELIVERYTOADDR2"]);//通知人
data.DELIVERYTOTEL = Convert.ToString(reader["DELIVERYTOTEL"]);//通知人
data.DELIVERYTOPOSTCODE = Convert.ToString(reader["DELIVERYTOPOSTCODE"]);//通知人
data.DELIVERYTOCOUNTRY = Convert.ToString(reader["DELIVERYTOCOUNTRY"]);//通知人
data.DELIVERYTOCITY = Convert.ToString(reader["DELIVERYTOCITY"]);//通知人
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static DBResult CreateHp(List<MsOpSeaeBill> bodyList, string userid, string username)
{
var bsno = "";
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (bodyList != null)
{
var headData = new MsOpSeaeBill();
headData.INPUTBY = username;
var AS_ID = Guid.NewGuid().ToString();
headData.AS_ID = AS_ID;
headData.DbOperationType = DbOperationType.DbotIns;
headData.INPUTDATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//var cmddelete = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='" + bsno + "'");
//db.ExecuteNonQuery(cmddelete, tran);
foreach (var enumValue in bodyList)
{
headData.BSNO = enumValue.BSNO;
bsno = enumValue.BSNO;
headData.MBLNO = enumValue.MBLNO;
headData.VESSEL = enumValue.VESSEL;
headData.VOYNO = enumValue.VOYNO;
headData.HBLNO = enumValue.HBLNO;
headData.ETD = enumValue.ETA;
headData.ETA = enumValue.ETA;
headData.ISHP = true;
headData.PKGS = Convert.ToInt32(enumValue.PKGS);
headData.KGS = Convert.ToDecimal(enumValue.KGS);
headData.CBM = Convert.ToDecimal(enumValue.CBM);
headData.PORTLOAD = enumValue.PORTLOAD;
headData.PORTDISCHARGE = enumValue.PORTDISCHARGE;
headData.PORTLOADID = enumValue.PORTLOADID;
headData.PORTDISCHARGEID = enumValue.PORTDISCHARGEID;
headData.PLACERECEIPT = enumValue.PLACERECEIPT;
headData.PLACEDELIVERY = enumValue.PLACEDELIVERY;
headData.DESTINATION = enumValue.DESTINATION;
headData.SHIPPERID = enumValue.SHIPPERID;
headData.SHIPPER = enumValue.SHIPPER;
headData.CONSIGNEEID = enumValue.CONSIGNEEID;
headData.CONSIGNEE = enumValue.CONSIGNEE;
headData.NOTIFYPARTYID = enumValue.NOTIFYPARTYID;
headData.NOTIFYPARTY = enumValue.NOTIFYPARTY;
headData.MARKS = headData.MARKS+" "+enumValue.MARKS;
headData.DESCRIPTION = headData.DESCRIPTION+" "+ enumValue.DESCRIPTION;
headData.GROSSWEIGHT = enumValue.GROSSWEIGHT;
headData.MEASUREMENT = enumValue.MEASUREMENT;
headData.KINDPKGS = enumValue.KINDPKGS;
headData.NOPKGS = enumValue.NOPKGS;
headData.TOTALNO ="";
headData.BLFRT = enumValue.BLFRT;
headData.CNTRTOTAL = enumValue.CNTRTOTAL;
headData.CNTRNO = enumValue.CNTRNO;
headData.ISSUETYPE = enumValue.ISSUETYPE;
headData.ISSUEPLACE = enumValue.ISSUEPLACE;
headData.ISSUEDATE = enumValue.ISSUEDATE;
headData.AGENT = enumValue.AGENT;
if (headData.ETA == "") headData.ETA = null;
if (headData.ETD == "") headData.ETD = null;
headData.PAYABLEAT = enumValue.PAYABLEAT;
headData.PREPARDAT = enumValue.PREPARDAT;
headData.SERVICE = enumValue.SERVICE;
headData.PRINTSTATUS = "未打印";
headData.CARRIER = enumValue.CARRIER;
headData.NOBILL = enumValue.NOBILL;
var ctnlist = GetBodyList("BSNO='" + enumValue.AS_ID + "'");
if (ctnlist != null)
{
foreach (var enumValueCtn in ctnlist)
{
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL,PCTN_ID) values (NEWID()"
+ ",'" + AS_ID + "','" + enumValueCtn.CTNCODE + "','" + enumValueCtn.SIZE + "','" + enumValueCtn.CTN + "'," + enumValueCtn.CTNNUM + "," + enumValueCtn.TEU + ",'" + enumValueCtn.CTNALL.Replace("'", "''") + "','" + enumValueCtn.CNTRNO + "','" + enumValueCtn.SEALNO + "','" + enumValueCtn.PKGS + "'," + enumValueCtn.KGS + "," + enumValueCtn.CBM + ",'" + enumValueCtn.REMARK + "','" + enumValueCtn.KINDPKGS + "'," + enumValueCtn.TAREWEIGHT + ",'','"
+ enumValueCtn.CTNSTATUS + "','" + enumValueCtn.MASTERNO + "','" + enumValueCtn.WEIGHTYPE + "'," + enumValueCtn.WEIGHKGS + ",'" + enumValueCtn.WEIGHATTN + "','" + enumValueCtn.WEIGHTEL + "','" + enumValueCtn.WEIGHSIGN + "','" + enumValueCtn.WEIGHDATE + "','" + enumValueCtn.TRUCKER + "'," + enumValueCtn.TRUCKFEE
+ "," + enumValueCtn.FREESTORAGEDAY + "," + enumValueCtn.STORAGEDAY + "," + enumValueCtn.STORAGEPRICE + "," + enumValueCtn.STORAGEFEE + "," + enumValueCtn.FREECTNDAY + "," + enumValueCtn.CTNDAY + "," + enumValueCtn.CTNPRICE + "," + enumValueCtn.CTNFEE + ",'" + enumValueCtn.TRUCKNO + "','" + enumValueCtn.VGMCONNCOM + "','" + enumValueCtn.VGMADDR + "','" + enumValueCtn.VGMEMAIL + "','" + enumValueCtn.CTN_ID + "')");
db.ExecuteNonQuery(cmdInsert, tran);
}
}
}
var modb = new ModelObjectDB();
result = modb.Save(headData);
}
//
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
getCNTRTOTALAllBill(bsno);
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
#endregion
#region 退舱或推航次申请
public static DBResult SubmitTuiShen(String USERID, List<MsOpSeae> billList, string tuioptype,string reason)
{
var result = new DBResult();
var WorkFlowName = "OpTuiShenAudit";
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var billno in billList)
{
Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, billno.BSNO, USERID, billno.MBLNO, billno.BSNO, "MsOpSeae/TuiAudit");
if (WorkResult.Success == true)
{
var _Comm = "";
var _TUISHEN = "";
if (tuioptype == "V")
{
if (WorkResult.islast == true)
{
_Comm = "update OP_SEAE set ISTUI='1' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"insert into op_tuishen (GID,BSNO,CREATEUSER,CREATETIME,REASON,TUITYPE,AUDITSTATUS) values (NEWID(),'" + billno.BSNO + "','" + USERID + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + reason + "','推航次','审核通过')");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + billno.BSNO + "','推航次',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
else
{
_Comm = "update OP_SEAE set ISTUI='2' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"insert into op_tuishen (GID,BSNO,CREATEUSER,CREATETIME,REASON,TUITYPE,AUDITSTATUS) values (NEWID(),'" + billno.BSNO + "','" + USERID + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + reason + "','推航次','提交审核')");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + billno.BSNO + "','申请推航次',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
var cmdupdate = db.GetSqlStringCommand(_Comm);
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, billno.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
}
else {
if (WorkResult.islast == true)
{
_Comm = "update OP_SEAE set ISCANCEL='1' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"insert into op_tuishen (GID,BSNO,CREATEUSER,CREATETIME,REASON,TUITYPE,AUDITSTATUS) values (NEWID(),'" + billno.BSNO + "','" + USERID + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + reason + "','退舱','审核通过')");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + billno.BSNO + "','退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdUpdateOrder = db.GetSqlStringCommand("update crm_seaeorder set ORSTATUS=4 where bsno='" + billno.BSNO + "'");
db.ExecuteNonQuery(cmdUpdateOrder, tran);
}
else
{
_Comm = "update OP_SEAE set ISCANCEL='2' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"insert into op_tuishen (GID,BSNO,CREATEUSER,CREATETIME,REASON,TUITYPE,AUDITSTATUS) values (NEWID(),'" + billno.BSNO + "','" + USERID + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + reason + "','退舱','提交审核')");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + billno.BSNO + "','申请退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
var cmdupdate = db.GetSqlStringCommand(_Comm);
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, billno.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
}
result.Success = true;
result.Message = "已提交!";
}
else
{
result.Success = false;
result.Message = "提交审核错误!";
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "提交审核错误,请重试或联系系统管理员";
return result;
}
}
return result;
}
public static DBResult SubmitTuiShenBack(String USERID, List<MsOpSeae> billList)
{
var result = new DBResult();
var WorkFlowName = "OpTuiShenAudit";
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var billno in billList)
{
Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, billno.BSNO, USERID);
if (WorkResult.Success == true)
{
var cmdupdate = db.GetSqlStringCommand("update OP_SEAE set ISCANCEL='0',ISTUI='0' where BSNO=@BSNO");
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, billno.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
var cmdInsert = db.GetSqlStringCommand(@"DELETE FROM op_tuishen where BSNO='" + billno.BSNO + "' AND AUDITSTATUS<>'审核通过'");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + billno.BSNO + "','撤销申请退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
result = new DBResult();
result.Success = true;
result.Message = "撤销提交成功";
}
else
{
result = new DBResult();
result.Success = false;
result.Message = "已部分审核此业务,不允许撤回提交!";
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "撤销提交错误,请重试或联系系统管理员";
return result;
}
}
return result;
}
public static DBResult AuditTuiList(List<MsOpSeae> boday, String USERID)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (boday != null)
{
foreach (var enumValue in boday)
{
if (enumValue.ISTUI =="2" || enumValue.ISCANCEL =="2")
{
var _Comm = "";
Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo("OpTuiShenAudit", enumValue.BSNO, USERID, tran,enumValue.MBLNO);
if (WorkResult.Success == true && WorkResult.islast == true)
{
if (enumValue.ISTUI == "2")
{
_Comm = "update OP_SEAE set ISTUI='1' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"update op_tuishen set AUDITSTATUS='审核通过',AUDITBY='" + USERID + "',AUDITTIME='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where BSNO='" + enumValue.BSNO + "' and TUITYPE='推航次' and AUDITSTATUS<>'审核通过'");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + enumValue.BSNO + "','推航次',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
else if (enumValue.ISCANCEL == "2")
{
_Comm = "update OP_SEAE set ISCANCEL='1' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"update op_tuishen set AUDITSTATUS='审核通过',AUDITBY='" + USERID + "',AUDITTIME='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where BSNO='" + enumValue.BSNO + "' and TUITYPE='退舱' and AUDITSTATUS<>'审核通过'");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + enumValue.BSNO + "','退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdUpdateOrder = db.GetSqlStringCommand("update crm_seaeorder set ORSTATUS=4 where bsno='" + enumValue.BSNO + "'");
db.ExecuteNonQuery(cmdUpdateOrder, tran);
}
var cmdupdate = db.GetSqlStringCommand(_Comm);
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
result.Success = true;
result.Message = "审核通过!";
}
else {
result.Success = WorkResult.Success;
result.Message = WorkResult.Message;
}
}
}
}
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "审核出现错误,请重试或联系系统管理员";
return result;
}
}
return result;
}
public static DBResult AuditTuiBackList(List<MsOpSeae> boday, String USERID)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (boday != null)
{
foreach (var enumValue in boday)
{
var _Comm = "";
if (enumValue.ISTUI == "2" || enumValue.ISCANCEL == "2")
{
Resultmb WorkResult = WorkFlowDAL.DeleteWorkFlowDo("OpTuiShenAudit", enumValue.BSNO, USERID, "reason", enumValue.MBLNO, enumValue.BSNO, "驳回提交URL");
if (WorkResult.Success == true)
{
if (enumValue.ISTUI == "2")
{
_Comm = "update OP_SEAE set ISTUI='4' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"update op_tuishen set AUDITSTATUS='驳回申请',AUDITBY='" + USERID + "',AUDITTIME='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where BSNO='" + enumValue.BSNO + "' and TUITYPE='推航次' and AUDITSTATUS<>'审核通过'");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + enumValue.BSNO + "','驳回推航次',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
else if (enumValue.ISCANCEL == "2")
{
_Comm = "update OP_SEAE set ISCANCEL='4' where BSNO=@BSNO";
var cmdInsert = db.GetSqlStringCommand(@"update op_tuishen set AUDITSTATUS='驳回申请',AUDITBY='" + USERID + "',AUDITTIME='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where BSNO='" + enumValue.BSNO + "' and TUITYPE='退舱' and AUDITSTATUS<>'审核通过'");
db.ExecuteNonQuery(cmdInsert, tran);
var cmdDelete = db.GetSqlStringCommand("insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE) values(NEWID(),'" + enumValue.BSNO + "','驳回退舱',1,'" + DateTime.Now.ToString() + "','" + DateTime.Now.ToString() + "','1')");
db.ExecuteNonQuery(cmdDelete, tran);
}
var cmdupdate = db.GetSqlStringCommand(_Comm);
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
}
}
}
}
result = new DBResult();
result.Success = true;
result.Message = "完成驳回";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "驳回出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "完成驳回";
return result;
}
static public MsOpTuiShen GetTuiShenData(string condition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT GID,BSNO,CREATEUSER,CREATETIME,REASON,REMARKS,AUDITSTATUS,AUDITBY,AUDITTIME,AUDITRESULT ");
strSql.Append(",(select ShowName from [user] where GID=CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=AUDITBY) as AUDITBYREF");
strSql.Append(" from op_tuishen ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
var list = SetTuiShenData(strSql);
if (list.Count > 0)
return list[0];
return new MsOpTuiShen();
}
private static List<MsOpTuiShen> SetTuiShenData(StringBuilder strSql)
{
var bodyList = new List<MsOpTuiShen>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpTuiShen data = new MsOpTuiShen();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
data.BSNO = Convert.ToString(reader["BSNO"]);
data.REASON = Convert.ToString(reader["REASON"]);
data.REMARKS = Convert.ToString(reader["REMARKS"]);
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
data.AUDITSTATUS = Convert.ToString(reader["AUDITSTATUS"]);
data.AUDITBY = Convert.ToString(reader["AUDITBY"]);
data.AUDITBYREF = Convert.ToString(reader["AUDITBYREF"]);
if (reader["AUDITTIME"] != DBNull.Value)
data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
data.AUDITRESULT = Convert.ToString(reader["AUDITRESULT"]);
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
#endregion
#region 权限范围
public static string GetRangDAStr ( string tb, string userid, string username, string companyid )
{
string str = "";
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID ");
strSql.Append(" from VW_User_Authority ");
strSql.Append(" where [NAME]='modOrderManagement' and USERID='" + userid + "' and ISDELETE=0");
string visiblerange = "4";
string operaterange = "4";
string AUTHORITYID = "";
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
operaterange = Convert.ToString(reader["OPERATERANGE"]);
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
break;
}
reader.Close();
}
if (visiblerange == "4")
{
str = "1=2";
}
else if (visiblerange == "3")
{
str = " (B.INPUTBY='" + username + "' OR B.OP='" + username + "' OR B.SALE='" + username + "' OR B.CUSTSERVICE='" + username + "' OR B.DOC='" + username + "' OR B.FRCUSTSERVICE='" + username + "')";
}
else if (visiblerange == "2")
{
if (tb == "index")
{
var rangeDa = new RangeDA();
var deptid = rangeDa.GetDEPTGID(userid);
str = " (B.OP in (select showname from vw_user where deptgid='" + deptid + "') OR B.SALE in (select showname from vw_user where deptgid='" + deptid + "') OR B.CUSTSERVICE in (select showname from vw_user where deptgid='" + deptid + "') "
+ " OR B.DOC in (select showname from vw_user where deptgid='" + deptid + "') OR B.FRCUSTSERVICE in (select showname from vw_user where deptgid='" + deptid + "') OR B.INPUTBY in (select showname from vw_user where deptgid='" + deptid + "'))";
//var userstr = new StringBuilder();
//userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
//Database userdb = DatabaseFactory.CreateDatabase();
//using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
//{
// str = "";
// while (reader.Read())
// {
// if (str == "")
// {
// str = " (B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.FRCUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
// }
// else
// {
// str = str + " or B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.FRCUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
// };
// }
// str = str + ")";
// reader.Close();
//}
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "5")
{
if (tb == "index")
{
var userstr = new StringBuilder();
userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "' ";
}
else
{
str = str + " or B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "6")
{
if (tb == "index")
{
//var opstr = "";
//var userstr = new StringBuilder();
//userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
//Database userdb = DatabaseFactory.CreateDatabase();
//using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
//{
// while (reader.Read())
// {
// if (opstr == "")
// {
// opstr = " ('" + Convert.ToString(reader["SHOWNAME"]) + "'";
// }
// else
// {
// opstr = opstr + ",'" + Convert.ToString(reader["SHOWNAME"]) + "'";
// };
// }
// if (opstr != "") opstr = opstr + ")";
// reader.Close();
//}
//if (opstr == "") opstr = "('" + username + "')";
//str = " (B.OP in " + opstr + " or B.SALE in " + opstr + " or B.CUSTSERVICE IN " + opstr + " or B.DOC IN " + opstr + " or B.FRCUSTSERVICE IN " + opstr + " or B.INPUTBY IN " + opstr + ")";
str = " EXISTS (select 1 from user_authority_range_op P left join [user] u on (u.GID=P.OPID) where (B.OP=U.SHOWNAME OR B.SALE=U.SHOWNAME OR B.CUSTSERVICE=U.SHOWNAME OR B.DOC=U.SHOWNAME OR B.FRCUSTSERVICE=U.SHOWNAME OR B.INPUTBY=U.SHOWNAME) AND P.userid='" + userid + "' and P.AUTHORITYID='" + AUTHORITYID + "' and P.VISIBLERANGE=1) ";
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "1")
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
return str;
}
public static string GetSaleRangDAStr(string tb, string userid, string username, string companyid)
{
string str = "";
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID ");
strSql.Append(" from VW_User_Authority ");
strSql.Append(" where [NAME]='modSeaeSaleList' and USERID='" + userid + "' and ISDELETE=0");
string AUTHORITYID = "";
string visiblerange = "4";
string operaterange = "4";
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
operaterange = Convert.ToString(reader["OPERATERANGE"]);
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
break;
}
reader.Close();
}
if (visiblerange == "4")
{
str = " B.SALE='" + username + "' ";
}
else if (visiblerange == "3")
{
str = " B.SALE='" + username + "' ";
}
else if (visiblerange == "2")
{
if (tb == "index")
{
var rangeDa = new RangeDA();
var deptname = rangeDa.GetDEPTNAME(userid);
var userstr = new StringBuilder();
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
}
else
{
str = str + " OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "5")
{
if (tb == "index")
{
var userstr = new StringBuilder();
userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "' ";
}
else
{
str = str + " or B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "6")
{
if (tb == "index")
{
var opstr = "";
var userstr = new StringBuilder();
userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
while (reader.Read())
{
if (opstr == "")
{
opstr = " ('" + Convert.ToString(reader["SHOWNAME"]) + "'";
}
else
{
opstr = opstr + ",'" + Convert.ToString(reader["SHOWNAME"]) + "'";
};
}
if (opstr != "") opstr = opstr + ")";
reader.Close();
}
if (opstr == "") opstr = "('" + username + "')";
str = " (B.SALE in " + opstr + ")";
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') " ;
}
}
else if (visiblerange == "1")
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
return str;
}
#endregion
#region 收发通信息
static public List<OpSeaeShipper> GetShipperList(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append("shipperID,codename,SHORTNAME,shipperdetail,shippertype");
strSql.Append(",LOADADDRESS,DELIVERADDRESS,ISPUBLIC,CodeAndName,ATTN,TEL,EMAIL,COUNTRY,CORPID ");
strSql.Append(" from v_info_shipper ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
strSql.Append(" ORDER BY SHIPPERMODE ");
return SetShipperRefData(strSql);
}
private static List<OpSeaeShipper> SetShipperRefData(StringBuilder strSql)
{
var headList = new List<OpSeaeShipper>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
OpSeaeShipper data = new OpSeaeShipper();
#region Set DB data to Object
data.SHIPPERID = Convert.ToString(reader["shipperID"]);
data.CODENAME = Convert.ToString(reader["codename"]);
data.SHORTNAME = Convert.ToString(reader["SHORTNAME"]);
data.CodeAndName = Convert.ToString(reader["CodeAndName"]);
data.SHIPPERDETAIL = Convert.ToString(reader["shipperdetail"]);
data.SHIPPERTYPE = Convert.ToInt16(reader["shippertype"]);
data.LOADADDRESS = Convert.ToString(reader["LOADADDRESS"]);
data.DELIVERADDRESS = Convert.ToString(reader["DELIVERADDRESS"]);
data.ATTN = Convert.ToString(reader["ATTN"]);
data.TEL = Convert.ToString(reader["TEL"]);
data.EMAIL = Convert.ToString(reader["EMAIL"]);
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
data.ISPUBLIC = Convert.ToBoolean(reader["ISPUBLIC"]);
#endregion
headList.Add(data);
}
reader.Close();
}
OpSeaeShipper data2 = new OpSeaeShipper();
#region Set DB data to Object
data2.SHIPPERID ="";
data2.CODENAME ="";
data2.SHORTNAME ="";
data2.CodeAndName ="";
data2.SHIPPERDETAIL ="";
data2.SHIPPERTYPE =1;
data2.LOADADDRESS ="";
data2.DELIVERADDRESS ="";
data2.ISPUBLIC =true;
#endregion
headList.Add(data2);
return headList;
}
#endregion
#region EF状态
static public DBResult GetEFSTATUS ( string mblnohead, string mblother )
{
var result = new DBResult();
result.Success = true;
try
{
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "http://www.wangbaby19.com/home/Review?MawbPrefix=" + mblnohead + "&MawbSerial=" + mblother,//URL这里都是测试 必需项
Encoding = null,//编码格式utf-8,gb2312,gbk 可选项 默认类会自动识别
Host = "www.wangbaby19.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 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");
datahtml = datahtml.Remove(0, datahtml.IndexOf("<div id=\"body\""));
//datahtml = datahtml.Replace("/Home/ContainerEvent/?", "http://www.wangbaby19.com/Home/ContainerEvent/?");
datahtml = "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n <title>主单货物状态及跟踪</title>\r\n\r\n\r\n <script src=\"http://www.wangbaby19.com/Scripts/jquery-1.9.1.min.js\" "
+ "type=\"text/javascript\"></script>\r\n <script src=\"http://www.wangbaby19.com/Scripts/jquery-ui1.9.1.min.js\" type=\"text/javascript\">"
+ "</script>\r\n <script src=\"http://www.wangbaby19.com/Scripts/jquery.higo_plugins_ad.js\" type=\"text/javascript\"></script>\r\n\r\n "
+ "<script src=\"http://www.wangbaby19.com/Scripts/bootstrap.min.js\" type=\"text/javascript\"></script>\r\n\r\n\r\n "
+ "<link href=\"http://www.wangbaby19.com/Content/bootstrap/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" /><link href=\"http://www.wangbaby19.com/Content/themes/base/jquery.ui.all.css\" rel=\"stylesheet\" type=\"text/css\" /><link href=\"http://www.wangbaby19.com/Content/ContainerStatusCollect.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n\r\n <script src=\"http://www.wangbaby19.com/Scripts/wb.js\" type=\"text/javascript\"></script>\r\n\r\n\r\n<title>\r\n\r\n</title></head>\r\n<body>" + datahtml;
result.Data = datahtml;
}
catch
{
result.Success = false;
result.Message = "提取数据过程中发生错误,请联系系统管理员!";
}
return result;
}
#endregion
#region 引入EXCEL
static public MsOpSeaeDetail FindCtnData(string cntrno, List<MsOpSeaeDetail> ctnlist)
{
MsOpSeaeDetail head = null;
foreach (var ctndata in ctnlist)
{
if (ctndata.CNTRNO == cntrno) head = ctndata;
}
return head;
}
static public DBResult InsertCtnData(string bsno,List<MsOpSeaeDetail> ctnlist,bool isexcel=false)
{
var result = new DBResult();
result.Success = true;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
var bodyList = new List<MsOpSeaeDetail>();
var cmdDelete = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='"+bsno+"'");
db.ExecuteNonQuery(cmdDelete, idbTran);
foreach (var ctndata in ctnlist)
{
var nowctndata = FindCtnData(ctndata.CNTRNO, bodyList);
if (nowctndata == null)
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = int.Parse(ctndata.CTNALL.ToString().Trim().Substring(0, 2));
string CTN = ctndata.CTNALL.ToString().Trim().Substring(2);
int TEU = 1;
int iTEU = int.Parse(ctndata.CTNALL.ToString().Trim().Substring(0, 1));
if (iTEU == 4)
{
TEU = TEU * 2;
}
var CTNCODE = "";
#region 托单数据生成
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + bsno + "','" + CTNCODE + "','" + SIZE + "','" + CTN + "',1," + TEU + ",'" + ctndata.CTNALL.Replace("'", "''") + "','" + ctndata.CNTRNO + "','" + ctndata.SEALNO + "',"+ctndata.PKGS+","+ctndata.KGS+","+ctndata.CBM+",'" + ctndata.REMARK + "','"+ctndata.KINDPKGS+"',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
ctndata.CTN_ID = CTNID;
bodyList.Add(ctndata);
nowctndata = ctndata;
}
else {
var cmdInsert = db.GetSqlStringCommand(@"update op_ctn set PKGS=PKGS+" + ctndata.PKGS + ",KGS=KGS+"+ctndata.KGS+",CBM=CBM+"+ctndata.CBM+" where CTN_ID='"+nowctndata.CTN_ID+"'");
db.ExecuteNonQuery(cmdInsert, idbTran);
}
if (ctndata.CTNFEE != "") {
var cmdInsertdetail = db.GetSqlStringCommand(@"insert into op_ctn_detail (GID,CTN_ID,PKGS,KGS,CBM,KINDPKGS,HSCODE,DESCRIPTION,MARKS) values ('"
+ Guid.NewGuid().ToString() + "','" + nowctndata.CTN_ID + "'," + ctndata.PKGS + "," + ctndata.KGS + "," + ctndata.CBM + ",'"+ctndata.KINDPKGS+"','" + ctndata.CTNFEE + "','" + ctndata.GOODSNAME + "','" + ctndata.WEIGHSIGN + "')");
db.ExecuteNonQuery(cmdInsertdetail, idbTran);
}
#endregion
}
idbTran.Commit();
result.Success = true;
}
catch (Exception exception)
{
idbTran.Rollback();
result.Success = false;
result.Message= exception.Message;
}
}
return result;
}
static public DBResult InsertMSCCtn(string bsno, List<MsOpSeaeDetail> ctnlist)
{
var result = new DBResult();
result.Success = true;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
var bodyList = new List<MsOpSeaeDetail>();
var cmdDelete = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='" + bsno + "'");
db.ExecuteNonQuery(cmdDelete, idbTran);
foreach (var ctndata in ctnlist)
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = int.Parse(ctndata.CTNALL.ToString().Trim().Substring(0, 2));
string CTN = ctndata.CTNALL.ToString().Trim().Substring(2);
if (ctndata.CTNALL.IndexOf("'")>0) CTN = ctndata.CTNALL.ToString().Trim().Substring(3);
int TEU = 1;
int iTEU = int.Parse(ctndata.CTNALL.ToString().Trim().Substring(0, 1));
if (iTEU == 4)
{
TEU = TEU * 2;
}
TEU =TEU*ctndata.CTNNUM;
var CTNCODE = "";
#region 托单数据生成
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + bsno + "','" + CTNCODE + "','" + SIZE + "','" + CTN + "',"+ctndata.CTNNUM+"," + TEU + ",'" + ctndata.CTNALL.Replace("'", "''") + "','" + ctndata.CNTRNO + "','" + ctndata.SEALNO + "'," + ctndata.PKGS + "," + ctndata.KGS + "," + ctndata.CBM + ",'" + ctndata.REMARK + "','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
ctndata.CTN_ID = CTNID;
bodyList.Add(ctndata);
#endregion
}
idbTran.Commit();
result.Success = true;
}
catch (Exception exception)
{
idbTran.Rollback();
result.Success = false;
result.Message = exception.Message;
}
}
return result;
}
public static bool ImportBsList(DataTable table,string username,string companyid,MsOpSeae opseae, out string msg)
{
var isSucess = false;
msg = "";
if (table == null) throw new ArgumentNullException("table");
var billNoList = new List<string>();
var i = 1;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
var billnoset = MsSysBillNoSet.MsSysBillNoSetDAL.GetData("OPLBNAME='海运出口' AND RULEBLNO='委托编号' ",companyid);
foreach (DataRow row in table.Rows)
{
var GP20 = Convert.ToString(row["20GP"]);
if (GP20.Length > 10) GP20 = "0";
var TK20 = Convert.ToString(row["20TK"]);
if (TK20.Length > 10) TK20 = "0";
var DG20 = Convert.ToString(row["20DG"]);
if (DG20.Length > 10) DG20 = "0";
var RF20 = Convert.ToString(row["20RF"]);
if (RF20.Length > 10) RF20 = "0";
var GP40 = Convert.ToString(row["40GP"]);
if (GP40.Length > 10) GP40 = "0";
var HQ40 = Convert.ToString(row["40HQ"]);
if (HQ40.Length > 10) HQ40 = "0";
var RH40 = Convert.ToString(row["40RH"]);
if (RH40.Length > 10) RH40 = "0";
var MBLNO = Convert.ToString(row["提单号"]);
var ct = GetRdCount(" MBLNO='" + MBLNO + "' and CORPID='" + companyid + "'");
if (MBLNO != "" && ct==0)
{
var head = new MsOpSeae();
head.OP =username;
var period = ChMonthCloseDAL.ChMonthCloseDAL.GetData("",companyid);
if (Convert.ToDateTime(period.FDAY) > DateTime.Now)
{
head.ACCDATE = period.PERIOD;
}
head.INPUTBY = username;
head.MASTERNO = head.BSNO;
head.ETD = opseae.ETD;
head.VESSEL = opseae.VESSEL;
head.VOYNO = opseae.VOYNO;
head.CUSTOMERNAME = opseae.CUSTOMERNAME;
head.CARRIER = opseae.CARRIER;
head.FORWARDER = opseae.FORWARDER;
head.LANE = opseae.LANE;
head.PORTLOAD = opseae.PORTLOAD;
head.PORTLOADID = opseae.PORTLOADID;
head.PORTDISCHARGE = opseae.PORTDISCHARGE;
head.PORTDISCHARGEID = opseae.PORTDISCHARGEID;
head.AGENTID = opseae.AGENTID;
head.CORPID = companyid;
head.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
head.BSSTATUS = false;
head.FEESTATUS = false;
head.DbOperationType = DbOperationType.DbotIns;
var BSNO = head.BSNO;
head.CUSTNO =MsSysBillNoSet.MsSysBillNoSetDAL.GetBillNo(billnoset, head.ETD.ToString().Trim(), head.ACCDATE.ToString().Trim(), "", head.OP, head.SALECORPID);
if (head.ETA == "") head.ETA = null;
if (head.ETD == "") head.ETD = null;
if (head.STLDATE == "") head.STLDATE = null;
if (head.ATD == "") head.ATD = null;
if (head.DELIVERYDATE == "") head.DELIVERYDATE = null;
if (head.ISSUEDATE == "" || (Convert.ToDateTime(head.ISSUEDATE) < Convert.ToDateTime("2010-01-01"))) head.ISSUEDATE = null;
if (head.CLOSINGDATE == "") head.CLOSINGDATE = null;
if (head.CLOSEDOCDATE == "") head.CLOSEDOCDATE = null;
if (head.INSPECTIONDATE == "") head.INSPECTIONDATE = null;
if (head.CUSTOMDATE == "") head.CUSTOMDATE = null;
if (head.CLEARCUSTOMDATE == "") head.CLEARCUSTOMDATE = null;
head.MBLNO = MBLNO;
var modb = new ModelObjectDB();
DBResult result = modb.Save(head);
var cntrstr = "";
var teuall = 0;
if (result.Success&&GP20.Trim() != "" && GP20.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE =20;
string CTN ="GP";
int TEU = Convert.ToInt32(GP20.Trim()); ;
int iTEU = Convert.ToInt32(GP20.Trim());
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "',"+TEU+"," + iTEU + ",'20GP','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "20GP*" + GP20.Trim();
}
if (result.Success && TK20.Trim() != "" && TK20.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 20;
string CTN = "TK";
int TEU = Convert.ToInt32(TK20.Trim()); ;
int iTEU = Convert.ToInt32(TK20.Trim());
teuall = teuall + iTEU;
cntrstr = cntrstr + " " + "20TK*" + TK20.Trim();
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'20TK','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
}
if (result.Success && DG20.Trim() != "" && DG20.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 20;
string CTN = "DG";
int TEU = Convert.ToInt32(DG20.Trim()); ;
int iTEU = Convert.ToInt32(DG20.Trim());
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'20DG','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "20DG*" + DG20.Trim();
}
if (result.Success && RF20.Trim() != "" && RF20.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 20;
string CTN = "RF";
int TEU = Convert.ToInt32(RF20.Trim()); ;
int iTEU = Convert.ToInt32(RF20.Trim());
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'20RF','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "20RF*" + RF20.Trim();
}
if (result.Success && GP40.Trim() != "" && GP40.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 40;
string CTN = "GP";
int TEU = Convert.ToInt32(GP40.Trim()); ;
int iTEU = Convert.ToInt32(GP40.Trim()) * 2;
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'40GP','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "40GP*" + GP40.Trim();
}
if (result.Success && HQ40.Trim() != "" && HQ40.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 40;
string CTN = "HQ";
int TEU = Convert.ToInt32(HQ40.Trim()); ;
int iTEU = Convert.ToInt32(HQ40.Trim()) * 2;
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'40HQ','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "40HQ*" + HQ40.Trim();
}
if (result.Success && RH40.Trim() != "" && RH40.Trim() != "0")
{
var CTNID = Guid.NewGuid().ToString();
int SIZE = 40;
string CTN = "RH";
int TEU = Convert.ToInt32(RH40.Trim()); ;
int iTEU = Convert.ToInt32(RH40.Trim()) * 2;
teuall = teuall + iTEU;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ CTNID + "','" + BSNO + "','','" + SIZE + "','" + CTN + "'," + TEU + "," + iTEU + ",'40RH','','',0,0,0,'','',0,'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
cntrstr = cntrstr + " " + "40RH*" + RH40.Trim();
}
var cmdUpdate = db.GetSqlStringCommand(@"update op_seae set CNTRTOTAL='" + cntrstr + "',TEU="+teuall+" WHERE BSNO='" + BSNO + "' ");
db.ExecuteNonQuery(cmdUpdate, idbTran);
}
i++;
}
idbTran.Commit();
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
public static bool ImportCtnData ( string bsno, HttpRequestBase request, DataTable table, out string msg, out List<MsOpSeaeDetail> headList )
{
var isSucess = false;
msg = "";
headList = new List<MsOpSeaeDetail>();
if (table == null) throw new ArgumentNullException("table");
var billNoList = new List<string>();
var i = 1;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
foreach (DataRow row in table.Rows)
{
var CNTRNO = Convert.ToString(row["箱号"]);
var SEALNO = Convert.ToString(row["铅封号"]);
var CTNALL = Convert.ToString(row["尺寸类型"]);
var PKGS = Convert.ToString(row["件数"]);
var KGS = Convert.ToString(row["重量"]);
var KINGPKGS = Convert.ToString(row["包装单位"]);
var CBM = Convert.ToString(row["尺码"]);
var TAREWEIGHT = "0";
try
{
TAREWEIGHT = Convert.ToString(row["皮重"]);
}
catch {
}
//if (i.ToString().Length == 1) CTNCODE = "0" + i.ToString();
//else CTNCODE = i.ToString();
if (CTNALL != "")
{
int SIZE = int.Parse(CTNALL.ToString().Trim().Substring(0, 2));
string CTN = CTNALL.ToString().Trim().Substring(2);
int TEU = 1;
int iTEU = int.Parse(CTNALL.ToString().Trim().Substring(0, 1));
if (iTEU == 4)
{
TEU = TEU * 2;
}
var CTNCODE = "";
#region 托单数据生成
CTNCODE = i.ToString();
if (CTNCODE.Length == 1) CTNCODE = "0" + CTNCODE;
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN) values ('"
+ Guid.NewGuid().ToString() + "','" + bsno + "','" + CTNCODE + "','" + SIZE + "','" + CTN + "',1," + TEU + ",'" + CTNALL.Replace("'", "''") + "','" + CNTRNO + "','" + SEALNO + "','" + PKGS + "'," + KGS + "," + CBM + ",'','" + KINGPKGS + "',"+ TAREWEIGHT + ",'','',0,'','','')");
db.ExecuteNonQuery(cmdInsert, idbTran);
#endregion
}
i++;
}
idbTran.Commit();
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
public static bool ImportCtnDetail ( string CTN_ID, HttpRequestBase request, DataTable table, out string msg, out List<MsOpCtnDetail> headList )
{
var isSucess = false;
msg = "";
headList = new List<MsOpCtnDetail>();
if (table == null) throw new ArgumentNullException("table");
var billNoList = new List<string>();
var i = 1;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
foreach (DataRow row in table.Rows)
{
var PKGS = Convert.ToString(row["件数"]);
var KGS = Convert.ToString(row["重量"]);
var KINGPKGS = Convert.ToString(row["包装"]);
var CBM = Convert.ToString(row["尺码"]);
var HSCODE = Convert.ToString(row["HS编码"]);
var GOODNAME = Convert.ToString(row["货物描述"]);
if (PKGS != "")
{
#region 托单数据生成
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn_detail (GID,CTN_ID,PKGS,KGS,CBM,KINDPKGS,HSCODE,DESCRIPTION) values ('"
+ Guid.NewGuid().ToString() + "','" + CTN_ID + "'," + PKGS + "," + KGS + "," + CBM + ",'" + KINGPKGS + "','" + HSCODE + "','" + GOODNAME + "')");
db.ExecuteNonQuery(cmdInsert, idbTran);
#endregion
}
i++;
}
idbTran.Commit();
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
public static bool ImportCtnAndDetailData(string bsno, HttpRequestBase request, DataTable table, out string msg, out List<MsOpSeaeDetail> headList)
{
var isSucess = false;
msg = "";
headList = new List<MsOpSeaeDetail>();
if (table == null) throw new ArgumentNullException("table");
var billNoList = new List<string>();
var i = 1;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
foreach (DataRow row in table.Rows)
{
var CNTRNO = Convert.ToString(row["箱号"]);
if (CNTRNO != "")
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
data.CNTRNO = Convert.ToString(row["箱号"]);
data.SEALNO = Convert.ToString(row["封号"]);
data.CTNALL = Convert.ToString(row["箱型"]);
data.PKGS = Convert.ToInt32(row["件数"]);
data.KGS = Convert.ToDecimal(row["重量"]);
data.GOODSNAME = Convert.ToString(row["品名"]).Replace("'", "''");
data.CBM = Convert.ToDecimal(row["尺码"]);
data.CTNFEE = Convert.ToString(row["商品编码"]);
headList.Add(data);
}
}
idbTran.Commit();
if (headList.Count>0)
InsertCtnData(bsno, headList);
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
public static bool ImportCtnAndDetailData2(string bsno, HttpRequestBase request, DataTable table, out string msg, out List<MsOpSeaeDetail> headList)
{
var isSucess = false;
msg = "";
headList = new List<MsOpSeaeDetail>();
if (table == null) throw new ArgumentNullException("table");
var billNoList = new List<string>();
var i = 1;
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
var cntrno = "";
var sealno = "";
var cntrtype = "";
var ctnall = "";
var KINDPKGS = "";
var MARKS = "";
var first = true;
foreach (DataRow row in table.Rows)
{
if (first)
{
MARKS = Convert.ToString(row[1]);
KINDPKGS = Convert.ToString(row[2]);
first = false;
}
var HSCODE = Convert.ToString(row[6]);
if (HSCODE.Length == 6)
{
MsOpSeaeDetail data = new MsOpSeaeDetail();
data.CNTRNO = Convert.ToString(row[9]);
data.SEALNO = Convert.ToString(row[10]);
if (data.CNTRNO != ""&&data.CNTRNO.Length<20)
{
cntrno = data.CNTRNO;
sealno = data.SEALNO;
cntrtype = Convert.ToString(row[11]);
data.CTNALL = cntrtype.Substring(cntrtype.IndexOf("*") + 1, 4);
ctnall = data.CTNALL;
}
else {
data.CNTRNO = cntrno;
data.SEALNO = sealno;
data.CTNALL = ctnall;
}
data.PKGS = Convert.ToInt32(row[3]);
data.KGS = Convert.ToDecimal(row[4]);
data.KINDPKGS = KINDPKGS;
data.GOODSNAME = Convert.ToString(row[7]).Replace("'", "''");
data.CBM = Convert.ToDecimal(row[5]);
data.CTNFEE = Convert.ToString(row[6]);
data.WEIGHSIGN = MARKS;
headList.Add(data);
}
}
idbTran.Commit();
if (headList.Count > 0)
InsertCtnData(bsno, headList);
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
public static bool ImportMNData ( string bsno, HttpRequestBase request, DataTable table, out string msg, out List<MsOpSeaeDetail> headList )
{
var isSucess = false;
msg = "";
headList = new List<MsOpSeaeDetail>();
if (table == null) throw new ArgumentNullException("table");
var head = GetData("BSNO='" + bsno + "'");
var billNoList = new List<string>();
Database db = DatabaseFactory.CreateDatabase();
using (DbConnection connection = db.CreateConnection())
{
connection.Open();
DbTransaction idbTran = connection.BeginTransaction();
try
{
foreach (DataRow row in table.Rows)
{
var MBLNO = Convert.ToString(row["分单号"]);
var CNTRNO = Convert.ToString(row["箱号"]);
var SEALNO = Convert.ToString(row["铅封号"]);
var PKGS = Convert.ToString(row["件"]);
var KGS = Convert.ToString(row["重"]);
var KINGPKGS = Convert.ToString(row["包装"]);
var CBM = Convert.ToString(row["尺"]);
var DESCRIPTION = Convert.ToString(row["品名"]);
if (DESCRIPTION == "")
DESCRIPTION = head.DESCRIPTION.Replace("'", "''");
if (MBLNO != "")
{
#region 托单数据生成
var cmdInsert = db.GetSqlStringCommand(@"insert into op_manifest (GID,BSNO,MBLNO,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS,REMARK,DESCRIPTION) values ('"
+ Guid.NewGuid().ToString() + "','" + bsno + "','" + MBLNO + "','" + CNTRNO + "','" + SEALNO + "','" + PKGS + "'," + KGS + "," + CBM + ",'" + KINGPKGS + "','','" + DESCRIPTION + "')");
db.ExecuteNonQuery(cmdInsert, idbTran);
#endregion
}
}
idbTran.Commit();
isSucess = true;
}
catch (Exception exception)
{
idbTran.Rollback();
isSucess = false;
msg = exception.Message;
}
}
return isSucess;
}
#endregion
//
/// <summary>
///
/// </summary>
/// <param name="bsno"></param>
/// <param name="statusvalue">0:未提交 1整票提交 2CZF确认 </param>
/// <returns></returns>
public static bool PiLiangZhengPiaoTiJiao ( string bsno,int statusvalue,string userid,string username,string comid,out string msg)
{
var BLAUDITISSEFT = MsSysParamSetDAL.GetData("PARAMNAME='BLAUDITISSEFT'");
var FEEMANGERMUSTBE = MsSysParamSetDAL.GetData("PARAMNAME='FEEMANGERMUSTBE'");
string message = "";
string blmessage = "";
string custmessage = "";
Database db = DatabaseFactory.CreateDatabase();
int rst = 0;
string[] bsnos = bsno.Split(',');
foreach (var item in bsnos)
{
string mblno = "";
var SUBMITBILLFEEISNOTZERO = MsSysParamSetDAL.GetData("PARAMNAME='SUBMITBILLFEEISNOTZERO'");
if (SUBMITBILLFEEISNOTZERO.PARAMVALUE == "1")
{
bool check0 = CheckHasZeroFeeWithBsno(item, FEEMANGERMUSTBE.PARAMVALUE, out mblno);
if (check0)
{
message += mblno + ",";
continue;
}
}
bool check1 = CheckHasNoCustWithBsno(item, out mblno);
if (check1)
{
custmessage += mblno + ",";
continue;
}
if (BLAUDITISSEFT.PARAMVALUE == "1")
{
bool checkRst = CheckHasNoAuditFeeWithBsno(item, out mblno);
if (checkRst)
{
blmessage += mblno + ",";
continue;
}
}
if (BLAUDITISSEFT.PARAMVALUE != "1")
{
string sqlLb = "select oplb from v_op_bs where bsno = " + item + "";
string oplb = db.ExecuteScalar(CommandType.Text, sqlLb).ToString();
if (oplb == "" || oplb == null)
{
continue;
}
if (oplb != "op_seae" && oplb != "op_seai" && oplb != "op_airi" && oplb != "op_aire" && oplb != "op_other" && oplb != "op_apply")
{
continue;
}
//费用提交
string condition = "BsNo=" + item;
string oplb2 = oplb;
switch (oplb)
{
case "op_seae":
oplb2 = "op_Seae";
break;
case "op_seai":
oplb2 = "op_Seai";
break;
case "op_airi":
oplb2 = "op_Airi";
break;
case "op_aire":
oplb2 = "op_Aire";
break;
case "op_appy":
oplb2 = "op_Apply";
break;
default:
break;
}
DBResult result = new DBResult();
if (statusvalue != 0)
{
// var dataList = DSWeb.MvcShipping.DAL.MsChFeeDAL.MsChFeeDAL.GetDataList(condition, 1, oplb2, userid, username, comid);
var dataList = DSWeb.MvcShipping.DAL.MsChFeeDAL.MsChFeeDAL.GetAllDataList(condition);
dataList = dataList.FindAll(t => t.FeeStatus == 1 || t.FeeStatus == 6 || t.FeeStatus == 7);
result = DSWeb.MvcShipping.DAL.Chfee_AuditDAL.Chfee_AuditDAL.SubmitAuditNew(oplb2, userid, dataList, true, "", "", comid,username);
}
else
{
var dataList = DSWeb.MvcShipping.DAL.MsChFeeDAL.MsChFeeDAL.GetAllDataList(condition);
dataList = dataList.FindAll(t => t.FeeStatus == 2);
var GidStr = "";
foreach (var bill in dataList)
{
if (GidStr == "") GidStr = bill.GId;
else GidStr = GidStr + "," + bill.GId;
}
result = DSWeb.MvcShipping.DAL.Chfee_AuditDAL.Chfee_AuditDAL.CancelAudit(oplb2, userid, GidStr, "");
}
if (result.Success)
{
//海运出口
StringBuilder sb = new StringBuilder();
sb.Append("update " + oplb);
sb.Append(" set BillFeeStatus = " + statusvalue);
sb.Append(" where bsno = " + item + "");
rst += db.ExecuteNonQuery(CommandType.Text, sb.ToString());
//根据参数判断是否执行【锁定】操作
if (statusvalue != 0)
{
var SUBMITFEEBLFEELOCK = MsSysParamSetDAL.GetData("PARAMNAME='SUBMITFEEBLFEELOCK'");
var SUBMITFEEBLBSLOCK = MsSysParamSetDAL.GetData("PARAMNAME='SUBMITFEEBLBSLOCK'");
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1" || SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1" && SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + oplb + " SET FEESTATUS=1,BSSTATUS=1 WHERE BSNO=" + item + "";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
else if (SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + oplb + " SET BSSTATUS=1 WHERE BSNO=" + item + "";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + oplb + " SET FEESTATUS=1 WHERE BSNO=" + item + "";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
}
else
{
}
}
}
}
else {
var billlist = DSWeb.MvcShipping.DAL.Chfee_AuditDAL.Chfee_AuditDAL.GetBillDataList("MASTERNO=" + item + "",userid,username, comid, null, true);
if (statusvalue != 0)
{
DBResult resultbl = DSWeb.MvcShipping.DAL.Chfee_AuditDAL.Chfee_AuditDAL.SubmitAuditBL(userid, username,billlist, true, "", "", comid);
if (resultbl.Success)
{
rst = rst + 1;
foreach (var bill in billlist) {
var SUBMITFEEBLFEELOCK = MsSysParamSetDAL.GetData("PARAMNAME='SUBMITFEEBLFEELOCK'");
var SUBMITFEEBLBSLOCK = MsSysParamSetDAL.GetData("PARAMNAME='SUBMITFEEBLBSLOCK'");
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1" || SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1" && SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + bill.OPLB + " SET FEESTATUS=1,BSSTATUS=1 WHERE BSNO='" + bill.BSNO + "'";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
else if (SUBMITFEEBLBSLOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + bill.OPLB + " SET BSSTATUS=1 WHERE BSNO='" + bill.BSNO + "'";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
if (SUBMITFEEBLFEELOCK.PARAMVALUE == "1")
{
string blUpSQL = "UPDATE " + bill.OPLB + " SET FEESTATUS=1 WHERE BSNO='" + bill.BSNO + "'";
db.ExecuteNonQuery(CommandType.Text, blUpSQL);
}
}
else
{
}
}
};
}
else {
DBResult resultbl = DSWeb.MvcShipping.DAL.Chfee_AuditDAL.Chfee_AuditDAL.CancelAuditBL(userid, billlist);
if (resultbl.Success) rst = rst + 1;
}
}
}
if (message.Length>0)
{
message= message.Substring(0,message.Length-1);
if (FEEMANGERMUSTBE.PARAMVALUE=="1")
message += "存在金额为0的费用或责任人为空的费用未进行提交操作。";
else
message += "存在金额为0的费用未进行提交操作。";
}
if (blmessage.Length > 0)
{
blmessage = blmessage.Substring(0, blmessage.Length - 1);
blmessage += "存在客户名称为空或【已提交单票未审核】费用";
}
if (custmessage.Length > 0)
{
custmessage = custmessage.Substring(0, custmessage.Length - 1);
custmessage += "存在客户名称为空费用";
}
msg = message+ blmessage+ custmessage;
return rst > 0;
}
public static bool CheckMBLNONeedConfirmIsExist (string mblno,string bsno) {
string sql = "select count(*) from op_seae where mblno = '"+mblno+"' and bsno<>'"+bsno+"'";
Database db = DatabaseFactory.CreateDatabase();
bool rtn = false;
int rst = Convert.ToInt32(db.ExecuteScalar(CommandType.Text, sql));
var SeaeMblrepeat = MsSysParamSetDAL.GetData("PARAMNAME='SeaeMblrepeat'");
//海运出口主提单号允许重复=1 并且 主题单号已存在则为true
if (SeaeMblrepeat.PARAMVALUE == "1" && rst>0)
{
rtn = true;
}
return rtn;
}
public static bool CheckHasZeroFeeWithBsno(string bsno,string mustmanage,out string mblno) {
Database db = DatabaseFactory.CreateDatabase();
int rst = 0;
string sql = "select count(*) from ch_fee where bsno = " + bsno + " and amount = 0";
if (mustmanage=="1") sql = "select count(*) from ch_fee where bsno = " + bsno + " and (amount = 0 or isnull(MANAGER,'')='')";
rst = Convert.ToInt32( db.ExecuteScalar(CommandType.Text,sql));
string sql2 = "select mblno from v_op_bs where bsno = "+bsno+"";
var blno = db.ExecuteScalar(CommandType.Text, sql2);
if (blno==DBNull.Value||blno==null)
{
mblno = "";
return rst > 0;
}
else
{
mblno = blno.ToString();
return rst > 0;
}
}
public static bool CheckHasNoCustWithBsno(string bsno, out string mblno)
{
Database db = DatabaseFactory.CreateDatabase();
int rst = 0;
string sql = "select count(*) from ch_fee where bsno = " + bsno + " and CUSTOMERNAME='' ";
rst = Convert.ToInt32(db.ExecuteScalar(CommandType.Text, sql));
string sql2 = "select mblno from v_op_bs where bsno = " + bsno + "";
var blno = db.ExecuteScalar(CommandType.Text, sql2);
if (blno == DBNull.Value || blno == null)
{
mblno = "";
return rst > 0;
}
else
{
mblno = blno.ToString();
return rst > 0;
}
}
public static bool CheckHasNoAuditFeeWithBsno(string bsno, out string mblno)
{
Database db = DatabaseFactory.CreateDatabase();
int rst = 0;
string sql = "select count(*) from ch_fee where bsno = " + bsno + " and (CUSTOMERNAME='' OR FEESTATUS=2 or FEESTATUS=3 or FEESTATUS=4)";
rst = Convert.ToInt32(db.ExecuteScalar(CommandType.Text, sql));
string sql2 = "select mblno from v_op_bs where bsno = " + bsno + "";
var blno = db.ExecuteScalar(CommandType.Text, sql2);
if (blno == DBNull.Value || blno == null)
{
mblno = "";
return rst > 0;
}
else
{
mblno = blno.ToString();
return rst > 0;
}
}
}
}