From 730cbe8b62133097369b9768ef30aa490551063d Mon Sep 17 00:00:00 2001 From: yzh <snbbt@21cn.com> Date: 星期一, 23 五月 2022 01:04:44 +0800 Subject: [PATCH] 客户操作权限数据隔离 --- web/Dao/GwClientDao.cs | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/web/Dao/GwClientDao.cs b/web/Dao/GwClientDao.cs index d2626d9..54ac667 100644 --- a/web/Dao/GwClientDao.cs +++ b/web/Dao/GwClientDao.cs @@ -426,6 +426,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