yzh
2021-10-09 a46339e796fc2ee56959618cf1a7ce0382c1c74c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
 
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;
        }
    }
}