|
using Common;
|
using Model;
|
using Oracle.DataAccess.Client;
|
using System;
|
using System.Collections.Generic;
|
using System.Data.Common;
|
using System.Text;
|
|
namespace Dao
|
{
|
public class GwChargeLogDao : IDisposable
|
{
|
public List<GwChargeLog> LoadInfoList(string clientID, string clientName, string spID, DateTime sDate, DateTime eDate, out int recordcount, int pageSize, int PageIndex)
|
{
|
List<GwChargeLog> list = new List<GwChargeLog>();
|
recordcount = 0;
|
StringBuilder stringBuilder = new StringBuilder();
|
stringBuilder.Append("from GW_CHARGE_LOG_VIEW where OCCUR_TIME BETWEEN :SDATE AND :EDATE AND (SP_ID=:SP_ID OR :SP_ID IS NULL) AND (CLIENT_ID=:CLIENT_ID OR :CLIENT_ID IS NULL) AND (CLIENT_NAME LIKE :CLIENT_NAME OR :CLIENT_NAME='%%')");
|
OracleParameter[] oracleParameterArray = new OracleParameter[5]
|
{
|
new OracleParameter(":SP_ID", (object) spID),
|
new OracleParameter(":CLIENT_ID", (object) clientID),
|
new OracleParameter(":CLIENT_NAME", (object) ("%" + clientName + "%")),
|
new OracleParameter(":SDATE", (object) sDate),
|
new OracleParameter(":EDATE", (object) eDate)
|
};
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
|
{
|
while (((DbDataReader)reader).Read())
|
recordcount = this.ReadCount(reader);
|
}
|
stringBuilder.Append(" order by CHARGE_ID DESC");
|
using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray))
|
{
|
while (((DbDataReader)reader).Read())
|
{
|
GwChargeLog o = new GwChargeLog();
|
if (this.ReadInfo(reader, o))
|
list.Add(o);
|
}
|
}
|
return list;
|
}
|
|
public bool Add(GwChargeLog o)
|
{
|
return OracleHelper.ExecuteSql("insert into GW_CHARGE_LOG(CHARGE_ID,SP_ID,OCCUR_TIME,AMOUNT,OPERATOR_ID,FLAG,FLUSH_TIME,REMARK,PAYMENT_TYPE,PAYLOG_ID) values(GW_CHARGE_LOG_SEQ.nextval,:SpID,sysdate,:Amount,:OperatorId,0,sysdate,:Remark,:PayMentType,:PayLogID)", OracleHelper.Connection, new OracleParameter(":SpID", (object)o.SpID), new OracleParameter(":Amount", (object)o.Amount), new OracleParameter(":OperatorID", (object)o.OperatorID), new OracleParameter(":Remark", (object)o.Remark), new OracleParameter(":PayMentType", (object)o.PayMentType), new OracleParameter(":PayLogID", (object)o.PayLogID)) > 0;
|
}
|
|
public bool UpdatePayState(GwChargeLog o)
|
{
|
return OracleHelper.ExecuteSql("update GW_CHARGE_LOG set FLAG=:FLAG WHERE CHARGE_ID=:CHARGE_ID ", OracleHelper.Connection, new OracleParameter(":FLAG", (object)o.Flag), new OracleParameter("CHARGE_ID", (object)o.ChargeID)) > 0;
|
}
|
|
public GwChargeLog Get(string chargeID)
|
{
|
GwChargeLog o = new GwChargeLog();
|
if (string.IsNullOrEmpty(chargeID) || string.Equals("0", chargeID))
|
return o;
|
using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_CHARGE_LOG where CHARGE_ID=:CHARGE_ID"), OracleHelper.Connection, new OracleParameter(":CHARGE_ID", (object)chargeID)))
|
{
|
if (((DbDataReader)reader).Read())
|
{
|
this.ReadInfo(reader, o);
|
return o;
|
}
|
}
|
return o;
|
}
|
|
public GwChargeLog GetLog(int paylogID)
|
{
|
GwChargeLog o = new GwChargeLog();
|
using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("SELECT FlAG FROM GW_CHARGE_LOG WHERE PAYLOG_ID=: PAYLOG_ID"), OracleHelper.Connection, new OracleParameter(":PAYLOG_ID", (object)paylogID)))
|
{
|
if (((DbDataReader)reader).Read())
|
{
|
this.ReadInfo(reader, o);
|
return o;
|
}
|
}
|
return (GwChargeLog)null;
|
}
|
|
private bool ReadInfo(OracleDataReader reader, GwChargeLog o)
|
{
|
OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
|
o.ChargeID = oracleReaderWrapper.GetInt("CHARGE_ID", 0);
|
o.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", "");
|
o.ClientName = oracleReaderWrapper.GetString("CLIENT_NAME", "");
|
o.SpID = oracleReaderWrapper.GetString("SP_ID", "");
|
o.OccurTime = oracleReaderWrapper.GetDateTime("OCCUR_TIME");
|
o.Amount = oracleReaderWrapper.GetInt64("AMOUNT", 0L);
|
o.OperatorID = oracleReaderWrapper.GetString("OPERATOR_ID", "");
|
o.Flag = oracleReaderWrapper.GetInt("FLAG", 0);
|
o.FlushTime = oracleReaderWrapper.GetDateTime("FLUSH_TIME");
|
o.Remark = oracleReaderWrapper.GetString("REMARK", "");
|
o.PayMentType = oracleReaderWrapper.GetInt("PAYMENT_TYPE", 0);
|
o.PayLogID = oracleReaderWrapper.GetInt("PAYLOG_ID", 0);
|
return true;
|
}
|
|
private int ReadCount(OracleDataReader reader)
|
{
|
return new OracleReaderWrapper(reader).GetInt("count", 0);
|
}
|
|
public void Dispose()
|
{
|
}
|
|
public List<GwChargeLog> GetChargeLog(string spid)
|
{
|
List<GwChargeLog> list = new List<GwChargeLog>();
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT * FROM GW_CHARGE_LOG WHERE SP_ID=:SP_ID ORDER BY CHARGE_ID DESC", OracleHelper.Connection, new OracleParameter(":SP_ID", (object)spid)))
|
{
|
while (reader != null && ((DbDataReader)reader).Read())
|
{
|
GwChargeLog o = new GwChargeLog();
|
if (this.ReadInfo(reader, o))
|
list.Add(o);
|
}
|
}
|
return list;
|
}
|
|
public List<GwChargeLog> GetChargeLog(string spid, int payLogID, out int recordCount, int pageSize, int pageIndex)
|
{
|
List<GwChargeLog> list1 = new List<GwChargeLog>();
|
recordCount = 0;
|
StringBuilder stringBuilder = new StringBuilder();
|
List<OracleParameter> list2 = new List<OracleParameter>();
|
stringBuilder.Append(" FROM GW_CHARGE_LOG WHERE SP_ID=:SP_ID ");
|
list2.Add(new OracleParameter(":SP_ID", (object)spid));
|
if (payLogID > 0)
|
{
|
stringBuilder.Append("AND PAYLOG_ID=:PAYLOG_ID ");
|
list2.Add(new OracleParameter(":PAYLOG_ID", (object)payLogID));
|
}
|
stringBuilder.Append("ORDER BY CHARGE_ID DESC");
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT count(*) as count" + (object)stringBuilder, OracleHelper.Connection, list2.ToArray()))
|
{
|
while (((DbDataReader)reader).Read())
|
recordCount = this.ReadCount(reader);
|
}
|
using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "SELECT * " + stringBuilder.ToString()).ToString(), OracleHelper.Connection, list2.ToArray()))
|
{
|
while (reader != null && ((DbDataReader)reader).Read())
|
{
|
GwChargeLog o = new GwChargeLog();
|
if (this.ReadInfo(reader, o))
|
list1.Add(o);
|
}
|
}
|
return list1;
|
}
|
|
public List<GwChargeLog> CLientChargeLogList(string spid, string payLogID, out int recordCount, int pageSize, int pageIndex)
|
{
|
List<GwChargeLog> list = new List<GwChargeLog>();
|
recordCount = 0;
|
OracleParameter[] oracleParameterArray = new OracleParameter[0];
|
string str = string.Format(" FROM GW_CHARGE_LOG WHERE SP_ID in ({0})", (object)spid) + string.Format("ORDER BY CHARGE_ID DESC");
|
using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT count(*) as count" + str, OracleHelper.Connection, oracleParameterArray))
|
{
|
while (((DbDataReader)reader).Read())
|
recordCount = this.ReadCount(reader);
|
}
|
using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "SELECT * " + str.ToString()).ToString(), OracleHelper.Connection, oracleParameterArray))
|
{
|
while (reader != null && ((DbDataReader)reader).Read())
|
{
|
GwChargeLog o = new GwChargeLog();
|
if (this.ReadInfo(reader, o))
|
list.Add(o);
|
}
|
}
|
return list;
|
}
|
}
|
}
|