yzh
2022-06-30 a6a84e6f677447342e8c5984fdc0b52241b92ce3
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
 
using Common;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Oracle.DataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Text;
 
namespace Dao
{
  public class GwStatisV3Dao : IDisposable
  {
        public void Dispose()
        {
        }
 
        public DataTable Query(string clientID)
    {
      return OracleHelper.Execute("SELECT * FROM\r\n(\r\nselect STATIS_TIME,\r\nNVL(SUM(AP_STATUS0),0) as AP_STATUS0,\r\nNVL(SUM(AP_STATUS1),0) as AP_STATUS1,\r\nNVL(SUM(AP_STATUS2),0) as AP_STATUS2,\r\nNVL(SUM(AP_STATUS3),0) as AP_STATUS3,\r\nNVL(SUM(AP_STATUS4),0) as AP_STATUS4,\r\nNVL(SUM(AP_STATUS5),0) as AP_STATUS5\r\n from GW_SM_STATIS_V3 where CLIENT_ID=:CLIENT_ID GROUP BY STATIS_TIME ORDER BY STATIS_TIME DESC) WHERE ROWNUM < 30 ORDER BY STATIS_TIME ASC", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID));
    }
 
    //public List<GwStatisV3Item> Query(DateTime startTime, DateTime endTime, string clientID, string spID, string apID, string opID, string timeExpression, StatisOption so)
    public List<GwStatisV3Item> Query(DateTime startTime, DateTime endTime, string clientID, string spID, string apID, string opID, string timeExpression, string permissionsSQL, StatisOption so)
    {
      List<GwStatisV3Item> list = new List<GwStatisV3Item>();
            //using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("SELECT TO_CHAR(STATIS_TIME,'{0}') AS TITLE {1}{2}{3}{4},\r\nSUM(AP_STATUS0) AP_STATUS0,\r\nSUM(AP_STATUS1) AP_STATUS1,\r\nSUM(AP_STATUS2) AP_STATUS2,\r\nSUM(AP_STATUS3) AP_STATUS3,\r\nSUM(AP_STATUS4) AP_STATUS4,\r\nSUM(AP_STATUS5) AP_STATUS5,\r\nSUM(OP_STATUS0) OP_STATUS0,\r\nSUM(OP_STATUS1) OP_STATUS1,\r\nSUM(OP_STATUS2) OP_STATUS2,\r\nSUM(OP_STATUS3) OP_STATUS3,\r\nSUM(OP_STATUS4) OP_STATUS4,\r\nSUM(OP_STATUS5) OP_STATUS5 \r\nFROM GW_SM_STATIS_V3 WHERE (SP_ID=:SP_ID OR :SP_ID IS NULL) AND (CLIENT_ID=:CLIENT_ID OR :CLIENT_ID IS NULL) AND (AP_ID=:AP_ID OR :AP_ID IS NULL) AND (OP_ID=:OP_ID OR :OP_ID IS NULL)  AND STATIS_TIME BETWEEN :START_TIME AND :END_TIME GROUP BY TO_CHAR(STATIS_TIME,'{0}') {1}{2}{3}{4} ORDER BY 1 ASC", (object) timeExpression, (so & StatisOption.APID) == StatisOption.APID ? (object) ",AP_ID" : (object) "", (so & StatisOption.OPID) == StatisOption.OPID ? (object) ",OP_ID" : (object) "", (so & StatisOption.ClientID) == StatisOption.ClientID ? (object) ",CLIENT_ID" : (object) "", (so & StatisOption.SpID) == StatisOption.SpID ? (object) ",SP_ID" : (object) ""), OracleHelper.Connection, new OracleParameter(":START_TIME", (object) startTime), new OracleParameter(":END_TIME", (object) endTime), new OracleParameter(":SP_ID", (object) spID), new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":AP_ID", (object) apID), new OracleParameter(":OP_ID", (object) opID)))
 
 
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append(string.Format("SELECT TO_CHAR(STATIS_TIME,'{0}') AS TITLE {1}{2}{3}{4},\r\nSUM(AP_STATUS0) AP_STATUS0,\r\nSUM(AP_STATUS1) AP_STATUS1,\r\nSUM(AP_STATUS2) AP_STATUS2,\r\nSUM(AP_STATUS3) AP_STATUS3,\r\nSUM(AP_STATUS4) AP_STATUS4,\r\nSUM(AP_STATUS5) AP_STATUS5,\r\nSUM(OP_STATUS0) OP_STATUS0,\r\nSUM(OP_STATUS1) OP_STATUS1,\r\nSUM(OP_STATUS2) OP_STATUS2,\r\nSUM(OP_STATUS3) OP_STATUS3,\r\nSUM(OP_STATUS4) OP_STATUS4,\r\nSUM(OP_STATUS5) OP_STATUS5 \r\nFROM GW_SM_STATIS_V3 WHERE (SP_ID=:SP_ID OR :SP_ID IS NULL) AND (CLIENT_ID=:CLIENT_ID OR :CLIENT_ID IS NULL) AND (AP_ID=:AP_ID OR :AP_ID IS NULL) AND (OP_ID=:OP_ID OR :OP_ID IS NULL)  AND STATIS_TIME BETWEEN :START_TIME AND :END_TIME GROUP BY TO_CHAR(STATIS_TIME,'{0}') {1}{2}{3}{4} ", (object)timeExpression, (so & StatisOption.APID) == StatisOption.APID ? (object)",AP_ID" : (object)"", (so & StatisOption.OPID) == StatisOption.OPID ? (object)",OP_ID" : (object)"", (so & StatisOption.ClientID) == StatisOption.ClientID ? (object)",CLIENT_ID" : (object)"", (so & StatisOption.SpID) == StatisOption.SpID ? (object)",SP_ID" : (object)"") );
 
            //客户权限SQL脚本
            stringBuilder.Append(permissionsSQL);
 
            stringBuilder.Append(" ORDER BY 1 ASC ");
 
            using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection, new OracleParameter(":START_TIME", (object)startTime), new OracleParameter(":END_TIME", (object)endTime), new OracleParameter(":SP_ID", (object)spID), new OracleParameter(":CLIENT_ID", (object)clientID), new OracleParameter(":AP_ID", (object)apID), new OracleParameter(":OP_ID", (object)opID)))
            {
        GwStatisV3Item gwStatisV3Item1 = new GwStatisV3Item();
        gwStatisV3Item1.Title = "合计";
        while (reader != null && ((DbDataReader) reader).Read())
        {
          GwStatisV3Item gwStatisV3Item2 = new GwStatisV3Item();
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          gwStatisV3Item2.Title = oracleReaderWrapper.GetString("TITLE", "");
          gwStatisV3Item2.APID = oracleReaderWrapper.GetInt("AP_ID", 0);
          gwStatisV3Item2.OPID = oracleReaderWrapper.GetInt("OP_ID", 0);
          gwStatisV3Item2.SpID = oracleReaderWrapper.GetString("SP_ID", "");
          gwStatisV3Item2.ClientID = oracleReaderWrapper.GetString("CLIENT_ID", "");
          gwStatisV3Item2.APStatus0 = oracleReaderWrapper.GetInt("AP_STATUS0", 0);
          gwStatisV3Item2.APStatus1 = oracleReaderWrapper.GetInt("AP_STATUS1", 0);
          gwStatisV3Item2.APStatus2 = oracleReaderWrapper.GetInt("AP_STATUS2", 0);
          gwStatisV3Item2.APStatus3 = oracleReaderWrapper.GetInt("AP_STATUS3", 0);
          gwStatisV3Item2.APStatus4 = oracleReaderWrapper.GetInt("AP_STATUS4", 0);
          gwStatisV3Item2.APStatus5 = oracleReaderWrapper.GetInt("AP_STATUS5", 0);
          gwStatisV3Item2.OPStatus0 = oracleReaderWrapper.GetInt("OP_STATUS0", 0);
          gwStatisV3Item2.OPStatus1 = oracleReaderWrapper.GetInt("OP_STATUS1", 0);
          gwStatisV3Item2.OPStatus2 = oracleReaderWrapper.GetInt("OP_STATUS2", 0);
          gwStatisV3Item2.OPStatus3 = oracleReaderWrapper.GetInt("OP_STATUS3", 0);
          gwStatisV3Item2.OPStatus4 = oracleReaderWrapper.GetInt("OP_STATUS4", 0);
          gwStatisV3Item2.OPStatus5 = oracleReaderWrapper.GetInt("OP_STATUS5", 0);
          list.Add(gwStatisV3Item2);
          gwStatisV3Item1.APStatus0 += gwStatisV3Item2.APStatus0;
          gwStatisV3Item1.APStatus1 += gwStatisV3Item2.APStatus1;
          gwStatisV3Item1.APStatus2 += gwStatisV3Item2.APStatus2;
          gwStatisV3Item1.APStatus3 += gwStatisV3Item2.APStatus3;
          gwStatisV3Item1.APStatus4 += gwStatisV3Item2.APStatus4;
          gwStatisV3Item1.APStatus5 += gwStatisV3Item2.APStatus5;
          gwStatisV3Item1.OPStatus0 += gwStatisV3Item2.OPStatus0;
          gwStatisV3Item1.OPStatus1 += gwStatisV3Item2.OPStatus1;
          gwStatisV3Item1.OPStatus2 += gwStatisV3Item2.OPStatus2;
          gwStatisV3Item1.OPStatus3 += gwStatisV3Item2.OPStatus3;
          gwStatisV3Item1.OPStatus4 += gwStatisV3Item2.OPStatus4;
          gwStatisV3Item1.OPStatus5 += gwStatisV3Item2.OPStatus5;
        }
        list.Add(gwStatisV3Item1);
      }
      return list;
    }
 
    public List<GwRealtimeStatisItemOut> GetRealtimeStatis5mOut()
    {
      List<GwRealtimeStatisItemOut> list = new List<GwRealtimeStatisItemOut>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN\r\n                    (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,\r\n\t                    NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,\r\n\t                    NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT\r\n                    from LG_SM_{0} where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC", (object) DateTime.Now.ToString("yyyyMMdd")), OracleHelper.Connection))
      {
        while (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          int int1 = oracleReaderWrapper.GetInt("OP_ID", 0);
          int int2 = oracleReaderWrapper.GetInt("OP_OUT_COUNT", 0);
          int int3 = oracleReaderWrapper.GetInt("OP_SUCCESS_COUNT", 0);
          int int4 = oracleReaderWrapper.GetInt("OP_FAILED_COUNT", 0);
          JToken jtoken = JsonConvert.DeserializeObject<JToken>(oracleReaderWrapper.GetString("ALARM_SETTING", ""));
          int num1 = 0;
          int num2 = 0;
          int num3 = 0;
          if (jtoken != null)
          {
            num1 = jtoken.Value<int>((object) "opOutThreshold");
            num2 = jtoken.Value<int>((object) "opSuccessRatioThreshold");
            num3 = jtoken.Value<int>((object) "opReportRatioThreshold");
          }
          list.Add(new GwRealtimeStatisItemOut()
          {
            OpID = int1,
            OpName = oracleReaderWrapper.GetString("OP_NAME", ""),
            OpOutCount = int2,
            OpSuccessCount = int3,
            OpFailedCount = int4,
            OpOutThreshold = num1,
            OpSuccessRatioThreshold = num2,
            OpReportRatioThreshold = num3
          });
        }
      }
      return list;
    }
 
    public List<GwRealtimeStatisItemIn> GetRealtimeStatis5mIn()
    {
      List<GwRealtimeStatisItemIn> list = new List<GwRealtimeStatisItemIn>();
      using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select A.*,NVL(B.AP_IN_COUNT,0) AP_IN_COUNT,NVL(b.AP_PENDING_COUNT,0) AP_PENDING_COUNT FROM GW_AP A LEFT JOIN\r\n                        (SELECT AP_ID,NVL(SUM(AP_FEE_COUNT),0) AP_IN_COUNT, NVL(SUM(CASE WHEN STATUS=0 THEN AP_FEE_COUNT ELSE 0 END),0) AP_PENDING_COUNT FROM LG_SM_{0} where AP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY AP_ID) b ON A.AP_ID = b.AP_ID", (object) DateTime.Now.ToString("yyyyMMdd")), OracleHelper.Connection))
      {
        while (reader != null && ((DbDataReader) reader).Read())
        {
          OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
          int int1 = oracleReaderWrapper.GetInt("AP_ID", 0);
          int int2 = oracleReaderWrapper.GetInt("AP_IN_COUNT", 0);
          int int3 = oracleReaderWrapper.GetInt("AP_PENDING_COUNT", 0);
          JToken jtoken = JsonConvert.DeserializeObject<JToken>(oracleReaderWrapper.GetString("ALARM_SETTING", ""));
          int num1 = 0;
          int num2 = int.MaxValue;
          if (jtoken != null)
          {
            num1 = jtoken.Value<int>((object) "apInThreshold");
            num2 = jtoken.Value<int>((object) "apPendingThreshold");
          }
          list.Add(new GwRealtimeStatisItemIn()
          {
            ApID = int1,
            ApName = oracleReaderWrapper.GetString("AP_NAME", ""),
            ApInCount = int2,
            ApPendingCount = int3,
            ApInThreshold = num1,
            ApPendingThreshold = num2
          });
        }
      }
      return list;
    }
 
        //活动客户:客户-发送量【当日】
        public List<Dictionary<string, object>> GetActiveClientDay(string permissionsSQL)
        {
            List<Dictionary<string, object> > list = new List<Dictionary<string, object> >();
            StringBuilder builder = new StringBuilder();
            builder.Append(" SELECT client_id, company, create_time, SUM(ap_status0 ) ap_status0  FROM ( ");
            builder.Append(" SELECT V3.client_id, gc.COMPANY, TO_CHAR(V3.create_time, 'yyyyMMdd') create_time, (ap_status0 + ap_status1 + ap_status2 + ap_status3 + ap_status4 + ap_status5) ap_status0   ");
            builder.Append(" FROM (SELECT * FROM GW_SM_STATIS_V3  ");
            builder.Append(" WHERE 1=1 ");
            builder.Append(" AND TO_CHAR(create_time, 'yyyyMMdd')=:CREATE_TIME ");
            builder.Append( permissionsSQL );
            builder.Append(" ) V3 ");
            builder.Append(" LEFT JOIN gw_client gc on gc.client_id = V3.client_id ");
            builder.Append(" ) aa ");
            builder.Append(" GROUP BY client_id, company, create_time ");
            builder.Append(" ORDER BY ap_status0 DESC ");
 
            /**
            using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count from (" + builder.ToString() + ") T", OracleHelper.Connection))
            {
                while (reader.Read())
                {
                    OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
                    recordcount = wrapper.GetInt("count", 0);
                }
            }**/
            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection, new OracleParameter(":CREATE_TIME", (object)DateTime.Now.ToString("yyyyMMdd"))) )
            //using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
            //using (OracleDataReader reader = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, builder.ToString()).ToString() , OracleHelper.Connection ))
            {
                while (reader != null && ((DbDataReader)reader).Read())
                {
                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
                    string clientId = oracleReaderWrapper.GetString("CLIENT_ID", "");
                    string company = oracleReaderWrapper.GetString("COMPANY", "");
                    int ap_status0 = oracleReaderWrapper.GetInt("AP_STATUS0", 0);
 
                    Dictionary<string, object> map = new Dictionary<string, object>();
                    map.Add("clientId", clientId);
                    map.Add("company", company);
                    map.Add("ap_status0", ap_status0);
                    list.Add(map);
                }
            }
            return list;
        }
 
        //通道-发送量【当日】
        public List<Dictionary<string, object>> GetOpSendDay(string permissionsSQL)
        {
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
            StringBuilder builder = new StringBuilder();
            builder.Append(" SELECT OP_ID, OP_NAME, create_time, SUM(op_status0 ) op_status0  FROM ( ");
            builder.Append(" SELECT V3.op_id, gwo.op_name, TO_CHAR(V3.create_time, 'yyyyMMdd') create_time, (op_status0 + op_status1 + op_status2 + op_status3 + op_status4 + op_status5) op_status0   ");
            builder.Append(" FROM (SELECT * FROM GW_SM_STATIS_V3  ");
            builder.Append(" WHERE 1=1 ");
            builder.Append(" AND TO_CHAR(create_time, 'yyyyMMdd')=:CREATE_TIME ");
            builder.Append(permissionsSQL);
            builder.Append(" ) V3 ");
            builder.Append(" LEFT JOIN gw_op gwo on gwo.op_id = V3.op_id ");
            builder.Append(" ) aa ");
            builder.Append(" GROUP BY op_id, op_name, create_time ");
            builder.Append(" ORDER BY op_status0 DESC ");
 
            /**
            using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count from (" + builder.ToString() + ") T", OracleHelper.Connection))
            {
                while (reader.Read())
                {
                    OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
                    recordcount = wrapper.GetInt("count", 0);
                }
            }**/
            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection, new OracleParameter(":CREATE_TIME", (object)DateTime.Now.ToString("yyyyMMdd"))))
            //using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
            {
                while (reader != null && ((DbDataReader)reader).Read())
                {
                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
                    string opId = oracleReaderWrapper.GetString("OP_ID", "");
                    string opName = oracleReaderWrapper.GetString("OP_NAME", "");
                    int op_status0 = oracleReaderWrapper.GetInt("OP_STATUS0", 0);
 
                    Dictionary<string, object> map = new Dictionary<string, object>();
                    map.Add("opId", opId);
                    map.Add("opName", opName);
                    map.Add("op_status0", op_status0);
                    list.Add(map);
                }
            }
            return list;
        }
 
        //产品-发送量【当日】
        public List<Dictionary<string, object>> GetProductSendDay(string permissionsSQL)
        {
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
            StringBuilder builder = new StringBuilder();
            builder.Append(" SELECT PRODUCT_ID, PRODUCT_NAME, create_time, SUM(ap_status0 ) ap_status0  FROM ( ");
            builder.Append(" SELECT gs.product_id, gp.name product_name, TO_CHAR(V3.create_time, 'yyyyMMdd') create_time, (ap_status0 + ap_status1 + ap_status2 + ap_status3 + ap_status4 + ap_status5) ap_status0   ");
            builder.Append(" FROM (SELECT * FROM GW_SM_STATIS_V3  ");
            builder.Append(" WHERE 1=1 ");
            builder.Append(" AND TO_CHAR(create_time, 'yyyyMMdd')=:CREATE_TIME ");
            builder.Append(permissionsSQL);
            builder.Append(" ) V3 ");
            builder.Append(" LEFT JOIN gw_sp gs on gs.sp_id = V3.sp_id ");
            builder.Append(" LEFT JOIN gw_product gp on gp.id = gs.product_id ");
            builder.Append(" ) aa ");
            builder.Append(" GROUP BY PRODUCT_ID, PRODUCT_NAME, create_time ");
            builder.Append(" ORDER BY ap_status0 DESC ");
 
            /**
            using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count from (" + builder.ToString() + ") T", OracleHelper.Connection))
            {
                while (reader.Read())
                {
                    OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
                    recordcount = wrapper.GetInt("count", 0);
                }
            }**/
            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection, new OracleParameter(":CREATE_TIME", (object)DateTime.Now.ToString("yyyyMMdd"))))
            //using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
            {
                while (reader != null && ((DbDataReader)reader).Read())
                {
                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
                    string productId = oracleReaderWrapper.GetString("PRODUCT_ID", "");
                    string productName = oracleReaderWrapper.GetString("PRODUCT_NAME", "");
                    int ap_status0 = oracleReaderWrapper.GetInt("AP_STATUS0", 0);
 
                    Dictionary<string, object> map = new Dictionary<string, object>();
                    map.Add("productId", productId);
                    map.Add("productName", productName);
                    map.Add("ap_status0", ap_status0);
                    list.Add(map);
                }
            }
            return list;
        }
 
 
        public int GetTotalCount(string clientID, DateTime dateTime)
    {
      return Convert.ToInt32(OracleHelper.ExecuteScalar("SELECT NVL(SUM(AP_STATUS0 + AP_STATUS1 + AP_STATUS2 + AP_STATUS3 + AP_STATUS4 + AP_STATUS5),0) FROM  GW_SM_STATIS_V3 WHERE CLIENT_ID=:CLIENT_ID AND STATIS_TIME >= :STATIS_TIME", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID), new OracleParameter(":STATIS_TIME", (object) dateTime)));
    }
 
    public DataTable GetClientCount(string clientID)
    {
      return OracleHelper.Execute("select sp_id from GW_SM_STATIS_V3 where CLIENT_ID=:CLIENT_ID group by sp_id", OracleHelper.Connection, new OracleParameter(":CLIENT_ID", (object) clientID));
    }
  }
}