using System ;
using System.Data ;
using System.Data.Common ;
using System.Collections ;
using System.Collections.Generic ;
using System.Text ;
using DSWeb.MvcShipping.Models.MsOpAire ;
using DSWeb.MvcShipping.Models.MsOpAireBill ;
using Microsoft.Practices.EnterpriseLibrary.Data ;
using DSWeb.EntityDA ;
using DSWeb.Areas.CommMng.Models ;
using HcUtility.Comm ;
using System.Data.SqlClient ;
using DSWeb.DataAccess ;
using System.IO ;
using HcUtility.Core ;
using DSWeb.Areas.CommMng.DAL ;
using DSWeb.MvcShipping.DAL.MsSysParamSet ;
namespace DSWeb.MvcShipping.DAL.MsOpAireDAL
{
public class MsOpAireDAL
{
#region 查询
static public List < MsOpAire > 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 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,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,'' SHIPPER,'' CONSIGNEE,'' NOTIFYPARTY,AGENTID,'' AGENT,VESSEL,ETD,ETA," ) ;
}
else
{
strSql . Append ( "SELECT 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,VESSEL,ETD,ETA," ) ;
}
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,BLTYPE,ISSUETYPE,TRANSPORTID,TRANSPORT,TRANSPORT2ID,TRANSPORT2,TRANSPORT3ID,TRANSPORT3," ) ;
strSql . Append ( "BLFRT,OTFRT,HBLBLFRT,HBLOTFRT,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,UNIT," ) ;
strSql . Append ( "KGS,CBM,CURR,CUSTVALUE,CUSTOMVALUE,CLASS,FEEKGS,PRICE,TTLFREIGHT,OTFEE,HANDINGINFO,ACCOUNTINFO," ) ;
strSql . Append ( "INPUTBY,OP,CUSTSERVICE,SALE,AIRLINES,TRANSAIRLINES,FORWARDER,CUSTOMSER,TRUCKER,INVNO,FRCUSTSERVICE," ) ;
strSql . Append ( "CARGOID,BSSOURCE,BSSOURCEDETAIL,ORDERNO,INSURANCEER,INSURANCENO,INAMOUT," ) ;
strSql . Append ( "ISVOU,VOUNO,REMARK,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE," ) ;
strSql . Append ( "OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX," ) ;
strSql . Append ( "FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT" ) ;
strSql . Append ( ",PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT,PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS" ) ;
strSql . Append ( ",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF " ) ;
strSql . Append ( ",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF " ) ;
strSql . Append ( ",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS " ) ;
strSql . Append ( ",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,TRADETYPE,TRADETERM,ISSUEBY,ISSUEDATE,ISSUEPLACE" ) ;
strSql . Append ( ",IsService1,IsService2,IsService3,IsService4,IsService5,IsService6,IsService7,IsService8,IsService9,IsService10" ) ;
strSql . Append ( ",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS" ) ;
strSql . Append ( ",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS,ISPRINTPR" ) ;
strSql . Append ( ",I.TTLDR,I.TTLINVDR,I.TTLDUIDR" ) ;
strSql . Append ( ",(SELECT COUNT(*) FROM OP_APPLY WHERE MASTERNO=B.BSNO) as APPLYCOUNT,B.BillFeeStatus " ) ;
strSql . Append ( ",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,CONTRACTNO,LANE,DELIVERYDATE,DOC,HSCODE,ISCANCEL" ) ;
strSql . Append ( ",(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=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WHERE BSNO = B.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR" ) ;
strSql . Append ( " from OP_AIRE B" ) ;
strSql . Append ( " LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) " ) ;
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strSql . Append ( " where B.MASTERNO=B.BSNO AND EXISTS ( select 1 from OP_AIRE WHERE B.BSNO=OP_AIRE.MASTERNO AND " + strCondition + " )" ) ;
}
else {
strSql . Append ( " where B.MASTERNO=B.BSNO " ) ;
}
/ /
var sortstring = DatasetSort . Getsortstring ( sort ) ;
if ( ! string . IsNullOrEmpty ( sortstring ) )
{
strSql . Append ( " order by " + sortstring ) ;
}
else
{
var SeaeDefaultSort = MsSysParamSetDAL . GetData ( "PARAMNAME='AireDefaultSort'" ) ;
if ( SeaeDefaultSort . PARAMVALUE ! = "" )
strSql . Append ( " order by " + SeaeDefaultSort . PARAMVALUE ) ;
else
strSql . Append ( " order by BSDATE desc" ) ;
}
return SetData ( strSql ) ;
}
static public List < MsOpAire > 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,TRANSNO,CUSTOMERNAME,BLTYPE,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,TRANSPORTID,TRANSPORT,TRANSPORT2ID,TRANSPORT2,TRANSPORT3ID,TRANSPORT3,BLTYPE,ISSUETYPE," ) ;
strSql . Append ( "BLFRT,OTFRT,HBLBLFRT,HBLOTFRT,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,UNIT," ) ;
strSql . Append ( "KGS,CBM,CURR,CUSTVALUE,CUSTOMVALUE,CLASS,FEEKGS,PRICE,TTLFREIGHT,OTFEE,HANDINGINFO,ACCOUNTINFO," ) ;
strSql . Append ( "INPUTBY,OP,CUSTSERVICE,SALE,AIRLINES,TRANSAIRLINES,FORWARDER,CUSTOMSER,TRUCKER,INVNO,FRCUSTSERVICE," ) ;
strSql . Append ( "CARGOID,BSSOURCE,BSSOURCEDETAIL,ORDERNO,INSURANCEER,INSURANCENO,INAMOUT," ) ;
strSql . Append ( "ISVOU,VOUNO,REMARK,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE," ) ;
strSql . Append ( "OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX," ) ;
strSql . Append ( "FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT" ) ;
strSql . Append ( ",PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT,PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS" ) ;
strSql . Append ( ",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF " ) ;
strSql . Append ( ",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF " ) ;
strSql . Append ( ",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS " ) ;
strSql . Append ( ",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,TRADETYPE,TRADETERM,ISSUEBY,ISSUEDATE,ISSUEPLACE" ) ;
strSql . Append ( ",IsService1,IsService2,IsService3,IsService4,IsService5,IsService6,IsService7,IsService8,IsService9,IsService10" ) ;
strSql . Append ( ",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS" ) ;
strSql . Append ( ",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS,ISPRINTPR" ) ;
strSql . Append ( ",I.TTLDR,I.TTLINVDR,I.TTLDUIDR,0 APPLYCOUNT,B.BillFeeStatus " ) ;
strSql . Append ( ",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,CONTRACTNO,LANE,DELIVERYDATE,DOC,HSCODE,ISCANCEL" ) ;
strSql . Append ( ",(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=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WHERE BSNO = B.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR" ) ;
strSql . Append ( " from OP_AIRE 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 ) )
{
strSql . Append ( " order by " + sortstring ) ;
}
else
{
strSql . Append ( " order by BSDATE desc" ) ;
}
return SetData ( strSql ) ;
}
static public string GetDataListStr ( string strCondition , string userid , string usercode , string companyid , string sort = 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 B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,TRANSNO,CUSTOMERNAME,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,BLTYPE,ISSUETYPE," ) ;
strSql . Append ( "BLFRT,OTFRT,HBLBLFRT,HBLOTFRT,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,UNIT," ) ;
strSql . Append ( "KGS,CBM,CURR,CUSTVALUE,CUSTOMVALUE,CLASS,FEEKGS,PRICE,TTLFREIGHT,OTFEE,HANDINGINFO,ACCOUNTINFO," ) ;
strSql . Append ( "INPUTBY,OP,CUSTSERVICE,SALE,AIRLINES,TRANSAIRLINES,FORWARDER,CUSTOMSER,TRUCKER,INVNO,FRCUSTSERVICE," ) ;
strSql . Append ( "CARGOID,BSSOURCE,BSSOURCEDETAIL,ORDERNO,INSURANCEER,INSURANCENO,INAMOUT," ) ;
strSql . Append ( "ISVOU,VOUNO,REMARK,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE," ) ;
strSql . Append ( "OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX," ) ;
strSql . Append ( "FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT" ) ;
strSql . Append ( ",PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT,PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS" ) ;
strSql . Append ( ",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF " ) ;
strSql . Append ( ",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF " ) ;
strSql . Append ( ",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS " ) ;
strSql . Append ( ",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,TRADETYPE,TRADETERM,ISSUEBY,ISSUEDATE,ISSUEPLACE" ) ;
strSql . Append ( ",IsService1,IsService2,IsService3,IsService4,IsService5,IsService6,IsService7,IsService8,IsService9,IsService10,ISPRINTPR,CONTRACTNO,LANE,DELIVERYDATE,DOC,HSCODE,ISCANCEL" ) ;
strSql . Append ( " from OP_AIRE B" ) ;
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strSql . Append ( " where " + strCondition ) ;
}
if ( ! string . IsNullOrEmpty ( sort ) )
{
strSql . Append ( " order by " + sort ) ;
}
else
{
strSql . Append ( " order by ETD,MBLNO" ) ;
}
return strSql . ToString ( ) ;
}
static public MsOpAire GetData ( string condition )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,TRANSNO,CUSTOMERNAME,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,TRANSPORTID,TRANSPORT,TRANSPORT2ID,TRANSPORT2,TRANSPORT3ID,TRANSPORT3,BLTYPE,ISSUETYPE," ) ;
strSql . Append ( "BLFRT,OTFRT,HBLBLFRT,HBLOTFRT,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,UNIT," ) ;
strSql . Append ( "KGS,CBM,CURR,CUSTVALUE,CUSTOMVALUE,CLASS,FEEKGS,PRICE,TTLFREIGHT,OTFEE,HANDINGINFO,ACCOUNTINFO," ) ;
strSql . Append ( "INPUTBY,OP,CUSTSERVICE,SALE,AIRLINES,TRANSAIRLINES,FORWARDER,CUSTOMSER,TRUCKER,INVNO,FRCUSTSERVICE," ) ;
strSql . Append ( "CARGOID,BSSOURCE,BSSOURCEDETAIL,ORDERNO,INSURANCEER,INSURANCENO,INAMOUT," ) ;
strSql . Append ( "ISVOU,VOUNO,REMARK,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE," ) ;
strSql . Append ( "OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX," ) ;
strSql . Append ( "FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT" ) ;
strSql . Append ( ",PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT,PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS" ) ;
strSql . Append ( ",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF " ) ;
strSql . Append ( ",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF " ) ;
strSql . Append ( ",'' as OPSTATUS " ) ;
strSql . Append ( ",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,TRADETYPE,TRADETERM,ISSUEBY,ISSUEDATE,ISSUEPLACE" ) ;
strSql . Append ( ",IsService1,IsService2,IsService3,IsService4,IsService5,IsService6,IsService7,IsService8,IsService9,IsService10" ) ;
strSql . Append ( ",'' DRFEESTATUS" ) ;
strSql . Append ( ",'' CRFEESTATUS,ISPRINTPR,0 TTLDR,0 TTLINVDR,0 TTLDUIDR,0 APPLYCOUNT,B.BillFeeStatus " ) ;
strSql . Append ( ",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,CONTRACTNO,LANE,DELIVERYDATE,DOC,HSCODE,ISCANCEL" ) ;
strSql . Append ( ",'' AS COLOR" ) ;
strSql . Append ( " from OP_AIRE B" ) ;
if ( ! string . IsNullOrEmpty ( condition ) )
{
strSql . Append ( " where " + condition ) ;
}
var list = SetData ( strSql ) ;
if ( list . Count > 0 )
return list [ 0 ] ;
return new MsOpAire ( ) ;
}
static public List < MsOpAire > GetFenList ( string strCondition , string userid , string usercode , string companyid , string sort = 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 B.BSNO,MASTERNO,ORDERTYPE,ORDTYPE,ORDERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,CUSTNO,TRANSNO,CUSTOMERNAME,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE,TRANSPORTID,TRANSPORT,TRANSPORT2ID,TRANSPORT2,TRANSPORT3ID,TRANSPORT3,BLTYPE,ISSUETYPE," ) ;
strSql . Append ( "BLFRT,OTFRT,HBLBLFRT,HBLOTFRT,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,UNIT," ) ;
strSql . Append ( "KGS,CBM,CURR,CUSTVALUE,CUSTOMVALUE,CLASS,FEEKGS,PRICE,TTLFREIGHT,OTFEE,HANDINGINFO,ACCOUNTINFO," ) ;
strSql . Append ( "INPUTBY,OP,CUSTSERVICE,SALE,AIRLINES,TRANSAIRLINES,FORWARDER,CUSTOMSER,TRUCKER,INVNO,FRCUSTSERVICE," ) ;
strSql . Append ( "CARGOID,BSSOURCE,BSSOURCEDETAIL,ORDERNO,INSURANCEER,INSURANCENO,INAMOUT," ) ;
strSql . Append ( "ISVOU,VOUNO,REMARK,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE," ) ;
strSql . Append ( "OPERATORCODE,OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX," ) ;
strSql . Append ( "FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT" ) ;
strSql . Append ( ",PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT,PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",(SELECT TOP 1 BLSTATUS FROM op_blissue WHERE BSNO=B.BSNO) BLISSUESTATUS" ) ;
strSql . Append ( ",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF " ) ;
strSql . Append ( ",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF " ) ;
strSql . Append ( ",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS " ) ;
strSql . Append ( ",CUSTOMNO,ENTERPID,ENTERP,INSPECTIONNO,INSPECTIONDATE,CUSTOMDATE,TRADETYPE,TRADETERM,ISSUEBY,ISSUEDATE,ISSUEPLACE" ) ;
strSql . Append ( ",IsService1,IsService2,IsService3,IsService4,IsService5,IsService6,IsService7,IsService8,IsService9,IsService10" ) ;
strSql . Append ( ",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS" ) ;
strSql . Append ( ",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS,ISPRINTPR,0 TTLDR,0 TTLINVDR,0 TTLDUIDR,0 APPLYCOUNT,B.BillFeeStatus " ) ;
strSql . Append ( ",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP,CONTRACTNO,LANE,DELIVERYDATE,DOC,HSCODE,ISCANCEL" ) ;
strSql . Append ( ",(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=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM V_OP_STATUS WHERE BSNO = B.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR" ) ;
strSql . Append ( " from OP_AIRE B" ) ;
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 ) ;
}
private static List < MsOpAire > SetData ( StringBuilder strSql )
{
var headList = new List < MsOpAire > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
MsOpAire data = new MsOpAire ( ) ;
#region Set DB data to Object
data . BillFeeStatus = Convert . ToString ( reader [ "BillFeeStatus" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ; //业务编号
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 . BSSTATUS = Convert . ToBoolean ( reader [ "BSSTATUS" ] ) ; //业务状态
data . FEESTATUS = Convert . ToBoolean ( reader [ "FEESTATUS" ] ) ; //费用状态
data . BSSTATUSREF = Convert . ToString ( reader [ "BSSTATUSREF" ] ) ; // 业务状态
data . FEESTATUSREF = Convert . ToString ( reader [ "FEESTATUSREF" ] ) ; // 费用状态
data . DRFEESTATUS = getfeestatus ( Convert . ToString ( reader [ "DRFEESTATUS" ] ) ) ;
data . CRFEESTATUS = getfeestatus ( Convert . ToString ( reader [ "CRFEESTATUS" ] ) ) ;
if ( Convert . ToString ( reader [ "OPSTATUS" ] ) ! = "" )
data . OPSTATUS = Convert . ToString ( reader [ "OPSTATUS" ] ) ; // 费用状态
data . BLISSUESTATUS = Convert . ToString ( reader [ "BLISSUESTATUS" ] ) ; // 费用状态
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 . SALEDEPT = Convert . ToString ( reader [ "SALEDEPT" ] ) ; //所属部门
data . SALECORPID = Convert . ToString ( reader [ "SALECORPID" ] ) ; //分公司代码
data . SALECORP = Convert . ToString ( reader [ "SALECORP" ] ) ; //分公司代码
data . CREATETIME = Convert . ToString ( reader [ "CREATETIME" ] ) ; //创建时间
data . VESSEL = Convert . ToString ( reader [ "VESSEL" ] ) ; //船名
if ( reader [ "ETD" ] ! = DBNull . Value )
data . ETD = Convert . ToDateTime ( reader [ "ETD" ] ) . ToString ( "yyyy-MM-dd" ) ; //到港日期
data . LANE = Convert . ToString ( reader [ "LANE" ] ) ; //航线
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 . TRANSPORTID = Convert . ToString ( reader [ "TRANSPORTID" ] ) ; //中转港代码
data . TRANSPORT = Convert . ToString ( reader [ "TRANSPORT" ] ) ; //中转港
data . TRANSPORT2ID = Convert . ToString ( reader [ "TRANSPORT2ID" ] ) ; //中转港代码2
data . TRANSPORT2 = Convert . ToString ( reader [ "TRANSPORT2" ] ) ; //中转港2
data . TRANSPORT3ID = Convert . ToString ( reader [ "TRANSPORT3ID" ] ) ; //中转港代码3
data . TRANSPORT3 = Convert . ToString ( reader [ "TRANSPORT3" ] ) ; //中转港3
data . GOODSNAME = Convert . ToString ( reader [ "GOODSNAME" ] ) ; //品名
data . TRADETYPE = Convert . ToString ( reader [ "TRADETYPE" ] ) ; //贸易方式
data . TRADETERM = Convert . ToString ( reader [ "TRADETERM" ] ) ; //贸易条款
data . ISSUETYPE = Convert . ToString ( reader [ "ISSUETYPE" ] ) ; //签单方式
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 . UNIT = Convert . ToString ( reader [ "UNIT" ] ) ; //件数包装
data . REMARK = Convert . ToString ( reader [ "REMARK" ] ) ; //备注
if ( reader [ "CBM" ] ! = DBNull . Value )
data . CBM = Convert . ToString ( reader [ "CBM" ] ) ; //立方数/尺码
data . AIRLINES = Convert . ToString ( reader [ "AIRLINES" ] ) ; //航司
data . TRANSAIRLINES = Convert . ToString ( reader [ "TRANSAIRLINES" ] ) ; //中转航司
data . TRUCKER = Convert . ToString ( reader [ "TRUCKER" ] ) ; //承运车队
data . DESCRIPTION = Convert . ToString ( reader [ "DESCRIPTION" ] ) ; //货物描述
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" ] ) ; //发货人内容
data . CONSIGNEE = Convert . ToString ( reader [ "CONSIGNEE" ] ) ; //收货人内容
data . NOTIFYPARTY = Convert . ToString ( reader [ "NOTIFYPARTY" ] ) ; //通知人内容
data . AGENTID = Convert . ToString ( reader [ "AGENTID" ] ) ; //国外代理
data . AGENT = Convert . ToString ( reader [ "AGENT" ] ) ; //国外代理内容
if ( reader [ "ETA" ] ! = DBNull . Value )
data . ETA = Convert . ToDateTime ( reader [ "ETA" ] ) . ToString ( "yyyy-MM-dd" ) ; //预抵日期
data . BLFRT = Convert . ToString ( reader [ "BLFRT" ] ) ; //付费方式
data . OTFRT = Convert . ToString ( reader [ "OTFRT" ] ) ; //付费方式
data . HBLBLFRT = Convert . ToString ( reader [ "HBLBLFRT" ] ) ; //付费方式
data . HBLOTFRT = Convert . ToString ( reader [ "HBLOTFRT" ] ) ; //付费方式
data . ISSUEBY = Convert . ToString ( reader [ "ISSUEBY" ] ) ; //付费方式
data . ISSUEDATE = Convert . ToString ( reader [ "ISSUEDATE" ] ) ; //付费方式
data . ISSUEPLACE = Convert . ToString ( reader [ "ISSUEPLACE" ] ) ; //付费方式
data . CURR = Convert . ToString ( reader [ "CURR" ] ) ; / /
data . CUSTVALUE = Convert . ToString ( reader [ "CUSTVALUE" ] ) ; / /
data . CUSTOMVALUE = Convert . ToString ( reader [ "CUSTOMVALUE" ] ) ; / /
data . CLASS = Convert . ToString ( reader [ "CLASS" ] ) ; / /
if ( reader [ "FEEKGS" ] ! = DBNull . Value )
data . FEEKGS = Convert . ToString ( reader [ "FEEKGS" ] ) ; / /
if ( reader [ "PRICE" ] ! = DBNull . Value )
data . PRICE = Convert . ToString ( reader [ "PRICE" ] ) ; / /
if ( reader [ "TTLFREIGHT" ] ! = DBNull . Value )
data . TTLFREIGHT = Convert . ToString ( reader [ "TTLFREIGHT" ] ) ; / /
data . OTFEE = Convert . ToString ( reader [ "OTFEE" ] ) ; //唛头
data . HANDINGINFO = Convert . ToString ( reader [ "HANDINGINFO" ] ) ; //唛头
data . ACCOUNTINFO = Convert . ToString ( reader [ "ACCOUNTINFO" ] ) ; //唛头
data . MARKS = Convert . ToString ( reader [ "MARKS" ] ) ; //唛头
data . CONTRACTNO = Convert . ToString ( reader [ "CONTRACTNO" ] ) ; //唛头
data . BLTYPE = Convert . ToString ( reader [ "BLTYPE" ] ) ; //唛头
data . FORWARDER = Convert . ToString ( reader [ "FORWARDER" ] ) ; //订舱公司
data . INVNO = Convert . ToString ( reader [ "INVNO" ] ) ; //发票号
data . CARGOID = Convert . ToString ( reader [ "CARGOID" ] ) ; //货物标识
data . ORDTYPE = Convert . ToString ( reader [ "ORDTYPE" ] ) ; //订舱类型
data . ORDERNO = Convert . ToString ( reader [ "ORDERNO" ] ) ; //订舱编号
data . INSURANCEER = Convert . ToString ( reader [ "INSURANCEER" ] ) ; //保险人
data . INSURANCENO = Convert . ToString ( reader [ "INSURANCENO" ] ) ; //保险单号
data . INAMOUT = Convert . ToString ( reader [ "INAMOUT" ] ) ; //保险金额
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 . PFREIGHT = Convert . ToString ( reader [ "PFREIGHT" ] ) ; / /
data . CFREIGHT = Convert . ToString ( reader [ "CFREIGHT" ] ) ; / /
data . PSTATEMENT = Convert . ToString ( reader [ "PSTATEMENT" ] ) ; / /
data . CSTATEMENT = Convert . ToString ( reader [ "CSTATEMENT" ] ) ; / /
data . PTAX = Convert . ToString ( reader [ "PTAX" ] ) ; / /
data . CTAX = Convert . ToString ( reader [ "CTAX" ] ) ; / /
data . POTFREIGHT = Convert . ToString ( reader [ "POTFREIGHT" ] ) ; / /
data . COTFREIGHT = Convert . ToString ( reader [ "COTFREIGHT" ] ) ; / /
data . PCARRIEROT = Convert . ToString ( reader [ "PCARRIEROT" ] ) ; / /
data . CCARRIEROT = Convert . ToString ( reader [ "CCARRIEROT" ] ) ; / /
data . PTOTAL = Convert . ToString ( reader [ "PTOTAL" ] ) ; / /
data . CTOTAL = Convert . ToString ( reader [ "CTOTAL" ] ) ; / /
data . OTFEE1 = Convert . ToString ( reader [ "OTFEE1" ] ) ; / /
if ( reader [ "OTFEE1AMOUNT" ] ! = DBNull . Value )
data . OTFEE1AMOUNT = Convert . ToString ( reader [ "OTFEE1AMOUNT" ] ) ; //
data . OTFEE2 = Convert . ToString ( reader [ "OTFEE2" ] ) ; / /
if ( reader [ "OTFEE2AMOUNT" ] ! = DBNull . Value )
data . OTFEE2AMOUNT = Convert . ToString ( reader [ "OTFEE2AMOUNT" ] ) ; //
data . OTFEE3 = Convert . ToString ( reader [ "OTFEE3" ] ) ; / /
if ( reader [ "OTFEE3AMOUNT" ] ! = DBNull . Value )
data . OTFEE3AMOUNT = Convert . ToString ( reader [ "OTFEE3AMOUNT" ] ) ; //
data . OTFEE4 = Convert . ToString ( reader [ "OTFEE4" ] ) ; / /
if ( reader [ "OTFEE4AMOUNT" ] ! = DBNull . Value )
data . OTFEE4AMOUNT = Convert . ToString ( reader [ "OTFEE4AMOUNT" ] ) ; //
data . OTFEE5 = Convert . ToString ( reader [ "OTFEE5" ] ) ; / /
if ( reader [ "OTFEE5AMOUNT" ] ! = DBNull . Value )
data . OTFEE5AMOUNT = Convert . ToString ( reader [ "OTFEE5AMOUNT" ] ) ; //
data . OTFEE6 = Convert . ToString ( reader [ "OTFEE6" ] ) ; / /
if ( reader [ "OTFEE6AMOUNT" ] ! = DBNull . Value )
data . OTFEE6AMOUNT = Convert . ToString ( reader [ "OTFEE6AMOUNT" ] ) ; //
data . OTFEE7 = Convert . ToString ( reader [ "OTFEE7" ] ) ; / /
if ( reader [ "OTFEE7AMOUNT" ] ! = DBNull . Value )
data . OTFEE7AMOUNT = Convert . ToString ( reader [ "OTFEE7AMOUNT" ] ) ; //
data . OTFEE8 = Convert . ToString ( reader [ "OTFEE8" ] ) ; / /
if ( reader [ "OTFEE8AMOUNT" ] ! = DBNull . Value )
data . OTFEE8AMOUNT = Convert . ToString ( reader [ "OTFEE8AMOUNT" ] ) ; //
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" ] ) ; //经营单位代码
data . IsSERVICE1 = Convert . ToString ( reader [ "IsService1" ] ) ;
data . IsSERVICE2 = Convert . ToString ( reader [ "IsService2" ] ) ;
data . IsSERVICE3 = Convert . ToString ( reader [ "IsService3" ] ) ;
data . IsSERVICE4 = Convert . ToString ( reader [ "IsService4" ] ) ;
data . IsSERVICE5 = Convert . ToString ( reader [ "IsService5" ] ) ;
data . IsSERVICE6 = Convert . ToString ( reader [ "IsService6" ] ) ;
data . IsSERVICE7 = Convert . ToString ( reader [ "IsService7" ] ) ;
data . IsSERVICE8 = Convert . ToString ( reader [ "IsService8" ] ) ;
data . IsSERVICE9 = Convert . ToString ( reader [ "IsService9" ] ) ;
data . IsSERVICE10 = Convert . ToString ( reader [ "IsService10" ] ) ;
if ( Convert . ToString ( reader [ "BLTYPE" ] ) = = "空运主票" )
data . FENPIAO = "1" ; //件数
else
data . FENPIAO = "0" ; //件数
data . ISPRINTPR = Convert . ToString ( reader [ "ISPRINTPR" ] ) ;
decimal ttldr = 0 ;
if ( reader [ "TTLDR" ] ! = DBNull . Value )
ttldr = Convert . ToDecimal ( reader [ "TTLDR" ] ) ;
decimal ttlinvdr = 0 ;
if ( reader [ "TTLDR" ] ! = DBNull . Value )
ttlinvdr = Convert . ToDecimal ( reader [ "TTLINVDR" ] ) ;
if ( ttlinvdr = = 0 ) data . DRINVSTATUS = "未开票" ;
else if ( ttlinvdr = = ttldr ) data . DRINVSTATUS = "已开票" ;
else if ( ttlinvdr ! = ttldr ) data . DRINVSTATUS = "部分开票" ;
decimal ttlduidr = 0 ;
if ( reader [ "TTLDUIDR" ] ! = DBNull . Value )
ttlduidr = Convert . ToDecimal ( reader [ "TTLDUIDR" ] ) ;
if ( ttlduidr = = 0 ) data . DRDUISTATUS = "未对账" ;
else if ( ttlduidr = = ttldr ) data . DRDUISTATUS = "已对账" ;
else if ( ttlduidr ! = ttldr ) data . DRDUISTATUS = "部分对账" ;
if ( reader [ "APPLYCOUNT" ] ! = DBNull . Value )
data . ISAPPLY = Convert . ToString ( reader [ "APPLYCOUNT" ] ) ; //是否生成报关
if ( reader [ "DELIVERYDATE" ] ! = DBNull . Value )
data . DELIVERYDATE = Convert . ToDateTime ( reader [ "DELIVERYDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . DOC = Convert . ToString ( reader [ "DOC" ] ) ; //唛头
data . HSCODE = Convert . ToString ( reader [ "HSCODE" ] ) ; //HSCODE
data . COLOR = reader [ "COLOR" ] . ToString ( ) ;
data . ISCANCEL = Convert . ToString ( reader [ "ISCANCEL" ] ) ;
# 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 = = "6:" )
{
return "驳回提交" ;
}
else if ( feestatusint = = "7:" )
{
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 "部分提交" ;
}
else if ( feestatusint . IndexOf ( "6:" ) > - 1 )
{
return "驳回提交" ;
}
else if ( feestatusint . IndexOf ( "7:" ) > - 1 )
{
return "驳回申请" ;
}
return result ;
}
# endregion
#region 体积明细
public static List < MsOpAirCbmDetail > GetAirCbmDetail ( string strCondition )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT " ) ;
strSql . Append ( "GID,BSNO,[LENGTH],WIDTH,HEIGHT,PKGS,CBM" ) ;
strSql . Append ( " from op_air_cbm_detail " ) ;
if ( strCondition . Trim ( ) ! = String . Empty )
{
strSql . Append ( " where " + strCondition ) ;
}
var bodyList = new List < MsOpAirCbmDetail > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
MsOpAirCbmDetail data = new MsOpAirCbmDetail ( ) ;
#region Set DB data to Object
if ( reader [ "LENGTH" ] ! = DBNull . Value )
data . LENGTH = Convert . ToDecimal ( reader [ "LENGTH" ] ) ;
if ( reader [ "WIDTH" ] ! = DBNull . Value )
data . WIDTH = Convert . ToDecimal ( reader [ "WIDTH" ] ) ;
if ( reader [ "HEIGHT" ] ! = DBNull . Value )
data . HEIGHT = Convert . ToDecimal ( reader [ "HEIGHT" ] ) ;
if ( reader [ "CBM" ] ! = DBNull . Value )
data . CBM = Convert . ToDecimal ( reader [ "CBM" ] ) ;
if ( reader [ "PKGS" ] ! = DBNull . Value )
data . PKGS = Convert . ToInt32 ( reader [ "PKGS" ] ) ;
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
# endregion
bodyList . Add ( data ) ;
}
reader . Close ( ) ;
}
return bodyList ;
}
public static DBResult SaveOpAirCbmDetail ( List < MsOpAirCbmDetail > bodyList , string bsno , string userid , string companyid )
{
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_air_cbm_detail (GID,BSNO,[LENGTH],WIDTH,HEIGHT,PKGS,CBM,INPUTBY,INPUTTIME)
values ( @GID , @BSNO , @LENGTH , @WIDTH , @HEIGHT , @PKGS , @CBM , @INPUTBY , @INPUTTIME
) ");
var cmdUpdate =
db . GetSqlStringCommand (
@ "update op_air_cbm_detail set [LENGTH]=@LENGTH,WIDTH=@WIDTH,HEIGHT=@HEIGHT,PKGS=@PKGS
, CBM = @CBM , INPUTBY = @INPUTBY , INPUTTIME = @INPUTTIME where GID = @GID ");
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( enumValue . BSNO = = "*" | | enumValue . BSNO = = "" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@BSNO" , DbType . String , bsno ) ;
db . AddInParameter ( cmdInsert , "@LENGTH" , DbType . Decimal , enumValue . LENGTH ) ;
db . AddInParameter ( cmdInsert , "@WIDTH" , DbType . Decimal , enumValue . WIDTH ) ;
db . AddInParameter ( cmdInsert , "@HEIGHT" , DbType . Decimal , enumValue . HEIGHT ) ;
db . AddInParameter ( cmdInsert , "@PKGS" , DbType . Int32 , enumValue . PKGS ) ;
db . AddInParameter ( cmdInsert , "@CBM" , DbType . Decimal , enumValue . CBM ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . AddInParameter ( cmdUpdate , "@LENGTH" , DbType . Decimal , enumValue . LENGTH ) ;
db . AddInParameter ( cmdUpdate , "@WIDTH" , DbType . Decimal , enumValue . WIDTH ) ;
db . AddInParameter ( cmdUpdate , "@HEIGHT" , DbType . Decimal , enumValue . HEIGHT ) ;
db . AddInParameter ( cmdUpdate , "@PKGS" , DbType . Int32 , enumValue . PKGS ) ;
db . AddInParameter ( cmdUpdate , "@CBM" , DbType . Decimal , enumValue . CBM ) ;
db . AddInParameter ( cmdUpdate , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdUpdate , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
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 DeleteOpAirCbmDetail ( MsOpAirCbmDetail headData )
{
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_air_cbm_detail where GID=@GID " ) ;
cmdDelete . Parameters . Clear ( ) ;
db . AddInParameter ( cmdDelete , "@GID" , DbType . String , headData . GID ) ;
db . ExecuteNonQuery ( cmdDelete , tran ) ;
tran . Commit ( ) ;
result . Success = true ;
result . Message = "保存成功" + result . Message ;
}
catch ( Exception e )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "保存出现错误,请重试或联系系统管理员" + e . Message ;
return result ;
}
}
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 cmdDeletebill = db . GetSqlStringCommand ( "delete from op_aire_bill where BSNO='" + bsno + "'" ) ;
db . ExecuteNonQuery ( cmdDeletebill , 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 判断是否有费用
static public int GetRdCount ( string strCondition )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT Count(BSNO) AS CT from op_aire (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 ;
}
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='" + 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_aire " ) ;
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 提单信息
static public List < MsOpAireBill > GetBillList ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT AS_ID,BSNO,MBLNO,HBLNO,TEMPLATE,BILLTYPE,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE," ) ;
strSql . Append ( "ISSUEBY,ISSUEDATE,ISSUEPLACE,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,KGS,CBM,INPUTBY,UNIT" ) ;
strSql . Append ( ",AIRLINES,IATANO,ACCOUNTCODE,ACCOUNTINFO,HANDINGINFO,CURR,BLFRT," ) ;
strSql . Append ( "OTFRT,TRANSTATEMENT,CUSTOMSTATEMENT,INAMOUNT,CLASS,FEEKGS,PRICE," ) ;
strSql . Append ( "TTLFREIGHT,TOTALAMOUNT,OTFEE,PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT," ) ;
strSql . Append ( "PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL,GOODSNAME" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT,REMARK,CUSTVALUE,CUSTOMVALUE,INPUTTIME,MODIFYTIME,MODIFYUSER" ) ;
strSql . Append ( " from op_aire_bill " ) ;
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 MsOpAireBill GetBillData ( string condition )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT AS_ID,BSNO,MBLNO,HBLNO,TEMPLATE,BILLTYPE,SHIPPERID," ) ;
strSql . Append ( "CONSIGNEEID,NOTIFYPARTYID,SHIPPER,CONSIGNEE,NOTIFYPARTY,AGENTID,AGENT,VESSEL,ETD,ETA," ) ;
strSql . Append ( "PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE," ) ;
strSql . Append ( "ISSUEBY,ISSUEDATE,ISSUEPLACE,MARKS,[DESCRIPTION],GOODSNAME,PKGS,KINDPKGS,KGS,CBM,INPUTBY,UNIT" ) ;
strSql . Append ( ",AIRLINES,IATANO,ACCOUNTCODE,ACCOUNTINFO,HANDINGINFO,CURR,BLFRT," ) ;
strSql . Append ( "OTFRT,TRANSTATEMENT,CUSTOMSTATEMENT,INAMOUNT,CLASS,FEEKGS,PRICE," ) ;
strSql . Append ( "TTLFREIGHT,TOTALAMOUNT,OTFEE,PFREIGHT,CFREIGHT,PSTATEMENT,CSTATEMENT," ) ;
strSql . Append ( "PTAX,CTAX,POTFREIGHT,COTFREIGHT,PCARRIEROT,CCARRIEROT,PTOTAL,CTOTAL" ) ;
strSql . Append ( ",OTFEE1,OTFEE1AMOUNT,OTFEE2,OTFEE2AMOUNT,OTFEE3,OTFEE3AMOUNT,OTFEE4,OTFEE4AMOUNT,OTFEE5,OTFEE5AMOUNT" ) ;
strSql . Append ( ",OTFEE6,OTFEE6AMOUNT,OTFEE7,OTFEE7AMOUNT,OTFEE8,OTFEE8AMOUNT,REMARK,CUSTVALUE,CUSTOMVALUE,INPUTTIME,MODIFYTIME,MODIFYUSER" ) ;
strSql . Append ( " from op_aire_bill " ) ;
if ( ! string . IsNullOrEmpty ( condition ) )
{
strSql . Append ( " where " + condition ) ;
}
var list = SetBillData ( strSql ) ;
if ( list . Count > 0 )
return list [ 0 ] ;
return new MsOpAireBill ( ) ;
}
private static List < MsOpAireBill > SetBillData ( StringBuilder strSql )
{
var headList = new List < MsOpAireBill > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
MsOpAireBill data = new MsOpAireBill ( ) ;
#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 . HBLNO = Convert . ToString ( reader [ "HBLNO" ] ) ; //分提单号
data . TEMPLATE = Convert . ToString ( reader [ "TEMPLATE" ] ) ; // 业务状态
data . BILLTYPE = Convert . ToString ( reader [ "BILLTYPE" ] ) ; // 费用状态
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ; //录入人
data . VESSEL = Convert . ToString ( reader [ "VESSEL" ] ) ; //船名
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 . GOODSNAME = Convert . ToString ( reader [ "GOODSNAME" ] ) ; //品名
if ( reader [ "KGS" ] ! = DBNull . Value )
data . KGS = Convert . ToString ( reader [ "KGS" ] ) ; //毛重
if ( reader [ "PKGS" ] ! = DBNull . Value )
data . PKGS = Convert . ToString ( reader [ "PKGS" ] ) ; //件数
if ( reader [ "CBM" ] ! = DBNull . Value )
data . CBM = Convert . ToString ( reader [ "CBM" ] ) ; //立方数/尺码
data . KINDPKGS = Convert . ToString ( reader [ "KINDPKGS" ] ) ; //件数包装
data . UNIT = Convert . ToString ( reader [ "UNIT" ] ) ; //件数包装
data . DESCRIPTION = Convert . ToString ( reader [ "DESCRIPTION" ] ) ; //货物描述
data . SHIPPERID = Convert . ToString ( reader [ "SHIPPERID" ] ) ; //发货人
data . CONSIGNEEID = Convert . ToString ( reader [ "CONSIGNEEID" ] ) ; //收货人
data . NOTIFYPARTYID = Convert . ToString ( reader [ "NOTIFYPARTYID" ] ) ; //通知人
data . SHIPPER = Convert . ToString ( reader [ "SHIPPER" ] ) ; //发货人内容
data . CONSIGNEE = Convert . ToString ( reader [ "CONSIGNEE" ] ) ; //收货人内容
data . NOTIFYPARTY = Convert . ToString ( reader [ "NOTIFYPARTY" ] ) ; //通知人内容
data . AGENTID = Convert . ToString ( reader [ "AGENTID" ] ) ; //国外代理
data . AGENT = Convert . ToString ( reader [ "AGENT" ] ) ; //国外代理内容
if ( reader [ "ETA" ] ! = DBNull . Value )
data . ETA = Convert . ToDateTime ( reader [ "ETA" ] ) . ToString ( "yyyy-MM-dd" ) ; //预抵日期
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 . MARKS = Convert . ToString ( reader [ "MARKS" ] ) ; //唛头
data . AIRLINES = Convert . ToString ( reader [ "AIRLINES" ] ) ; / /
data . IATANO = Convert . ToString ( reader [ "IATANO" ] ) ; / /
data . ACCOUNTCODE = Convert . ToString ( reader [ "ACCOUNTCODE" ] ) ; / /
data . ACCOUNTINFO = Convert . ToString ( reader [ "ACCOUNTINFO" ] ) ; / /
data . HANDINGINFO = Convert . ToString ( reader [ "HANDINGINFO" ] ) ; / /
data . CURR = Convert . ToString ( reader [ "CURR" ] ) ; / /
data . BLFRT = Convert . ToString ( reader [ "BLFRT" ] ) ; / /
data . OTFRT = Convert . ToString ( reader [ "OTFRT" ] ) ; / /
data . TRANSTATEMENT = Convert . ToString ( reader [ "TRANSTATEMENT" ] ) ; / /
data . CUSTOMSTATEMENT = Convert . ToString ( reader [ "CUSTOMSTATEMENT" ] ) ; / /
data . CUSTVALUE = Convert . ToString ( reader [ "CUSTVALUE" ] ) ; / /
data . CUSTOMVALUE = Convert . ToString ( reader [ "CUSTOMVALUE" ] ) ; / /
data . INAMOUNT = Convert . ToString ( reader [ "INAMOUNT" ] ) ; / /
data . CLASS = Convert . ToString ( reader [ "CLASS" ] ) ; / /
if ( reader [ "FEEKGS" ] ! = DBNull . Value )
data . FEEKGS = Convert . ToString ( reader [ "FEEKGS" ] ) ; / /
if ( reader [ "PRICE" ] ! = DBNull . Value )
data . PRICE = Convert . ToString ( reader [ "PRICE" ] ) ; / /
if ( reader [ "TTLFREIGHT" ] ! = DBNull . Value )
data . TTLFREIGHT = Convert . ToString ( reader [ "TTLFREIGHT" ] ) ; / /
if ( reader [ "TOTALAMOUNT" ] ! = DBNull . Value )
data . TOTALAMOUNT = Convert . ToString ( reader [ "TOTALAMOUNT" ] ) ; / /
data . OTFEE = Convert . ToString ( reader [ "OTFEE" ] ) ; / /
data . PFREIGHT = Convert . ToString ( reader [ "PFREIGHT" ] ) ; / /
data . CFREIGHT = Convert . ToString ( reader [ "CFREIGHT" ] ) ; / /
data . PSTATEMENT = Convert . ToString ( reader [ "PSTATEMENT" ] ) ; / /
data . CSTATEMENT = Convert . ToString ( reader [ "CSTATEMENT" ] ) ; / /
data . PTAX = Convert . ToString ( reader [ "PTAX" ] ) ; / /
data . CTAX = Convert . ToString ( reader [ "CTAX" ] ) ; / /
data . POTFREIGHT = Convert . ToString ( reader [ "POTFREIGHT" ] ) ; / /
data . COTFREIGHT = Convert . ToString ( reader [ "COTFREIGHT" ] ) ; / /
data . PCARRIEROT = Convert . ToString ( reader [ "PCARRIEROT" ] ) ; / /
data . CCARRIEROT = Convert . ToString ( reader [ "CCARRIEROT" ] ) ; / /
data . PTOTAL = Convert . ToString ( reader [ "PTOTAL" ] ) ; / /
data . CTOTAL = Convert . ToString ( reader [ "CTOTAL" ] ) ; / /
data . OTFEE1 = Convert . ToString ( reader [ "OTFEE1" ] ) ; / /
if ( reader [ "OTFEE1AMOUNT" ] ! = DBNull . Value )
data . OTFEE1AMOUNT = Convert . ToString ( reader [ "OTFEE1AMOUNT" ] ) ; //
data . OTFEE2 = Convert . ToString ( reader [ "OTFEE2" ] ) ; / /
if ( reader [ "OTFEE2AMOUNT" ] ! = DBNull . Value )
data . OTFEE2AMOUNT = Convert . ToString ( reader [ "OTFEE2AMOUNT" ] ) ; //
data . OTFEE3 = Convert . ToString ( reader [ "OTFEE3" ] ) ; / /
if ( reader [ "OTFEE3AMOUNT" ] ! = DBNull . Value )
data . OTFEE3AMOUNT = Convert . ToString ( reader [ "OTFEE3AMOUNT" ] ) ; //
data . OTFEE4 = Convert . ToString ( reader [ "OTFEE4" ] ) ; / /
if ( reader [ "OTFEE4AMOUNT" ] ! = DBNull . Value )
data . OTFEE4AMOUNT = Convert . ToString ( reader [ "OTFEE4AMOUNT" ] ) ; //
data . OTFEE5 = Convert . ToString ( reader [ "OTFEE5" ] ) ; / /
if ( reader [ "OTFEE5AMOUNT" ] ! = DBNull . Value )
data . OTFEE5AMOUNT = Convert . ToString ( reader [ "OTFEE5AMOUNT" ] ) ; //
data . OTFEE6 = Convert . ToString ( reader [ "OTFEE6" ] ) ; / /
if ( reader [ "OTFEE6AMOUNT" ] ! = DBNull . Value )
data . OTFEE6AMOUNT = Convert . ToString ( reader [ "OTFEE6AMOUNT" ] ) ; //
data . OTFEE7 = Convert . ToString ( reader [ "OTFEE7" ] ) ; / /
if ( reader [ "OTFEE7AMOUNT" ] ! = DBNull . Value )
data . OTFEE7AMOUNT = Convert . ToString ( reader [ "OTFEE7AMOUNT" ] ) ; //
data . OTFEE8 = Convert . ToString ( reader [ "OTFEE8" ] ) ; / /
if ( reader [ "OTFEE8AMOUNT" ] ! = DBNull . Value )
data . OTFEE8AMOUNT = Convert . ToString ( reader [ "OTFEE8AMOUNT" ] ) ; //
data . ISSUEBY = Convert . ToString ( reader [ "ISSUEBY" ] ) ; / /
data . ISSUEPLACE = Convert . ToString ( reader [ "ISSUEPLACE" ] ) ; / /
data . REMARK = Convert . ToString ( reader [ "REMARK" ] ) ; / /
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
data . MODIFYUSER = Convert . ToString ( reader [ "MODIFYUSER" ] ) ;
if ( reader [ "MODIFYTIME" ] ! = DBNull . Value )
data . MODIFYTIME = Convert . ToDateTime ( reader [ "MODIFYTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
# endregion
#region 退舱
public static DBResult CancelOrder ( string bsno , string type , string op )
{
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_aire 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 ) ;
}
else
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_aire 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 ) ;
}
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 GetRangDAStr ( string tb , string userid , string username , string companyid )
{
string str = "" ;
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT " ) ;
strSql . Append ( " VISIBLERANGE,OPERATERANGE,AUTHORITYID,VSSQL " ) ;
strSql . Append ( " from VW_User_Authority " ) ;
strSql . Append ( " where [NAME]='modOpAireList' and USERID='" + userid + "' and ISDELETE=0" ) ;
string visiblerange = "4" ;
string operaterange = "4" ;
string AUTHORITYID = "" ;
string VSSQL = "" ;
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" ] ) ;
VSSQL = Convert . ToString ( reader [ "VSSQL" ] ) ;
break ;
}
reader . Close ( ) ;
}
if ( visiblerange = = "4" )
{
str = "1=2" ;
}
else if ( visiblerange = = "3" )
{
str = " (B.OP='" + username + "' OR B.SALE='" + username + "' OR B.CUSTSERVICE='" + 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 + "'))" ;
}
else
{
str = " UPPER(B.Corpid)='" + 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 + ")" ;
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') " ;
}
}
else if ( visiblerange = = "1" )
{
str = " UPPER(B.Corpid)='" + companyid + "'" ;
}
VSSQL = VSSQL . Trim ( ) ;
if ( ! string . IsNullOrEmpty ( VSSQL ) )
{
if ( ! string . IsNullOrEmpty ( str ) )
{
str = str + " and (" + VSSQL + ") " ;
}
else
{
str = " (" + VSSQL + ") " ;
}
}
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,VSSQL " ) ;
strSql . Append ( " from VW_User_Authority " ) ;
strSql . Append ( " where [NAME]='modAireSaleList' and USERID='" + userid + "' and ISDELETE=0" ) ;
string visiblerange = "4" ;
string operaterange = "4" ;
string AUTHORITYID = "" ;
string VSSQL = "" ;
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" ] ) ;
VSSQL = Convert . ToString ( reader [ "VSSQL" ] ) ;
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 deptid = rangeDa . GetDEPTGID ( userid ) ;
str = " (B.SALE in (select showname from vw_user where deptgid='" + deptid + "') )" ;
}
else
{
str = " UPPER(B.Corpid)='" + 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" ] ) + "' " ;
}
else
{
str = str + " or B.Corpid='" + Convert . ToString ( reader [ "COMPANYID" ] ) + "' " ;
} ;
}
str = str + ")" ;
reader . Close ( ) ;
}
}
else
{
str = " (UPPER(B.Corpid)='" + 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 + "'" ;
}
VSSQL = VSSQL . Trim ( ) ;
if ( ! string . IsNullOrEmpty ( VSSQL ) )
{
if ( ! string . IsNullOrEmpty ( str ) )
{
str = str + " and (" + VSSQL + ") " ;
}
else
{
str = " (" + VSSQL + ") " ;
}
}
return str ;
}
# endregion
}
}