From 3b18a48485f7207438d9d0eb3038d979e069431d Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期四, 26 五月 2022 17:58:18 +0800
Subject: [PATCH] 优化产品及产品分类,订单,对称加密,IP转地区名称

---
 web/Dao/GwClientDao.cs |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/web/Dao/GwClientDao.cs b/web/Dao/GwClientDao.cs
index d2626d9..63c97d9 100644
--- a/web/Dao/GwClientDao.cs
+++ b/web/Dao/GwClientDao.cs
@@ -23,9 +23,13 @@
         /// <param name="clientName">鑱旂郴浜�</param>
         /// <param name="telphone">鑱旂郴鐢佃瘽</param>
         /// <param name="agent">涓氬姟鍛�</param>
+        /// <param name="company">鍏徃鍚嶇О</param>
+        /// <param name="salesman">褰掑睘涓氬姟鍛�</param>
+        /// <param name="supportStaff">褰掑睘瀹㈡湇浜哄憳</param>
+        /// <param name="productId">浜у搧ID</param>
         /// <returns></returns>
         //public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent)
-        public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent, string company, string salesman, string productId, string permissionsSQL )
+        public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent, string company, string salesman, string supportStaff, string productId, string permissionsSQL )
         {
 
             List<GwClient> list = new List<GwClient>();
@@ -34,7 +38,7 @@
             {
                 StringBuilder stringBuilder = new StringBuilder();
                 stringBuilder.Append("from GW_CLIENT where 1=1");
-                OracleParameter[] oracleParameterArray = new OracleParameter[6];
+                OracleParameter[] oracleParameterArray = new OracleParameter[7];
                 if (clientID != null && clientID != "")
                 {
                     oracleParameterArray[0] = new OracleParameter(":ClientID", (OracleDbType)126);
@@ -70,6 +74,12 @@
                     oracleParameterArray[5] = new OracleParameter(":Agent", (OracleDbType)126);
                     ((DbParameter)oracleParameterArray[5]).Value = (object)("%" + agent + "%");
                     stringBuilder.Append(" and Agent like :Agent");
+                }
+                if (supportStaff != null && supportStaff != "")
+                {
+                    oracleParameterArray[6] = new OracleParameter(":SupportStaff", (OracleDbType)126);
+                    ((DbParameter)oracleParameterArray[6]).Value = (object)(supportStaff);
+                    stringBuilder.Append(" and SUPPORT_STAFF = :SupportStaff");
                 }
 
                 if (productId != null && productId != "")
@@ -107,7 +117,7 @@
         /**
          * 鏌ヨ缁熻鍔熻兘
          */
-        public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent)
+        public List<GwClient> LoadInfoList(string clientID, string clientName, string company, string agent, string permissionsSQL)
         {
             
 
@@ -141,6 +151,10 @@
                     ((DbParameter)oracleParameterArray[3]).Value = (object)("%" + agent + "%");
                     stringBuilder.Append(" and Agent like :Agent");
                 }
+
+                //瀹㈡埛鏉冮檺SQL鑴氭湰
+                stringBuilder.Append(permissionsSQL);
+
                 stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC");
                 using (OracleDataReader reader = OracleHelper.ExecuteReader("select * " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
                 {
@@ -426,6 +440,38 @@
 
             return sqlStr ;
         }
+
+        /**
+         * 鍑芥暟鎻忚堪锛� 鏍规嵁绯荤粺鐢ㄦ埛鑾峰彇鏈夋潈闄愬鎴疯处鍙�
+         * userId: 鐢ㄦ埛ID
+         * userType: 鐢ㄦ埛绫诲瀷锛�1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+         * return: SQL瀛楃涓�
+         * */
+        public string GetSpPermissions(int userId, int userType, string alias)
+        {
+            if (!string.IsNullOrEmpty(alias))
+            {
+                alias += ".";
+            }
+
+            string sqlStr = "";
+            //涓氬姟鍛樺拰鍏朵粬
+            if (userType == 2 || userType == 99)
+            {
+                sqlStr += " AND " + alias + "SP_ID IN (SELECT SP_ID from GW_SP where DEL_FLAG = 0 and CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' ) ) ) ";
+            }
+            //涓氬姟涓荤
+            else if (userType == 3)
+            {
+                sqlStr += " AND " + alias + "SP_ID IN (SELECT SP_ID from GW_SP where DEL_FLAG = 0 and CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 AND (SALESMAN='" + userId + "' or CUSTOMER_MANAGER='" + userId + "' ) ) ) ";
+            }
+            else
+            {
+                //sqlStr += " AND CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE IS_ENABLE=1 ) ";
+            }
+
+            return sqlStr;
+        }
     }
 }
 

--
Gitblit v1.9.1