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/GwAuditCacheDao.cs   |   48 +++
 web/web/Bin/Dao.dll          |    0 
 web/web/GwStatisV3.ashx      |   43 +++
 web/Dao/GwOrderDao.cs        |   74 +++++
 web/Dao/GwStatisV3Dao.cs     |  152 +++++++++++
 web/Dao/GwEventLogDao.cs     |   80 ++++++
 web/web/Welcome.aspx         |  256 +++++++++++++++++++
 web/Lib/Dao.dll              |    0 
 web/web/Index.aspx           |    9 
 web/Dao/Dao.csproj           |    1 
 web/web/Welcome.aspx.cs      |   21 +
 web/Dao/GwSpPrePatternDao.cs |   23 +
 web/.vs/Web/v16/.suo         |    0 
 web/web/SysDictData.ashx     |    2 
 web/web/SysRoleMenu.ashx     |   59 ++++
 web/Lib/Dao.pdb              |    0 
 web/web/Bin/Dao.pdb          |    0 
 17 files changed, 744 insertions(+), 24 deletions(-)

diff --git a/web/.vs/Web/v16/.suo b/web/.vs/Web/v16/.suo
index c09ba32..b55a07d 100644
--- a/web/.vs/Web/v16/.suo
+++ b/web/.vs/Web/v16/.suo
Binary files differ
diff --git a/web/Dao/Dao.csproj b/web/Dao/Dao.csproj
index 861f64e..110d560 100644
--- a/web/Dao/Dao.csproj
+++ b/web/Dao/Dao.csproj
@@ -79,6 +79,7 @@
     <Compile Include="GwMobileAreaDao.cs" />
     <Compile Include="GwMoRouteDao.cs" />
     <Compile Include="GwOrderAuditDao.cs" />
+    <Compile Include="GwEventLogDao.cs" />
     <Compile Include="GwOrderDao.cs" />
     <Compile Include="SysRoleMenuDao.cs" />
     <Compile Include="SysDictDataDao.cs" />
diff --git a/web/Dao/GwAuditCacheDao.cs b/web/Dao/GwAuditCacheDao.cs
index f95e3ce..b012f24 100644
--- a/web/Dao/GwAuditCacheDao.cs
+++ b/web/Dao/GwAuditCacheDao.cs
@@ -7,6 +7,7 @@
     using System;
     using System.Collections.Generic;
     using System.Data;
+    using System.Data.Common;
     using System.Runtime.InteropServices;
     using System.Text;
     using System.Text.RegularExpressions;
@@ -190,5 +191,52 @@
             OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":AUDITING_STATUS", (int)status), new OracleParameter(":HASH_CODE", hashCode), new OracleParameter(":OP_ID", opID) };
             return (OracleHelper.ExecuteSql(str, OracleHelper.Connection, parameterArray) > 0);
         }
+
+        //鍙戦�佸唴瀹�:寰呭鏍哥粺璁�
+        public List<Dictionary<string, object>> GetSendAudit(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) COUNT  FROM GW_AUDIT_CACHE WHERE AUDITING_STATUS =0 ");
+            builder.Append(permissionsSQL);
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int count = oracleReaderWrapper.GetInt("COUNT", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("count", count);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
+        //鍙戦�佸唴瀹�:浜屾寰呭鏍哥粺璁�
+        public List<Dictionary<string, object>> GetSendAuditTow(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) COUNT  FROM GW_AUDIT_CACHE WHERE AUDITING_STATUS =10 ");
+            builder.Append(permissionsSQL);
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int count = oracleReaderWrapper.GetInt("COUNT", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("count", count);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
     }
+
 }
diff --git a/web/Dao/GwEventLogDao.cs b/web/Dao/GwEventLogDao.cs
new file mode 100644
index 0000000..36721fd
--- /dev/null
+++ b/web/Dao/GwEventLogDao.cs
@@ -0,0 +1,80 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Model;
+using Common;
+using Oracle.DataAccess.Client;
+using System.Data.Common;
+
+namespace Dao
+{
+    /// <summary>
+    /// 鏁版嵁搴撲簨浠堕�氱煡琛ㄦ搷浣�
+    /// </summary>
+    public class GwEventLogDao : IDisposable
+    {
+        public void Dispose()
+        {
+        }
+
+        private static GwEventLogDao _instance;
+        public static GwEventLogDao Instance
+        {
+            get {
+                if (_instance == null)
+                {
+                    _instance = new GwEventLogDao();
+                }
+                return _instance;
+            }
+        }
+
+        //閫氶亾鐘舵��
+        public List<Dictionary<string, object>> GetOpStatus(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT GEL.*, GWO.OP_NAME FROM GW_EVENT_LOG GEL ");
+            builder.Append(" LEFT JOIN GW_OP GWO ON GWO.OP_ID = GEL.OP_ID ");
+            builder.Append(" WHERE 1=1 ");
+            //builder.Append(" AND EVENT_TYPE = 'OPWARING' AND ASSIGNED_TO = 'WEB' ");
+            builder.Append(permissionsSQL);
+            builder.Append(" ORDER BY HANDLE_FLAG, HANDLE_TIME DESC ");
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int opId = oracleReaderWrapper.GetInt("OP_ID", 0); 
+                    string opName = oracleReaderWrapper.GetString("OP_NAME", "");
+                    int apId = oracleReaderWrapper.GetInt("AP_ID", 0);
+                    string clientId = oracleReaderWrapper.GetString("CLIENT_ID", "");
+                    string spId = oracleReaderWrapper.GetString("SP_ID", "");
+                    DateTime eventTime = oracleReaderWrapper.GetDateTime("EVENT_TIME");
+                    string eventType = oracleReaderWrapper.GetString("EVENT_TYPE", "");
+                    string content = oracleReaderWrapper.GetString("CONTENT", "");
+                    int handleFlag = oracleReaderWrapper.GetInt("HANDLE_FLAG", 0);
+                    DateTime handleTime = oracleReaderWrapper.GetDateTime("HANDLE_TIME");
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("opId", opId); 
+                    map.Add("opName", opName);
+                    map.Add("apId", apId);
+                    map.Add("clientId", clientId);
+                    map.Add("spId", spId);
+                    map.Add("eventTime", eventTime);
+                    map.Add("eventType", eventType);
+                    map.Add("content", content);
+                    map.Add("handleFlag", handleFlag);
+                    map.Add("handleTime", handleTime);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
+    }
+
+}
diff --git a/web/Dao/GwOrderDao.cs b/web/Dao/GwOrderDao.cs
index 0e1a091..d2df31a 100644
--- a/web/Dao/GwOrderDao.cs
+++ b/web/Dao/GwOrderDao.cs
@@ -169,7 +169,7 @@
         }
 
 
-        //娣诲姞浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        //娣诲姞淇℃伅
         public bool Add(GwOrder o)
         {
             StringBuilder stringBuilder = new StringBuilder();
@@ -241,7 +241,7 @@
                 ) > 0;
         }
 
-        //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        //鏇存柊淇℃伅
         public bool Update(GwOrder o)
         {
             OracleParameter[] cmdParms = new OracleParameter[] {
@@ -296,6 +296,76 @@
             return o;
         }
 
+        //浠婃棩宸插畬鎴愯鍗曟暟鍙婃�婚
+        public List<Dictionary<string, object>> GetOrderDay(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) order_num, SUM(order_amount_total) order_amount_total FROM ( ");
+            builder.Append(" SELECT a.order_id, a.client_id, a.status, a.order_amount_total ");
+            builder.Append(" , CASE WHEN b.update_time is null then TO_CHAR(a.create_time, 'yyyyMMdd') ELSE TO_CHAR(b.update_time, 'yyyyMMdd') END AS update_time ");
+            builder.Append(" FROM gw_order a ");
+            builder.Append(" LEFT JOIN ( ");
+            builder.Append(" SELECT order_id, max(audit_time) update_time FROM gw_order_audit goa ");
+            builder.Append(" GROUP BY order_id ");
+            builder.Append(" ) b ON b.order_id = a.order_id ");
+            builder.Append(" ) ");
+            builder.Append(" WHERE 1=1 AND status=2 ");
+            //builder.Append(" AND update_time=:UPDATE_TIME ");
+            builder.Append(permissionsSQL);
+
+            //using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection, new OracleParameter(":UPDATE_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);
+                    int orderNum = oracleReaderWrapper.GetInt("ORDER_NUM", 0);
+                    int orderAmountTotal = oracleReaderWrapper.GetInt("ORDER_AMOUNT_TOTAL", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("orderNum", orderNum);
+                    map.Add("orderAmountTotal", orderAmountTotal);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
+        //寰呭鏍歌鍗曟暟鍙婃�婚
+        public List<Dictionary<string, object>> GetOrderAudit(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) order_num, SUM(order_amount_total) order_amount_total FROM ( ");
+            builder.Append(" SELECT a.order_id, a.client_id, a.status, a.order_amount_total ");
+            //builder.Append(" , CASE WHEN b.update_time is null then TO_CHAR(a.create_time, 'yyyyMMdd') ELSE TO_CHAR(b.update_time, 'yyyyMMdd') END AS update_time ");
+            builder.Append(" FROM gw_order a ");
+            builder.Append(" LEFT JOIN ( ");
+            builder.Append(" SELECT order_id, max(audit_time) update_time FROM gw_order_audit goa ");
+            builder.Append(" GROUP BY order_id ");
+            builder.Append(" ) b ON b.order_id = a.order_id ");
+            builder.Append(" ) ");
+            builder.Append(" WHERE 1=1 AND status IN (0,1) ");
+            builder.Append(permissionsSQL);
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int orderNum = oracleReaderWrapper.GetInt("ORDER_NUM", 0);
+                    int orderAmountTotal = oracleReaderWrapper.GetInt("ORDER_AMOUNT_TOTAL", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("orderNum", orderNum);
+                    map.Add("orderAmountTotal", orderAmountTotal);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
         //缁熻璁板綍鏁�
         private int ReadCount(OracleDataReader reader)
         {
diff --git a/web/Dao/GwSpPrePatternDao.cs b/web/Dao/GwSpPrePatternDao.cs
index 36e9c5d..d55dcc7 100644
--- a/web/Dao/GwSpPrePatternDao.cs
+++ b/web/Dao/GwSpPrePatternDao.cs
@@ -125,6 +125,29 @@
             return list;
         }
 
+        //璐﹀彿鎶ュ鍐呭寰呭鏍哥粺璁�
+        public List<Dictionary<string, object>> GetSpPrePatternAudit(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) COUNT  FROM GW_SP_PREPATTERN WHERE Audit_Status =0 ");
+            builder.Append(permissionsSQL);
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int count = oracleReaderWrapper.GetInt("COUNT", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("count", count);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
         private int ReadCount(OracleDataReader reader)
         {
             return new OracleReaderWrapper(reader).GetInt("count", 0);
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)));
     }
diff --git a/web/Lib/Dao.dll b/web/Lib/Dao.dll
index 19eb874..ab96b82 100644
--- a/web/Lib/Dao.dll
+++ b/web/Lib/Dao.dll
Binary files differ
diff --git a/web/Lib/Dao.pdb b/web/Lib/Dao.pdb
index 2be4741..87cb143 100644
--- a/web/Lib/Dao.pdb
+++ b/web/Lib/Dao.pdb
Binary files differ
diff --git a/web/web/Bin/Dao.dll b/web/web/Bin/Dao.dll
index 19eb874..ab96b82 100644
--- a/web/web/Bin/Dao.dll
+++ b/web/web/Bin/Dao.dll
Binary files differ
diff --git a/web/web/Bin/Dao.pdb b/web/web/Bin/Dao.pdb
index 2be4741..87cb143 100644
--- a/web/web/Bin/Dao.pdb
+++ b/web/web/Bin/Dao.pdb
Binary files differ
diff --git a/web/web/GwStatisV3.ashx b/web/web/GwStatisV3.ashx
index e3e87ce..465c896 100644
--- a/web/web/GwStatisV3.ashx
+++ b/web/web/GwStatisV3.ashx
@@ -10,6 +10,11 @@
 public class GwStatisV3 : PageHandler<SysUser> 
 {
     private GwStatisV3Dao _Dao = new GwStatisV3Dao();
+    private GwOrderDao orderDao = new GwOrderDao();
+    private GwSpPrePatternDao spPrePatternDao = new GwSpPrePatternDao();
+    private GwAuditCacheDao gwAuditCacheDao = new GwAuditCacheDao();
+    private GwEventLogDao gwEventLogDao = new GwEventLogDao();
+        
     private int _userId = -1;
     private string _userType = "";
     private string _account = "";
@@ -34,10 +39,46 @@
     
     private JsonPageResult GetRealtimeStatis5m(PageContext<SysUser> context)
     {
+
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, null);
+
         var oplist = _Dao.GetRealtimeStatis5mOut();
         var aplist = _Dao.GetRealtimeStatis5mIn();
+            
+            //娲诲姩瀹㈡埛锛氬鎴�-鍙戦�侀噺銆愬綋鏃ャ��
+        var activeClientDayList = _Dao.GetActiveClientDay(permissionsSQL);
+            //閫氶亾-鍙戦�侀噺銆愬綋鏃ャ��
+        var opSendDayList = _Dao.GetOpSendDay(permissionsSQL);
+            //浜у搧-鍙戦�侀噺銆愬綋鏃ャ��
+        var productSendDayList = _Dao.GetProductSendDay(permissionsSQL);
+            //璁㈠崟:浠婃棩宸插畬鎴愯鍗�
+        var orderDayList = orderDao.GetOrderDay(permissionsSQL);
+            //璁㈠崟:寰呭鏍歌鍗�
+        var orderAuditList = orderDao.GetOrderAudit(permissionsSQL);
+            //鍙戦�佸唴瀹�:寰呭鏍�
+        var sendAuditList = gwAuditCacheDao.GetSendAudit(permissionsSQL);
+            //鍙戦�佸唴瀹�:浜屾寰呭鏍�
+        var sendAuditTowList = gwAuditCacheDao.GetSendAuditTow(permissionsSQL);
+            //璐﹀彿鎶ュ鍐呭:寰呭鏍�
+        var spPrePatternAuditList = spPrePatternDao.GetSpPrePatternAudit(permissionsSQL);
+            //閫氶亾鐘舵��
+        var opStatusList = gwEventLogDao.GetOpStatus(permissionsSQL);
+
+            
         
-        return new JsonPageResult(true, new { ApList = aplist, OpList = oplist } );
+        return new JsonPageResult(true, new { 
+            ApList = aplist,
+            OpList = oplist,
+            ActiveClientDayList = activeClientDayList,
+            OpSendDayList = opSendDayList,
+            ProductSendDayList = productSendDayList,
+            OrderDayList = orderDayList,
+            OrderAuditList = orderAuditList,
+            SendAuditList = sendAuditList,
+            SendAuditTowList = sendAuditTowList,
+            SpPrePatternAuditList = spPrePatternAuditList,
+            OpStatusList = opStatusList
+        } );
     }
     private string GetApName(List<GwAp>aplist, int apID)
     {
diff --git a/web/web/Index.aspx b/web/web/Index.aspx
index 7cc1ae5..abb283a 100644
--- a/web/web/Index.aspx
+++ b/web/web/Index.aspx
@@ -120,9 +120,8 @@
                         </a>
                         <ul class="nav nav-second-level">
 
-                            <li><a href="GwAuditCache.aspx?StatusFlag=0" class="J_menuItem">寰呭鏍稿唴瀹�</a> </li>
-                            <li><a href="GwSpPrePattern.aspx" class="J_menuItem">甯愬彿鎶ュ鍐呭瀹℃牳</a> </li>
-
+                            <li><a href="GwAuditCache.aspx?StatusFlag=0" class="J_menuItem" id="MenuId_GwAuditCache">寰呭鏍稿唴瀹�</a> </li>
+                            <li><a href="GwSpPrePattern.aspx" class="J_menuItem" id="MenuId_GwSpPrePattern">甯愬彿鎶ュ鍐呭瀹℃牳</a> </li>
 
                         </ul>
                     </li>
@@ -182,8 +181,8 @@
                             <span class="fa arrow"></span>
                         </a>
                         <ul class="nav nav-second-level">
-                            <li><a href="GwOrderComplete.aspx" class="J_menuItem">宸插畬鎴愯鍗�</a> </li>
-                            <li><a href="GwOrderAudit.aspx" class="J_menuItem">寰呭鏍歌鍗�</a> </li>
+                            <li><a href="GwOrderComplete.aspx" class="J_menuItem" id="MenuId_GwOrderComplete">宸插畬鎴愯鍗�</a> </li>
+                            <li><a href="GwOrderAudit.aspx" class="J_menuItem" id="MenuId_GwOrderAudit">寰呭鏍歌鍗�</a> </li>
                         </ul>
                     </li>
 
diff --git a/web/web/SysDictData.ashx b/web/web/SysDictData.ashx
index 69fadbf..eca73cd 100644
--- a/web/web/SysDictData.ashx
+++ b/web/web/SysDictData.ashx
@@ -68,7 +68,7 @@
                 str1 += "<tr>";
                 str1 += "<td>" + bean.DictValue + "</td>";
                 str1 += "<td>" + bean.DictLabel + "</td>";
-                str1 += "<td>" + bean.DictType + "</td>";
+                str1 += "<td>" + SysDictTypeToName(bean.DictType) + "</td>";
                 str1 += "<td>" + bean.DictSort + "</td>";
                 str1 += "<td>" + (bean.ParanSource == 0 ? "绯荤粺鍐呯疆" : "鐢ㄦ埛娣诲姞") + "</td>";
                 str1 += "<td>" + SysUserName(string.IsNullOrEmpty(bean.CreateBy)? 0: int.Parse(bean.CreateBy) ) + "</td>";
diff --git a/web/web/SysRoleMenu.ashx b/web/web/SysRoleMenu.ashx
new file mode 100644
index 0000000..2a0b215
--- /dev/null
+++ b/web/web/SysRoleMenu.ashx
@@ -0,0 +1,59 @@
+锘�<%@ WebHandler Language="C#" Class="SysRoleMenuHandler" %>
+using Common;
+using Dao;
+using Model;
+// using Newtonsoft.Json;
+//using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using Newtonsoft.Json;
+
+public class SysRoleMenuHandler : PageHandler<SysUser>
+{
+    private SysRoleMenuDao _Dao = new SysRoleMenuDao();
+
+    private List<SysUser> _SysUserList;
+
+    public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
+    {
+        string @string = context.GetString("action");
+        switch (@string)
+        {
+            //case "update":
+            //    return this.Update(context);    //淇敼
+            case "loadRoleMenuList":
+                return this.LoadRoleMenuList(context);      //鑾峰彇瑙掕壊鏉冮檺鍒楄〃
+            case "updatePermission":
+                return this.UpdatePermission(context);  //淇濆瓨瑙掕壊鏉冮檺
+
+            default:
+                throw new Exception("Invalid Action=" + @string);
+        }
+    }
+
+    private JsonPageResult LoadRoleMenuList(PageContext<SysUser> context)
+    {
+        //context.CheckRight("104", FailedOperation.PromptOnly);
+        string roleId = context.GetString("roleId");
+        if(string.IsNullOrEmpty(roleId))
+            throw new ArgumentException("鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖锛岃杈撳叆锛�");
+
+       return new JsonPageResult(true, (object) this._Dao.LoadRoleMenuList(roleId).Keys);
+    }
+
+    private JsonPageResult UpdatePermission(PageContext<SysUser> context)
+    {
+        //context.CheckRight("1042", FailedOperation.PromptOnly);
+        string @string = context.GetString("menuIDArray");
+        string roleId = context.GetString("roleId");
+        string[] menuIDArray = JsonConvert.DeserializeObject<string[]>(@string);
+        if (menuIDArray == null)
+            throw new ArgumentException("鑿滃崟鏁版嵁寮傚父锛�");
+        if (string.IsNullOrEmpty(roleId) )
+            throw new ArgumentException("鐢ㄦ埛瑙掕壊鍙傛暟寮傚父锛�");
+
+        this._Dao.UpdatePermission(roleId, menuIDArray);
+        return new JsonPageResult(true, (object) "淇濆瓨鏉冮檺鎴愬姛锛�");
+    }
+
+}
\ No newline at end of file
diff --git a/web/web/Welcome.aspx b/web/web/Welcome.aspx
index deabbf1..484ddde 100644
--- a/web/web/Welcome.aspx
+++ b/web/web/Welcome.aspx
@@ -1,6 +1,27 @@
 锘�<%@ Page Language="C#" masterpagefile="~/Main.master"  AutoEventWireup="true" CodeFile="Welcome.aspx.cs" Inherits="Welcome" %>
 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
-    <script>
+    <script type="text/javascript" src="js/contabs.min.js"></script>
+
+    <style type="text/css">
+        .dotRed {
+		  //position: absolute;
+		  width: 15px;
+		  height: 15px;
+		  border-radius: 100%;
+		  background: #FF0000;
+		  //box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
+		}
+        
+        .dotGreen {
+		  //position: absolute;
+		  width: 15px;
+		  height: 15px;
+		  border-radius: 100%;
+		  background: #00FF00;
+		  //box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
+		}
+    </style>
+    <script type="text/javascript">
         $(function () {
             function getClass(b) {
                 return b ? "label m-b label-warning" : "label m-b label-primary";
@@ -11,8 +32,99 @@
                     setTimeout(refreshStatis, 50000);
                 }
                 else {
+
                     $.post("gwstatisv3.ashx", { action: "getRealtimeStatis5m" }, function (r) {
+
                         if (r.OK) {
+                            //娲诲姩瀹㈡埛鍓峏涓細瀹㈡埛-鍙戦�侀噺銆愬綋鏃ャ��
+                            var activeClientDayhtml = [];
+
+                            $.each(r.Message.ActiveClientDayList, function (i) {
+                                activeClientDayhtml.push("<tr>");
+                                activeClientDayhtml.push("<td>" + this.clientId + "</td>");
+                                activeClientDayhtml.push("<td>" + this.company + "</td>");
+                                activeClientDayhtml.push("<td><span  class='" + getClass(false) + "'>" + this.ap_status0 + "</span></td>");
+                                activeClientDayhtml.push("</tr>");
+                            });
+
+                            $("#activeClientDayTable tbody").html(activeClientDayhtml.join("\n"));
+                            
+                            //閫氶亾-鍙戦�侀噺銆愬綋鏃ャ��
+                            var opSendDayhtml = [];
+
+                            $.each(r.Message.OpSendDayList, function (i) {
+                                opSendDayhtml.push("<tr>");
+                                opSendDayhtml.push("<td>" + this.opId + "</td>");
+                                opSendDayhtml.push("<td>" + this.opName + "</td>");
+                                opSendDayhtml.push("<td><span  class='" + getClass(false) + "'>" + this.op_status0 + "</span></td>");
+                                opSendDayhtml.push("</tr>");
+                            });
+
+                            $("#opSendDayTable tbody").html(opSendDayhtml.join("\n"));
+
+                            //浜у搧-鍙戦�侀噺銆愬綋鏃ャ��
+                            var productSendDayhtml = [];
+
+                            $.each(r.Message.ProductSendDayList, function (i) {
+                                productSendDayhtml.push("<tr>");
+                                productSendDayhtml.push("<td>" + this.productName + "</td>");
+                                productSendDayhtml.push("<td><span  class='" + getClass(false) + "'>" + this.ap_status0 + "</span></td>");
+                                productSendDayhtml.push("</tr>");
+                            });
+
+                            $("#productSendDayTable tbody").html(productSendDayhtml.join("\n"));
+
+                            //璁㈠崟
+                            var orderhtml = [];
+                            $.each(r.Message.OrderDayList, function (i) {
+                                orderhtml.push("<tr>");
+                                orderhtml.push("<td>浠婃棩宸插畬鎴� <a href='javascript:;' onclick='doTabOpen(\"MenuId_GwOrderComplete\")' data-id='{0}' class='btn  btn-success btn-xs'><u>" + this.orderNum + " </u></a>涓鍗曪紝鎬婚噾棰濓細<span  class='" + getClass(false) + "'>" + this.orderAmountTotal/1000 + "</span> 鍏�</td>");
+                                orderhtml.push("</tr>");
+                            });
+
+                            $.each(r.Message.OrderAuditList, function (i) {
+                                orderhtml.push("<tr>");
+                                orderhtml.push("<td>寰呭鎵� <a href='javascript:;' onclick='doTabOpen(\"MenuId_GwOrderAudit\")' data-id='{0}' class='btn  btn-success btn-xs'><u>" + this.orderNum + " </u></a>涓鍗曪紝鎬婚噾棰濓細<span  class='" + getClass(false) + "'>" + this.orderAmountTotal / 1000 + "</span> 鍏�</td>");
+                                orderhtml.push("</tr>");
+                            });
+                            $("#orderTable tbody").html(orderhtml.join("\n"));
+
+                            //寰呭鏍稿彂閫�
+                            var sendAudithtml = [];
+                            $.each(r.Message.SendAuditList, function (i) {
+                                sendAudithtml.push("<tr>");
+                                sendAudithtml.push("<td>寰呭鏍哥煭淇� <a href='javascript:;' onclick='doTabOpen(\"MenuId_GwAuditCache\")' data-id='{0}' class='btn  btn-success btn-xs'>" + this.count + " </a>鏉★紝璇风珛鍗冲鐞�</td>");
+                                sendAudithtml.push("</tr>");
+                            });
+
+                            $.each(r.Message.SendAuditTowList, function (i) {
+                                sendAudithtml.push("<tr>");
+                                //sendAudithtml.push("<td>寰呬簩娆¢壌瀹氱煭淇� <a href='GwAuditCache.aspx?StatusFlag=0&AuditingStatus=10' onclick='doTabOpen(\"MenuId_GwAuditCache\")' data-id='{0}' class='btn  btn-success btn-xs'>" + this.count + " </a>鏉★紝璇风珛鍗冲鐞�</td>");
+                                sendAudithtml.push("<td>寰呬簩娆¢壌瀹氱煭淇� <a href='javascript:;' onclick='doTabOpen(\"MenuId_GwAuditCache\")' data-id='{0}' class='btn  btn-success btn-xs'>" + this.count + " </a>鏉★紝璇风珛鍗冲鐞�</td>");
+                                sendAudithtml.push("</tr>");
+                            });
+
+                            $.each(r.Message.SpPrePatternAuditList, function (i) {
+                                sendAudithtml.push("<tr>");
+                                sendAudithtml.push("<td>璐﹀彿鎶ュ鍐呭寰呭鏍� <a href='javascript:;' onclick='doTabOpen(\"MenuId_GwSpPrePattern\")' data-id='{0}' class='btn  btn-success btn-xs'>" + this.count + " </a>鏉★紝璇风珛鍗冲鐞�</td>");
+                                sendAudithtml.push("</tr>");
+                            });
+                            $("#sendAuditTable tbody").html(sendAudithtml.join("\n"));
+
+                            //閫氶亾鐘舵��
+                            var opStatushtml = [];
+                            $.each(r.Message.OpStatusList, function (i) {
+                                opStatushtml.push("<tr>");
+                                opStatushtml.push("<td>" + this.opId + "</td>");
+                                opStatushtml.push("<td>" + this.opName + "</td>");
+                                opStatushtml.push("<td>" + this.content + "</td>");
+                                //opStatushtml.push("<td><span  class='" + getClass(false) + "'>" + this.handleFlag + "</span></td>");
+                                opStatushtml.push("<td>" + ((this.handleFlag == 1) ? "<div class='dotGreen'>" : "<div  class='dotRed'>") + "</div></td>");
+                                opStatushtml.push("</tr>");
+                            });
+                            $("#opStatusTable tbody").html(opStatushtml.join("\n"));
+
+                            /** 
                             var ophtml = [];
 
                             $.each(r.Message.OpList, function (i) {
@@ -46,6 +158,7 @@
                                 aphtml.push("</tr>");
                             });
                             $("#apTable tbody").html(aphtml.join("\n"));
+                            **/
 
                             setTimeout(refreshStatis, 3000);
                         }
@@ -55,13 +168,137 @@
 
             refreshStatis();
         });
+
+        //閾炬帴TABS鏂瑰紡鎵撳紑
+        function doTabOpen(menuId) {
+            //parent.$('#' + menuId).attr("href", "GwAuditCache.aspx?StatusFlag=0&AuditingStatus=10");
+            //parent.$('#' + menuId).attr("data-id", "GwAuditCache.aspx?StatusFlag=0&AuditingStatus=10");
+            //window.parent.document.getElementById(menuId).click();    //js鏂瑰紡
+            //console.log(parent.$('#' + menuId).attr("data-id"));
+            parent.$('#' + menuId).click();   //jquery鏂瑰紡
+        }
     </script>
 </asp:Content>
 <asp:Content ID="Content2" ContentPlaceHolderID="content" runat="Server">
     <div class="ibox">
+        
         <div class="ibox-title">
-            <h3>
-                鎺ュ叆鐐圭姸鎬�</h3>
+            <h3>娲诲姩瀹㈡埛锛氬鎴�-鍙戦�侀噺銆愬綋鏃ャ��</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="activeClientDayTable">
+                <thead>
+                    <tr>
+                        <td>
+                            瀹㈡埛璐﹀彿
+                        </td>
+                        <td>
+                            瀹㈡埛鍏徃
+                        </td>
+                        <td>
+                            鍙戦�佹�婚噺
+                        </td>
+                    </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        <div id="activeClientDayPagination">
+        </div>
+        
+        <div class="ibox-title">
+            <h3>閫氶亾-鍙戦�侀噺銆愬綋鏃ャ��</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="opSendDayTable">
+                <thead>
+                    <tr>
+                        <td>
+                            閫氶亾缂栧彿
+                        </td>
+                        <td>
+                            閫氶亾鍚嶇О
+                        </td>
+                        <td>
+                            鍙戦�佹�婚噺
+                        </td>
+                    </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        
+        <div class="ibox-title">
+            <h3>浜у搧-鍙戦�侀噺銆愬綋鏃ャ��</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="productSendDayTable">
+                <thead>
+                    <tr>
+                        <td>
+                            浜у搧
+                        </td>
+                        <td>
+                            鍙戦�佹�婚噺
+                        </td>
+                    </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        
+        <div class="ibox-title">
+            <h3>璁㈠崟</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="orderTable">
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        
+        <div class="ibox-title">
+            <h3>寰呭鏍稿彂閫�</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="sendAuditTable">
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        
+        <div class="ibox-title">
+            <h3>閫氶亾鐘舵��</h3>
+        </div>
+        <div class="ibox-content">
+            <table class="table table-striped table-bordered table-hover" id="opStatusTable">
+                <thead>
+                    <tr>
+                        <td>
+                            閫氶亾缂栧彿
+                        </td>
+                        <td>
+                            閫氶亾鍚嶇О
+                        </td>
+                        <td>
+                            鐘舵�佹弿杩�
+                        </td>
+                        <td>
+                            鐘舵��
+                        </td>
+                    </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+
+        <!--
+        <div class="ibox-title">
+            <h3>鎺ュ叆鐐圭姸鎬�</h3>
         </div>
         <div class="ibox-content">
             <table class="table table-striped table-bordered table-hover" id="apTable">
@@ -91,9 +328,9 @@
                 </tbody>
             </table>
         </div>
+
         <div class="ibox-title">
-            <h3>
-                閫氶亾鐘舵��</h3>
+            <h3>閫氶亾鐘舵��</h3>
         </div>
         <div class="ibox-content">
             <table class="table table-striped table-bordered table-hover" id="opTable">
@@ -130,14 +367,15 @@
             </table>
         </div>
 
-                <div class="ibox-title">
-            <h3>
-                鏁版嵁搴撹〃绌洪棿</h3>
+        <div class="ibox-title">
+            <h3>鏁版嵁搴撹〃绌洪棿</h3>
         </div>
         <div class="ibox-content">
             <table class="table table-striped table-bordered table-hover">
-                <%= RenderTableSpaceTable() %>
+                <!%= RenderTableSpaceTable() %>
             </table>
         </div>
+        -->
+
     </div>
 </asp:Content>
diff --git a/web/web/Welcome.aspx.cs b/web/web/Welcome.aspx.cs
index 953ac7c..20b832a 100644
--- a/web/web/Welcome.aspx.cs
+++ b/web/web/Welcome.aspx.cs
@@ -3,6 +3,7 @@
 using Dao;
 using Model;
 using System;
+using System.Collections.Generic;
 using System.Data;
 using System.Text;
 using System.Web;
@@ -11,10 +12,13 @@
 
 public partial class Welcome : PageBase<SysUser>, IRequiresSessionState
 {
-   
+    protected List<GwClient> GwClientList;
+
 
     protected void Page_Load(object sender, EventArgs e)
     {
+        using (GwClientDao gwClientDao = new GwClientDao())
+            this.GwClientList = gwClientDao.Clientlist();
     }
 
     public string RenderTableSpaceTable()
@@ -37,4 +41,19 @@
             return stringBuilder.ToString();
         }
     }
+    //瀹㈡埛ID杞崲鍚嶇О
+    public string ClientIdToName(string clientId)
+    {
+        if (this.GwClientList.Count == 0)
+            return clientId;
+        foreach (GwClient bean in this.GwClientList)
+        {
+            if (clientId.Equals(bean.ClientID))
+                return bean.Company;
+            else
+                continue;
+        }
+
+        return clientId;
+    }
 }

--
Gitblit v1.9.1