using System ;
using System.Data ;
using System.Collections.Generic ;
using System.Text ;
using DSWeb.MvcContainer.Models.MsOpPrice ;
using DSWeb.MvcContainer.Models.MsOpCtnApply ;
using DSWeb.MvcContainer.Models.MsOpCtnBsCard ;
using Microsoft.Practices.EnterpriseLibrary.Data ;
using DSWeb.Areas.CommMng.Models ;
using HcUtility.Comm ;
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL ;
using DSWeb.MvcShipping.DAL.MsChFeeDAL ;
using DSWeb.EntityDA ;
using DSWeb.Areas.CommMng.DAL ;
using DSWeb.MvcShipping.Models.MsChFee ;
using DSWeb.MvcContainer.DAL.MsOpPrice ;
namespace DSWeb.MvcContainer.DAL.MsOpCtnBsCard
{
public class MsOpCtnBsCardDAL
{
#region Inquery DataList
static public List < OpCtnBsCard > GetDataList ( int start , int limit , out int totel , string strCondition , string pricetype , string companyid , string userid , string username , string sort = null )
{
var rangstr = GetRangDAStr ( pricetype , 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 * from (SELECT row_number() over (" ) ;
var sortstring = DatasetSort . Getsortstring ( sort ) ;
if ( ! string . IsNullOrEmpty ( sortstring ) )
{
sortstring = sortstring . Replace ( "DESTPORT_OVER_DAYS_AMT" , "cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2))" ) ;
strSql . Append ( " order by " + sortstring ) ;
}
else
{
strSql . Append ( " order by INPUTTIME DESC " ) ;
}
strSql . Append ( @") as num , " ) ;
strSql . Append ( " b.GID,b.CTNNO,b.CTNPROP,[BSNO],SEABSNO,[APPLYNO],[CUSTOMERNAME],[GOODSNAME] ,[ETD]" ) ;
strSql . Append ( ",PREETA,[ETA],[AGENTNAME],[CYCLE_DAY],[IS_BOOKING]" ) ;
strSql . Append ( ",[IS_RETURE_EMPTY],[I_CUSTNO],[I_ETD],PREI_ETA,[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[I_DESTPORT]" ) ;
strSql . Append ( ",[IS_DB],[D_CUSTNO],[D_ETD],PRED_ETA,[D_ETA],[D_MBLNO],[D_CUSTNAME],[D_CARRIER],[D_CONTRACT],[D_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[D_PORTLOAD],[D_ARRIVALDATE],[D_DEST_CNT_TIME],[D_DEST_RTCNT_TIME],[D_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[D_DESTPORT]" ) ;
strSql . Append ( ",[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL],b.CURSTATOIN,[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOADDATE],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2)) DESTPORT_OVER_DAYS_AMT,[DETAIN_CTN_DAYS],[PRE_CNT_TIME],[AUDITBY]" ) ;
strSql . Append ( ",AUDITSTATUS,[AUDITTIME],[AUDITRESULT],b.REMARKS,b.INPUTBY,b.INPUTTIME,b.COMPANYID,PUTCTNAUDITBY,PUTCTNAUDITSTATUS,PUTCTNAUDITTIME,PUTCTNAUDITRESULT" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS,IS_POD_CLEAN,IS_PUTCTN,PUTCTNDATE,MODIFYTIME,MODIFYUSER" ) ;
strSql . Append ( ",(select TOP 1 ISPORTLOADDATE from op_ctnapply where BSNO=b.APPLYNO) as ISPORTLOADDATE" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.PUTCTNAUDITBY) as PUTCTNAUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NETD" ) ;
strSql . Append ( ",(select TOP 1 GOODSNAME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME<b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME DESC) as PREGOODSNAME" ) ;
strSql . Append ( ",CASE WHEN IS_RETURE_EMPTY=1 THEN case when I_ETA<=GETDATE() then I_ETA else null end ELSE case when ETA<=GETDATE() then ETA else null end END AS VETA," ) ;
strSql . Append ( "CASE WHEN IS_DB=1 THEN" ) ;
strSql . Append ( " (case when D_DEST_RTCNT_TIME <> '' and D_DEST_RTCNT_TIME <= GETDATE() then D_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when D_DEST_CNT_TIME <> '' and D_DEST_CNT_TIME <= GETDATE() then D_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when D_ETA <> '' and D_ETA <= GETDATE() then D_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when D_ETD <> '' and D_ETD <= GETDATE() then D_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when D_PORTLOAD_CNT_TIME <> '' and D_PORTLOAD_CNT_TIME <= GETDATE() then D_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " CASE WHEN IS_RETURE_EMPTY = 1 THEN" ) ;
strSql . Append ( " (case when I_DEST_RTCNT_TIME <> '' and I_DEST_RTCNT_TIME <= GETDATE() then I_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when I_DEST_CNT_TIME <> '' and I_DEST_CNT_TIME <= GETDATE() then I_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when I_ETA <> '' and I_ETA <= GETDATE() then I_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when I_ETD <> '' and I_ETD <= GETDATE() then I_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when I_PORTLOAD_CNT_TIME <> '' and I_PORTLOAD_CNT_TIME <= GETDATE() then I_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " (case when DEST_RTCNT_TIME <> '' and DEST_RTCNT_TIME <= GETDATE() then DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when DEST_CNT_TIME <> '' and DEST_CNT_TIME <= GETDATE() then DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when ETA <> '' and ETA <= GETDATE() then DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when ETD <> '' and ETD <= GETDATE() then PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when PORTLOAD_CNT_TIME <> '' and PORTLOAD_CNT_TIME <= GETDATE() then PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " END" ) ;
strSql . Append ( " END " ) ;
strSql . Append ( " CUR_PORT,SHENTIME" ) ;
//系统判断业务卡中“生成目的港箱使费”这个按钮有没有点过
strSql . Append ( ",dbo.F_CTNBSCARD_ExistsMDGXSF(b.GID) MDGXSFSTATUS" ) ;
strSql . Append ( ",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF" ) ; //货物名称(含英文简称)
strSql . Append ( ",SERVICE,isnull(NEEDBEHEATED,0)NEEDBEHEATED,AGENTINPUTBY,isnull(EMPTYCTNALLOCATION,0)EMPTYCTNALLOCATION" ) ; //运输条款 是否加热 代理维护人
strSql . Append ( " from op_ctnbscard b " ) ;
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 ) ) ; / /
totel = getTotalCount ( strCondition ) ;
return SetData ( strSql ) ;
}
public static int getTotalCount ( string strCondition )
{
StringBuilder strSql = new StringBuilder ( ) ;
strSql . Append ( "select count(*) from op_ctnbscard b" ) ;
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 List < OpCtnBsCard > GetDataAllList ( string strCondition , string pricetype , string companyid , string userid , string username , string sort = null )
{
var rangstr = GetRangDAStr ( pricetype , 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.GID,b.CTNNO,b.CTNPROP,[BSNO],SEABSNO,[APPLYNO],[CUSTOMERNAME],[GOODSNAME] ,[ETD]" ) ;
strSql . Append ( ",PREETA,[ETA],[AGENTNAME],[CYCLE_DAY],[IS_RETURE_EMPTY],[IS_BOOKING],[I_CUSTNO]" ) ;
strSql . Append ( ",[I_ETD],PREI_ETA,[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN],[I_DESTPORT]" ) ;
strSql . Append ( ",[IS_DB],[D_CUSTNO],[D_ETD],PRED_ETA,[D_ETA],[D_MBLNO],[D_CUSTNAME],[D_CARRIER],[D_CONTRACT],[D_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[D_PORTLOAD],[D_ARRIVALDATE],[D_DEST_CNT_TIME],[D_DEST_RTCNT_TIME],[D_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[D_DESTPORT]" ) ;
strSql . Append ( ",[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL]" ) ;
strSql . Append ( ",b.CURSTATOIN,[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOADDATE],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2)) DESTPORT_OVER_DAYS_AMT,[DETAIN_CTN_DAYS],[PRE_CNT_TIME],[AUDITBY]" ) ;
strSql . Append ( ",AUDITSTATUS,[AUDITTIME],[AUDITRESULT],b.REMARKS,b.INPUTBY,b.INPUTTIME,b.COMPANYID,PUTCTNAUDITBY,PUTCTNAUDITSTATUS,PUTCTNAUDITTIME,PUTCTNAUDITRESULT" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS,IS_POD_CLEAN,IS_PUTCTN,PUTCTNDATE,MODIFYTIME,MODIFYUSER" ) ;
strSql . Append ( ",(select TOP 1 ISPORTLOADDATE from op_ctnapply where BSNO=b.APPLYNO) as ISPORTLOADDATE" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.PUTCTNAUDITBY) as PUTCTNAUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NETD" ) ;
strSql . Append ( ",(select TOP 1 GOODSNAME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME<b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME DESC) as PREGOODSNAME" ) ;
strSql . Append ( ",CASE WHEN IS_RETURE_EMPTY=1 THEN case when I_ETA<=GETDATE() then I_ETA else null end ELSE case when ETA<=GETDATE() then ETA else null end END AS VETA," ) ;
strSql . Append ( "CASE WHEN IS_DB=1 THEN" ) ;
strSql . Append ( " (case when D_DEST_RTCNT_TIME <> '' and D_DEST_RTCNT_TIME <= GETDATE() then D_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when D_DEST_CNT_TIME <> '' and D_DEST_CNT_TIME <= GETDATE() then D_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when D_ETA <> '' and D_ETA <= GETDATE() then D_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when D_ETD <> '' and D_ETD <= GETDATE() then D_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when D_PORTLOAD_CNT_TIME <> '' and D_PORTLOAD_CNT_TIME <= GETDATE() then D_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " CASE WHEN IS_RETURE_EMPTY = 1 THEN" ) ;
strSql . Append ( " (case when I_DEST_RTCNT_TIME <> '' and I_DEST_RTCNT_TIME <= GETDATE() then I_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when I_DEST_CNT_TIME <> '' and I_DEST_CNT_TIME <= GETDATE() then I_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when I_ETA <> '' and I_ETA <= GETDATE() then I_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when I_ETD <> '' and I_ETD <= GETDATE() then I_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when I_PORTLOAD_CNT_TIME <> '' and I_PORTLOAD_CNT_TIME <= GETDATE() then I_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " (case when DEST_RTCNT_TIME <> '' and DEST_RTCNT_TIME <= GETDATE() then DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when DEST_CNT_TIME <> '' and DEST_CNT_TIME <= GETDATE() then DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when ETA <> '' and ETA <= GETDATE() then DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when ETD <> '' and ETD <= GETDATE() then PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when PORTLOAD_CNT_TIME <> '' and PORTLOAD_CNT_TIME <= GETDATE() then PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " END" ) ;
strSql . Append ( " END " ) ;
strSql . Append ( " CUR_PORT,SHENTIME" ) ;
//系统判断业务卡中“生成目的港箱使费”这个按钮有没有点过
strSql . Append ( ",dbo.F_CTNBSCARD_ExistsMDGXSF(b.GID) MDGXSFSTATUS" ) ;
strSql . Append ( ",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF" ) ; //货物名称(含英文简称)
strSql . Append ( ",SERVICE,isnull(NEEDBEHEATED,0)NEEDBEHEATED,AGENTINPUTBY,isnull(EMPTYCTNALLOCATION,0)EMPTYCTNALLOCATION" ) ; //运输条款 是否加热 代理维护人
strSql . Append ( " from op_ctnbscard b " ) ;
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strSql . Append ( " where " + strCondition ) ;
}
var sortstring = DatasetSort . Getsortstring ( sort ) ;
if ( ! string . IsNullOrEmpty ( sortstring ) )
{
sortstring = sortstring . Replace ( "DESTPORT_OVER_DAYS_AMT" , "cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2))" ) ;
strSql . Append ( " order by " + sortstring ) ;
}
else
{
strSql . Append ( " order by INPUTTIME DESC " ) ;
}
return SetData ( strSql ) ;
}
static public string GetDataListStr ( string strCondition , string pricetype , string companyid , string userid , string username , string sort = null )
{
var rangstr = GetRangDAStr ( pricetype , userid , userid , companyid ) ;
if ( ! string . IsNullOrEmpty ( rangstr ) )
{
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strCondition = strCondition + " and " + rangstr ;
}
else
{
strCondition = rangstr ;
}
}
var strSql = new StringBuilder ( ) ;
strSql . Append ( "select * from v_op_ctnbscard 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 INPUTTIME DESC " ) ;
}
return strSql . ToString ( ) ;
}
static public OpCtnBsCard GetData ( string condition , string pricetype , string companyid , string userid , string username )
{
OpCtnBsCard data = null ;
var list = GetDataAllList ( condition , pricetype , companyid , userid , username ) ;
if ( list . Count > 0 )
data = list [ 0 ] ;
if ( data = = null )
{
data = new OpCtnBsCard ( ) ;
data . COMPANYID = companyid ;
}
return data ;
}
static public OpCtnBsCard GetData ( string condition , string userid )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT b.GID,b.CTNNO,b.CTNPROP,b.BSNO,SEABSNO,[APPLYNO],[CUSTOMERNAME],[GOODSNAME],[ETD]" ) ;
strSql . Append ( ",PREETA,[ETA],[AGENTNAME],[CYCLE_DAY],[IS_RETURE_EMPTY],[IS_BOOKING],[I_CUSTNO]" ) ;
strSql . Append ( ",[I_ETD],PREI_ETA,[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN],[I_DESTPORT]" ) ;
strSql . Append ( ",[IS_DB],[D_CUSTNO],[D_ETD],PRED_ETA,[D_ETA],[D_MBLNO],[D_CUSTNAME],[D_CARRIER],[D_CONTRACT],[D_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[D_PORTLOAD],[D_ARRIVALDATE],[D_DEST_CNT_TIME],[D_DEST_RTCNT_TIME],[D_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[D_DESTPORT]" ) ;
strSql . Append ( ",[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL]" ) ;
strSql . Append ( ",b.CURSTATOIN,[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOADDATE],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2)) DESTPORT_OVER_DAYS_AMT,[DETAIN_CTN_DAYS],[PRE_CNT_TIME],[AUDITBY]" ) ;
strSql . Append ( ",AUDITSTATUS,[AUDITTIME],[AUDITRESULT],b.REMARKS,b.INPUTBY,b.INPUTTIME,b.COMPANYID,b.MODIFYTIME,b.MODIFYUSER" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS,IS_POD_CLEAN,IS_PUTCTN,PUTCTNDATE,PUTCTNAUDITBY,PUTCTNAUDITSTATUS,PUTCTNAUDITTIME,PUTCTNAUDITRESULT" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select TOP 1 ISPORTLOADDATE from op_ctnapply where BSNO=b.APPLYNO) as ISPORTLOADDATE" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.PUTCTNAUDITBY) as PUTCTNAUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME) as NETD" ) ;
strSql . Append ( ",(select TOP 1 GOODSNAME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME<b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME DESC) as PREGOODSNAME" ) ;
strSql . Append ( ",CASE WHEN IS_RETURE_EMPTY=1 THEN case when I_ETA<=GETDATE() then I_ETA else null end ELSE case when ETA<=GETDATE() then ETA else null end END AS VETA," ) ;
strSql . Append ( "CASE WHEN IS_DB=1 THEN" ) ;
strSql . Append ( " (case when D_DEST_RTCNT_TIME <> '' and D_DEST_RTCNT_TIME <= GETDATE() then D_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when D_DEST_CNT_TIME <> '' and D_DEST_CNT_TIME <= GETDATE() then D_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when D_ETA <> '' and D_ETA <= GETDATE() then D_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when D_ETD <> '' and D_ETD <= GETDATE() then D_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when D_PORTLOAD_CNT_TIME <> '' and D_PORTLOAD_CNT_TIME <= GETDATE() then D_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " CASE WHEN IS_RETURE_EMPTY = 1 THEN" ) ;
strSql . Append ( " (case when I_DEST_RTCNT_TIME <> '' and I_DEST_RTCNT_TIME <= GETDATE() then I_DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when I_DEST_CNT_TIME <> '' and I_DEST_CNT_TIME <= GETDATE() then I_DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when I_ETA <> '' and I_ETA <= GETDATE() then I_DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when I_ETD <> '' and I_ETD <= GETDATE() then I_PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when I_PORTLOAD_CNT_TIME <> '' and I_PORTLOAD_CNT_TIME <= GETDATE() then I_PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " ELSE" ) ;
strSql . Append ( " (case when DEST_RTCNT_TIME <> '' and DEST_RTCNT_TIME <= GETDATE() then DESTPORT_STATOIN + '已还箱-闲置'" ) ;
strSql . Append ( " else case when DEST_CNT_TIME <> '' and DEST_CNT_TIME <= GETDATE() then DESTPORT + '-待还箱'" ) ;
strSql . Append ( " else case when ETA <> '' and ETA <= GETDATE() then DESTPORT + '-待提货'" ) ;
strSql . Append ( " else case when ETD <> '' and ETD <= GETDATE() then PORTLOAD + '-已开船'" ) ;
strSql . Append ( " else case when PORTLOAD_CNT_TIME <> '' and PORTLOAD_CNT_TIME <= GETDATE() then PORTLOAD + '-待开船' end end end end end)" ) ;
strSql . Append ( " END" ) ;
strSql . Append ( " END " ) ;
strSql . Append ( " CUR_PORT,SHENTIME" ) ;
//系统判断业务卡中“生成目的港箱使费”这个按钮有没有点过
strSql . Append ( ",dbo.F_CTNBSCARD_ExistsMDGXSF(b.GID) MDGXSFSTATUS" ) ;
strSql . Append ( ",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF" ) ; //货物名称(含英文简称)
strSql . Append ( ",SERVICE,isnull(NEEDBEHEATED,0)NEEDBEHEATED,AGENTINPUTBY,isnull(EMPTYCTNALLOCATION,0)EMPTYCTNALLOCATION" ) ; //运输条款 是否加热 代理维护人
strSql . Append ( " from op_ctnbscard b " ) ;
if ( ! string . IsNullOrEmpty ( condition ) )
{
strSql . Append ( " where " + condition ) ;
}
var list = SetData ( strSql ) ;
if ( list . Count > 0 )
return list [ 0 ] ;
return new OpCtnBsCard ( ) ;
}
static public List < OpCtnBsCard > GetRptCtnStatusList ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT * FROM (SELECT [GID],[CTNNO],[CTNPROP],[BSNO],SEABSNO,[APPLYNO],[CUSTOMERNAME],[GOODSNAME],[PREGOODSNAME] ,[ETD]" ) ;
strSql . Append ( ",PREETA,[ETA],[AGENTNAME],[CYCLE_DAY],[IS_RETURE_EMPTY],[IS_BOOKING],[I_CUSTNO]" ) ;
strSql . Append ( ",[I_ETD],PREI_ETA,[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN],[I_DESTPORT]" ) ;
strSql . Append ( ",[IS_DB],[D_CUSTNO],[D_ETD],PRED_ETA,[D_ETA],[D_MBLNO],[D_CUSTNAME],[D_CARRIER],[D_CONTRACT],[D_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[D_PORTLOAD],[D_ARRIVALDATE],[D_DEST_CNT_TIME],[D_DEST_RTCNT_TIME],[D_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[D_DESTPORT]" ) ;
strSql . Append ( ",[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL]" ) ;
strSql . Append ( ",[CURSTATOIN],[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOADDATE],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2)) DESTPORT_OVER_DAYS_AMT,[DETAIN_CTN_DAYS],[PRE_CNT_TIME],[AUDITBY]" ) ;
strSql . Append ( ",AUDITSTATUS,[AUDITTIME],[AUDITRESULT],[REMARKS],[INPUTBY],[INPUTTIME],[COMPANYID],PUTCTNAUDITBY,PUTCTNAUDITSTATUS,PUTCTNAUDITTIME,PUTCTNAUDITRESULT" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS,IS_POD_CLEAN,IS_PUTCTN,PUTCTNDATE,INPUTTIME MODIFYTIME,'' MODIFYUSER" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 ISPORTLOADDATE from op_ctnapply where BSNO=b.APPLYNO) as ISPORTLOADDATE" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.PUTCTNAUDITBY) as PUTCTNAUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE CTNNO=b.CTNNO and GID<>b.GID AND PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME ORDER BY PORTLOAD_CNT_TIME ) as NETD" ) ;
strSql . Append ( " ,VCURSTATOIN CUR_PORT,NULL SHENTIME " ) ;
//系统判断业务卡中“生成目的港箱使费”这个按钮有没有点过
strSql . Append ( ",dbo.F_CTNBSCARD_ExistsMDGXSF(b.GID) MDGXSFSTATUS" ) ;
strSql . Append ( ",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF" ) ; //货物名称(含英文简称)
strSql . Append ( ",SERVICE,isnull(NEEDBEHEATED,0)NEEDBEHEATED,AGENTINPUTBY,isnull(EMPTYCTNALLOCATION,0)EMPTYCTNALLOCATION" ) ; //运输条款 是否加热 代理维护人
strSql . Append ( " from v_top_opctnbscard b " ) ;
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strSql . Append ( " where " + strCondition ) ;
}
strSql . Append ( ") AS B " ) ;
var sortstring = DatasetSort . Getsortstring ( sort ) ;
if ( ! string . IsNullOrEmpty ( sortstring ) )
{
sortstring = sortstring . Replace ( "DESTPORT_OVER_DAYS_AMT" , "cast(round(isnull(DESTPORT_OVER_DAYS,0)*isnull(DESTPORT_OVER_DAYS_FEE,0),2) as numeric(20,2))" ) ;
strSql . Append ( " order by " + sortstring ) ;
}
else
{
strSql . Append ( " order by INPUTTIME DESC " ) ;
}
return SetData ( strSql ) ;
}
private static List < OpCtnBsCard > SetData ( StringBuilder strSql )
{
var headList = new List < OpCtnBsCard > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnBsCard data = new OpCtnBsCard ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . CTNNO = Convert . ToString ( reader [ "CTNNO" ] ) ;
data . CTNPROP = Convert . ToString ( reader [ "CTNPROP" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
data . SEABSNO = Convert . ToString ( reader [ "SEABSNO" ] ) ;
data . APPLYNO = Convert . ToString ( reader [ "APPLYNO" ] ) ;
data . CUSTOMERNAME = Convert . ToString ( reader [ "CUSTOMERNAME" ] ) ;
data . GOODSNAME = Convert . ToString ( reader [ "GOODSNAME" ] ) ;
data . GOODSNAMEREF = Convert . ToString ( reader [ "GOODSNAMEREF" ] ) ;
data . PREGOODSNAME = Convert . ToString ( reader [ "PREGOODSNAME" ] ) ;
if ( reader [ "ETD" ] ! = DBNull . Value )
data . ETD = Convert . ToDateTime ( reader [ "ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "ETA" ] ! = DBNull . Value )
data . ETA = Convert . ToDateTime ( reader [ "ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PREETA" ] ! = DBNull . Value )
data . PREETA = Convert . ToDateTime ( reader [ "PREETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . AGENTNAME = Convert . ToString ( reader [ "AGENTNAME" ] ) ;
if ( reader [ "NETD" ] ! = DBNull . Value )
data . NETD = Convert . ToDateTime ( reader [ "NETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "ISPORTLOADDATE" ] ! = DBNull . Value )
data . ISPORTLOADDATE = Convert . ToBoolean ( reader [ "ISPORTLOADDATE" ] ) ;
if ( reader [ "ISCLOSE" ] ! = DBNull . Value )
data . ISCLOSE = Convert . ToBoolean ( reader [ "ISCLOSE" ] ) ;
if ( reader [ "CLOSEDATE" ] ! = DBNull . Value )
data . CLOSEDATE = Convert . ToDateTime ( reader [ "CLOSEDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "IS_PUTCTN" ] ! = DBNull . Value )
data . IS_PUTCTN = Convert . ToBoolean ( reader [ "IS_PUTCTN" ] ) ;
if ( reader [ "PUTCTNDATE" ] ! = DBNull . Value )
data . PUTCTNDATE = Convert . ToDateTime ( reader [ "PUTCTNDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "IS_RETURE_EMPTY" ] ! = DBNull . Value )
data . IS_RETURE_EMPTY = Convert . ToBoolean ( reader [ "IS_RETURE_EMPTY" ] ) ;
if ( reader [ "IS_DB" ] ! = DBNull . Value )
data . IS_DB = Convert . ToBoolean ( reader [ "IS_DB" ] ) ;
if ( reader [ "IS_POD_CLEAN" ] ! = DBNull . Value )
data . IS_POD_CLEAN = Convert . ToBoolean ( reader [ "IS_POD_CLEAN" ] ) ;
if ( reader [ "IS_BOOKING" ] ! = DBNull . Value )
data . IS_BOOKING = Convert . ToBoolean ( reader [ "IS_BOOKING" ] ) ;
data . I_CUSTNO = Convert . ToString ( reader [ "I_CUSTNO" ] ) ;
if ( reader [ "I_ETD" ] ! = DBNull . Value )
data . I_ETD = Convert . ToDateTime ( reader [ "I_ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_ETA" ] ! = DBNull . Value )
data . I_ETA = Convert . ToDateTime ( reader [ "I_ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PREI_ETA" ] ! = DBNull . Value )
data . PREI_ETA = Convert . ToDateTime ( reader [ "PREI_ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_MBLNO = Convert . ToString ( reader [ "I_MBLNO" ] ) ;
data . I_CUSTNAME = Convert . ToString ( reader [ "I_CUSTNAME" ] ) ;
data . I_CARRIER = Convert . ToString ( reader [ "I_CARRIER" ] ) ;
data . I_CONTRACT = Convert . ToString ( reader [ "I_CONTRACT" ] ) ;
if ( reader [ "I_PORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . I_PORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "I_PORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_PORTLOAD = Convert . ToString ( reader [ "I_PORTLOAD" ] ) ;
if ( reader [ "I_ARRIVALDATE" ] ! = DBNull . Value )
data . I_ARRIVALDATE = Convert . ToDateTime ( reader [ "I_ARRIVALDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_DEST_CNT_TIME" ] ! = DBNull . Value )
data . I_DEST_CNT_TIME = Convert . ToDateTime ( reader [ "I_DEST_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_DEST_RTCNT_TIME" ] ! = DBNull . Value )
data . I_DEST_RTCNT_TIME = Convert . ToDateTime ( reader [ "I_DEST_RTCNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_DESTPORT_STATOIN = Convert . ToString ( reader [ "I_DESTPORT_STATOIN" ] ) ;
data . I_DESTPORT = Convert . ToString ( reader [ "I_DESTPORT" ] ) ;
data . D_CUSTNO = Convert . ToString ( reader [ "D_CUSTNO" ] ) ;
if ( reader [ "D_ETD" ] ! = DBNull . Value )
data . D_ETD = Convert . ToDateTime ( reader [ "D_ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "D_ETA" ] ! = DBNull . Value )
data . D_ETA = Convert . ToDateTime ( reader [ "D_ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PRED_ETA" ] ! = DBNull . Value )
data . PRED_ETA = Convert . ToDateTime ( reader [ "PRED_ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . D_MBLNO = Convert . ToString ( reader [ "D_MBLNO" ] ) ;
data . D_CUSTNAME = Convert . ToString ( reader [ "D_CUSTNAME" ] ) ;
data . D_CARRIER = Convert . ToString ( reader [ "D_CARRIER" ] ) ;
data . D_CONTRACT = Convert . ToString ( reader [ "D_CONTRACT" ] ) ;
if ( reader [ "D_PORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . D_PORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "D_PORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . D_PORTLOAD = Convert . ToString ( reader [ "D_PORTLOAD" ] ) ;
if ( reader [ "D_ARRIVALDATE" ] ! = DBNull . Value )
data . D_ARRIVALDATE = Convert . ToDateTime ( reader [ "D_ARRIVALDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "D_DEST_CNT_TIME" ] ! = DBNull . Value )
data . D_DEST_CNT_TIME = Convert . ToDateTime ( reader [ "D_DEST_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "D_DEST_RTCNT_TIME" ] ! = DBNull . Value )
data . D_DEST_RTCNT_TIME = Convert . ToDateTime ( reader [ "D_DEST_RTCNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . D_DESTPORT_STATOIN = Convert . ToString ( reader [ "D_DESTPORT_STATOIN" ] ) ;
data . D_DESTPORT = Convert . ToString ( reader [ "D_DESTPORT" ] ) ;
data . CUSTNO = Convert . ToString ( reader [ "CUSTNO" ] ) ;
data . OP = Convert . ToString ( reader [ "OP" ] ) ;
data . BOOKGOODNAME = Convert . ToString ( reader [ "BOOKGOODNAME" ] ) ;
data . TRUCKNAME = Convert . ToString ( reader [ "TRUCKNAME" ] ) ;
data . TRUCKLINKNAME = Convert . ToString ( reader [ "TRUCKLINKNAME" ] ) ;
data . TRUCKLINKTEL = Convert . ToString ( reader [ "TRUCKLINKTEL" ] ) ;
data . CURSTATOIN = Convert . ToString ( reader [ "CURSTATOIN" ] ) ;
data . LOADADDR = Convert . ToString ( reader [ "LOADADDR" ] ) ;
data . CUSTOMGOODNAME = Convert . ToString ( reader [ "CUSTOMGOODNAME" ] ) ;
data . MBLNO = Convert . ToString ( reader [ "MBLNO" ] ) ;
data . CARRIER = Convert . ToString ( reader [ "CARRIER" ] ) ;
data . PORTLOAD_STATOIN = Convert . ToString ( reader [ "PORTLOAD_STATOIN" ] ) ;
data . LOADFACTORY = Convert . ToString ( reader [ "LOADFACTORY" ] ) ;
data . PORTLOAD = Convert . ToString ( reader [ "PORTLOAD" ] ) ;
if ( reader [ "PORTLOADDATE" ] ! = DBNull . Value )
data . PORTLOADDATE = Convert . ToDateTime ( reader [ "PORTLOADDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . PORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "PORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "NPORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . NPORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "NPORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PORTLOAD_FREE_DAYS" ] ! = DBNull . Value )
data . PORTLOAD_FREE_DAYS = Convert . ToDecimal ( reader [ "PORTLOAD_FREE_DAYS" ] ) ;
if ( reader [ "PORTLOAD_OVER_DAYS" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS" ] ) ;
//起运港超期天数= 开船日-起运港提箱日+1-起运港免箱天数
if ( data . ISPORTLOADDATE = = true )
{
if ( data . PORTLOADDATE ! = "" & & ( data . PORTLOAD_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . PORTLOAD_CNT_TIME ) < DateTime . Now ) ) )
{
//2017-04-12 SR2017041100021
var _days = Convert . ToDateTime ( data . PORTLOADDATE ) - Convert . ToDateTime ( data . PORTLOAD_CNT_TIME ) ;
if ( ( _days . Days + 1 - data . PORTLOAD_FREE_DAYS ) > 0 )
data . PORTLOAD_OVER_DAYS = _days . Days + 1 - data . PORTLOAD_FREE_DAYS ;
else data . PORTLOAD_OVER_DAYS = 0 ;
}
}
else
{
if ( data . ETD ! = "" & & ( data . PORTLOAD_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . ETD ) < DateTime . Now ) ) )
{
var _days = Convert . ToDateTime ( data . ETD ) - Convert . ToDateTime ( data . PORTLOAD_CNT_TIME ) ;
if ( ( _days . Days + 1 - data . PORTLOAD_FREE_DAYS ) > 0 )
data . PORTLOAD_OVER_DAYS = _days . Days + 1 - data . PORTLOAD_FREE_DAYS ;
else data . PORTLOAD_OVER_DAYS = 0 ;
}
}
if ( reader [ "PORTLOAD_OVER_DAYS_FEE" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS_FEE = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS_FEE" ] ) ;
if ( reader [ "PORTLOAD_OVER_DAYS_AMT" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS_AMT = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS_AMT" ] ) ;
data . PORTLOAD_OVER_DAYS_AMT = data . PORTLOAD_OVER_DAYS * data . PORTLOAD_OVER_DAYS_FEE ;
data . DESTPORT = Convert . ToString ( reader [ "DESTPORT" ] ) ;
if ( reader [ "ARRIVALDATE" ] ! = DBNull . Value )
data . ARRIVALDATE = Convert . ToDateTime ( reader [ "ARRIVALDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . DESTAGENTNAME = Convert . ToString ( reader [ "DESTAGENTNAME" ] ) ;
if ( reader [ "DEST_CNT_TIME" ] ! = DBNull . Value )
data . DEST_CNT_TIME = Convert . ToDateTime ( reader [ "DEST_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "DEST_RTCNT_TIME" ] ! = DBNull . Value )
data . DEST_RTCNT_TIME = Convert . ToDateTime ( reader [ "DEST_RTCNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . DESTPORT_STATOIN = Convert . ToString ( reader [ "DESTPORT_STATOIN" ] ) ;
if ( reader [ "DESTPORT_FREE_DAYS" ] ! = DBNull . Value )
data . DESTPORT_FREE_DAYS = Convert . ToDecimal ( reader [ "DESTPORT_FREE_DAYS" ] ) ;
//if (reader["DESTPORT_OVER_DAYS"] != DBNull.Value)
//data.DESTPORT_OVER_DAYS = Convert.ToDecimal(reader["DESTPORT_OVER_DAYS"]);
if ( reader [ "DESTPORT_OVER_DAYS_FEE" ] ! = DBNull . Value )
data . DESTPORT_OVER_DAYS_FEE = Convert . ToDecimal ( reader [ "DESTPORT_OVER_DAYS_FEE" ] ) ;
//目的港超期天数= 目的港提箱日期-到港日期+1-免箱天数
if ( data . DEST_RTCNT_TIME ! = "" & & ( data . ETA ! = "" & & ( Convert . ToDateTime ( data . ETA ) < DateTime . Now ) ) )
{
var _days = Convert . ToDateTime ( data . DEST_RTCNT_TIME ) - Convert . ToDateTime ( data . ETA ) ;
if ( ( _days . Days + 1 - data . DESTPORT_FREE_DAYS ) > 0 )
data . DESTPORT_OVER_DAYS = _days . Days + 1 - data . DESTPORT_FREE_DAYS ;
else data . DESTPORT_OVER_DAYS = 0 ;
}
else if ( data . DEST_RTCNT_TIME = = "" & & ( data . ETA ! = "" & & ( Convert . ToDateTime ( data . ETA ) < DateTime . Now ) ) )
{
var _days = Convert . ToDateTime ( DateTime . Now . ToString ( "yyyy-MM-dd" ) ) - Convert . ToDateTime ( data . ETA ) ;
if ( ( _days . Days + 1 - data . DESTPORT_FREE_DAYS ) > 0 )
data . DESTPORT_OVER_DAYS = _days . Days + 1 - data . DESTPORT_FREE_DAYS ;
else data . DESTPORT_OVER_DAYS = 0 ;
}
// if (reader["DESTPORT_OVER_DAYS_AMT"] != DBNull.Value)
// data.DESTPORT_OVER_DAYS_AMT = Convert.ToDecimal(reader["DESTPORT_OVER_DAYS_AMT"]);
data . DESTPORT_OVER_DAYS_AMT = data . DESTPORT_OVER_DAYS * data . DESTPORT_OVER_DAYS_FEE ;
if ( reader [ "DETAIN_CTN_DAYS" ] ! = DBNull . Value )
data . DETAIN_CTN_DAYS = Convert . ToDecimal ( reader [ "DETAIN_CTN_DAYS" ] ) ;
if ( reader [ "PRE_CNT_TIME" ] ! = DBNull . Value )
data . PRE_CNT_TIME = Convert . ToDateTime ( reader [ "PRE_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
data . INPUTBYREF = Convert . ToString ( reader [ "INPUTBYREF" ] ) ;
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" ) ;
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" ) ;
if ( reader [ "SHENTIME" ] ! = DBNull . Value )
data . SHENTIME = Convert . ToDateTime ( reader [ "SHENTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
data . AUDITRESULT = Convert . ToString ( reader [ "AUDITRESULT" ] ) ;
data . PUTCTNAUDITSTATUS = Convert . ToString ( reader [ "PUTCTNAUDITSTATUS" ] ) ;
data . PUTCTNAUDITBY = Convert . ToString ( reader [ "PUTCTNAUDITBY" ] ) ;
data . PUTCTNAUDITBYREF = Convert . ToString ( reader [ "PUTCTNAUDITBYREF" ] ) ;
if ( reader [ "PUTCTNAUDITTIME" ] ! = DBNull . Value )
data . PUTCTNAUDITTIME = Convert . ToDateTime ( reader [ "PUTCTNAUDITTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
data . PUTCTNAUDITRESULT = Convert . ToString ( reader [ "PUTCTNAUDITRESULT" ] ) ;
data . COMPANYID = Convert . ToString ( reader [ "COMPANYID" ] ) ;
data . REPAIRSTATUS = Convert . ToString ( reader [ "REPAIRSTATUS" ] ) ;
data . CLEARINGSTATUS = Convert . ToString ( reader [ "CLEARINGSTATUS" ] ) ;
data . CUR_PORT = Convert . ToString ( reader [ "CUR_PORT" ] ) ;
if ( data . IS_DB = = true )
{
if ( data . D_DEST_RTCNT_TIME ! = "" & & ( Convert . ToDateTime ( data . D_DEST_RTCNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "已还箱-闲置";
data . CUR_DATE = data . D_DEST_RTCNT_TIME ;
if ( data . NPORTLOAD_CNT_TIME ! = "" )
data . DETAIN_CTN_DAYS = DateDiff ( data . D_DEST_RTCNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else
data . DETAIN_CTN_DAYS = DateDiff ( data . D_DEST_RTCNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
else if ( data . D_DEST_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . D_DEST_CNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "-待还箱";
data . CUR_DATE = data . D_DEST_CNT_TIME ;
}
else if ( data . D_ETA ! = "" & & ( Convert . ToDateTime ( data . D_ETA ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "-待提货";
data . CUR_DATE = data . D_ETA ;
}
else if ( data . D_ETD ! = "" & & ( Convert . ToDateTime ( data . D_ETD ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_PORTLOAD + "-" + data.I_DESTPORT;
data . CUR_DATE = data . D_ETD ;
}
else if ( data . D_PORTLOAD_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . D_PORTLOAD_CNT_TIME ) < DateTime . Now ) )
{
data . CUR_PORT = data . D_PORTLOAD + "-待开船" ;
data . CUR_DATE = data . D_PORTLOAD_CNT_TIME ;
}
else
{
// data.CUR_PORT = data.I_PORTLOAD + "-待装货";
data . CUR_DATE = DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
}
}
else
{
if ( data . IS_RETURE_EMPTY = = true )
{
if ( data . I_DEST_RTCNT_TIME ! = "" & & ( Convert . ToDateTime ( data . I_DEST_RTCNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "已还箱-闲置";
data . CUR_DATE = data . I_DEST_RTCNT_TIME ;
if ( data . NPORTLOAD_CNT_TIME ! = "" )
data . DETAIN_CTN_DAYS = DateDiff ( data . I_DEST_RTCNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else
data . DETAIN_CTN_DAYS = DateDiff ( data . I_DEST_RTCNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
else if ( data . I_DEST_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . I_DEST_CNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "-待还箱";
data . CUR_DATE = data . I_DEST_CNT_TIME ;
}
else if ( data . I_ETA ! = "" & & ( Convert . ToDateTime ( data . I_ETA ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_DESTPORT + "-待提货";
data . CUR_DATE = data . I_ETA ;
}
else if ( data . I_ETD ! = "" & & ( Convert . ToDateTime ( data . I_ETD ) < DateTime . Now ) )
{
// data.CUR_PORT = data.I_PORTLOAD + "-" + data.I_DESTPORT;
data . CUR_DATE = data . I_ETD ;
}
else if ( data . I_PORTLOAD_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . I_PORTLOAD_CNT_TIME ) < DateTime . Now ) )
{
data . CUR_PORT = data . I_PORTLOAD + "-待开船" ;
data . CUR_DATE = data . I_PORTLOAD_CNT_TIME ;
}
else
{
// data.CUR_PORT = data.I_PORTLOAD + "-待装货";
data . CUR_DATE = DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
}
}
else
{
if ( data . DEST_RTCNT_TIME ! = "" & & ( Convert . ToDateTime ( data . DEST_RTCNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.DESTPORT + "已还箱-闲置";
data . CUR_DATE = data . DEST_RTCNT_TIME ;
if ( data . NPORTLOAD_CNT_TIME ! = "" )
data . DETAIN_CTN_DAYS = DateDiff ( data . DEST_RTCNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else
data . DETAIN_CTN_DAYS = DateDiff ( data . DEST_RTCNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
else if ( data . DEST_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . DEST_CNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.DESTPORT + "-待还箱";
data . CUR_DATE = data . DEST_CNT_TIME ;
}
else if ( data . ETA ! = "" & & ( Convert . ToDateTime ( data . ETA ) < DateTime . Now ) )
{
// data.CUR_PORT = data.DESTPORT + "-待提货";
data . CUR_DATE = data . ETA ;
}
else if ( data . ETD ! = "" & & ( Convert . ToDateTime ( data . ETD ) < DateTime . Now ) )
{
// data.CUR_PORT = data.PORTLOAD + "-" + data.DESTPORT;
data . CUR_DATE = data . ETD ;
}
else if ( data . PORTLOAD_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . PORTLOAD_CNT_TIME ) < DateTime . Now ) )
{
// data.CUR_PORT = data.PORTLOAD + "-待开船";
data . CUR_DATE = data . PORTLOAD_CNT_TIME ;
}
else
{
// data.CUR_PORT = data.PORTLOAD + "-待装货";
data . CUR_DATE = DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
}
}
}
if ( data . ETD ! = "" & & data . NETD ! = "" )
data . CYCLE_DAY = DateDiff ( data . ETD , data . NETD ) ;
else if ( data . ETD ! = "" )
data . CYCLE_DAY = DateDiff ( data . ETD , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
data . MDGXSFSTATUS = Convert . ToString ( reader [ "MDGXSFSTATUS" ] ) ; //是否产生了目的港箱使费
if ( data . MDGXSFSTATUS = = "" ) {
if ( ( data . DEST_RTCNT_TIME ! = "" ) & & ( data . DESTPORT_OVER_DAYS_AMT ! = 0 ) )
data . MDGXSFSTATUS = "已还箱,未生成" ;
if ( ( data . DEST_RTCNT_TIME = = "" ) & & ( data . DESTPORT_OVER_DAYS_AMT ! = 0 ) )
data . MDGXSFSTATUS = "未还箱,未生成" ;
}
data . SERVICE = Convert . ToString ( reader [ "SERVICE" ] ) ; //运输条款
data . NEEDBEHEATED = Convert . ToBoolean ( reader [ "NEEDBEHEATED" ] ) ; //是否加热
data . AGENTINPUTBY = Convert . ToString ( reader [ "AGENTINPUTBY" ] ) ; //代理维护人
data . EMPTYCTNALLOCATION = Convert . ToBoolean ( reader [ "EMPTYCTNALLOCATION" ] ) ; //空箱调拨
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
static public List < OpCtnBsCard > GetDataFeeList ( string strCondition , string datetype , string companyid , string userid , string sort = null )
{
var rangstr = GetRangDAStr ( "" , userid , userid , companyid ) ;
if ( ! string . IsNullOrEmpty ( rangstr ) )
{
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strCondition = strCondition + " and " + rangstr ;
}
else
{
strCondition = rangstr ;
}
}
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT B.GID,B.CTNNO,t.CTNPROP,B.[BSNO],[APPLYNO],[CUSTOMERNAME],[GOODSNAME],[PREGOODSNAME] ,[ETD]" ) ;
strSql . Append ( ",[ETA],[AGENTNAME],[CUR_PORT],[CYCLE_DAY],[IS_RETURE_EMPTY],[IS_BOOKING],[I_CUSTNO]" ) ;
strSql . Append ( ",[I_ETD],[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[I_DESTPORT],[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL]" ) ;
strSql . Append ( ",B.CURSTATOIN,[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],[DESTPORT_OVER_DAYS_AMT],[DETAIN_CTN_DAYS],[PRE_CNT_TIME],B.AUDITBY" ) ;
strSql . Append ( ",B.AUDITSTATUS,B.AUDITTIME,B.AUDITRESULT,B.REMARKS,B.INPUTBY,B.INPUTTIME,B.COMPANYID" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE PORTLOAD_CNT_TIME IS NOT NULL AND CTNNO=b.CTNNO and GID<>b.GID AND (PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME or ETD>b.ETD) ORDER BY PORTLOAD_CNT_TIME ) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE ETD IS NOT NULL AND CTNNO=b.CTNNO and GID<>b.GID AND (ETD>b.ETD or PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME) ORDER BY ETD ) as NETD" ) ;
strSql . Append ( ",G.RMBDR,G.RMBCR,G.USDDR,G.USDCR,G.XSFUSDDR,G.OTUSDDR,G.XSFRMBDR,G.OTRMBDR,G.GXFUSDDR,G.HDFRMBDR,t.CTNRENT " ) ;
strSql . Append ( " from v_op_ctnbscard b " ) ;
strSql . Append ( "LEFT JOIN v_opctn_gain_sum G ON (G.BSNO=B.GID) " ) ;
strSql . Append ( "LEFT JOIN code_ctntk t ON (t.CTNNO=B.CTNNO) " ) ;
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 B.INPUTTIME DESC " ) ;
}
return SetFeeData ( strSql , datetype ) ;
}
static public string GetDataFeeListStr ( string strCondition , string datetype , string companyid , string userid , string sort = null )
{
var rangstr = GetRangDAStr ( "" , userid , userid , companyid ) ;
if ( ! string . IsNullOrEmpty ( rangstr ) )
{
if ( ! string . IsNullOrEmpty ( strCondition ) )
{
strCondition = strCondition + " and " + rangstr ;
}
else
{
strCondition = rangstr ;
}
}
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT B.GID,B.CTNNO,t.CTNPROP,B.[BSNO],[APPLYNO],[CUSTOMERNAME],[GOODSNAME],[PREGOODSNAME] ,[ETD]" ) ;
strSql . Append ( ",[ETA],[AGENTNAME],[CUR_PORT],[CYCLE_DAY],[IS_RETURE_EMPTY],[IS_BOOKING],[I_CUSTNO]" ) ;
strSql . Append ( ",[I_ETD],[I_ETA],[I_MBLNO],[I_CUSTNAME],[I_CARRIER],[I_CONTRACT],[I_PORTLOAD_CNT_TIME]" ) ;
strSql . Append ( ",[I_PORTLOAD],[I_ARRIVALDATE],[I_DEST_CNT_TIME],[I_DEST_RTCNT_TIME],[I_DESTPORT_STATOIN]" ) ;
strSql . Append ( ",[I_DESTPORT],[CUSTNO],[OP],[BOOKGOODNAME],[TRUCKNAME],[TRUCKLINKNAME],[TRUCKLINKTEL]" ) ;
strSql . Append ( ",B.CURSTATOIN,[LOADADDR],[CUSTOMGOODNAME],[MBLNO],[CARRIER],[PORTLOAD_STATOIN]" ) ;
strSql . Append ( ",[PORTLOAD_CNT_TIME],[LOADFACTORY],[PORTLOAD],[PORTLOAD_FREE_DAYS],[PORTLOAD_OVER_DAYS]" ) ;
strSql . Append ( ",[PORTLOAD_OVER_DAYS_FEE],[PORTLOAD_OVER_DAYS_AMT],[DESTPORT],[ARRIVALDATE],[DESTAGENTNAME]" ) ;
strSql . Append ( ",[DEST_CNT_TIME],[DEST_RTCNT_TIME],[DESTPORT_STATOIN],[DESTPORT_FREE_DAYS],[DESTPORT_OVER_DAYS]" ) ;
strSql . Append ( ",[DESTPORT_OVER_DAYS_FEE],[DESTPORT_OVER_DAYS_AMT],[DETAIN_CTN_DAYS],[PRE_CNT_TIME],B.AUDITBY" ) ;
strSql . Append ( ",B.AUDITSTATUS,B.AUDITTIME,B.AUDITRESULT,B.REMARKS,B.INPUTBY,B.INPUTTIME,B.COMPANYID" ) ;
strSql . Append ( ",ISCLOSE,CLOSEDATE,REPAIRSTATUS,CLEARINGSTATUS" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF" ) ;
strSql . Append ( ",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF" ) ;
strSql . Append ( ",(select TOP 1 PORTLOAD_CNT_TIME FROM op_ctnbscard WHERE PORTLOAD_CNT_TIME IS NOT NULL AND CTNNO=b.CTNNO and GID<>b.GID AND (PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME or ETD>b.ETD) ORDER BY PORTLOAD_CNT_TIME ) as NPORTLOAD_CNT_TIME" ) ;
strSql . Append ( ",(select TOP 1 ETD FROM op_ctnbscard WHERE ETD IS NOT NULL AND CTNNO=b.CTNNO and GID<>b.GID AND (ETD>b.ETD or PORTLOAD_CNT_TIME>b.PORTLOAD_CNT_TIME) ORDER BY ETD ) as NETD" ) ;
strSql . Append ( ",G.RMBDR,G.RMBCR,G.USDDR,G.USDCR,G.XSFUSDDR,G.OTUSDDR,G.XSFRMBDR,G.OTRMBDR,G.GXFUSDDR,G.HDFRMBDR,t.CTNRENT " ) ;
strSql . Append ( " from v_op_ctnbscard b " ) ;
strSql . Append ( "LEFT JOIN v_opctn_gain_sum G ON (G.BSNO=B.GID) " ) ;
strSql . Append ( "LEFT JOIN code_ctntk t ON (t.CTNNO=B.CTNNO) " ) ;
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 B.INPUTTIME DESC " ) ;
}
return strSql . ToString ( ) ;
}
private static List < OpCtnBsCard > SetFeeData ( StringBuilder strSql , string datetype )
{
var headList = new List < OpCtnBsCard > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnBsCard data = new OpCtnBsCard ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . CTNNO = Convert . ToString ( reader [ "CTNNO" ] ) ;
data . CTNPROP = Convert . ToString ( reader [ "CTNPROP" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
data . APPLYNO = Convert . ToString ( reader [ "APPLYNO" ] ) ;
data . CUSTOMERNAME = Convert . ToString ( reader [ "CUSTOMERNAME" ] ) ;
data . GOODSNAME = Convert . ToString ( reader [ "GOODSNAME" ] ) ;
data . PREGOODSNAME = Convert . ToString ( reader [ "PREGOODSNAME" ] ) ;
if ( reader [ "ETD" ] ! = DBNull . Value )
data . ETD = Convert . ToDateTime ( reader [ "ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "ETA" ] ! = DBNull . Value )
data . ETA = Convert . ToDateTime ( reader [ "ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . AGENTNAME = Convert . ToString ( reader [ "AGENTNAME" ] ) ;
if ( reader [ "NETD" ] ! = DBNull . Value )
data . NETD = Convert . ToDateTime ( reader [ "NETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "ISCLOSE" ] ! = DBNull . Value )
data . ISCLOSE = Convert . ToBoolean ( reader [ "ISCLOSE" ] ) ;
if ( reader [ "CLOSEDATE" ] ! = DBNull . Value )
data . CLOSEDATE = Convert . ToDateTime ( reader [ "CLOSEDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "IS_RETURE_EMPTY" ] ! = DBNull . Value )
data . IS_RETURE_EMPTY = Convert . ToBoolean ( reader [ "IS_RETURE_EMPTY" ] ) ;
if ( reader [ "IS_BOOKING" ] ! = DBNull . Value )
data . IS_BOOKING = Convert . ToBoolean ( reader [ "IS_BOOKING" ] ) ;
data . I_CUSTNO = Convert . ToString ( reader [ "I_CUSTNO" ] ) ;
if ( reader [ "I_ETD" ] ! = DBNull . Value )
data . I_ETD = Convert . ToDateTime ( reader [ "I_ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_ETA" ] ! = DBNull . Value )
data . I_ETA = Convert . ToDateTime ( reader [ "I_ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_MBLNO = Convert . ToString ( reader [ "I_MBLNO" ] ) ;
data . I_CUSTNAME = Convert . ToString ( reader [ "I_CUSTNAME" ] ) ;
data . I_CARRIER = Convert . ToString ( reader [ "I_CARRIER" ] ) ;
data . I_CONTRACT = Convert . ToString ( reader [ "I_CONTRACT" ] ) ;
if ( reader [ "I_PORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . I_PORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "I_PORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_PORTLOAD = Convert . ToString ( reader [ "I_PORTLOAD" ] ) ;
if ( reader [ "I_ARRIVALDATE" ] ! = DBNull . Value )
data . I_ARRIVALDATE = Convert . ToDateTime ( reader [ "I_ARRIVALDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_DEST_CNT_TIME" ] ! = DBNull . Value )
data . I_DEST_CNT_TIME = Convert . ToDateTime ( reader [ "I_DEST_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "I_DEST_RTCNT_TIME" ] ! = DBNull . Value )
data . I_DEST_RTCNT_TIME = Convert . ToDateTime ( reader [ "I_DEST_RTCNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . I_DESTPORT_STATOIN = Convert . ToString ( reader [ "I_DESTPORT_STATOIN" ] ) ;
data . I_DESTPORT = Convert . ToString ( reader [ "I_DESTPORT" ] ) ;
data . CUSTNO = Convert . ToString ( reader [ "CUSTNO" ] ) ;
data . OP = Convert . ToString ( reader [ "OP" ] ) ;
data . BOOKGOODNAME = Convert . ToString ( reader [ "BOOKGOODNAME" ] ) ;
data . TRUCKNAME = Convert . ToString ( reader [ "TRUCKNAME" ] ) ;
data . TRUCKLINKNAME = Convert . ToString ( reader [ "TRUCKLINKNAME" ] ) ;
data . TRUCKLINKTEL = Convert . ToString ( reader [ "TRUCKLINKTEL" ] ) ;
data . CURSTATOIN = Convert . ToString ( reader [ "CURSTATOIN" ] ) ;
data . LOADADDR = Convert . ToString ( reader [ "LOADADDR" ] ) ;
data . CUSTOMGOODNAME = Convert . ToString ( reader [ "CUSTOMGOODNAME" ] ) ;
data . MBLNO = Convert . ToString ( reader [ "MBLNO" ] ) ;
data . CARRIER = Convert . ToString ( reader [ "CARRIER" ] ) ;
data . PORTLOAD_STATOIN = Convert . ToString ( reader [ "PORTLOAD_STATOIN" ] ) ;
data . LOADFACTORY = Convert . ToString ( reader [ "LOADFACTORY" ] ) ;
data . PORTLOAD = Convert . ToString ( reader [ "PORTLOAD" ] ) ;
if ( reader [ "PORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . PORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "PORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "NPORTLOAD_CNT_TIME" ] ! = DBNull . Value )
data . NPORTLOAD_CNT_TIME = Convert . ToDateTime ( reader [ "NPORTLOAD_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "PORTLOAD_FREE_DAYS" ] ! = DBNull . Value )
data . PORTLOAD_FREE_DAYS = Convert . ToDecimal ( reader [ "PORTLOAD_FREE_DAYS" ] ) ;
if ( reader [ "PORTLOAD_OVER_DAYS" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS" ] ) ;
if ( reader [ "PORTLOAD_OVER_DAYS_FEE" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS_FEE = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS_FEE" ] ) ;
if ( reader [ "PORTLOAD_OVER_DAYS_AMT" ] ! = DBNull . Value )
data . PORTLOAD_OVER_DAYS_AMT = Convert . ToDecimal ( reader [ "PORTLOAD_OVER_DAYS_AMT" ] ) ;
data . DESTPORT = Convert . ToString ( reader [ "DESTPORT" ] ) ;
if ( reader [ "ARRIVALDATE" ] ! = DBNull . Value )
data . ARRIVALDATE = Convert . ToDateTime ( reader [ "ARRIVALDATE" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . DESTAGENTNAME = Convert . ToString ( reader [ "DESTAGENTNAME" ] ) ;
if ( reader [ "DEST_CNT_TIME" ] ! = DBNull . Value )
data . DEST_CNT_TIME = Convert . ToDateTime ( reader [ "DEST_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "DEST_RTCNT_TIME" ] ! = DBNull . Value )
data . DEST_RTCNT_TIME = Convert . ToDateTime ( reader [ "DEST_RTCNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . DESTPORT_STATOIN = Convert . ToString ( reader [ "DESTPORT_STATOIN" ] ) ;
if ( reader [ "DESTPORT_FREE_DAYS" ] ! = DBNull . Value )
data . DESTPORT_FREE_DAYS = Convert . ToDecimal ( reader [ "DESTPORT_FREE_DAYS" ] ) ;
if ( reader [ "DESTPORT_OVER_DAYS" ] ! = DBNull . Value )
data . DESTPORT_OVER_DAYS = Convert . ToDecimal ( reader [ "DESTPORT_OVER_DAYS" ] ) ;
if ( reader [ "DESTPORT_OVER_DAYS_FEE" ] ! = DBNull . Value )
data . DESTPORT_OVER_DAYS_FEE = Convert . ToDecimal ( reader [ "DESTPORT_OVER_DAYS_FEE" ] ) ;
if ( reader [ "DESTPORT_OVER_DAYS_AMT" ] ! = DBNull . Value )
data . DESTPORT_OVER_DAYS_AMT = Convert . ToDecimal ( reader [ "DESTPORT_OVER_DAYS_AMT" ] ) ;
if ( reader [ "DETAIN_CTN_DAYS" ] ! = DBNull . Value )
data . DETAIN_CTN_DAYS = Convert . ToDecimal ( reader [ "DETAIN_CTN_DAYS" ] ) ;
if ( reader [ "PRE_CNT_TIME" ] ! = DBNull . Value )
data . PRE_CNT_TIME = Convert . ToDateTime ( reader [ "PRE_CNT_TIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
var usdexrate = GetUsdExrate ( data . PORTLOAD_CNT_TIME , "USD" ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
data . INPUTBYREF = Convert . ToString ( reader [ "INPUTBYREF" ] ) ;
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
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" ] ) ;
data . COMPANYID = Convert . ToString ( reader [ "COMPANYID" ] ) ;
data . REPAIRSTATUS = Convert . ToString ( reader [ "REPAIRSTATUS" ] ) ;
data . CLEARINGSTATUS = Convert . ToString ( reader [ "CLEARINGSTATUS" ] ) ;
if ( data . PORTLOAD_CNT_TIME = = "" )
{
data . CUR_PORT = data . PORTLOAD + "-待装货" ;
data . CUR_DATE = DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
}
else if ( data . ETD = = "" | | ( data . ETD ! = "" & & ( Convert . ToDateTime ( data . ETD ) > DateTime . Now ) ) )
{
data . CUR_PORT = data . PORTLOAD + "-待开船" ;
data . CUR_DATE = data . PORTLOAD_CNT_TIME ;
}
else if ( data . ETA = = "" | | ( data . ETA ! = "" & & ( Convert . ToDateTime ( data . ETA ) > DateTime . Now ) ) )
{
data . CUR_PORT = data . PORTLOAD + "-" + data . DESTPORT ;
data . CUR_DATE = data . ETD ;
}
else if ( data . DEST_CNT_TIME = = "" | | ( data . DEST_CNT_TIME ! = "" & & ( Convert . ToDateTime ( data . DEST_CNT_TIME ) > DateTime . Now ) ) )
{
data . CUR_PORT = data . DESTPORT + "-待提货" ;
data . CUR_DATE = data . ETA ;
}
else if ( data . DEST_RTCNT_TIME = = "" | | ( data . DEST_RTCNT_TIME ! = "" & & ( Convert . ToDateTime ( data . DEST_RTCNT_TIME ) > DateTime . Now ) ) )
{
data . CUR_PORT = data . DESTPORT + "-待还箱" ;
data . CUR_DATE = data . DEST_CNT_TIME ;
}
else
{
data . CUR_PORT = data . DESTPORT + "已还箱-闲置" ;
data . CUR_DATE = data . DEST_RTCNT_TIME ;
}
if ( datetype = = "CNT" )
{
if ( data . PORTLOAD_CNT_TIME ! = "" & & data . NPORTLOAD_CNT_TIME ! = "" )
data . CYCLE_DAY = DateDiff ( data . PORTLOAD_CNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else if ( data . PORTLOAD_CNT_TIME ! = "" )
data . CYCLE_DAY = DateDiff ( data . PORTLOAD_CNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
else
{
if ( data . ETD ! = "" & & data . NETD ! = "" )
data . CYCLE_DAY = DateDiff ( data . ETD , data . NETD ) ;
else if ( data . ETD ! = "" )
data . CYCLE_DAY = DateDiff ( data . ETD , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
if ( data . IS_RETURE_EMPTY )
{
data . LINES = data . PORTLOAD + "-" + data . DESTPORT + "-" + data . I_DESTPORT ;
data . RTCNT_TIME = data . I_DEST_RTCNT_TIME ;
if ( data . NPORTLOAD_CNT_TIME ! = "" & & data . I_DEST_RTCNT_TIME ! = "" )
data . CYCLE_CNTDAY = DateDiff ( data . I_DEST_RTCNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else if ( data . NPORTLOAD_CNT_TIME = = "" & & data . I_DEST_RTCNT_TIME ! = "" )
data . CYCLE_CNTDAY = DateDiff ( data . I_DEST_RTCNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
else {
data . RTCNT_TIME = data . DEST_RTCNT_TIME ;
data . LINES = data . PORTLOAD + "-" + data . DESTPORT ;
if ( data . NPORTLOAD_CNT_TIME ! = "" & & data . DEST_RTCNT_TIME ! = "" )
data . CYCLE_CNTDAY = DateDiff ( data . DEST_RTCNT_TIME , data . NPORTLOAD_CNT_TIME ) ;
else if ( data . NPORTLOAD_CNT_TIME = = "" & & data . DEST_RTCNT_TIME ! = "" )
data . CYCLE_CNTDAY = DateDiff ( data . DEST_RTCNT_TIME , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
}
if ( reader [ "RMBDR" ] ! = DBNull . Value )
data . RMBDR = Convert . ToDecimal ( reader [ "RMBDR" ] ) ;
if ( reader [ "RMBCR" ] ! = DBNull . Value )
data . RMBCR = Convert . ToDecimal ( reader [ "RMBCR" ] ) ;
if ( reader [ "USDDR" ] ! = DBNull . Value )
data . USDDR = Convert . ToDecimal ( reader [ "USDDR" ] ) ;
if ( reader [ "USDCR" ] ! = DBNull . Value )
data . USDCR = Convert . ToDecimal ( reader [ "USDCR" ] ) ;
if ( reader [ "XSFUSDDR" ] ! = DBNull . Value )
data . XSFUSDDR = Convert . ToDecimal ( reader [ "XSFUSDDR" ] ) ;
if ( reader [ "OTUSDDR" ] ! = DBNull . Value )
data . OTUSDDR = Convert . ToDecimal ( reader [ "OTUSDDR" ] ) ;
if ( reader [ "XSFRMBDR" ] ! = DBNull . Value )
data . XSFRMBDR = Convert . ToDecimal ( reader [ "XSFRMBDR" ] ) ;
if ( reader [ "HDFRMBDR" ] ! = DBNull . Value )
data . HDFDR = Convert . ToDecimal ( reader [ "HDFRMBDR" ] ) ;
if ( reader [ "GXFUSDDR" ] ! = DBNull . Value )
data . GXFUSDDR = Convert . ToDecimal ( reader [ "GXFUSDDR" ] ) ;
if ( reader [ "OTRMBDR" ] ! = DBNull . Value )
data . OTRMBDR = Convert . ToDecimal ( reader [ "OTRMBDR" ] ) ;
data . HDFDR = Math . Round ( data . HDFDR / usdexrate , 2 ) ;
data . XSFDRTTLINUSD = Math . Round ( data . XSFRMBDR / usdexrate + data . XSFUSDDR , 2 ) ;
data . OTDRTTLINUSD = Math . Round ( data . OTRMBDR / usdexrate + data . OTUSDDR , 2 ) ;
data . TTLDRINUSD = Math . Round ( data . RMBDR / usdexrate + data . USDDR , 2 ) ; ;
data . TTLCRINUSD = Math . Round ( data . RMBCR / usdexrate + data . USDCR , 2 ) ;
data . PROFITINUSD = data . TTLDRINUSD - data . TTLCRINUSD ;
if ( data . CYCLE_DAY ! = 0 ) data . DAYPROFITINUSD = data . PROFITINUSD / data . CYCLE_DAY ;
data . CTNRENT = Convert . ToString ( reader [ "CTNRENT" ] ) ;
if ( data . CTNRENT = = "" ) data . CTNRENT = "0" ;
data . RENTPROFITINUSD = Convert . ToDecimal ( data . CTNRENT ) * data . CYCLE_DAY ;
data . OPPROFITINUSD = data . PROFITINUSD - data . RENTPROFITINUSD ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
#region 东胜6数据
static public List < OpCtnBsCard > GetBsList ( string bsno )
{
var strSql = new StringBuilder ( ) ;
//strSql.Append("SELECT 编号 GID,业务编号 BSNO,委托单位 CUSTOMERNAME,委托编号 CUSTNO,开船日期 ETD,预抵日期 ETA ,主提单号 MBLNO ,代理 AGENTNAME");
//strSql.Append(",装货港 PORTLOAD ,卸货港 DESTPORT, 保险单号 APPLYNO");
//strSql.Append(" from V_op_bscard_All where 保险单号 like '%" + bsno.Substring(0,13) + "%'");
strSql . Append ( "SELECT BSNO GID,BSNO,CUSTOMERNAME,CUSTNO,ETD,ETA ,MBLNO ,AGENTID AGENTNAME" ) ;
strSql . Append ( ",PORTLOAD ,PORTDISCHARGE DESTPORT,APPLYNO" ) ;
strSql . Append ( " from op_seae where APPLYNO like '%" + bsno + "%'" ) ;
strSql . Append ( " union " ) ;
strSql . Append ( "SELECT BSNO GID,BSNO,CUSTOMERNAME,CUSTNO,ETA ETD,ETD ETA ,MBLNO,AGENTID AGENTNAME" ) ;
strSql . Append ( ",PORTLOAD ,PORTDISCHARGE DESTPORT,APPLYNO" ) ;
strSql . Append ( " from op_seai where APPLYNO like '%" + bsno + "%'" ) ;
return SetBSData ( strSql ) ;
}
private static List < OpCtnBsCard > SetBSData ( StringBuilder strSql )
{
var headList = new List < OpCtnBsCard > ( ) ;
// Database db = DatabaseFactory.CreateDatabase("DONGSHENG6");
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnBsCard data = new OpCtnBsCard ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
data . CUSTOMERNAME = Convert . ToString ( reader [ "CUSTOMERNAME" ] ) ;
data . CUSTNO = Convert . ToString ( reader [ "CUSTNO" ] ) ;
data . APPLYNO = Convert . ToString ( reader [ "APPLYNO" ] ) ;
if ( reader [ "ETD" ] ! = DBNull . Value )
data . ETD = Convert . ToDateTime ( reader [ "ETD" ] ) . ToString ( "yyyy-MM-dd" ) ;
if ( reader [ "ETA" ] ! = DBNull . Value )
data . ETA = Convert . ToDateTime ( reader [ "ETA" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . AGENTNAME = Convert . ToString ( reader [ "AGENTNAME" ] ) ;
data . MBLNO = Convert . ToString ( reader [ "MBLNO" ] ) ;
data . AGENTNAME = Convert . ToString ( reader [ "AGENTNAME" ] ) ;
data . PORTLOAD = Convert . ToString ( reader [ "PORTLOAD" ] ) ;
data . DESTPORT = Convert . ToString ( reader [ "DESTPORT" ] ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
# endregion
public static decimal GetUsdExrate ( string currdate , string curr )
{
decimal result = - 1 ;
if ( currdate = = "" )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "Select CODENAME,DEFAULTRATE " ) ;
strSql . Append ( " from code_currency where CODENAME='USD'" ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
result = Convert . ToDecimal ( reader [ "DEFAULTRATE" ] ) ;
}
reader . Close ( ) ;
}
}
else
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "Select CURRENCYID,VALUE " ) ;
strSql . Append ( " from currency_exchange " ) ;
strSql . Append ( " left join code_currency c on (c.GID=currency_exchange.CURRENCYID) " ) ;
strSql . Append ( " where c.CODENAME='" + curr + "' and STARTTIME<='" + currdate + "' and ENDTIME>='" + currdate + "'" ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
result = Convert . ToDecimal ( reader [ "VALUE" ] ) ;
}
reader . Close ( ) ;
}
if ( result = = - 1 )
{
var strSql2 = new StringBuilder ( ) ;
strSql2 . Append ( "Select CODENAME,DEFAULTRATE " ) ;
strSql2 . Append ( " from code_currency where CODENAME='USD'" ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql2 . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
result = Convert . ToDecimal ( reader [ "DEFAULTRATE" ] ) ;
}
reader . Close ( ) ;
}
}
}
return result ;
}
public static DBResult DeleteOpCtnBsCard ( List < OpCtnBsCard > headData )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdDelete = db . GetSqlStringCommand ( "delete from op_ctnbscard where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdDelete , tran ) ;
UpOpCtnApplyCtnItems ( enumValue . CTNNO , enumValue . APPLYNO ) ;
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
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 isnull(WMSOUTBSNO,'')<>'' and 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 DBResult AuditReturn ( List < OpCtnBsCard > headData , string type , string userid )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
if ( type = = "1" )
{
if ( enumValue . AUDITSTATUS = = "申请调拨" )
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set AUDITSTATUS='批准调拨',IS_DB=1,AUDITBY='" + userid + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd" ) + "' where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set AUDITSTATUS='批准返空',IS_RETURE_EMPTY=1,AUDITBY='" + userid + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd" ) + "' where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
}
else if ( type = = "0" )
{
if ( enumValue . AUDITSTATUS = = "批准调拨" | | enumValue . AUDITSTATUS = = "申请调拨" )
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set AUDITSTATUS='驳回调拨',IS_DB=0,AUDITBY='',AUDITTIME=null where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set AUDITSTATUS='驳回返空',IS_RETURE_EMPTY=0,AUDITBY='',AUDITTIME=null where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
}
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审批出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "审批成功" ;
return result ;
}
public static DBResult SubmitAudit ( string GID , string type )
{
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_ctnbscard set REPAIRSTATUS='提交审核' where GID='" + GID + "'" ) ;
if ( type = = "2" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set CLEARINGSTATUS='提交审核' where GID='" + GID + "'" ) ;
if ( type = = "3" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set REPAIRSTATUS='撤销提交' where GID='" + GID + "'" ) ;
if ( type = = "4" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set CLEARINGSTATUS='撤销提交' where GID='" + GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "提交审核出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "提交审核成功" ;
return result ;
}
public static DBResult Audit ( string GID , string type )
{
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_ctnbscard set REPAIRSTATUS='审核通过' where GID='" + GID + "'" ) ;
if ( type = = "2" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set CLEARINGSTATUS='审核通过' where GID='" + GID + "'" ) ;
if ( type = = "3" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set REPAIRSTATUS='驳回提交' where GID='" + GID + "'" ) ;
if ( type = = "4" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnbscard set CLEARINGSTATUS='驳回提交' where GID='" + GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "提交审核出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "提交审核成功" ;
return result ;
}
public static DBResult AuditPutCtn ( List < OpCtnBsCard > bodyList , string type , string userid )
{
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_ctnbscard set PUTCTNAUDITSTATUS=@PUTCTNAUDITSTATUS,PUTCTNAUDITBY=@PUTCTNAUDITBY,PUTCTNAUDITTIME=@PUTCTNAUDITTIME where GID=@GID " ) ;
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( type = = "1" )
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITSTATUS" , DbType . String , "审核通过" ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITSTATUS" , DbType . String , "未审核" ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITBY" , DbType . String , "" ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNAUDITTIME" , DbType . String , null ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
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 PutCtn ( List < OpCtnBsCard > bodyList , string is_putctn , string putcntdate )
{
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_ctnbscard set IS_PUTCTN=@IS_PUTCTN,PUTCTNDATE=@PUTCTNDATE where GID=@GID " ) ;
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( is_putctn = = "1" )
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@IS_PUTCTN" , DbType . String , "1" ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNDATE" , DbType . String , putcntdate ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else {
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@IS_PUTCTN" , DbType . String , "0" ) ;
db . AddInParameter ( cmdUpdate , "@PUTCTNDATE" , DbType . String , null ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
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 LockBs ( List < OpCtnBsCard > bodyList , string islock )
{
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_ctnbscard set ISCLOSE=@ISCLOSE,CLOSEDATE=@CLOSEDATE where GID=@GID " ) ;
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( islock = = "1" )
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@ISCLOSE" , DbType . String , "1" ) ;
db . AddInParameter ( cmdUpdate , "@CLOSEDATE" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@ISCLOSE" , DbType . String , "0" ) ;
db . AddInParameter ( cmdUpdate , "@CLOSEDATE" , DbType . String , null ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
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 ;
}
# endregion
#region OpCtnClearing
static public List < OpCtnClearing > GetOpCtnClearingList ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[INSTATOINTIME],[IMAGE_LINDADDR],[IMAGE1],[EIR],[EIRPATH],[CLEARINGMODE],[PREGOODSNAME]" ) ;
strSql . Append ( ",[ISCLEAR_CERT],[CHECKGOV],[ISCLEAR_PLAN],[CLEARTIME],[IMAGE_CLEAR],[IMAGE_CLEARPATH],[IMAGE_CHECKGOV],[IMAGE_CHECKGOVPATH]" ) ;
strSql . Append ( ",[ISCOMPLETE],[FEENAME],[CURRENCY],[AMOUNT],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[REMARKS]" ) ;
strSql . Append ( ",[INPUTBY],[INPUTTIME],[COMPANYID],CURSTATOIN " ) ;
strSql . Append ( ",(select CTNNO from op_ctnbscard where GID=op_ctnclearing.LINKGID) CTNNO" ) ;
strSql . Append ( ",(select BSNO from op_ctnbscard where GID=op_ctnclearing.LINKGID) BSNO" ) ;
strSql . Append ( " from op_ctnclearing " ) ;
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 INSTATOINTIME desc,INPUTTIME desc " ) ;
}
return SetOpCtnClearingData ( strSql ) ;
}
static public string GetOpCtnClearingListStr ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[INSTATOINTIME],[IMAGE_LINDADDR],[IMAGE1],[EIR],[EIRPATH],[CLEARINGMODE],[PREGOODSNAME]" ) ;
strSql . Append ( ",[ISCLEAR_CERT],[CHECKGOV],[ISCLEAR_PLAN],[CLEARTIME],[IMAGE_CLEAR],[IMAGE_CLEARPATH],[IMAGE_CHECKGOV],[IMAGE_CHECKGOVPATH]" ) ;
strSql . Append ( ",[ISCOMPLETE],[FEENAME],[CURRENCY],[AMOUNT],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[REMARKS]" ) ;
strSql . Append ( ",[INPUTBY],[INPUTTIME],[COMPANYID],CURSTATOIN" ) ;
strSql . Append ( ",(select CTNNO from op_ctnbscard where GID=op_ctnclearing.LINKGID) CTNNO" ) ;
strSql . Append ( ",(select BSNO from op_ctnbscard where GID=op_ctnclearing.LINKGID) BSNO" ) ;
strSql . Append ( " from op_ctnclearing " ) ;
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 INPUTTIME " ) ;
}
return strSql . ToString ( ) ;
}
private static List < OpCtnClearing > SetOpCtnClearingData ( StringBuilder strSql )
{
var headList = new List < OpCtnClearing > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnClearing data = new OpCtnClearing ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . LINKGID = Convert . ToString ( reader [ "LINKGID" ] ) ;
data . CTNNO = Convert . ToString ( reader [ "CTNNO" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
data . CURSTATOIN = Convert . ToString ( reader [ "CURSTATOIN" ] ) ;
if ( reader [ "INSTATOINTIME" ] ! = DBNull . Value )
data . INSTATOINTIME = Convert . ToDateTime ( reader [ "INSTATOINTIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . IMAGE_LINDADDR = Convert . ToString ( reader [ "IMAGE_LINDADDR" ] ) ;
data . IMAGE1 = Convert . ToString ( reader [ "IMAGE1" ] ) ;
data . EIR = Convert . ToString ( reader [ "EIR" ] ) ;
data . EIRPATH = Convert . ToString ( reader [ "EIRPATH" ] ) ;
data . CLEARINGMODE = Convert . ToString ( reader [ "CLEARINGMODE" ] ) ;
data . PREGOODSNAME = Convert . ToString ( reader [ "PREGOODSNAME" ] ) ;
if ( reader [ "ISCLEAR_CERT" ] ! = DBNull . Value )
data . ISCLEAR_CERT = Convert . ToBoolean ( reader [ "ISCLEAR_CERT" ] ) ;
data . CHECKGOV = Convert . ToString ( reader [ "CHECKGOV" ] ) ;
if ( reader [ "ISCLEAR_PLAN" ] ! = DBNull . Value )
data . ISCLEAR_PLAN = Convert . ToBoolean ( reader [ "ISCLEAR_PLAN" ] ) ;
if ( reader [ "CLEARTIME" ] ! = DBNull . Value )
data . CLEARTIME = Convert . ToDateTime ( reader [ "CLEARTIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . IMAGE_CLEAR = Convert . ToString ( reader [ "IMAGE_CLEAR" ] ) ;
data . IMAGE_CLEARPATH = Convert . ToString ( reader [ "IMAGE_CLEARPATH" ] ) ;
data . IMAGE_CHECKGOV = Convert . ToString ( reader [ "IMAGE_CHECKGOV" ] ) ;
data . IMAGE_CHECKGOVPATH = Convert . ToString ( reader [ "IMAGE_CHECKGOVPATH" ] ) ;
if ( reader [ "ISCOMPLETE" ] ! = DBNull . Value )
data . ISCOMPLETE = Convert . ToBoolean ( reader [ "ISCOMPLETE" ] ) ;
data . FEENAME = Convert . ToString ( reader [ "FEENAME" ] ) ;
data . CURRENCY = Convert . ToString ( reader [ "CURRENCY" ] ) ;
if ( reader [ "AMOUNT" ] ! = DBNull . Value )
data . AMOUNT = Convert . ToDecimal ( reader [ "AMOUNT" ] ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
data . AUDITSTATUS = Convert . ToString ( reader [ "AUDITSTATUS" ] ) ;
data . AUDITBY = Convert . ToString ( reader [ "AUDITBY" ] ) ;
data . AUDITRESULT = Convert . ToString ( reader [ "AUDITRESULT" ] ) ;
if ( reader [ "AUDITTIME" ] ! = DBNull . Value )
data . AUDITTIME = Convert . ToDateTime ( reader [ "AUDITTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
public static DBResult SaveOpCtnClearing ( List < OpCtnClearing > bodyList , string PID , string userid )
{
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_ctnclearing (GID,LINKGID,INSTATOINTIME,CLEARINGMODE,PREGOODSNAME,ISCLEAR_CERT,CHECKGOV,ISCLEAR_PLAN,CLEARTIME,ISCOMPLETE,
FEENAME , CURRENCY , AMOUNT , INPUTBY , INPUTTIME , REMARKS , AUDITSTATUS , CURSTATOIN )
values ( @GID , @LINKGID , @INSTATOINTIME , @CLEARINGMODE , @PREGOODSNAME , @ISCLEAR_CERT , @CHECKGOV , @ISCLEAR_PLAN , @CLEARTIME , @ISCOMPLETE , @FEENAME ,
@CURRENCY , @AMOUNT , @INPUTBY , @INPUTTIME , @REMARKS , @AUDITSTATUS , @CURSTATOIN
) ");
var cmdUpdate =
db . GetSqlStringCommand (
@ "update op_ctnclearing set INSTATOINTIME=@INSTATOINTIME,CLEARINGMODE=@CLEARINGMODE,PREGOODSNAME=@PREGOODSNAME,ISCLEAR_CERT=@ISCLEAR_CERT
, CHECKGOV = @CHECKGOV , ISCLEAR_PLAN = @ISCLEAR_PLAN , CLEARTIME = @CLEARTIME , ISCOMPLETE = @ISCOMPLETE , FEENAME = @FEENAME , CURRENCY = @CURRENCY ,
AMOUNT = @AMOUNT , REMARKS = @REMARKS , CURSTATOIN = @CURSTATOIN where GID = @GID ");
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( enumValue . INSTATOINTIME = = "" ) enumValue . INSTATOINTIME = null ;
else
{
enumValue . INSTATOINTIME = Convert . ToDateTime ( enumValue . INSTATOINTIME . Replace ( "GMT+0800 (中国标准时间)" , "" ) ) . ToString ( "yyyy-MM-dd" ) ;
}
if ( enumValue . CLEARTIME = = "" ) enumValue . CLEARTIME = null ;
else
{
enumValue . CLEARTIME = Convert . ToDateTime ( enumValue . CLEARTIME . Replace ( "GMT+0800 (中国标准时间)" , "" ) ) . ToString ( "yyyy-MM-dd" ) ;
}
if ( enumValue . AUDITTIME = = "" ) enumValue . AUDITTIME = null ;
if ( enumValue . GID = = "*" | | enumValue . GID = = "" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , PID ) ;
db . AddInParameter ( cmdInsert , "@INSTATOINTIME" , DbType . String , enumValue . INSTATOINTIME ) ;
db . AddInParameter ( cmdInsert , "@CLEARINGMODE" , DbType . String , enumValue . CLEARINGMODE ) ;
db . AddInParameter ( cmdInsert , "@PREGOODSNAME" , DbType . String , enumValue . PREGOODSNAME ) ;
db . AddInParameter ( cmdInsert , "@ISCLEAR_CERT" , DbType . Boolean , enumValue . ISCLEAR_CERT ) ;
db . AddInParameter ( cmdInsert , "@CHECKGOV" , DbType . String , enumValue . CHECKGOV ) ;
db . AddInParameter ( cmdInsert , "@ISCLEAR_PLAN" , DbType . Boolean , enumValue . ISCLEAR_PLAN ) ;
db . AddInParameter ( cmdInsert , "@CLEARTIME" , DbType . String , enumValue . CLEARTIME ) ;
db . AddInParameter ( cmdInsert , "@ISCOMPLETE" , DbType . Boolean , enumValue . ISCOMPLETE ) ;
db . AddInParameter ( cmdInsert , "@FEENAME" , DbType . String , enumValue . FEENAME ) ;
db . AddInParameter ( cmdInsert , "@CURRENCY" , DbType . String , enumValue . CURRENCY ) ;
db . AddInParameter ( cmdInsert , "@AMOUNT" , DbType . Decimal , enumValue . AMOUNT ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@AUDITSTATUS" , DbType . String , "录入状态" ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . AddInParameter ( cmdInsert , "@CURSTATOIN" , DbType . String , enumValue . CURSTATOIN ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . AddInParameter ( cmdUpdate , "@INSTATOINTIME" , DbType . String , enumValue . INSTATOINTIME ) ;
db . AddInParameter ( cmdUpdate , "@CLEARINGMODE" , DbType . String , enumValue . CLEARINGMODE ) ;
db . AddInParameter ( cmdUpdate , "@PREGOODSNAME" , DbType . String , enumValue . PREGOODSNAME ) ;
db . AddInParameter ( cmdUpdate , "@ISCLEAR_CERT" , DbType . Boolean , enumValue . ISCLEAR_CERT ) ;
db . AddInParameter ( cmdUpdate , "@CHECKGOV" , DbType . String , enumValue . CHECKGOV ) ;
db . AddInParameter ( cmdUpdate , "@ISCLEAR_PLAN" , DbType . Boolean , enumValue . ISCLEAR_PLAN ) ;
db . AddInParameter ( cmdUpdate , "@CLEARTIME" , DbType . String , enumValue . CLEARTIME ) ;
db . AddInParameter ( cmdUpdate , "@ISCOMPLETE" , DbType . Boolean , enumValue . ISCOMPLETE ) ;
db . AddInParameter ( cmdUpdate , "@FEENAME" , DbType . String , enumValue . FEENAME ) ;
db . AddInParameter ( cmdUpdate , "@CURRENCY" , DbType . String , enumValue . CURRENCY ) ;
db . AddInParameter ( cmdUpdate , "@AMOUNT" , DbType . Decimal , enumValue . AMOUNT ) ;
db . AddInParameter ( cmdUpdate , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . AddInParameter ( cmdUpdate , "@CURSTATOIN" , DbType . String , enumValue . CURSTATOIN ) ;
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 DeleteOpCtnClearing ( List < OpCtnClearing > headData )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdDelete = db . GetSqlStringCommand ( "delete from op_ctnclearing where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdDelete , tran ) ;
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
public static DBResult UpdateClearingFileData ( string filename , string name , 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 = = "3" )
{
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnclearing set IMAGE1=@IMAGE1,IMAGE_LINDADDR=@IMAGE_LINDADDR where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE1" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_LINDADDR" , DbType . String , filename ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else if ( type = = "4" )
{
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnclearing set EIR=@EIR,EIRPATH=@EIRPATH where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@EIR" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@EIRPATH" , DbType . String , filename ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else if ( type = = "5" )
{
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnclearing set IMAGE_CLEAR=@IMAGE_CLEAR,IMAGE_CLEARPATH=@IMAGE_CLEARPATH where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_CLEAR" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_CLEARPATH" , DbType . String , filename ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else if ( type = = "6" )
{
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnclearing set IMAGE_CHECKGOV=@IMAGE_CHECKGOV,IMAGE_CHECKGOVPATH=@IMAGE_CHECKGOVPATH where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_CHECKGOV" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_CHECKGOVPATH" , DbType . String , filename ) ;
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 AuditOpCtnClearing ( List < OpCtnClearing > headData , string type , string username )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnclearing set AUDITSTATUS='提交审核' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "2" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnclearing set AUDITSTATUS='录入状态' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "0" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnclearing set AUDITSTATUS='审核通过',AUDITBY='" + username + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) + "' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "4" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnclearing set AUDITSTATUS='驳回提交',AUDITBY='" + username + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) + "' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "6" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnclearing set AUDITSTATUS='申请修改' where GID='" + enumValue . GID + "'" ) ;
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 OpCtnDelivery
static public List < OpCtnDelivery > GetOpCtnDeliveryList ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[CHECKITEMS],[REMARKS]" ) ;
strSql . Append ( ",[INPUTBY],[INPUTTIME],[COMPANYID]" ) ;
strSql . Append ( " from op_ctndelivery " ) ;
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 INPUTTIME" ) ;
}
return SetOpCtnDeliveryData ( strSql ) ;
}
private static List < OpCtnDelivery > SetOpCtnDeliveryData ( StringBuilder strSql )
{
var headList = new List < OpCtnDelivery > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnDelivery data = new OpCtnDelivery ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . LINKGID = Convert . ToString ( reader [ "LINKGID" ] ) ;
data . CHECKITEMS = Convert . ToString ( reader [ "CHECKITEMS" ] ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
public static DBResult SaveOpCtnDelivery ( List < OpCtnDelivery > bodyList , string PID , string userid )
{
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_ctndelivery (GID,LINKGID,CHECKITEMS,INPUTBY,INPUTTIME,REMARKS)
values ( @GID , @LINKGID , @CHECKITEMS , @INPUTBY , @INPUTTIME , @REMARKS
) ");
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctndelivery set CHECKITEMS=@CHECKITEMS,REMARKS=@REMARKS where GID=@GID " ) ;
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( enumValue . GID = = "*" | | enumValue . GID = = "" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , PID ) ;
db . AddInParameter ( cmdInsert , "@CHECKITEMS" , DbType . String , enumValue . CHECKITEMS ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . AddInParameter ( cmdUpdate , "@CHECKITEMS" , DbType . String , enumValue . CHECKITEMS ) ;
db . AddInParameter ( cmdUpdate , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
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 DeleteOpCtnDelivery ( List < OpCtnDelivery > headData )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdDelete = db . GetSqlStringCommand ( "delete from op_ctndelivery where GID='" + enumValue . GID + "'" ) ;
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 OpCtnRepair
static public List < OpCtnRepair > GetOpCtnRepairList ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[REPAIRITEMS],[REPAIRTIME]" ) ;
strSql . Append ( ",[FEENAME],[CURRENCY],[AMOUNT] ,[CURSTATOIN],[INPUTBY],[INPUTTIME],[COMPANYID],REMARKS,AUDITSTATUS,[AUDITBY],[AUDITTIME],[AUDITRESULT] " ) ;
strSql . Append ( ",(select CTNNO from op_ctnbscard where GID=op_ctnrepair.LINKGID) CTNNO" ) ;
strSql . Append ( ",(select BSNO from op_ctnbscard where GID=op_ctnrepair.LINKGID) BSNO" ) ;
strSql . Append ( ",(select top 1 IMAGE_LINDADDR1 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE_LINDADDR" ) ;
strSql . Append ( ",(select top 1 IMAGE_LINDADDR2 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE_LINDADDR2" ) ;
strSql . Append ( ",(select top 1 IMAGE1 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE1" ) ;
strSql . Append ( ",(select top 1 IMAGE2 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE2" ) ;
strSql . Append ( " from op_ctnrepair " ) ;
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 REPAIRTIME desc,INPUTTIME desc" ) ;
}
return SetOpCtnRepairData ( strSql ) ;
}
static public string GetOpCtnRepairListStr ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[REPAIRITEMS],[REPAIRTIME]" ) ;
strSql . Append ( ",[FEENAME],[CURRENCY],[AMOUNT] ,[CURSTATOIN],[INPUTBY],[INPUTTIME],[COMPANYID],REMARKS,AUDITSTATUS,[AUDITBY],[AUDITTIME],[AUDITRESULT] " ) ;
strSql . Append ( ",(select CTNNO from op_ctnbscard where GID=op_ctnrepair.LINKGID) CTNNO" ) ;
strSql . Append ( ",(select BSNO from op_ctnbscard where GID=op_ctnrepair.LINKGID) BSNO" ) ;
strSql . Append ( ",(select top 1 IMAGE_LINDADDR1 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE_LINDADDR" ) ;
strSql . Append ( ",(select top 1 IMAGE_LINDADDR2 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE_LINDADDR2" ) ;
strSql . Append ( ",(select top 1 IMAGE1 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE1" ) ;
strSql . Append ( ",(select top 1 IMAGE2 from op_ctnbscard_img where LINKGID=op_ctnrepair.GID order by INPUTTIME) IMAGE2" ) ;
strSql . Append ( " from op_ctnrepair " ) ;
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 INPUTTIME" ) ;
}
return strSql . ToString ( ) ;
}
private static List < OpCtnRepair > SetOpCtnRepairData ( StringBuilder strSql )
{
var headList = new List < OpCtnRepair > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnRepair data = new OpCtnRepair ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . LINKGID = Convert . ToString ( reader [ "LINKGID" ] ) ;
data . CTNNO = Convert . ToString ( reader [ "CTNNO" ] ) ;
data . BSNO = Convert . ToString ( reader [ "BSNO" ] ) ;
data . AUDITSTATUS = Convert . ToString ( reader [ "AUDITSTATUS" ] ) ;
data . REPAIRITEMS = Convert . ToString ( reader [ "REPAIRITEMS" ] ) ;
if ( reader [ "REPAIRTIME" ] ! = DBNull . Value )
data . REPAIRTIME = Convert . ToDateTime ( reader [ "REPAIRTIME" ] ) . ToString ( "yyyy-MM-dd" ) ;
data . IMAGE_LINDADDR = Convert . ToString ( reader [ "IMAGE_LINDADDR" ] ) ;
data . IMAGE_LINDADDR2 = Convert . ToString ( reader [ "IMAGE_LINDADDR2" ] ) ;
data . IMAGE1 = Convert . ToString ( reader [ "IMAGE1" ] ) ;
data . IMAGE2 = Convert . ToString ( reader [ "IMAGE2" ] ) ;
data . CURSTATOIN = Convert . ToString ( reader [ "CURSTATOIN" ] ) ;
data . FEENAME = Convert . ToString ( reader [ "FEENAME" ] ) ;
data . CURRENCY = Convert . ToString ( reader [ "CURRENCY" ] ) ;
if ( reader [ "AMOUNT" ] ! = DBNull . Value )
data . AMOUNT = Convert . ToDecimal ( reader [ "AMOUNT" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
data . AUDITBY = Convert . ToString ( reader [ "AUDITBY" ] ) ;
data . AUDITRESULT = Convert . ToString ( reader [ "AUDITRESULT" ] ) ;
if ( reader [ "AUDITTIME" ] ! = DBNull . Value )
data . AUDITTIME = Convert . ToDateTime ( reader [ "AUDITTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
public static DBResult SaveOpCtnRepair ( List < OpCtnRepair > bodyList , string PID , string userid )
{
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_ctnrepair (GID,LINKGID,REPAIRITEMS,REPAIRTIME,FEENAME,CURRENCY,AMOUNT,INPUTBY,INPUTTIME,REMARKS,AUDITSTATUS,CURSTATOIN)
values ( @GID , @LINKGID , @REPAIRITEMS , @REPAIRTIME , @FEENAME , @CURRENCY , @AMOUNT , @INPUTBY , @INPUTTIME , @REMARKS , @AUDITSTATUS , @CURSTATOIN ) ");
var cmdUpdate =
db . GetSqlStringCommand (
@ "update op_ctnrepair set REPAIRITEMS=@REPAIRITEMS,REPAIRTIME=@REPAIRTIME,CURRENCY=@CURRENCY,AMOUNT=@AMOUNT
, FEENAME = @FEENAME , REMARKS = @REMARKS , CURSTATOIN = @CURSTATOIN where GID = @GID ");
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( enumValue . REPAIRTIME = = "" ) enumValue . REPAIRTIME = null ;
else {
enumValue . REPAIRTIME = Convert . ToDateTime ( enumValue . REPAIRTIME . Replace ( "GMT+0800 (中国标准时间)" , "" ) ) . ToString ( "yyyy-MM-dd" ) ;
}
if ( enumValue . GID = = "*" | | enumValue . GID = = "" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , PID ) ;
db . AddInParameter ( cmdInsert , "@REPAIRITEMS" , DbType . String , enumValue . REPAIRITEMS ) ;
db . AddInParameter ( cmdInsert , "@REPAIRTIME" , DbType . String , enumValue . REPAIRTIME ) ;
db . AddInParameter ( cmdInsert , "@FEENAME" , DbType . String , enumValue . FEENAME ) ;
db . AddInParameter ( cmdInsert , "@CURRENCY" , DbType . String , enumValue . CURRENCY ) ;
db . AddInParameter ( cmdInsert , "@AMOUNT" , DbType . Decimal , enumValue . AMOUNT ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@AUDITSTATUS" , DbType . String , "录入状态" ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . AddInParameter ( cmdInsert , "@CURSTATOIN" , DbType . String , enumValue . CURSTATOIN ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . AddInParameter ( cmdUpdate , "@REPAIRITEMS" , DbType . String , enumValue . REPAIRITEMS ) ;
db . AddInParameter ( cmdUpdate , "@REPAIRTIME" , DbType . String , enumValue . REPAIRTIME ) ;
db . AddInParameter ( cmdUpdate , "@CURRENCY" , DbType . String , enumValue . CURRENCY ) ;
db . AddInParameter ( cmdUpdate , "@FEENAME" , DbType . String , enumValue . FEENAME ) ;
db . AddInParameter ( cmdUpdate , "@AMOUNT" , DbType . Decimal , enumValue . AMOUNT ) ;
db . AddInParameter ( cmdUpdate , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . AddInParameter ( cmdUpdate , "@CURSTATOIN" , DbType . String , enumValue . CURSTATOIN ) ;
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 SaveOpCtnRepairImg ( List < OpCtnRepairImg > bodyList , string PID , string userid )
{
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_ctnbscard_img (GID,LINKGID,IMAGEDESC,INPUTBY,INPUTTIME,REMARKS)
values ( @GID , @LINKGID , @IMAGEDESC , @INPUTBY , @INPUTTIME , @REMARKS ) ");
var cmdUpdate =
db . GetSqlStringCommand (
@ "update op_ctnbscard_img set IMAGEDESC=@IMAGEDESC
, REMARKS = @REMARKS where GID = @GID ");
if ( bodyList ! = null )
{
foreach ( var enumValue in bodyList )
{
if ( enumValue . GID = = "*" | | enumValue . GID = = "" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , PID ) ;
db . AddInParameter ( cmdInsert , "@IMAGEDESC" , DbType . String , enumValue . IMAGEDESC ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , enumValue . GID ) ;
db . AddInParameter ( cmdUpdate , "@IMAGEDESC" , DbType . String , enumValue . IMAGEDESC ) ;
db . AddInParameter ( cmdUpdate , "@REMARKS" , DbType . String , enumValue . REMARKS ) ;
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 DeleteOpCtnRepair ( List < OpCtnRepair > headData )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdDelete = db . GetSqlStringCommand ( "delete from op_ctnrepair where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdDelete , tran ) ;
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
public static DBResult UpdateRepairFileData ( string filename , string name , 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_ctnbscard_img set IMAGE1=@IMAGE1,IMAGE_LINDADDR1=@IMAGE_LINDADDR1 where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE1" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_LINDADDR1" , DbType . String , filename ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else {
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnbscard_img set IMAGE2=@IMAGE2,IMAGE_LINDADDR2=@IMAGE_LINDADDR2 where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE2" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_LINDADDR2" , DbType . String , filename ) ;
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 AuditOpCtnRepair ( List < OpCtnRepair > headData , string type , string username )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctnrepair set AUDITSTATUS='提交审核' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "2" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnrepair set AUDITSTATUS='录入状态' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "0" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnrepair set AUDITSTATUS='审核通过',AUDITBY='" + username + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) + "' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "4" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnrepair set AUDITSTATUS='驳回提交',AUDITBY='" + username + "',AUDITTIME='" + DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) + "' where GID='" + enumValue . GID + "'" ) ;
if ( type = = "6" )
cmdUpdate = db . GetSqlStringCommand ( "update op_ctnrepair set AUDITSTATUS='申请修改' where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "提交或审核出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "提交或审核成功" ;
return result ;
}
public static DBResult CreateOpCtnRepairFromFee ( List < MsChFee > FeeList , string userid )
{
var result = new DBResult ( ) ;
var headdata = GetData ( "GID='" + FeeList [ 0 ] . BsNo + "'" , userid ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
var cmdInsert =
db . GetSqlStringCommand (
@ "insert into op_ctnclearing (GID,LINKGID,INSTATOINTIME,CLEARINGMODE,PREGOODSNAME,ISCLEAR_CERT,CHECKGOV,ISCLEAR_PLAN,CLEARTIME,ISCOMPLETE,
FEENAME , CURRENCY , AMOUNT , INPUTBY , INPUTTIME , REMARKS , AUDITSTATUS , CURSTATOIN )
values ( @GID , @LINKGID , @INSTATOINTIME , @CLEARINGMODE , @PREGOODSNAME , @ISCLEAR_CERT , @CHECKGOV , @ISCLEAR_PLAN , @CLEARTIME , @ISCOMPLETE , @FEENAME ,
@CURRENCY , @AMOUNT , @INPUTBY , @INPUTTIME , @REMARKS , @AUDITSTATUS , @CURSTATOIN
) ");
var cmdInsertRepaire =
db . GetSqlStringCommand (
@ "insert into op_ctnrepair (GID,LINKGID,REPAIRITEMS,REPAIRTIME,FEENAME,CURRENCY,AMOUNT,INPUTBY,INPUTTIME,REMARKS,AUDITSTATUS,CURSTATOIN)
values ( @GID , @LINKGID , @REPAIRITEMS , @REPAIRTIME , @FEENAME , @CURRENCY , @AMOUNT , @INPUTBY , @INPUTTIME , @REMARKS , @AUDITSTATUS , @CURSTATOIN ) ");
try
{
if ( FeeList ! = null )
{
foreach ( var enumValue in FeeList )
{
var rtnctndate = "" ;
if ( headdata . IS_DB & & headdata . D_DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . D_DEST_RTCNT_TIME ;
}
else if ( headdata . IS_RETURE_EMPTY & & headdata . I_DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . I_DEST_RTCNT_TIME ;
}
else if ( headdata . DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . DEST_RTCNT_TIME ;
}
if ( enumValue . FeeName = = "清洗费" ) {
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , headdata . GID ) ;
db . AddInParameter ( cmdInsert , "@INSTATOINTIME" , DbType . String , rtnctndate ) ;
db . AddInParameter ( cmdInsert , "@CLEARINGMODE" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@PREGOODSNAME" , DbType . String , headdata . PREGOODSNAME ) ;
db . AddInParameter ( cmdInsert , "@ISCLEAR_CERT" , DbType . Boolean , false ) ;
db . AddInParameter ( cmdInsert , "@CHECKGOV" , DbType . String , enumValue . CustomerName ) ;
db . AddInParameter ( cmdInsert , "@ISCLEAR_PLAN" , DbType . Boolean , false ) ;
db . AddInParameter ( cmdInsert , "@CLEARTIME" , DbType . String , rtnctndate ) ;
db . AddInParameter ( cmdInsert , "@ISCOMPLETE" , DbType . Boolean , true ) ;
db . AddInParameter ( cmdInsert , "@FEENAME" , DbType . String , enumValue . FeeName ) ;
db . AddInParameter ( cmdInsert , "@CURRENCY" , DbType . String , enumValue . Currency ) ;
db . AddInParameter ( cmdInsert , "@AMOUNT" , DbType . Decimal , enumValue . Amount ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@AUDITSTATUS" , DbType . String , "录入状态" ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , enumValue . Remark ) ;
db . AddInParameter ( cmdInsert , "@CURSTATOIN" , DbType . String , headdata . CURSTATOIN ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
else
{
cmdInsertRepaire . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsertRepaire , "@GID" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsertRepaire , "@LINKGID" , DbType . String , headdata . GID ) ;
db . AddInParameter ( cmdInsertRepaire , "@REPAIRITEMS" , DbType . String , enumValue . FeeName ) ;
db . AddInParameter ( cmdInsertRepaire , "@REPAIRTIME" , DbType . String , rtnctndate ) ;
db . AddInParameter ( cmdInsertRepaire , "@FEENAME" , DbType . String , enumValue . FeeName ) ;
db . AddInParameter ( cmdInsertRepaire , "@CURRENCY" , DbType . String , enumValue . Currency ) ;
db . AddInParameter ( cmdInsertRepaire , "@AMOUNT" , DbType . Decimal , enumValue . Amount ) ;
db . AddInParameter ( cmdInsertRepaire , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsertRepaire , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsertRepaire , "@AUDITSTATUS" , DbType . String , "录入状态" ) ;
db . AddInParameter ( cmdInsertRepaire , "@REMARKS" , DbType . String , enumValue . Remark ) ;
db . AddInParameter ( cmdInsertRepaire , "@CURSTATOIN" , DbType . String , headdata . CURSTATOIN ) ;
db . ExecuteNonQuery ( cmdInsertRepaire , tran ) ;
}
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "提交或审核出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "提交或审核成功" ;
return result ;
}
public static DBResult GetYardRemark ( string bsno , string userid )
{
var result = new DBResult ( ) ;
var headdata = GetData ( "GID='" + bsno + "'" , userid ) ;
var remark = "" ;
var rtnctndate = "" ;
var rtnyard = "" ;
var rtnport = "" ;
if ( headdata . IS_DB & & headdata . D_DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . D_DEST_RTCNT_TIME ;
rtnport = headdata . D_DESTPORT ;
rtnyard = headdata . D_DESTPORT_STATOIN ;
}
else if ( headdata . IS_RETURE_EMPTY & & headdata . I_DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . I_DEST_RTCNT_TIME ;
rtnport = headdata . I_DESTPORT ;
rtnyard = headdata . I_DESTPORT_STATOIN ;
}
else if ( headdata . DEST_RTCNT_TIME ! = "" )
{
rtnctndate = headdata . DEST_RTCNT_TIME ;
rtnport = headdata . DESTPORT ;
rtnyard = headdata . DESTPORT_STATOIN ;
}
remark = rtnctndate + "-" + headdata . NPORTLOAD_CNT_TIME ;
var con = "FEENAME" ;
var pricelist = MsOpPriceDAL . GetPriceItemsList ( "FEENAME='堆存费' AND LINKGID IN (SELECT GID FROM op_price WHERE PORTDISCHARGE='" + rtnport + "' and YARD='" + rtnyard + "' and FEETYPE='堆存')" , " INPUTTIME DESC" ) ;
if ( pricelist . Count > 0 ) {
remark = remark + " 清洗免堆存" + pricelist [ 0 ] . FREEDAY + "天,超期" + pricelist [ 0 ] . UNITPRICE + "/天" ;
}
result . Success = true ;
result . Data = remark ;
result . Message = "提交或审核成功" ;
return result ;
}
# endregion
#region OpCtnRepairImg
static public List < OpCtnRepairImg > GetOpCtnRepairListImg ( string strCondition , string sort = null )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT [GID],[LINKGID],[IMAGEDESC],[IMAGE_LINDADDR1],[IMAGE_LINDADDR2],[IMAGE1],[IMAGE2]" ) ;
strSql . Append ( ",[INPUTBY],[INPUTTIME],[COMPANYID],REMARKS " ) ;
strSql . Append ( " from op_ctnbscard_img " ) ;
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 INPUTTIME" ) ;
}
return SetOpCtnRepairDataImg ( strSql ) ;
}
private static List < OpCtnRepairImg > SetOpCtnRepairDataImg ( StringBuilder strSql )
{
var headList = new List < OpCtnRepairImg > ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( IDataReader reader = db . ExecuteReader ( CommandType . Text , strSql . ToString ( ) ) )
{
while ( reader . Read ( ) )
{
OpCtnRepairImg data = new OpCtnRepairImg ( ) ;
#region Set DB data to Object
data . GID = Convert . ToString ( reader [ "GID" ] ) ;
data . LINKGID = Convert . ToString ( reader [ "LINKGID" ] ) ;
data . IMAGEDESC = Convert . ToString ( reader [ "IMAGEDESC" ] ) ;
data . IMAGE_LINDADDR1 = Convert . ToString ( reader [ "IMAGE_LINDADDR1" ] ) ;
data . IMAGE_LINDADDR2 = Convert . ToString ( reader [ "IMAGE_LINDADDR2" ] ) ;
data . IMAGE1 = Convert . ToString ( reader [ "IMAGE1" ] ) ;
data . IMAGE2 = Convert . ToString ( reader [ "IMAGE2" ] ) ;
data . INPUTBY = Convert . ToString ( reader [ "INPUTBY" ] ) ;
data . REMARKS = Convert . ToString ( reader [ "REMARKS" ] ) ;
if ( reader [ "INPUTTIME" ] ! = DBNull . Value )
data . INPUTTIME = Convert . ToDateTime ( reader [ "INPUTTIME" ] ) . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
# endregion
headList . Add ( data ) ;
}
reader . Close ( ) ;
}
return headList ;
}
public static DBResult DeleteOpCtnRepairImg ( List < OpCtnRepairImg > headData )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( headData ! = null )
{
foreach ( var enumValue in headData )
{
var cmdDelete = db . GetSqlStringCommand ( "delete from op_ctnbscard_img where GID='" + enumValue . GID + "'" ) ;
db . ExecuteNonQuery ( cmdDelete , tran ) ;
}
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
public static DBResult UpdateRepairFileDataImg ( string filename , string name , 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_ctnbscard_img set IMAGE1=@IMAGE1,IMAGE_LINDADDR1=@IMAGE_LINDADDR1 where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE1" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_LINDADDR1" , DbType . String , filename ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
else
{
var cmdUpdate =
db . GetSqlStringCommand (
@"update op_ctnbscard_img set IMAGE2=@IMAGE2,IMAGE_LINDADDR2=@IMAGE_LINDADDR2 where GID=@GID " ) ;
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@GID" , DbType . String , BSNO ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE2" , DbType . String , name ) ;
db . AddInParameter ( cmdUpdate , "@IMAGE_LINDADDR2" , DbType . String , filename ) ;
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 ;
}
# endregion
/ /
public static DBResult UpOpCtnApplyCtnItems ( string CNTRNO , string APPLYNO )
{
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_ctnapplyctnitems set AUDITSTATUS=@AUDITSTATUS,AUDITBY=@AUDITBY,AUDITTIME=@AUDITTIME where CTNNO=@CTNNO AND
LINKGID = ( SELECT TOP 1 GID FROM op_ctnapply WHERE BSNO = @BSNO ) ");
cmdUpdate . Parameters . Clear ( ) ;
db . AddInParameter ( cmdUpdate , "@AUDITSTATUS" , DbType . String , "录入" ) ;
db . AddInParameter ( cmdUpdate , "@AUDITBY" , DbType . String , "" ) ;
db . AddInParameter ( cmdUpdate , "@AUDITTIME" , DbType . String , null ) ;
db . AddInParameter ( cmdUpdate , "@CTNNO" , DbType . String , CNTRNO ) ;
db . AddInParameter ( cmdUpdate , "@BSNO" , DbType . String , APPLYNO ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
private static int DateDiff ( string dateStart , string dateEnd )
{
DateTime start = Convert . ToDateTime ( dateStart ) ;
DateTime end = Convert . ToDateTime ( dateEnd ) ;
TimeSpan sp = end . Subtract ( start ) ;
return sp . Days ;
}
static public int GetRdCount ( string strCondition )
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT Count(BSNO) AS CT from op_ctnbscard (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 DBResult UpCtnStatus ( string CTNNO )
{
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 code_ctntk set CTNSTATUS='可用' where CTNNO='" + CTNNO + "'" ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "删除出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "删除成功" ;
return result ;
}
public static DBResult SaveFeeDR ( OpCtnBsCard headdata , string userid , string feetype )
{
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 ch_fee(GID, BSNO, FEETYPE, FEENAME, FEEDESCRIPTION, CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,
EXCHANGERATE , REASON , REMARK , COMMISSIONRATE , ENTEROPERATOR , ENTERDATE , ISOPEN , ISADVANCEDPAY , SORT , FEESTATUS , FEEFRT ,
TAXRATE , NOTAXAMOUNT , ACCTAXRATE , LINENUM , TAXUNITPRICE , MODIFIEDUSER , MODIFIEDTIME , WMSOUTBSNO , PREAMOUNT , INPUTMODE )
VALUES
( @gid , @bsno , @fee_type , @fee_name , @fee_description , @customer_type , @customer_name , @unit , @unit_price , @quantity , @amount , @currency ,
@exchange_rate , @reason , @remark , @comm_rate , @enter_operator , @enter_date , @is_open , @is_advance_pay , @sort , @fee_status , @fee_frt ,
@taxrate , @notaxamount , @acctaxrate , @LINENUM , @taxunit_price , @MODIFIEDUSER , @MODIFIEDTIME , @WMSOUTBSNO , @PREAMOUNT , @INPUTMODE ) ");
if ( headdata . PORTLOAD_OVER_DAYS_AMT ! = 0 & & feetype = = "1" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@gid" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@bsno" , DbType . String , headdata . GID ) ;
db . AddInParameter ( cmdInsert , "@fee_type" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_name" , DbType . String , "箱使费" ) ;
db . AddInParameter ( cmdInsert , "@customer_type" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@customer_name" , DbType . String , headdata . AGENTNAME ) ;
db . AddInParameter ( cmdInsert , "@unit" , DbType . String , "罐" ) ;
db . AddInParameter ( cmdInsert , "@unit_price" , DbType . Decimal , headdata . PORTLOAD_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@fee_description" , DbType . String , "DEMURRAGE CHARGE" ) ;
db . AddInParameter ( cmdInsert , "@quantity" , DbType . Decimal , 1 ) ;
db . AddInParameter ( cmdInsert , "@amount" , DbType . Decimal , headdata . PORTLOAD_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@currency" , DbType . String , "USD" ) ;
db . AddInParameter ( cmdInsert , "@exchange_rate" , DbType . Decimal , MsChFeeDAL . GetUsdExrate ( "" , "" , "" ) ) ;
db . AddInParameter ( cmdInsert , "@reason" , DbType . String , "" ) ;
var remark = headdata . CTNNO + "," + headdata . PORTLOAD_CNT_TIME + "到," + headdata . ETD + "还," + headdata . PORTLOAD_FREE_DAYS + "," + headdata . PORTLOAD_OVER_DAYS_FEE + ",超期" + headdata . PORTLOAD_OVER_DAYS + "天," + headdata . PORTLOAD_OVER_DAYS_AMT ;
db . AddInParameter ( cmdInsert , "@remark" , DbType . String , remark ) ;
// db.AddInParameter(cmdInsert, "@CARGO_GID", DbType.String, enumValue.PRICETYPE);
db . AddInParameter ( cmdInsert , "@comm_rate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@enter_operator" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@enter_date" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@is_open" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@is_advance_pay" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@sort" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@fee_status" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_frt" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@taxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@notaxamount" , DbType . Decimal , headdata . PORTLOAD_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@acctaxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@LINENUM" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@taxunit_price" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDUSER" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@WMSOUTBSNO" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@PREAMOUNT" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@INPUTMODE" , DbType . String , "手工" ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
if ( headdata . DESTPORT_OVER_DAYS_AMT ! = 0 & & feetype = = "2" )
{
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@gid" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@bsno" , DbType . String , headdata . GID ) ;
db . AddInParameter ( cmdInsert , "@fee_type" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_name" , DbType . String , "箱使费" ) ;
db . AddInParameter ( cmdInsert , "@customer_type" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@customer_name" , DbType . String , headdata . AGENTNAME ) ;
db . AddInParameter ( cmdInsert , "@unit" , DbType . String , "罐" ) ;
db . AddInParameter ( cmdInsert , "@unit_price" , DbType . Decimal , headdata . DESTPORT_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@fee_description" , DbType . String , "DEMURRAGE CHARGE" ) ;
db . AddInParameter ( cmdInsert , "@quantity" , DbType . Decimal , 1 ) ;
db . AddInParameter ( cmdInsert , "@amount" , DbType . Decimal , headdata . DESTPORT_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@currency" , DbType . String , "USD" ) ;
db . AddInParameter ( cmdInsert , "@exchange_rate" , DbType . Decimal , MsChFeeDAL . GetUsdExrate ( "" , "" , "" ) ) ;
db . AddInParameter ( cmdInsert , "@reason" , DbType . String , "" ) ;
var remark = headdata . CTNNO + "," + headdata . ETA + "到," + headdata . DEST_RTCNT_TIME + "还," + headdata . DESTPORT_FREE_DAYS + "," + headdata . DESTPORT_OVER_DAYS_FEE + ",超期" + headdata . DESTPORT_OVER_DAYS + "天," + headdata . DESTPORT_OVER_DAYS_AMT ;
db . AddInParameter ( cmdInsert , "@remark" , DbType . String , remark ) ;
// db.AddInParameter(cmdInsert, "@CARGO_GID", DbType.String, enumValue.PRICETYPE);
db . AddInParameter ( cmdInsert , "@comm_rate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@enter_operator" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@enter_date" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@is_open" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@is_advance_pay" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@sort" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@fee_status" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_frt" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@taxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@notaxamount" , DbType . Decimal , headdata . DESTPORT_OVER_DAYS_AMT ) ;
db . AddInParameter ( cmdInsert , "@acctaxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@LINENUM" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@taxunit_price" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDUSER" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@WMSOUTBSNO" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@PREAMOUNT" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@INPUTMODE" , DbType . String , "手工" ) ;
db . ExecuteNonQuery ( cmdInsert , tran ) ;
}
if ( headdata . DESTPORT_OVER_DAYS_AMT ! = 0 & & feetype = = "3" )
{
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var sSQL = "SELECT CHANGERATE as inum from op_ctnapply where BSNO='" + headdata . APPLYNO + "'" ;
var sNum = T_ALL_DA . GetStrSQL ( "inum" , sSQL ) ;
if ( sNum ! = "" & & sNum ! = "0" )
{
var amountfee = headdata . DESTPORT_OVER_DAYS_AMT * Convert . ToDecimal ( sNum ) / 100 ;
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@gid" , DbType . String , Guid . NewGuid ( ) . ToString ( ) ) ;
db . AddInParameter ( cmdInsert , "@bsno" , DbType . String , headdata . GID ) ;
db . AddInParameter ( cmdInsert , "@fee_type" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_name" , DbType . String , "箱使代理费" ) ;
db . AddInParameter ( cmdInsert , "@customer_type" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@customer_name" , DbType . String , headdata . AGENTNAME ) ;
db . AddInParameter ( cmdInsert , "@unit" , DbType . String , "罐" ) ;
db . AddInParameter ( cmdInsert , "@unit_price" , DbType . Decimal , - amountfee ) ;
db . AddInParameter ( cmdInsert , "@fee_description" , DbType . String , "COMMISSION" ) ;
db . AddInParameter ( cmdInsert , "@quantity" , DbType . Decimal , 1 ) ;
db . AddInParameter ( cmdInsert , "@amount" , DbType . Decimal , - amountfee ) ;
db . AddInParameter ( cmdInsert , "@currency" , DbType . String , "USD" ) ;
db . AddInParameter ( cmdInsert , "@exchange_rate" , DbType . Decimal , MsChFeeDAL . GetUsdExrate ( "" , "" , "" ) ) ;
db . AddInParameter ( cmdInsert , "@reason" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@remark" , DbType . String , "" ) ;
// db.AddInParameter(cmdInsert, "@CARGO_GID", DbType.String, enumValue.PRICETYPE);
db . AddInParameter ( cmdInsert , "@comm_rate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@enter_operator" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@enter_date" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@is_open" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@is_advance_pay" , DbType . String , "0" ) ;
db . AddInParameter ( cmdInsert , "@sort" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@fee_status" , DbType . Int16 , 1 ) ;
db . AddInParameter ( cmdInsert , "@fee_frt" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@taxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@notaxamount" , DbType . Decimal , - amountfee ) ;
db . AddInParameter ( cmdInsert , "@acctaxrate" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@LINENUM" , DbType . Int16 , 0 ) ;
db . AddInParameter ( cmdInsert , "@taxunit_price" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDUSER" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@MODIFIEDTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@WMSOUTBSNO" , DbType . String , "" ) ;
db . AddInParameter ( cmdInsert , "@PREAMOUNT" , DbType . Decimal , 0 ) ;
db . AddInParameter ( cmdInsert , "@INPUTMODE" , DbType . String , "手工" ) ;
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 ;
}
public static DBResult UpdOpseaiDEST_RTCNT_TIME ( OpCtnBsCard headData ) {
var result = new DBResult ( ) ;
if ( ! string . IsNullOrWhiteSpace ( headData . DEST_RTCNT_TIME ) & & ! headData . DEST_RTCNT_TIME . Contains ( "1900-01-01" ) )
{
result . SetErrorInfo ( "" ) ;
}
else {
var _r = BasicDataRefDAL . ExecSql ( $" update op_seai set DEST_RTCNT_TIME='{headData.DEST_RTCNT_TIME}' where applyno='{headData.APPLYNO}' and not exists(select 1 from v_top_opctnbscard where applyno='{headData.APPLYNO}' and isnull(DEST_RTCNT_TIME,'')='')" ) ;
if ( _r > 0 ) result . Success = true ;
}
return result ;
}
public static DBResult UpBsCtn ( OpCtnBsCard headData , string updatetype = "0" )
{
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
if ( updatetype = = "0" | | updatetype = = "1" )
{
var cmdUpdate = db . GetSqlStringCommand ( "update op_ctn set TIXIANGSHIJIAN='" + headData . PORTLOAD_CNT_TIME + "',FREECTNDAY=" + headData . PORTLOAD_FREE_DAYS + ",CTNDAY=" + headData . PORTLOAD_OVER_DAYS . ToString ( ) + ",CTNPRICE=" + headData . PORTLOAD_OVER_DAYS_FEE . ToString ( ) + " FROM op_ctn WHERE CNTRNO='" + headData . CTNNO + "' AND EXISTS (SELECT 1 FROM OP_SEAE WHERE OP_SEAE.BSNO=op_ctn.BSNO AND OP_SEAE.APPLYNO='" + headData . APPLYNO + "') " ) ;
db . ExecuteNonQuery ( cmdUpdate , tran ) ;
}
if ( updatetype = = "0" | | updatetype = = "2" )
{
var cmdUpdateSeai = db . GetSqlStringCommand ( "update op_ctn set TIXIANGSHIJIAN='" + headData . DEST_RTCNT_TIME + "',FREECTNDAY=" + headData . DESTPORT_FREE_DAYS + ",CTNDAY=" + headData . DESTPORT_OVER_DAYS + ",CTNPRICE=" + headData . DESTPORT_OVER_DAYS_FEE . ToString ( ) + " FROM OP_CTN WHERE CNTRNO='" + headData . CTNNO + "' AND EXISTS (SELECT 1 FROM OP_SEAI WHERE OP_SEAI.BSNO=op_ctn.BSNO AND OP_SEAI.APPLYNO='" + headData . APPLYNO + "') " ) ;
db . ExecuteNonQuery ( cmdUpdateSeai , tran ) ;
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "更新出现错误,请重试或联系系统管理员" ;
return result ;
}
}
result . Success = true ;
result . Message = "更新成功" ;
return result ;
}
public static DBResult InsertOpCtnRepairImg ( OpCtnRepairImg imgdata , string PID , string userid )
{
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_ctnbscard_img (GID,LINKGID,IMAGEDESC,INPUTBY,INPUTTIME,REMARKS)
values ( @GID , @LINKGID , @IMAGEDESC , @INPUTBY , @INPUTTIME , @REMARKS ) ");
cmdInsert . Parameters . Clear ( ) ;
db . AddInParameter ( cmdInsert , "@GID" , DbType . String , imgdata . GID ) ;
db . AddInParameter ( cmdInsert , "@LINKGID" , DbType . String , PID ) ;
db . AddInParameter ( cmdInsert , "@IMAGEDESC" , DbType . String , imgdata . IMAGEDESC ) ;
db . AddInParameter ( cmdInsert , "@INPUTBY" , DbType . String , userid ) ;
db . AddInParameter ( cmdInsert , "@INPUTTIME" , DbType . String , DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
db . AddInParameter ( cmdInsert , "@REMARKS" , DbType . String , imgdata . REMARKS ) ;
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 ;
}
#region 权限范围
public static string GetRangDAStr ( string tb , string userid , string username , string companyid )
{
string str = "" ;
string modustr = "modOpCtnBsCard" ; // modOpCtnApply
var strSql = new StringBuilder ( ) ;
strSql . Append ( "SELECT " ) ;
strSql . Append ( " VISIBLERANGE,OPERATERANGE " ) ;
strSql . Append ( " from VW_User_Authority " ) ;
strSql . Append ( " where [NAME]='" + modustr + "' and USERID='" + userid + "' and ISDELETE=0" ) ;
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" ] ) ;
break ;
}
reader . Close ( ) ;
}
if ( visiblerange = = "4" )
{
str = " (b.OP='" + username + "')" ;
}
else if ( visiblerange = = "3" )
{
str = " (b.OP='" + 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.OP='" + Convert . ToString ( reader [ "SHOWNAME" ] ) + "' " ;
}
else
{
str = str + " or b.OP='" + Convert . ToString ( reader [ "SHOWNAME" ] ) + "' " ;
} ;
}
str = str + ")" ;
reader . Close ( ) ;
}
}
else
{
str = " b.COMPANYID='" + companyid + "'" ;
}
}
else if ( visiblerange = = "1" )
{
str = " b.COMPANYID='" + companyid + "'" ;
}
return str ;
}
# endregion
}
}