| | |
| | | |
| | | using Common; |
| | | using Model; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using Oracle.DataAccess.Client; |
| | | using Oracle.ManagedDataAccess.Client; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | |
| | | { |
| | | public class GwStatisV3Dao : IDisposable |
| | | { |
| | | public DataTable Query(string clientID) |
| | | 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>(); |
| | |
| | | return list; |
| | | } |
| | | |
| | | public void Dispose() |
| | | { |
| | | } |
| | | //活动客户:客户-发送量【当日】 |
| | | 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 "); |
| | | |
| | | public int GetTotalCount(string clientID, DateTime dateTime) |
| | | /** |
| | | 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))); |
| | | } |