From 9c634fd767aec36ef97c3a814bf7a29c67d20ee1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 29 三月 2024 10:57:35 +0800
Subject: [PATCH] 修改单据重复显示问题,增加工单源单id关联

---
 VueWebApi/DLL/DAL/BasicSettingDAL.cs | 1413 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 1,188 insertions(+), 225 deletions(-)

diff --git a/VueWebApi/DLL/DAL/BasicSettingDAL.cs b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
index 94c473a..2a2127d 100644
--- a/VueWebApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -21,12 +21,27 @@
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
 
         #region [缁勭粐鏋舵瀯鏁版嵁鏌ヨ]
-        public static ToMessage OrganizationSearch(string orgCode, string orgName, string orgType, string userName, int startNum, int endNum, string prop, string order)
+        public static ToMessage OrganizationSearch(string stu_torgcode, string description, string orgCode, string orgName, string orgType, string userName, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (orgCode != "" && orgCode != null)
                 {
                     search += "and parent.org_code like '%'+@orgCode+'%' ";
@@ -44,7 +59,7 @@
                 }
                 if (userName != "" && userName != null)
                 {
-                    search += "and parent.lm_user like '%'+@userName+'%' ";
+                    search += "and U.username like '%'+@userName+'%' ";
                     dynamicParams.Add("@userName", userName);
                 }
                 if (search == "")
@@ -62,10 +77,12 @@
                             parent.parent_id,
                             child.org_code as parentorg_code, 
                             child.org_name as parentorg_name,
-                            parent.lm_user,
+                            U.username as lm_user,
                             parent.lm_date
                             from TOrganization as parent 
-                            left join TOrganization as child on parent.parent_id=child.id where parent.is_delete<>1 " + search;
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            left join TUser U on parent.lm_user=U.usercode
+                            where parent.is_delete<>1  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -124,7 +141,7 @@
                         dynamicParams.Add("@orgcode", orgcode);
                         break;
                 }
-                   sql = @"select id,org_code,org_name 
+                sql = @"select id,org_code,org_name 
                             from TOrganization 
                             where  is_delete<>'1' " + search;
 
@@ -145,7 +162,7 @@
         #endregion
 
         #region[鏂板缂栬緫缁勭粐鏋舵瀯]
-        public static ToMessage AddUpdateOrganization(string organType, string organCode, string organName, string Operator, int supUnit,string RightCode,string numvalue, string operType)
+        public static ToMessage AddUpdateOrganization(string organType, string organCode, string organName, string Operator, int supUnit, string RightCode, string numvalue, string operType)
         {
             string sql = "";
             List<object> list = new List<object>();
@@ -154,9 +171,21 @@
             {
                 if (operType == "Add")
                 {
-                     sql = @"insert into TOrganization(parent_id,org_code,org_name,lm_user,lm_date,description) 
+                    sql = @"select *  from TOrganization where org_code=@organCode";
+                    dynamicParams.Add("@organCode", organCode);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔澶辫触,缂栫爜閲嶅!";
+                        mes.data = null;
+                        return mes;
+                    }
+
+                    sql = @"insert into TOrganization(parent_id,org_code,org_name,lm_user,lm_date,description) 
                             values(@supUnit,@organCode,@organName,@Operator,@CreateDate,@organType)";
-                    list.Add(new { str = sql, parm = new { supUnit = supUnit, organCode= organCode, organName= organName, Operator= Operator, CreateDate= DateTime.Now.ToString(), organType= organType } });
+                    list.Add(new { str = sql, parm = new { supUnit = supUnit, organCode = organCode, organName = organName, Operator = Operator, CreateDate = DateTime.Now.ToString(), organType = organType } });
                     //sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
                     //list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = RightCode } });
                     bool aa = DapperHelper.DoTransaction(list);
@@ -213,41 +242,51 @@
         #endregion
 
         #region [缁勭粐鏋舵瀯鍒犻櫎]
-        public static ToMessage DeleteOrganization(int orgid)
+        public static ToMessage DeleteOrganization(int orgid, string orgcode)
         {
             var sql = "";
             var cont = 0;
             var dynamicParams = new DynamicParameters();
             try
             {
-                sql = @"select * from  TOrganization  where parent_id=@orgid";
+                sql = @"select * from  TOrganization  where parent_id=@orgid and is_delete<>'1'";
                 dynamicParams.Add(@"orgid", orgid);
-                cont = DapperHelper.selectcount(sql, dynamicParams);
-                if (cont>0)
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
                 {
                     mes.code = "300";
                     mes.Message = "褰撳墠缁勭粐鏈変笅绾у叧鑱�,璇峰厛鍒犻櫎涓嬬骇缁勭粐!";
+                    return mes;
+                }
+                sql = @"select *  from TUser where is_delete<>'1' and stu_torgcode=@stu_torgcode";
+                dynamicParams.Add("@stu_torgcode", orgcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ョ粍缁囦笅鏈夊叧鑱旂殑鐢ㄦ埛,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                sql = @"delete TOrganization   where id=@orgid";
+                dynamicParams.Add(@"orgid", orgid);
+                cont = DapperHelper.SQL(sql, dynamicParams);
+                if (cont > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
+                    mes.data = null;
                 }
                 else
                 {
-                    sql = @"update TOrganization set is_delete='1'  where id=@orgid";
-                    dynamicParams.Add(@"orgid", orgid);
-                    cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
-                    {
-                        mes.code = "200";
-                        mes.count = 0;
-                        mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
-                        mes.data = null;
-                    }
-                    else
-                    {
-                        mes.code = "300";
-                        mes.count = 0;
-                        mes.Message = "鍒犻櫎鎿嶄綔澶辫触!";
-                        mes.data = null;
-                    }
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎿嶄綔澶辫触!";
+                    mes.data = null;
                 }
+
             }
             catch (Exception e)
             {
@@ -263,49 +302,65 @@
 
 
         #region[鐢ㄦ埛娓呭崟鏁版嵁鏌ヨ]
-        public static ToMessage UserSearch(string UserCode, string UserName, string StuOrg,string wagetype, string Enable, int startNum, int endNum, string prop, string order)
+        public static ToMessage UserSearch(string UserCode, string UserName, string StuOrg, string description, string wagetype, string Enable, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and t.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", StuOrg);
+                        break;
+                    case "W":
+                        search += "and t.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", StuOrg);
+                        break;
+                    default:
+                        break;
+                }
                 if (UserCode != "" && UserCode != null)
                 {
-                    search += "and u.usercode like '%'+@UserCode+'%' ";
+                    search += " and u.usercode like '%'+@UserCode+'%' ";
                     dynamicParams.Add("@UserCode", UserCode);
                 }
                 if (UserName != "" && UserName != null)
                 {
-                    search += "and u.username like '%'+@UserName+'%' ";
+                    search += " and u.username like '%'+@UserName+'%' ";
                     dynamicParams.Add("@UserName", UserName);
-                }
-                if (StuOrg != "" && StuOrg != null)
-                {
-                    search += "and u.stu_torgcode=@StuOrg ";
-                    dynamicParams.Add("@StuOrg", StuOrg);
                 }
                 if (wagetype != "" && wagetype != null)
                 {
-                    search += "and u.wagetype=@wagetype ";
+                    search += " and u.wagetype=@wagetype ";
                     dynamicParams.Add("@wagetype", wagetype);
                 }
                 if (Enable != "" && Enable != null)
                 {
-                    search += "and u.enable=@Enable ";
+                    search += " and u.enable=@Enable ";
                     dynamicParams.Add("@Enable", Enable);
                 }
                 if (search == "")
                 {
-                    search = "and 1=1 ";
+                    search = " and 1=1 ";
                 }
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select u.id,u.usercode,u.username,g.group_code,g.group_name,u.stu_torgcode,t.org_name,u.password,u.mobile,u.email,u.wagetype,u.enable,u.lm_user,u.lm_date,u.is_role  
+                var sql = @"select u.id,u.usercode,u.username,g.group_code,g.group_name,u.stu_torgcode,t.org_name,t.description,u.password,u.mobile,u.email,u.wagetype,u.enable,
+                            S.username as lm_user,u.lm_date,(case when isnull(M.user_code,'')='' then 'N' else 'Y' end) as is_role  
                             from TUser u
                             left join TOrganization t on u.stu_torgcode=t.org_code 
+                            left join TOrganization as child on t.parent_id=child.id 
                             left join TGroup g on u.usergroup_code=g.group_code
-                            where u.is_delete<>1 " + search;
+                            left join TUser S on u.lm_user=S.usercode
+                            left join (
+                              select distinct user_code from TUserRoleRelation 
+                            )  M on u.usercode=M.user_code
+                            where u.is_delete='0' and u.userclassid='0' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -324,28 +379,77 @@
         #endregion
 
         #region [鐢ㄦ埛鎵�灞炵粍缁嘳
-        public static ToMessage UserOrganization()
+        public static ToMessage UserOrganization(string stu_torgcode, string description)
         {
             var dynamicParams = new DynamicParameters();
             string sql = "";
+            string search = "";
             try
             {
                 List<TreeDG> list = new List<TreeDG>();
-                sql = @"select id,parent_id,org_code,org_name,description  
-                      FROM TOrganization where is_delete<>'1'";
-                var dt = DapperHelper.selectdata(sql, dynamicParams);
-                for (int i = 0; i < dt.Rows.Count; i++)   //杩欓噷鏄惊鐜墍鏈�
+                switch (description)
                 {
-                    if (string.IsNullOrEmpty(dt.Rows[i]["PARENT_ID"].ToString()) || dt.Rows[i]["PARENT_ID"].ToString() == "0")  //鍒ゆ柇鏄惁鏈�澶栧眰鏍硅妭鐐�
-                    {
-                        TreeDG tbj = new TreeDG();
-                        tbj.id = dt.Rows[i]["ID"].ToString();
-                        tbj.code = dt.Rows[i]["ORG_CODE"].ToString();
-                        tbj.name = dt.Rows[i]["ORG_NAME"].ToString();
-                        list.Add(tbj);
-                    }
+                    case "":
+                        sql = @"select parent.id,parent.parent_id,parent.org_code,parent.org_name,parent.description 
+                        from TOrganization as parent 
+                        left join TOrganization as child on parent.parent_id=child.id 
+                        where parent.is_delete<>'1'  " + search;
+                        var dt = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int i = 0; i < dt.Rows.Count; i++)   //杩欓噷鏄惊鐜墍鏈�
+                        {
+                            if (string.IsNullOrEmpty(dt.Rows[i]["PARENT_ID"].ToString()) || dt.Rows[i]["PARENT_ID"].ToString() == "0")  //鍒ゆ柇鏄惁鏈�澶栧眰鏍硅妭鐐�
+                            {
+                                TreeDG tbj = new TreeDG();
+                                tbj.id = dt.Rows[i]["ID"].ToString();
+                                tbj.code = dt.Rows[i]["ORG_CODE"].ToString();
+                                tbj.name = dt.Rows[i]["ORG_NAME"].ToString();
+                                tbj.flag = dt.Rows[i]["description"].ToString();
+                                list.Add(tbj);
+                            }
+                        }
+                        digui(dt, list);
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        sql = @"select parent.id,parent.parent_id,parent.org_code,parent.org_name,parent.description 
+                        from TOrganization as parent 
+                        left join TOrganization as child on parent.parent_id=child.id 
+                        where parent.is_delete<>'1'  " + search;
+                        var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int i = 0; i < dt0.Rows.Count; i++)   //杩欓噷鏄惊鐜墍鏈�
+                        {
+                            if (string.IsNullOrEmpty(dt0.Rows[i]["PARENT_ID"].ToString()) || dt0.Rows[i]["PARENT_ID"].ToString() == "0")  //鍒ゆ柇鏄惁鏈�澶栧眰鏍硅妭鐐�
+                            {
+                                TreeDG tbj = new TreeDG();
+                                tbj.id = dt0.Rows[i]["ID"].ToString();
+                                tbj.code = dt0.Rows[i]["ORG_CODE"].ToString();
+                                tbj.name = dt0.Rows[i]["ORG_NAME"].ToString();
+                                tbj.flag = dt0.Rows[i]["description"].ToString();
+                                list.Add(tbj);
+                            }
+                        }
+                        digui(dt0, list);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        sql = @"select parent.id,parent.parent_id,parent.org_code,parent.org_name,parent.description 
+                        from TOrganization as parent 
+                        left join TOrganization as child on parent.parent_id=child.id 
+                        where parent.is_delete<>'1'  " + search;
+                        var dt1 = DapperHelper.selectdata(sql, dynamicParams);
+                        TreeDG tbj0 = new TreeDG();
+                        tbj0.id = dt1.Rows[0]["ID"].ToString();
+                        tbj0.code = dt1.Rows[0]["ORG_CODE"].ToString();
+                        tbj0.name = dt1.Rows[0]["ORG_NAME"].ToString();
+                        tbj0.flag = dt1.Rows[0]["description"].ToString();
+                        list.Add(tbj0);
+                        break;
+                    default:
+                        break;
                 }
-                digui(dt, list);
+
                 mes.code = "200";
                 mes.Message = "鍔犺浇瀹屾垚";
                 mes.data = list;
@@ -362,20 +466,36 @@
         #endregion
 
         #region[鐢ㄦ埛鎵�灞炵彮缁刔
-        public static ToMessage UserGroup()
+        public static ToMessage UserGroup(string stu_torgcode, string description)
         {
             var dynamicParams = new DynamicParameters();
+            string search = "";
             try
             {
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
-                var total = 0; //鎬绘潯鏁�
-                var sql = @"select group_code,group_name 
-                            from TGroup 
-                            where  is_delete<>'1' ";
-                var data = DapperHelper.selecttable(sql);
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                var sql = @"select group_code,group_name,torg_code,parent.org_name
+                            from TGroup G
+                            left join TOrganization parent on G.torg_code=parent.org_code 
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            where  G.is_delete<>'1' " + search;
+                var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
-                mes.count = total;
                 mes.data = data;
             }
             catch (Exception e)
@@ -403,6 +523,7 @@
                         tbjson.id = dt.Rows[i]["ID"].ToString();
                         tbjson.code = dt.Rows[i]["ORG_CODE"].ToString();
                         tbjson.name = dt.Rows[i]["ORG_NAME"].ToString();
+                        tbjson.flag = dt.Rows[i]["description"].ToString();
                         tree[m].children.Add(tbjson);
                     }
                 }
@@ -416,28 +537,61 @@
         #endregion
 
         #region[鐢ㄦ埛娓呭崟鏂板缂栬緫]
-        public static ToMessage AddUpdateUser(string UserId, string UserCode, string UserName,string Password, string Enable, string StuOrg,string groupcode, string wagetype, string Mobile, string Email, string Operator, string OperType)
+        public static ToMessage AddUpdateUser(string UserId, string UserCode, string UserName, string Password, string Enable, string StuOrg, string groupcode, string wagetype, string Mobile, string Email, string Operator, string OperType)
         {
             var dynamicParams = new DynamicParameters();
+            List<object> list = new List<object>();
+            var sql = "";
             try
             {
                 if (OperType == "Add")
                 {
-                    var sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
-                            values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@groupcode)";
+                    var sql0 = @"select *  from TUser where usercode=@UserCode";
                     dynamicParams.Add("@UserCode", UserCode);
-                    dynamicParams.Add("@UserName", UserName);
-                    dynamicParams.Add("@password", Password);
-                    dynamicParams.Add("@Enable", Enable);
-                    dynamicParams.Add("@Mobile", Mobile);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    dynamicParams.Add("@Email", Email);
-                    dynamicParams.Add("@Operator", Operator);
-                    dynamicParams.Add("@StuOrg", StuOrg);
-                    dynamicParams.Add("@wagetype", wagetype);
-                    dynamicParams.Add("@groupcode", groupcode);
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
+                    var data = DapperHelper.selectdata(sql0, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔澶辫触,缂栫爜閲嶅!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    //鍐欏叆鐢ㄦ埛琛�
+                    sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
+                            values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@groupcode)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            UserCode = UserCode,
+                            UserName = UserName,
+                            password = Password,
+                            Enable = Enable,
+                            Mobile = Mobile,
+                            CreateDate = DateTime.Now.ToString(),
+                            Email = Email,
+                            Operator = Operator,
+                            StuOrg = StuOrg,
+                            wagetype = wagetype,
+                            groupcode = groupcode
+                        }
+                    });
+                    //鍐欏叆鐢ㄦ埛鐝粍鍏宠仈琛�
+                    sql = @"insert into TGroupUser(group_code,user_code) 
+                            values(@groupcode,@usercode)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            usercode = UserCode,
+                            groupcode = groupcode
+                        }
+                    });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
                     {
                         mes.code = "200";
                         mes.count = 0;
@@ -454,20 +608,39 @@
                 }
                 if (OperType == "Update")
                 {
-                    var sql = @"update TUser set username=@UserName,password=@password,enable=@Enable,mobile=@Mobile,lm_user=@Operator,email=@Email,stu_torgcode=@StuOrg,wagetype=@wagetype,usergroup_code=@groupcode,lm_date=@CreateDate where id=@UserId";
-                    dynamicParams.Add("@UserId", UserId);
-                    dynamicParams.Add("@UserName", UserName);
-                    dynamicParams.Add("@password", Password);
-                    dynamicParams.Add("@Enable", Enable);
-                    dynamicParams.Add("@Mobile", Mobile);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    dynamicParams.Add("@Email", Email);
-                    dynamicParams.Add("@Operator", Operator);
-                    dynamicParams.Add("@StuOrg", StuOrg);
-                    dynamicParams.Add("@wagetype", wagetype);
-                    dynamicParams.Add("@groupcode", groupcode);
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
+                    //淇敼鐢ㄦ埛琛�
+                    sql = @"update TUser set username=@UserName,password=@password,enable=@Enable,mobile=@Mobile,lm_user=@Operator,email=@Email,stu_torgcode=@StuOrg,wagetype=@wagetype,usergroup_code=@groupcode,lm_date=@CreateDate where id=@UserId";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            UserId = UserId,
+                            UserName = UserName,
+                            password = Password,
+                            Enable = Enable,
+                            Mobile = Mobile,
+                            CreateDate = DateTime.Now.ToString(),
+                            Email = Email,
+                            Operator = Operator,
+                            StuOrg = StuOrg,
+                            wagetype = wagetype,
+                            groupcode = groupcode
+                        }
+                    });
+                    //鏇存柊鐢ㄦ埛鐝粍鍏宠仈琛�
+                    sql = @"update TGroupUser set group_code=@groupcode  where user_code=@usercode";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            usercode = UserCode,
+                            groupcode = groupcode
+                        }
+                    });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
                     {
                         mes.code = "200";
                         mes.count = 0;
@@ -507,10 +680,14 @@
                 dynamicParams.Add("@userid", userid);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
 
+                //鍒犻櫎鐢ㄦ埛鐝粍鍏宠仈琛�
+                sql = @"delete TGroupUser  where user_code=@usercode";
+                list.Add(new { str = sql, parm = new { usercode = data.Rows[0]["USERCODE"].ToString() } });
+                //鍒犻櫎鐢ㄦ埛瑙掕壊鍏宠仈琛�
                 sql = @"delete TUserRoleRelation  where user_code=@usercode";
                 list.Add(new { str = sql, parm = new { usercode = data.Rows[0]["USERCODE"].ToString() } });
 
-                sql = @"update TUser set is_delete='1'  where id=@userid";
+                sql = @"delete TUser  where id=@userid";
                 list.Add(new { str = sql, parm = new { userid = userid } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -540,29 +717,48 @@
         #endregion
 
         #region[鐢ㄦ埛娓呭崟鍏宠仈瑙掕壊鏌ヨ]
-        public static ToMessage UserAssociationRole(string usercode)
+        public static ToMessage UserAssociationRole(string usercode, string stu_torgcode, string description)
         {
             string sql = "";
+            string search = "";
             var dynamicParams = new DynamicParameters();
             List<TreeObejct> list = new List<TreeObejct>();
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 //鑾峰彇瑙掕壊绫诲瀷闆嗗悎(鍖呭惈缁戝畾鏍囪瘑)
-                sql = @"select A.roletype_code as code,A.roletype_name as name,(case when B.roletype_code is null then 'N' else 'Y' end) flag  from TRoleType A 
+                sql = @"select A.roletype_code as code,A.roletype_name as name,(case when B.roletype_code is null then 'N' else 'Y' end) flag
+                        from TRoleType A 
+                        left join TOrganization parent on A.torg_code=parent.org_code 
+                        left join TOrganization as child on parent.parent_id=child.id 
                         left join (
                         select distinct B.roletype_code from TRole B 
                         inner join TUserRoleRelation C on B.role_code=C.role_code
-                        where C.user_code=@usercode 
+                        where C.user_code=@usercode
                         ) B
                         on A.roletype_code=B.roletype_code 
-                        where  A.is_delete='0'";
+                        where  A.is_delete='0' " + search;
                 dynamicParams.Add("@usercode", usercode);
                 var data = DapperHelper.select<TreeObejct>(sql, dynamicParams);
                 for (int i = 0; i < data.Count; i++)
                 {
                     sql = @"select B.role_code as code,B.role_name as name,(case when C.role_code is null then 'N' else 'Y' end) flag from TRole B 
                              left join(select role_code  from TUserRoleRelation where user_code=@usercode) C on B.role_code=C.role_code
-                             where B.roletype_code=@roletype_code  and B.is_delete='0'";
+                             where B.roletype_code=@roletype_code  and B.is_delete='0' and B.is_system='0' and B.torg_code<>'F'";
                     dynamicParams.Add("@roletype_code", data[i].code);
                     dynamicParams.Add("@usercode", usercode);
                     var data0 = DapperHelper.select<TreeObejctCn>(sql, dynamicParams);
@@ -585,7 +781,7 @@
         #endregion
 
         #region[鐢ㄦ埛娓呭崟鍏宠仈瑙掕壊淇濆瓨]
-        public static ToMessage SaveUserAssoctRole(string usercode, List<RoleUserSubmit> json)
+        public static ToMessage SaveUserAssoctRole(string usercode, string stu_torgcode, string description, List<RoleUserSubmit> json)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -594,32 +790,68 @@
                 list.Clear();
                 if (json == null || json.Count <= 0)
                 {
-                    //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
-                    sql = @"delete TUserRoleRelation where user_code=@usercode";
-                    list.Add(new { str = sql, parm =new {usercode = usercode } });
-                    //娓呴櫎鐢ㄦ埛琛ㄥ叧鑱旇鑹叉爣璇�
-                    sql = @"update TUser set is_role='N' where usercode=@usercode";
-                    list.Add(new { str = sql, parm = new { usercode = usercode } });
+                    switch (description)
+                    {
+                        case "":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete TUserRoleRelation where user_code=@usercode";
+                            list.Add(new { str = sql, parm = new { usercode = usercode } });
+                            break;
+                        case "D":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete from TUserRoleRelation where id in (select A.id   from TUserRoleRelation A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.user_code=@usercode and  T.org_code=@stu_torgcode)";
+                            list.Add(new { str = sql, parm = new { usercode = usercode, stu_torgcode = stu_torgcode } });
+                            break;
+                        case "W":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete from TUserRoleRelation where id in (select A.id   from TUserRoleRelation A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.user_code=@usercode and  T.org_code=@stu_torgcode)";
+                            list.Add(new { str = sql, parm = new { usercode = usercode, stu_torgcode = stu_torgcode } });
+                            break;
+                    }
                 }
                 else
                 {
-                    //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
-                    sql = @"delete TUserRoleRelation where user_code=@usercode";
-                    list.Add(new { str = sql, parm = new { usercode = usercode } });
-                    
+                    switch (description)
+                    {
+                        case "":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete TUserRoleRelation where user_code=@usercode";
+                            list.Add(new { str = sql, parm = new { usercode = usercode } });
+                            break;
+                        case "D":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete from TUserRoleRelation where id in (select A.id   from TUserRoleRelation A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.user_code=@usercode and  T.org_code=@stu_torgcode)";
+                            list.Add(new { str = sql, parm = new { usercode = usercode, stu_torgcode = stu_torgcode } });
+                            break;
+                        case "W":
+                            //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+                            sql = @"delete from TUserRoleRelation where id in (select A.id   from TUserRoleRelation A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.user_code=@usercode and  T.org_code=@stu_torgcode)";
+                            list.Add(new { str = sql, parm = new { usercode = usercode, stu_torgcode = stu_torgcode } });
+                            break;
+                    }
+
                     //寰幆鍐欏叆鐢ㄦ埛鍏宠仈瑙掕壊琛�
                     for (int i = 0; i < json.Count; i++)
                     {
                         for (int j = 0; j < json[i].Data.Count; j++)
                         {
-                            sql = @"insert into TUserRoleRelation(user_code,role_code) values(@usercode,@role_code)";
-                            list.Add(new { str = sql, parm = new { usercode = usercode, role_code= json[i].Data[j] } });
+                            sql = @"insert into TUserRoleRelation(user_code,role_code,torg_code) values(@usercode,@role_code,@stu_torgcode)";
+                            list.Add(new { str = sql, parm = new { usercode = usercode, stu_torgcode = stu_torgcode, role_code = json[i].Data[j] } });
 
                         }
                     }
-                    //鏍囪鐢ㄦ埛琛ㄥ叧鑱旇鑹叉爣璇�
-                    sql = @"update TUser set is_role='Y' where usercode=@usercode";
-                    list.Add(new { str = sql, parm = new { usercode = usercode} });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -676,18 +908,22 @@
                         {
                             sql = @"insert into TUser(usercode,username,enable,password,mobile,email,lm_user,lm_date,wagetype,stu_torgcode)
                                     values(@usercode,@username,@enable,@password,@mobile,@email,@lm_user,@lm_date,@wagetype,@stu_torgcode)";
-                            list.Add(new { str = sql, parm = new {
-                                usercode = ds.Rows[i][1].ToString(),
-                                username = ds.Rows[i][2].ToString(),
-                                enable = ds.Rows[i][3].ToString(),
-                                password = ds.Rows[i][4].ToString(),
-                                mobile = ds.Rows[i][5].ToString(),
-                                email = ds.Rows[i][6].ToString(),
-                                lm_user = username,
-                                lm_date = DateTime.Now.ToString(),
-                                wagetype = ds.Rows[i][7].ToString(),
-                                stu_torgcode = ds.Rows[i][8].ToString()
-                            } 
+                            list.Add(new
+                            {
+                                str = sql,
+                                parm = new
+                                {
+                                    usercode = ds.Rows[i][1].ToString(),
+                                    username = ds.Rows[i][2].ToString(),
+                                    enable = ds.Rows[i][3].ToString(),
+                                    password = ds.Rows[i][4].ToString(),
+                                    mobile = ds.Rows[i][5].ToString(),
+                                    email = ds.Rows[i][6].ToString(),
+                                    lm_user = username,
+                                    lm_date = DateTime.Now.ToString(),
+                                    wagetype = ds.Rows[i][7].ToString(),
+                                    stu_torgcode = ds.Rows[i][8].ToString()
+                                }
                             });
                         }
                     }
@@ -722,16 +958,44 @@
 
 
         #region[鐢ㄦ埛缁勫垪琛ㄦ煡璇
-        public static ToMessage UserGroupSearch(int startNum, int endNum, string prop, string order)
+        public static ToMessage UserGroupSearch(string groupcode, string groupname, string stu_torgcode, string description, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
+            string search = "";
             try
             {
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select group_code,group_name,description
-                            from TGroup 
-                            where  is_delete<>'1' ";
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                if (groupcode != "" && groupcode != null)
+                {
+                    search += " and G.group_code like '%'+@groupcode+'%' ";
+                    dynamicParams.Add("@groupcode", groupcode);
+                }
+                if (groupname != "" && groupname != null)
+                {
+                    search += " and G.group_name like '%'+@groupname+'%' ";
+                    dynamicParams.Add("@groupname", groupname);
+                }
+                var sql = @"select torg_code,parent.org_name,group_code,group_name,G.description
+                            from TGroup G
+                            left join TOrganization parent on G.torg_code=parent.org_code 
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            where  G.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -750,7 +1014,7 @@
         #endregion
 
         #region[鐢ㄦ埛缁勬柊澧瀅
-        public static ToMessage UserGroupAdd(List<StepDefect> json,string username)
+        public static ToMessage UserGroupAdd(string type, List<GroupUser> json, string username)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -758,37 +1022,125 @@
             try
             {
                 list.Clear();
-                //寰幆鍐欏叆鐢ㄦ埛缁勮〃
-                for (int i = 0; i < json.Count; i++)
+                if (type == "Add")
                 {
-                    sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date) values(@groupcode,@groupename,@description,@lm_user,@lm_date)";
+                    //鍒ゆ柇鐢ㄦ埛缁勭紪鐮佹槸鍚﹀敮涓�
+                    sql = @"select *  from TGroup where group_code=@group_code and torg_code=@torg_code";
+                    dynamicParams.Add("@group_code", json[0].code);
+                    dynamicParams.Add("@torg_code", json[0].storg_code);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触,鐢ㄦ埛缁勭紪鐮侀噸澶�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    else
+                    {
+                        //鍐欏叆鐢ㄦ埛缁勮〃
+                        sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date,torg_code) values(@groupcode,@groupename,@description,@lm_user,@lm_date,@torg_code)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                groupcode = json[0].code,
+                                groupename = json[0].name,
+                                description = json[0].flag,
+                                lm_user = username,
+                                lm_date = DateTime.Now.ToString(),
+                                torg_code = json[0].storg_code
+                            }
+                        });
+                        //鍐欏叆鐢ㄦ埛缁勫叧绯昏〃
+                        for (int i = 0; i < json[0].children.Count; i++)
+                        {
+                            sql = @"insert into TGroupUser(group_code,user_code) values(@groupcode,@usercode)";
+                            list.Add(new
+                            {
+                                str = sql,
+                                parm = new
+                                {
+                                    groupcode = json[0].code,
+                                    usercode = json[0].children[i].usercode
+                                }
+                            });
+                        }
+                    }
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+                else
+                {
+                    //淇敼鐢ㄦ埛缁勮〃
+                    sql = @"update TGroup set group_name=@groupename,lm_user=@lm_user,lm_date=@lm_date,description=@description,torg_code=@torg_code where group_code=@groupcode";
                     list.Add(new
                     {
                         str = sql,
                         parm = new
                         {
-                            groupcode = json[i].code,
-                            groupename = json[i].name,
-                            description = json[i].flag,
+                            groupcode = json[0].code,
+                            groupename = json[0].name,
+                            description = json[0].flag,
                             lm_user = username,
-                            lm_date = DateTime.Now.ToString()
+                            lm_date = DateTime.Now.ToString(),
+                            torg_code = json[0].storg_code
                         }
                     });
-                }
-                bool aa = DapperHelper.DoTransaction(list);
-                if (aa)
-                {
-                    mes.code = "200";
-                    mes.count = 0;
-                    mes.Message = "鎿嶄綔鎴愬姛!";
-                    mes.data = null;
-                }
-                else
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "鎿嶄綔澶辫触!";
-                    mes.data = null;
+                    //鍒犻櫎鐢ㄦ埛缁勫叧绯昏〃
+                    sql = @"delete TGroupUser where group_code=@groupcode";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            groupcode = json[0].code
+                        }
+                    });
+                    //淇敼鐢ㄦ埛缁勫叧绯昏〃
+                    for (int i = 0; i < json[0].children.Count; i++)
+                    {
+                        sql = @"insert into TGroupUser(group_code,user_code) values(@groupcode,@usercode)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                groupcode = json[0].code,
+                                usercode = json[0].children[i].usercode
+                            }
+                        });
+                    }
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
                 }
             }
             catch (Exception e)
@@ -811,20 +1163,23 @@
             try
             {
                 list.Clear();
-                sql = @"select *  from TUser where is_delete<>'1' and usergroup_code=@UserGrupCode";
+                //鍒ゆ柇褰撳墠鐢ㄦ埛缁勬槸鍚﹀瓨鍦ㄥ紑鎶ュ伐璁板綍
+                sql = @"select *  from TK_Wrk_RecordSub where  usergroup_code=@UserGrupCode";
                 dynamicParams.Add("@UserGrupCode", UserGrupCode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
-                if (data.Rows.Count > 0) 
+                if (data.Rows.Count > 0)
                 {
                     mes.code = "300";
                     mes.count = 0;
-                    mes.Message = "璇ョ敤鎴风粍涓嬫湁鍏宠仈鐨勭敤鎴�,涓嶅厑璁稿垹闄�!";
+                    mes.Message = "璇ョ敤鎴风粍宸茬粡鏈夋姤宸�,涓嶅厑璁稿垹闄�!";
                     mes.data = null;
                     return mes;
                 }
                 sql = @"delete TGroup where group_code=@UserGrupCode";
                 list.Add(new { str = sql, parm = new { UserGrupCode = UserGrupCode } });
-               
+                sql = @"delete TGroupUser where group_code=@UserGrupCode";
+                list.Add(new { str = sql, parm = new { UserGrupCode = UserGrupCode } });
+
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -852,21 +1207,78 @@
         }
         #endregion
 
+        #region[鐢ㄦ埛缁勬煡鐪嬪叧鑱斾汉鍛榏
+        public static ToMessage GroupUserProject(string groupcode)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select U.usercode,U.username  from TGroupUser GU
+                        left join TUser U on GU.user_code=U.usercode
+                        where  GU.group_code=@groupcode";
+                dynamicParams.Add("@groupcode", groupcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                    return mes;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ョ彮缁勪笅鏃犳寚瀹氱敤鎴�!";
+                    mes.data = null;
+                    return mes;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
 
 
 
         #region[瑙掕壊绫诲瀷鏌ヨ]
-        public static ToMessage RoleTypeSearch(int startNum, int endNum, string prop, string order)
+        public static ToMessage RoleTypeSearch(string stu_torgcode, string description, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
+            string search = "";
             try
             {
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select roletype_code,roletype_name 
-                            from TRoleType 
-                            where  is_delete<>'1' ";
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                var sql = @"select torg_code,parent.org_name,roletype_code,roletype_name 
+                            from TRoleType R
+                            left join TOrganization parent on R.torg_code=parent.org_code 
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            where  R.is_delete<>'1' and roletype_code<>'001' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -896,14 +1308,27 @@
                 //寰幆鍐欏叆瑙掕壊绫诲瀷琛�
                 for (int i = 0; i < json.Count; i++)
                 {
-                    sql = @"insert into TRoleType(roletype_code,roletype_name) values(@roletypecode,@roletypename)";
+                    var sql0 = @"select *  from TRoleType where roletype_code=@roletype_code and torg_code=@torg_code";
+                    dynamicParams.Add("@roletype_code", json[i].code);
+                    dynamicParams.Add("@torg_code", json[i].flag);
+                    var data = DapperHelper.selectdata(sql0, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触,缂栫爜閲嶅!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    sql = @"insert into TRoleType(roletype_code,roletype_name,torg_code) values(@roletypecode,@roletypename,@torg_code)";
                     list.Add(new
                     {
                         str = sql,
                         parm = new
                         {
                             roletypecode = json[i].code,
-                            roletypename = json[i].name
+                            roletypename = json[i].name,
+                            torg_code = json[i].flag
                         }
                     });
                 }
@@ -939,13 +1364,23 @@
         {
             var sql = "";
             List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
             try
             {
                 list.Clear();
+                sql = @"select *  from TRole where is_delete<>'1' and roletype_code=@roleTypeCode";
+                dynamicParams.Add("@roleTypeCode", roleTypeCode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ヨ鑹茬被鍨嬩笅鏈夊叧鑱旂殑瑙掕壊鏄庣粏,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
                 sql = @"delete TRoleType where roletype_code=@roletypecode";
-                list.Add(new { str = sql, parm = new { roletypecode = roleTypeCode}});
-                sql = @"delete TRole where roletype_code=@roletypecode";
-                list.Add(new { str = sql, parm = new { roletypecode = roleTypeCode }});
+                list.Add(new { str = sql, parm = new { roletypecode = roleTypeCode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -974,14 +1409,34 @@
         #endregion
 
         #region[瑙掕壊绫诲瀷涓嬫媺鎺ュ彛]
-        public static ToMessage RoleTypeSelect()
+        public static ToMessage RoleTypeSelect(string stu_torgcode, string description)
         {
-            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            string search = "";
             try
             {
                 //鑾峰彇璁惧绫诲瀷鏁版嵁
-                sql = @"select roletype_code,roletype_name from TRoleType where is_delete<>'1' ";
-                var data = DapperHelper.selecttable(sql);
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and parent.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                var sql = @"select roletype_code,roletype_name,torg_code,parent.org_name
+                            from TRoleType R
+                            left join TOrganization parent on R.torg_code=parent.org_code 
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            where  R.is_delete<>'1' " + search;
+                var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
                 mes.data = data;
@@ -998,12 +1453,27 @@
         #endregion
 
         #region[瑙掕壊娓呭崟鏌ヨ]
-        public static ToMessage RoleSearch(string RoleCode, string RoleName, string RoleTypeCode, string CreateUser, int startNum, int endNum, string prop, string order)
+        public static ToMessage RoleSearch(string stu_torgcode, string description, string RoleCode, string RoleName, string RoleTypeCode, string CreateUser, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and part.org_code=@stu_torgcode or child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and part.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (RoleCode != "" && RoleCode != null)
                 {
                     search += "and A.role_code like '%'+@RoleCode+'%' ";
@@ -1021,7 +1491,7 @@
                 }
                 if (CreateUser != "" && CreateUser != null)
                 {
-                    search += "and A.lm_user like '%'+@CreateUser+'%' ";
+                    search += "and T.username like '%'+@CreateUser+'%' ";
                     dynamicParams.Add("@CreateUser", CreateUser);
                 }
                 if (search == "")
@@ -1031,10 +1501,13 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.role_code,A.role_name,b.roletype_code,B.roletype_name,A.description,A.lm_user,A.lm_date,A.is_user,A.is_right  
+                var sql = @"select A.id,A.role_code,A.role_name,b.roletype_code,B.roletype_name,A.torg_code,part.org_name,A.description,T.username as lm_user,A.lm_date,A.is_user,A.is_right  
                             from TRole A
+                            left join TOrganization part on A.torg_code=part.org_code 
+                            left join TOrganization as child on part.parent_id=child.id 
                             left join TRoleType  B on A.roletype_code=B.roletype_code
-                            where  A.is_delete<>'1' " + search;
+                            left join TUser T on A.lm_user=T.usercode
+                            where  A.is_delete='0' and A.is_system='0' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1053,21 +1526,33 @@
         #endregion
 
         #region[瑙掕壊娓呭崟鏂板缂栬緫]
-        public static ToMessage AddUpdateRole(string RoleId, string RoleCode, string RoleName, string RoleTypeCode, string description, string Usercode, string OperType)
+        public static ToMessage AddUpdateRole(string RoleId, string RoleCode, string RoleName, string stu_torgcode, string RoleTypeCode, string description, string Usercode, string OperType)
         {
             var dynamicParams = new DynamicParameters();
             try
             {
                 if (OperType == "Add")
                 {
-                    var sql = @"insert into TRole(role_code,role_name,lm_user,lm_date,roletype_code,description) 
-                            values(@RoleCode,@RoleName,@Usercode,@CreateDate,@RoleTypeCode,@description)";
+                    var sql0 = @"select *  from TRole where role_code=@role_code";
+                    dynamicParams.Add("@role_code", RoleCode);
+                    var data = DapperHelper.selectdata(sql0, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触,缂栫爜閲嶅!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    var sql = @"insert into TRole(role_code,role_name,lm_user,lm_date,roletype_code,description,torg_code) 
+                            values(@RoleCode,@RoleName,@Usercode,@CreateDate,@RoleTypeCode,@description,@torg_code)";
                     dynamicParams.Add("@RoleCode", RoleCode);
                     dynamicParams.Add("@RoleName", RoleName);
                     dynamicParams.Add("@Usercode", Usercode);
                     dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                     dynamicParams.Add("@RoleTypeCode", RoleTypeCode);
                     dynamicParams.Add("@description", description);
+                    dynamicParams.Add("@torg_code", stu_torgcode);
                     int cont = DapperHelper.SQL(sql, dynamicParams);
                     if (cont > 0)
                     {
@@ -1086,11 +1571,12 @@
                 }
                 if (OperType == "Update")
                 {
-                    var sql = @"update TRole set role_name=@RoleName,lm_user=@Usercode,lm_date=@CreateDate,roletype_code=@RoleTypeCode,description=@description where id=@RoleId";
+                    var sql = @"update TRole set role_name=@RoleName,lm_user=@Usercode,lm_date=@CreateDate,torg_code=@torg_code,roletype_code=@RoleTypeCode,description=@description where id=@RoleId";
                     dynamicParams.Add("@RoleId", RoleId);
                     dynamicParams.Add("@RoleName", RoleName);
                     dynamicParams.Add("@Usercode", Usercode);
                     dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
+                    dynamicParams.Add("@torg_code", stu_torgcode);
                     dynamicParams.Add("@RoleTypeCode", RoleTypeCode);
                     dynamicParams.Add("@description", description);
                     int cont = DapperHelper.SQL(sql, dynamicParams);
@@ -1126,16 +1612,29 @@
         {
             var sql = "";
             List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
             try
             {
-                //鏇存柊瑙掕壊琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵��
-                sql = @"update TRole set is_user='N',is_right='N',is_delete='1'  where role_code=@RoleCode";
+                //鏌ユ壘鐢ㄦ埛瑙掕壊鍏宠仈鍏崇郴琛�
+                sql = @"select *  from TUserRoleRelation where is_delete<>'1' and role_code=@RoleCode";
+                dynamicParams.Add("@RoleCode", RoleCode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ヨ鑹蹭笅鏈夊叧鑱旂殑鐢ㄦ埛淇℃伅,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鏇存柊瑙掕壊琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵�乻et is_user='N',is_right='N',is_delete='1'
+                sql = @"delete TRole  where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 //鏇存柊瑙掕壊鍏宠仈鐢ㄦ埛琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵��
                 sql = @"delete TUserRoleRelation  where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 //鍒犻櫎(鏇存柊鐘舵��)瑙掕壊鍔熻兘琛�
-                sql = @"update TRoleRightRelation set is_delete='1'  where role_code=@RoleCode";
+                sql = @"delete TRoleRightRelation   where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1209,7 +1708,7 @@
                              left join TOrganization B on A.stu_torgcode=B.org_code
                              left join (
                                 select distinct user_code  from TUserRoleRelation where role_code=@rolecode
-                             ) C on A.usercode=C.user_code where A.is_delete<>'1' " + search;
+                             ) C on A.usercode=C.user_code where A.is_delete='0' and A.userclassid='0' " + search;
                 dynamicParams.Add("@rolecode", rolecode);
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -1239,7 +1738,7 @@
                 //鑾峰彇瑙掕壊绫诲瀷闆嗗悎(鍖呭惈缁戝畾鏍囪瘑)
                 dynamicParams.Add("@role_code", rolecode);
                 var data = DapperHelper.selectProcedure("h_p_T_RoleAssociationUserDisplay", dynamicParams);
-                
+
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
                 mes.data = data;
@@ -1259,7 +1758,9 @@
         public static ToMessage SaveRoleAssoctUser(string rolecode, List<ObjectData> json)
         {
             var sql = "";
+            var sql2 = "";
             List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
             try
             {
                 list.Clear();
@@ -1271,6 +1772,7 @@
                     //鏍囪瑙掕壊琛ㄥ叧鑱旂敤鎴锋爣璇�
                     sql = @"update TRole set is_user='N' where role_code=@rolecode";
                     list.Add(new { str = sql, parm = new { rolecode = rolecode } });
+
                 }
                 else
                 {
@@ -1315,9 +1817,9 @@
         #endregion
 
         #region[瑙掕壊娓呭崟鍏宠仈鍔熻兘鏌ヨ]
-        public static ToMessage RoleAssociationRight(string rolecode,string type)
+        public static ToMessage RoleAssociationRight(string rolecode, string type)
         {
-            List<object> list=new List<object>();
+            List<object> list = new List<object>();
             try
             {
                 if (type == "" || type == null)
@@ -1329,7 +1831,8 @@
                 {
                     list.Add(SeachEncode.RightLocation(rolecode, type));
                 }
-                else {
+                else
+                {
                     list.Add(SeachEncode.RightLocation(rolecode, type));
                 }
                 mes.code = "200";
@@ -1349,7 +1852,7 @@
         #endregion
 
         #region [瑙掕壊娓呭崟鍏宠仈鍔熻兘淇濆瓨]
-        public static ToMessage SaveUserAssoctRight(string rolecode,string usercode, List<TreeDM> json)
+        public static ToMessage SaveUserAssoctRight(string rolecode, string usercode, List<TreeDM> json)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -1374,15 +1877,20 @@
                     for (int i = 0; i < json.Count; i++)  //PC銆丄PP灞�
                     {
                         for (int j = 0; j < json[i].children.Count; j++) //涓�绾ц彍鍗�
-                        { 
+                        {
                             for (int k = 0; k < json[i].children[j].children.Count; k++) //浜岀骇鑿滃崟
                             {
                                 sql = @"insert into TRoleRightRelation(role_code,right_code,lm_user,lm_date) values(@role_code,@right_code,@lm_user,@lm_date)";
-                                list.Add(new { str = sql, parm = new { 
-                                    role_code = rolecode, 
-                                    right_code= json[i].children[j].children[k].code, 
-                                    lm_user= usercode, lm_date= DateTime.Now.ToString() 
-                                } 
+                                list.Add(new
+                                {
+                                    str = sql,
+                                    parm = new
+                                    {
+                                        role_code = rolecode,
+                                        right_code = json[i].children[j].children[k].code,
+                                        lm_user = usercode,
+                                        lm_date = DateTime.Now.ToString()
+                                    }
                                 });
                             }
                         }
@@ -1428,35 +1936,22 @@
             {
                 if (cuntUnitCode != "" && cuntUnitCode != null)
                 {
-                    search += "and code like '%'+@cuntUnitCode+'%' ";
+                    search += "and A.code like '%'+@cuntUnitCode+'%' ";
                     dynamicParams.Add("@cuntUnitCode", cuntUnitCode);
                 }
                 if (cuntUnitName != "" && cuntUnitName != null)
                 {
-                    search += "and name like '%'+@cuntUnitName+'%' ";
+                    search += "and A.name like '%'+@cuntUnitName+'%' ";
                     dynamicParams.Add("@cuntUnitName", cuntUnitName);
                 }
                 if (unitAttr != "" && unitAttr != null)
                 {
-                    switch (unitAttr)
-                    {
-                        case "WG":  //澶栬喘
-                            search += "and mtype=@unitAttr ";
-                            dynamicParams.Add("@unitAttr", unitAttr);
-                            break;
-                        case "WX":  //澶栧崗
-                            search += "and btype=@unitAttr ";
-                            dynamicParams.Add("@unitAttr", unitAttr);
-                            break;
-                        default:    //瀹㈡埛
-                            search += "and htype=@unitAttr ";
-                            dynamicParams.Add("@unitAttr", unitAttr);
-                            break;
-                    }
+                    search += "and A.type=@unitAttr ";
+                    dynamicParams.Add("@unitAttr", unitAttr);
                 }
                 if (createUser != "" && createUser != null)
                 {
-                    search += "and lm_user like '%'+@createUser+'%' ";
+                    search += "and T.username like '%'+@createUser+'%' ";
                     dynamicParams.Add("@createUser", createUser);
                 }
                 if (search == "")
@@ -1465,8 +1960,9 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select id,code,name,mtype,btype,htype,conttacts,conttphone,addr,lm_user,lm_date from TCustomer
-                            where  is_delete<>'1' " + search;
+                var sql = @"select A.id,A.code,A.name,A.type,A.conttacts,A.conttphone,A.addr,T.username as lm_user,A.lm_date from TCustomer A
+                            left join TUser T on A.lm_user=T.usercode
+                            where  A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1485,20 +1981,29 @@
         #endregion
 
         #region[寰�鏉ュ崟浣嶆柊澧炵紪杈慮
-        public static ToMessage AddUpdateCurrentUnit(string unitid, string unitcode, string unitname, string mtypecode, string btypecode, string htypecode, string person, string contact, string description, string usercode,string OperType)
+        public static ToMessage AddUpdateCurrentUnit(string unitid, string unitcode, string unitname, string typecode, string person, string contact, string description, string usercode, string OperType)
         {
             var dynamicParams = new DynamicParameters();
             try
             {
                 if (OperType == "Add")
                 {
-                    var sql = @"insert into TCustomer(code,name,mtype,btype,htype,conttacts,conttphone,addr,lm_user,lm_date) 
-                            values(@unitcode,@unitname,@mtypecode,@btypecode,@htypecode,@person,@contact,@description,@usercode,@CreateDate)";
+                    var sql0 = @"select *  from TCustomer where code=@unitcode";
+                    dynamicParams.Add("@unitcode", unitcode);
+                    var data = DapperHelper.selectdata(sql0, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触,缂栫爜閲嶅!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    var sql = @"insert into TCustomer(code,name,type,conttacts,conttphone,addr,lm_user,lm_date) 
+                            values(@unitcode,@unitname,@typecode,@person,@contact,@description,@usercode,@CreateDate)";
                     dynamicParams.Add("@unitcode", unitcode);
                     dynamicParams.Add("@unitname", unitname);
-                    dynamicParams.Add("@mtypecode", mtypecode);
-                    dynamicParams.Add("@btypecode", btypecode);
-                    dynamicParams.Add("@htypecode", htypecode);
+                    dynamicParams.Add("@typecode", typecode);
                     dynamicParams.Add("@person", person);
                     dynamicParams.Add("@contact", contact);
                     dynamicParams.Add("@description", description);
@@ -1522,12 +2027,10 @@
                 }
                 if (OperType == "Update")
                 {
-                    var sql = @"update TCustomer set name=@unitname,mtype=@mtypecode,btype=@btypecode,htype=@htypecode,conttacts=@person,conttphone=@contact,addr=@description,lm_user=@usercode,lm_date=@CreateDate where id=@unitid";
+                    var sql = @"update TCustomer set name=@unitname,type=@typecode,conttacts=@person,conttphone=@contact,addr=@description,lm_user=@usercode,lm_date=@CreateDate where id=@unitid";
                     dynamicParams.Add("@unitid", unitid);
                     dynamicParams.Add("@unitname", unitname);
-                    dynamicParams.Add("@mtypecode", mtypecode);
-                    dynamicParams.Add("@btypecode", btypecode);
-                    dynamicParams.Add("@htypecode", htypecode);
+                    dynamicParams.Add("@typecode", typecode);
                     dynamicParams.Add("@person", person);
                     dynamicParams.Add("@contact", contact);
                     dynamicParams.Add("@description", description);
@@ -1581,8 +2084,8 @@
                     mes.data = null;
                     return mes;
                 }
-                //鍒犻櫎(鏇存柊鐘舵��)寰�鏉ュ崟浣嶈〃
-                sql = @"update TCustomer set is_delete='1'  where code=@unitcode";
+                //鍒犻櫎寰�鏉ュ崟浣嶈〃
+                sql = @"delete TCustomer   where code=@unitcode";
                 list.Add(new { str = sql, parm = new { unitcode = unitcode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1610,5 +2113,465 @@
             return mes;
         }
         #endregion
+
+
+        #region[瀹夌伅绯荤粺/杞﹂棿鏌ヨ]
+        public static ToMessage AnDengShopSearch(string stu_torgcode, string description)
+        {
+            string sql = "";
+            string search = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇杞﹂棿淇℃伅
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and  child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                sql = @"select parent.org_code,parent.org_name
+                            from  TOrganization parent 
+                            left join TOrganization as child on parent.parent_id=child.id 
+                            where  parent.is_delete<>'1' " + search;
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬫煡璇
+        public static ToMessage AnDengTypeSearch()
+        {
+            try
+            {
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select id, code,name 
+                            from TAnDonType 
+                            where  is_delete<>'1' ";
+                var data = DapperHelper.selecttable(sql);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬫柊澧瀅
+        public static ToMessage AddUpdateAnDengType(List<ObjectData> json, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //寰幆鍐欏叆鍛煎彨绫诲瀷琛�
+                for (int i = 0; i < json.Count; i++)
+                {
+                    sql = @"insert into TAnDonType(code,name,lm_user,lm_date) values(@code,@name,@username,@createdate)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            code = json[i].code,
+                            name = json[i].name,
+                            username = username,
+                            createdate = DateTime.Now.ToString()
+                        }
+                    });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鑷畾涔夊畨鐏懠鍙被鍨嬪垹闄
+        public static ToMessage DeleteAnDengType(string andengtypecode)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鍒ゆ柇鍛煎彨绫诲瀷涓嬫槸鍚﹀叧鑱�
+                sql = @"select *  from TAnDon_Roul_ConFig where andotype_code=@andengtypecode and is_delete<>'1'";
+                dynamicParams.Add("@andengtypecode", andengtypecode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠鍛煎彨绫诲瀷宸插叧鑱斿懠鍙厤缃�,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                }
+                else
+                {
+                    sql = @"delete TAnDonType where code=@andengtypecode";
+                    list.Add(new { str = sql, parm = new { andengtypecode = andengtypecode } });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鍒犻櫎鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鍒犻櫎澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鏌ヨ缁戝畾鐨勫搷搴斾汉鍛榏
+        public static ToMessage AnDengResponUserSearch(string wkshopcode, string calltypecode)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select B.id,B.ando_cogfigid,U.usercode,U.username,A.enable  from TAnDon_Roul_ConFig A
+                        inner join TAnDon_Roul_ConFigUser B on A.id=B.ando_cogfigid
+                        left  join TUser U on B.usercode=U.usercode
+                        where A.wkshp_code=@wkshopcode and A.andotype_code=@calltypecode and U.is_delete=0";
+                dynamicParams.Add("@wkshopcode", wkshopcode);
+                dynamicParams.Add("@calltypecode", calltypecode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+
+                mes.code = "200";
+                mes.count = 0;
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鏂板鍝嶅簲浜哄憳鏌ヨ宸茬粦瀹氱殑鍝嶅簲浜哄憳]
+        public static ToMessage AnDengDialogResponUserSearch(string wkshopcode, string calltypecode)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select A.usercode,A.username,(case when B.usercode<>'' then 'Y' else 'N' end) as flag   
+                        from TUser A
+                        left join (
+                        select B.usercode   from  TAnDon_Roul_ConFig A
+                        inner join TAnDon_Roul_ConFigUser B on A.id=B.ando_cogfigid
+                        where A.wkshp_code=@wkshopcode and A.andotype_code=@calltypecode
+                        ) B  on A.usercode=B.usercode
+                        where A.userclassid='0'";
+                dynamicParams.Add("@wkshopcode", wkshopcode);
+                dynamicParams.Add("@calltypecode", calltypecode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鏆傛棤鍝嶅簲浜哄憳!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鏂板鍝嶅簲浜哄憳鎻愪氦]
+        public static ToMessage AnDengDigoResponUserSeave(string wkshopcode, string calltypecode, string enable, string usercode, DataTable json)
+        {
+            var sql = "";
+            int mid = 0;
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鍒ゆ柇鍛煎彨绫诲瀷涓嬫槸鍚﹀叧鑱�
+                sql = @"select isnull(id,0) id  from TAnDon_Roul_ConFig where wkshp_code=@wkshopcode and  andotype_code=@calltypecode and is_delete<>'1'";
+                dynamicParams.Add("@wkshopcode", wkshopcode);
+                dynamicParams.Add("@calltypecode", calltypecode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mid = Convert.ToInt32(data.Rows[0]["ID"].ToString());
+                    //娓呴櫎瀹夌伅銆佽澶囦换鍔¢厤缃叧鑱斾汉鍛樿〃鏁版嵁
+                    sql = @"delete TAnDon_Roul_ConFigUser  where ando_cogfigid=@mid";
+                    list.Add(new { str = sql, parm = new { mid = mid } });
+                }
+                else
+                {
+                    //鑾峰彇涓昏〃鏈�澶D
+                    sql = @"select ISNULL(IDENT_CURRENT('TAnDon_Roul_ConFig')+1,1) as id";
+                    var dt = DapperHelper.selecttable(sql);
+                    mid = Convert.ToInt32(dt.Rows[0]["ID"].ToString());
+                    //鍐欏叆瀹夌伅銆佽澶囦换鍔¢厤缃〃鏁版嵁
+                    sql = @"insert into TAnDon_Roul_ConFig(wkshp_code,andotype_code,lm_user,lm_date,enable) values(@wkshp_code,@andotype_code,@lm_user,@lm_date,@enable)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            wkshp_code = wkshopcode,
+                            andotype_code = calltypecode,
+                            lm_user = usercode,
+                            lm_date = DateTime.Now.ToString(),
+                            enable = enable
+                        }
+                    });
+                }
+                //寰幆鍐欏叆瀹夌伅銆佽澶囦换鍔¢厤缃叧鑱斾汉鍛樿〃
+                for (int i = 0; i < json.Rows.Count; i++)
+                {
+                    sql = @"insert into TAnDon_Roul_ConFigUser(ando_cogfigid,usercode) values(@ando_cogfigid,@role_code)";
+                    list.Add(new { str = sql, parm = new { ando_cogfigid = mid, role_code = json.Rows[i]["CODE"].ToString() } });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鍝嶅簲浜哄憳鍏佽鍏抽棴]
+        public static ToMessage AnDengResponUserCloseSeave(string wkshopcode, string calltypecode, string enable, string usercode)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            try
+            {
+                list.Clear();
+                //鏇存柊瀹夌伅銆佽澶囦换鍔¢厤缃〃鐘舵��
+                sql = @"update TAnDon_Roul_ConFig set enable=@enable,lm_user=@lm_user,lm_date=@lm_date  where wkshp_code=@wkshp_code and andotype_code=@andengtypecode";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        wkshp_code = wkshopcode,
+                        andengtypecode = calltypecode,
+                        lm_user = usercode,
+                        lm_date = DateTime.Now.ToString(),
+                        enable = enable
+                    }
+                });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[瀹夌伅绯荤粺/鍝嶅簲浜哄憳鍒犻櫎]
+        public static ToMessage AnDengResponUserDeleteSeave(string id, string ando_cogfigid)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鏌ヨ瀹夌伅銆佽澶囦换鍔¢厤缃〃
+                sql = @"select id  from TAnDon_Roul_ConFigUser where ando_cogfigid=@ando_cogfigid";
+                dynamicParams.Add("@ando_cogfigid", ando_cogfigid);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 1)
+                {
+                    //鏍规嵁瀛愯〃id鍒犻櫎瀵瑰簲瀛愯〃浜哄憳
+                    sql = @"delete TAnDon_Roul_ConFigUser   where id=@id";
+                    list.Add(new { str = sql, parm = new { id = id } });
+                }
+                else
+                {
+                    //鏍规嵁瀛愯〃id鍒犻櫎瀵瑰簲瀛愯〃浜哄憳
+                    sql = @"delete TAnDon_Roul_ConFigUser   where id=@id";
+                    list.Add(new { str = sql, parm = new { id = id } });
+                    //鏍规嵁涓昏〃id鍒犻櫎涓昏〃鏁版嵁
+                    sql = @"delete TAnDon_Roul_ConFig   where id=@id";
+                    list.Add(new { str = sql, parm = new { id = ando_cogfigid } });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+        #region[閫氳繃杞﹂棿缂栫爜鏌ユ壘璁惧淇℃伅]
+        public static ToMessage WhkspIsEqpSearch(string wkshpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇璁惧涓嬫媺妗嗘暟鎹�
+                sql = @"select code as eqp_code,name as eqp_name  
+                            from TEqpInfo where wksp_code=@wkshpcode and enable='Y' ";
+                dynamicParams.Add("@wkshpcode", wkshpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3