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#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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");
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");
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");
}
return SetData(strSql,false,true);
}
#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();
}
private static List<MsOpSeae> SetData ( StringBuilder strSql,bool isNoForward=false, bool isSale = false)
{
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"]);
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);
}
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;
}
}
}
}