From 97aa542d1a1cdcb46b2942026d28b7e5dca6c6c0 Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期一, 20 六月 2022 21:10:23 +0800
Subject: [PATCH] 首页:通道状态

---
 web/Dao/GwStatisV3Dao.cs |  152 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 147 insertions(+), 5 deletions(-)

diff --git a/web/Dao/GwStatisV3Dao.cs b/web/Dao/GwStatisV3Dao.cs
index f177d7a..dbedbcf 100644
--- a/web/Dao/GwStatisV3Dao.cs
+++ b/web/Dao/GwStatisV3Dao.cs
@@ -1,5 +1,6 @@
 锘� 
 using Common;
+using Model;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Oracle.DataAccess.Client;
@@ -13,7 +14,11 @@
 {
   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));
     }
@@ -148,11 +153,148 @@
       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)));
     }

--
Gitblit v1.9.1