From 554cb4d840d2bd2a8c8b925d6e4242a949e88f24 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 16 六月 2022 21:13:54 +0800
Subject: [PATCH] 导入接口接口定义

---
 VueWebApi/Tools/SeachEncode.cs |  149 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 149 insertions(+), 0 deletions(-)

diff --git a/VueWebApi/Tools/SeachEncode.cs b/VueWebApi/Tools/SeachEncode.cs
index 27c589e..4424fec 100644
--- a/VueWebApi/Tools/SeachEncode.cs
+++ b/VueWebApi/Tools/SeachEncode.cs
@@ -3,6 +3,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
+using VueWebApi.Models;
 
 namespace VueWebApi.Tools
 {
@@ -332,5 +333,153 @@
             return mes;
         }
         #endregion
+
+
+        #region [鏍规嵁瑙掕壊缂栫爜鏌ヨ鍔熻兘鑿滃崟]
+        /// <summary>
+        /// 鏍规嵁瑙掕壊缂栫爜鏌ヨ鍔熻兘鑿滃崟
+        /// </summary>
+        /// <param name="rolecode"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        public static List<TreeDM> RightLocation(string rolecode,string type) 
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<TreeDM> list = new List<TreeDM>();
+            switch (type)
+            {
+                case "PC":  //PC
+                    //绗竴灞�
+                    sql = @"select distinct A.parent_id from TRight A
+                        inner join  TRoleRightRelation B on A.right_code=B.right_code 
+                        where B.role_code='S001' and A.Type='PC' ";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    TreeDM cmp = new TreeDM();
+                    if (data1.Rows.Count > 0)
+                    {
+                        cmp.code = "PC";
+                        cmp.name = "PC";
+                        cmp.flag = "Y";
+
+                    }
+                    else
+                    {
+                        cmp.code = "PC";
+                        cmp.name = "PC";
+                        cmp.flag = "N";
+                    }
+                    cmp.children = new List<TreeDMOne>();
+                    //绗簩灞�
+                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag
+                                 from TRight A
+                                 left join (
+                                  select distinct A.parent_id from TRight A
+                                  inner join  TRoleRightRelation B on A.right_code=B.right_code where B.role_code=@rolecode
+                                 ) C on A.right_code=C.parent_id
+                                 where A.Type=@type and A.parent_id='0'";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var data2 = DapperHelper.selectdata(sql, dynamicParams);
+                    for (int i = 0; i < data2.Rows.Count; i++)
+                    {
+                        TreeDMOne cmp1 = new TreeDMOne();
+                        cmp1.code = data2.Rows[i]["RIGHT_CODE"].ToString();
+                        cmp1.name = data2.Rows[i]["RIGHT_NAME"].ToString();
+                        cmp1.flag = data2.Rows[i]["FLAG"].ToString();
+                        cmp.children.Add(cmp1);
+                        cmp1.children = new List<TreeDMTwo>();
+                        //绗笁灞�
+                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag
+                                     from TRight A
+                                     left join (
+                                      select  B.right_code from TRight A
+                                      inner join  TRoleRightRelation B on A.right_code=B.right_code where A.parent_id=@right_code
+                                     ) C on A.right_code=C.right_code
+                                     where A.parent_id=@right_code";
+                        dynamicParams.Add("@right_code", data2.Rows[i]["RIGHT_CODE"].ToString());
+                        var data3 = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int j = 0; j < data3.Rows.Count; j++)
+                        {
+                            TreeDMTwo cmp2 = new TreeDMTwo();
+                            cmp2.code = data3.Rows[j]["RIGHT_CODE"].ToString();
+                            cmp2.name = data3.Rows[j]["RIGHT_NAME"].ToString();
+                            cmp2.flag = data3.Rows[j]["FLAG"].ToString();
+                            cmp1.children.Add(cmp2);
+                        }
+                    }
+                    list.Add(cmp);
+                    break;
+                case "APP":  //APP
+                             //绗竴灞�
+                    sql = @"select distinct A.parent_id from TRight A
+                        inner join  TRoleRightRelation B on A.right_code=B.right_code 
+                        where B.role_code='S001' and A.Type='PC' ";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var date1 = DapperHelper.selectdata(sql, dynamicParams);
+                    TreeDM cmt = new TreeDM();
+                    if (date1.Rows.Count > 0)
+                    {
+                        cmt.code = "PC";
+                        cmt.name = "PC";
+                        cmt.flag = "Y";
+
+                    }
+                    else
+                    {
+                        cmt.code = "PC";
+                        cmt.name = "PC";
+                        cmt.flag = "N";
+                    }
+                    cmt.children = new List<TreeDMOne>();
+                    //绗簩灞�
+                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag
+                                 from TRight A
+                                 left join (
+                                  select distinct A.parent_id from TRight A
+                                  inner join  TRoleRightRelation B on A.right_code=B.right_code where B.role_code=@rolecode
+                                 ) C on A.right_code=C.parent_id
+                                 where A.Type=@type and A.parent_id='0'";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var date2 = DapperHelper.selectdata(sql, dynamicParams);
+                    for (int i = 0; i < date2.Rows.Count; i++)
+                    {
+                        TreeDMOne cmt1 = new TreeDMOne();
+                        cmt1.code = date2.Rows[i]["RIGHT_CODE"].ToString();
+                        cmt1.name = date2.Rows[i]["RIGHT_NAME"].ToString();
+                        cmt1.flag = date2.Rows[i]["FLAG"].ToString();
+                        cmt.children.Add(cmt1);
+                        cmt1.children = new List<TreeDMTwo>();
+                        //绗笁灞�
+                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag
+                                     from TRight A
+                                     left join (
+                                      select  B.right_code from TRight A
+                                      inner join  TRoleRightRelation B on A.right_code=B.right_code where A.parent_id=@right_code
+                                     ) C on A.right_code=C.right_code
+                                     where A.parent_id=@right_code";
+                        dynamicParams.Add("@right_code", date2.Rows[i]["RIGHT_CODE"].ToString());
+                        var date3 = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int j = 0; j < date3.Rows.Count; j++)
+                        {
+                            TreeDMTwo cmt2 = new TreeDMTwo();
+                            cmt2.code = date3.Rows[j]["RIGHT_CODE"].ToString();
+                            cmt2.name = date3.Rows[j]["RIGHT_NAME"].ToString();
+                            cmt2.flag = date3.Rows[j]["FLAG"].ToString();
+                            cmt1.children.Add(cmt2);
+                        }
+                    }
+                    list.Add(cmt);
+                    break;
+                default:
+                    break;
+            }
+            return list;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3