From d037f94e6047d6ed3e41e29301620e2ffabf106f Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 15 六月 2022 14:17:31 +0800
Subject: [PATCH] 组织架构、用户清单接口开发提交(不包含导入导出)
---
VueWebApi/DLL/DAL/BasicSettingDAL.cs | 521 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 512 insertions(+), 9 deletions(-)
diff --git a/VueWebApi/DLL/DAL/BasicSettingDAL.cs b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
index d0214c6..c9b4b59 100644
--- a/VueWebApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -21,7 +21,7 @@
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 orgCode, string orgName, string orgType, string userName, int startNum, int endNum, string prop, string order)
{
var dynamicParams = new DynamicParameters();
string search = "";
@@ -66,7 +66,7 @@
parent.lm_date
from TOrganization as parent
left join TOrganization as child on parent.parent_id=child.id where parent.is_delete<>1 " + search;
- var data = DapperHelper.GetPageList<object>(sql, dynamicParams,prop,order, startNum, endNum, out total);
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.count = total;
@@ -81,8 +81,63 @@
}
#endregion
+ #region [缁勭粐鏋舵瀯鏌ユ壘涓婄骇鍗曚綅]
+ public static ToMessage PrentOrganization(string orgcode)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ switch (orgcode)
+ {
+ case "F": //宸ュ巶
+ orgcode = "";
+ search += "and description=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ break;
+ case "D": //閮ㄩ棬
+ orgcode = "F";
+ search += "and description=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ break;
+ case "W": //杞﹂棿
+ orgcode = "D";
+ search += "and description=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ break;
+ case "K": //绉戝
+ orgcode = "W";
+ search += "and description=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ break;
+ case "L": //浜х嚎
+ orgcode = "K";
+ search += "and description=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ break;
+ default:
+ break;
+ }
+ var sql = @"select roletype_code,roletype_name
+ from TRoleType
+ where A.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.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
#region[鏂板缂栬緫缁勭粐鏋舵瀯]
- public static ToMessage AddUpdateOrganization(string organType, string organCode, string organName,string Operator, int supUnit, string operType)
+ public static ToMessage AddUpdateOrganization(string organType, string organCode, string organName, string Operator, int supUnit, string operType)
{
var dynamicParams = new DynamicParameters();
try
@@ -109,7 +164,7 @@
mes.Message = "鏂板鎿嶄綔澶辫触!";
}
}
- if (operType == "Update")
+ if (operType == "Update")
{
var sql = @"update TOrganization set description=@organType,org_name=@organName,parent_id=@supUnit,lm_user=@Operator,lm_date=@CreateDate where org_code=@organCode";
dynamicParams.Add(@"organCode", organCode);
@@ -129,7 +184,7 @@
mes.code = "300";
mes.Message = "淇敼鎿嶄綔澶辫触!";
}
- }
+ }
}
catch (Exception e)
{
@@ -236,8 +291,70 @@
}
#endregion
+ #region [鐢ㄦ埛鎵�灞炵粍缁嘳
+ public static ToMessage UserOrganization()
+ {
+ var dynamicParams = new DynamicParameters();
+ string sql = "";
+ try
+ {
+ List<TreeDG> list = new List<TreeDG>();
+ sql = @"select id,parent_id,org_code,org_name,description
+ FROM TOrganization ";
+ 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();
+ list.Add(tbj);
+ }
+ }
+ digui(dt, list);
+ mes.code = "200";
+ mes.Message = "鍔犺浇瀹屾垚";
+ mes.data = list;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.data = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region銆愰�掑綊鏂规硶銆�
+ public static void digui(DataTable dt, List<TreeDG> tree)
+ {
+ for (int m = 0; m < tree.Count; m++)
+ {
+ tree[m].children = new List<TreeDG>();
+ for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+ {
+ if (tree[m].id == dt.Rows[i]["PARENT_ID"].ToString() && dt.Rows[i]["ID"].ToString() != dt.Rows[i]["PARENT_ID"].ToString())
+ {
+ TreeDG tbjson = new TreeDG();
+ tbjson.id = dt.Rows[i]["ID"].ToString();
+ tbjson.code = dt.Rows[i]["ORG_CODE"].ToString();
+ tbjson.name = dt.Rows[i]["ORG_NAME"].ToString();
+ tree[m].children.Add(tbjson);
+ }
+ }
+ for (int i = 0; i < tree[m].children.Count; i++)
+ {
+ digui(dt, tree[m].children);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+ }
+ }
+ }
+
+ #endregion
+
#region[鐢ㄦ埛娓呭崟鏂板缂栬緫]
- public static ToMessage AddUpdateUser(string UserId, string UserCode, string UserName, string Enable, string StuOrg,string Mobile,string Email, string Operator, string OperType)
+ public static ToMessage AddUpdateUser(string UserId, string UserCode, string UserName, string Enable, string StuOrg, string Mobile, string Email, string Operator, string OperType)
{
var dynamicParams = new DynamicParameters();
try
@@ -313,7 +430,7 @@
var data = DapperHelper.selectdata(sql, dynamicParams);
sql = @"update TUserRoleRelation set is_delete='1' where user_code=@usercode";
- dynamicParams.Add("@usercode",data.Rows[0]["USERCODE"].ToString());
+ dynamicParams.Add("@usercode", data.Rows[0]["USERCODE"].ToString());
list.Add(new { str = sql, parm = dynamicParams });
sql = @"update TUser set is_delete='1' where id=@userid";
@@ -325,7 +442,7 @@
mes.code = "200";
mes.Message = "鍒犻櫎鐢ㄦ埛鎴愬姛!";
}
- else
+ else
{
mes.code = "300";
mes.Message = "鍒犻櫎鐢ㄦ埛澶辫触!";
@@ -366,7 +483,7 @@
where B.roletype_code=@roletype_code and C.user_code=@usercode and B.is_delete='0'";
dynamicParams.Add("@roletype_code", data[i].code);
dynamicParams.Add("@usercode", usercode);
- var data0 = DapperHelper.select<TreeObejctCont>(sql, dynamicParams);
+ var data0 = DapperHelper.select<TreeObejctCn>(sql, dynamicParams);
data[i].children = data0;
}
@@ -383,7 +500,172 @@
}
#endregion
+ #region[鐢ㄦ埛娓呭崟鍏宠仈瑙掕壊淇濆瓨]
+ public static ToMessage SaveUserAssoctRole(string usercode, List<RoleUserSubmit> json)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ list.Clear();
+ if (json == null || json.Count <= 0)
+ {
+ //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+ sql = @"delete TUserRoleRelation where user_code=@usercode";
+ dynamicParams.Add("@usercode", usercode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ //娓呴櫎鐢ㄦ埛琛ㄥ叧鑱旇鑹叉爣璇�
+ sql = @"update TUser set is_role='N' where user_code=@usercode";
+ dynamicParams.Add("@usercode", usercode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ else
+ {
+ //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+ sql = @"delete TUserRoleRelation where user_code=@usercode";
+ dynamicParams.Add("@usercode", usercode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ //寰幆鍐欏叆鐢ㄦ埛鍏宠仈瑙掕壊琛�
+ for (int i = 0; i < json.Count; i++)
+ {
+ for (int j = 0; j < json[i].Data.Count; j++)
+ {
+ sql = @"insert into TUserRoleRelation(usercode,role_code) values(@usercode,@role_code)";
+ dynamicParams.Add("@usercode", usercode);
+ dynamicParams.Add("@role_code", json[i].Data[j]);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ }
+ //鏍囪鐢ㄦ埛琛ㄥ叧鑱旇鑹叉爣璇�
+ sql = @"update TUser set is_role='Y' where user_code=@usercode";
+ dynamicParams.Add("@usercode", usercode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.Message = "鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鎿嶄綔澶辫触!";
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+
+
+ #region[瑙掕壊绫诲瀷鏌ヨ]
+ public static ToMessage RoleTypeSearch(int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select roletype_code,roletype_name
+ from TRoleType
+ where A.is_delete<>'1' ";
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = data.ToList();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瑙掕壊绫诲瀷鏂板]
+ public static ToMessage RoleTypeAdd(List<ObjectData> json)
+ {
+ 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 TRoleType(roletypecode,roletypename) values(@roletypecode,@roletypename)";
+ dynamicParams.Add("@roletypecode", json[i].code);
+ dynamicParams.Add("@roletypename", json[i].name);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.Message = "鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鎿嶄綔澶辫触!";
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瑙掕壊绫诲瀷鍒犻櫎]
+ public static ToMessage RoleTypeDelete(string roleTypeCode)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ list.Clear();
+ sql = @"delete TRoleType where roletype_code=@roletypecode";
+ dynamicParams.Add("@roletypecode", roleTypeCode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ sql = @"delete TRole where roletype_code=@roletypecode";
+ dynamicParams.Add("@roletypecode", roleTypeCode);
+ list.Add(new { str = sql, parm = dynamicParams });
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.Message = "鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鎿嶄綔澶辫触!";
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
#region[瑙掕壊娓呭崟鏌ヨ]
public static ToMessage RoleSearch(string RoleCode, string RoleName, string RoleTypeCode, string CreateUser, int startNum, int endNum, string prop, string order)
@@ -437,5 +719,226 @@
return mes;
}
#endregion
+
+ #region[瑙掕壊娓呭崟鏂板缂栬緫]
+ public static ToMessage AddUpdateRole(string RoleId, string RoleCode, string RoleName, 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)";
+ 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);
+ int cont = DapperHelper.SQL(sql, dynamicParams);
+ if (cont > 0)
+ {
+ mes.code = "200";
+ mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鏂板鎿嶄綔澶辫触!";
+ }
+ }
+ if (OperType == "Update")
+ {
+ var sql = @"update TRole set role_name=@UserName,Usercode=@Usercode,CreateDate=@CreateDate,RoleTypeCode=@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("@RoleTypeCode", RoleTypeCode);
+ dynamicParams.Add("@description", description);
+ int cont = DapperHelper.SQL(sql, dynamicParams);
+ if (cont > 0)
+ {
+ mes.code = "200";
+ mes.Message = "淇敼鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "淇敼鎿嶄綔澶辫触!";
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瑙掕壊娓呭崟鍒犻櫎]
+ public static ToMessage DeleteRole(string RoleCode)
+ {
+ 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";
+ dynamicParams.Add("@RoleCode", RoleCode);
+ list.Add(new { str = sql, parm = dynamicParams });
+
+ //鏇存柊瑙掕壊鍏宠仈鐢ㄦ埛琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵��
+ sql = @"update TUserRoleRelation set is_delete='1' where role_code=@RoleCode";
+ dynamicParams.Add("@RoleCode", RoleCode);
+ list.Add(new { str = sql, parm = dynamicParams });
+
+ //鍒犻櫎(鏇存柊鐘舵��)瑙掕壊鍔熻兘琛�
+ sql = @"update TRoleRightRelation set is_delete='1' where user_code=@RoleCode";
+ dynamicParams.Add("@RoleCode", RoleCode);
+ list.Add(new { str = sql, parm = dynamicParams });
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.Message = "鍒犻櫎鐢ㄦ埛鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鍒犻櫎鐢ㄦ埛澶辫触!";
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瑙掕壊娓呭崟鍏宠仈鐢ㄦ埛鏌ヨ]
+ public static ToMessage RoleAssociationUser(string rolecode, string usercode, string username, string orgcode, string isrole, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (usercode != "" && usercode != null)
+ {
+ search += "and A.usercode like '%'+@RoleCode+'%' ";
+ dynamicParams.Add("@usercode", usercode);
+ }
+ if (username != "" && username != null)
+ {
+ search += "and A.username like '%'+@RoleName+'%' ";
+ dynamicParams.Add("@username", username);
+ }
+ if (orgcode != "" && orgcode != null)
+ {
+ search += "and B.org_code=@orgcode ";
+ dynamicParams.Add("@orgcode", orgcode);
+ }
+ if (isrole != "" && isrole != null)
+ {
+ if (isrole == "Y")
+ {
+ search += "and C.user_code is not null ";
+ }
+ else
+ {
+ search += "and C.user_code is null ";
+ }
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.usercode,A.username,B.org_code,B.org_name,(case when C.user_code is not null then 'Y' else 'N' end) as flag
+ from TUser A
+ 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" + search;
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = data.ToList();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瑙掕壊娓呭崟鍏宠仈鐢ㄦ埛淇濆瓨]
+ public static ToMessage SaveRoleAssociationUser(string rolecode, List<ObjectData> json)
+ {
+ var sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ list.Clear();
+ if (json == null || json.Count <= 0)
+ {
+ mes.code = "300";
+ mes.Message = "璇峰厛閫夋嫨鍏宠仈瑙掕壊鐨勭敤鎴蜂俊鎭�";
+ return mes;
+ }
+ else
+ {
+ //娓呴櫎鐢ㄦ埛鍏宠仈瑙掕壊琛ㄦ暟鎹�
+ sql = @"delete TUserRoleRelation where role_code=@rolecode";
+ dynamicParams.Add("@rolecode", rolecode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ //寰幆鍐欏叆鐢ㄦ埛鍏宠仈瑙掕壊琛�
+ for (int i = 0; i < json.Count; i++)
+ {
+ sql = @"insert into TUserRoleRelation(usercode,role_code) values(@usercode,@role_code)";
+ dynamicParams.Add("@usercode", json[i]);
+ dynamicParams.Add("@role_code", rolecode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ //鏍囪瑙掕壊琛ㄥ叧鑱旂敤鎴锋爣璇�
+ sql = @"update TRole set is_user='Y' where role_code=@rolecode";
+ dynamicParams.Add("@rolecode", rolecode);
+ list.Add(new { str = sql, parm = dynamicParams });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ mes.code = "200";
+ mes.Message = "鎿嶄綔鎴愬姛!";
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "鎿嶄綔澶辫触!";
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.Message = e.Message;
+ }
+ return mes;
+ }
+ #endregion
+
+
}
}
\ No newline at end of file
--
Gitblit v1.9.3