using Dapper; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using VueWebApi.Models; using VueWebApi.Tools; namespace VueWebApi.DLL.DAL { public class BasicSettingDAL { public static DataTable dt; //定义全局变量dt public static bool res; //定义全局变量dt public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 public static string strProcName = ""; //定义全局sql变量 public static List listStr = new List(); //定义全局参数集合 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) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (orgCode != "" && orgCode != null) { search += "and parent.org_code like '%'+@orgCode+'%' "; dynamicParams.Add("@orgCode", orgCode); } if (orgName != "" && orgName != null) { search += "and parent.org_name like '%'+@orgName+'%' "; dynamicParams.Add("@orgName", orgName); } if (orgType != "" && orgType != null) { search += "and parent.description=@orgType "; dynamicParams.Add("@orgType", orgType); } if (userName != "" && userName != null) { search += "and parent.lm_user like '%'+@userName+'%' "; dynamicParams.Add("@userName", userName); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select parent.id, parent.org_code, parent.org_name, parent.description as description, parent.parent_id, child.org_code as parentorg_code, child.org_name as parentorg_name, parent.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; var data = DapperHelper.GetPageList(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 AddUpdateOrganization(string organType, string organCode, string organName,string Operator, int supUnit, string operType) { var dynamicParams = new DynamicParameters(); try { if (operType == "Add") { var sql = @"insert into TOrganization(parent_id,org_code,org_name,lm_user,lm_date,description) values(@supUnit,@organCode,@organName,@Operator,@CreateDate,@organType)"; dynamicParams.Add("@supUnit", supUnit); dynamicParams.Add("@organCode", organCode); dynamicParams.Add("@organName", organName); dynamicParams.Add("@Operator", Operator); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); dynamicParams.Add("@organType", organType); 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 TOrganization set description=@organType,org_name=@organName,parent_id=@supUnit,lm_user=@Operator,lm_date=@CreateDate where org_code=@organCode"; dynamicParams.Add(@"organCode", organCode); dynamicParams.Add("@supUnit", supUnit); dynamicParams.Add("@organName", organName); dynamicParams.Add("@Operator", Operator); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); dynamicParams.Add("@organType", organType); 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 DeleteOrganization(int orgid) { var sql = ""; var cont = 0; var dynamicParams = new DynamicParameters(); try { sql = @"select * from TOrganization where parent_id=@orgid"; dynamicParams.Add(@"orgid", orgid); cont = DapperHelper.selectcount(sql, dynamicParams); if (cont <= 0) { mes.code = "300"; mes.Message = "当前组织有下级关联,请先删除下级组织!"; } 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.Message = "删除操作成功!"; } else { mes.code = "300"; mes.Message = "删除操作失败!"; } } } catch (Exception e) { mes.code = "300"; mes.Message = e.Message; } return mes; } #endregion #region[用户清单数据查询] public static ToMessage UserSearch(string UserCode, string UserName, string StuOrg, string Enable, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (UserCode != "" && UserCode != null) { search += "and u.usercode like '%'+@UserCode+'%' "; dynamicParams.Add("@UserCode", UserCode); } if (UserName != "" && UserName != null) { 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 (Enable != "" && Enable != null) { search += "and u.enable=@Enable "; dynamicParams.Add("@Enable", Enable); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select u.usercode,u.username,u.stu_torgcode,t.org_name,u.enable,u.lm_user,u.lm_date,u.is_role from TUser u left join TOrganization t on u.stu_torgcode=t.org_code where u.is_delete<>1 " + search; var data = DapperHelper.GetPageList(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 AddUpdateUser(string UserId, string UserCode, string UserName, string Enable, string StuOrg,string Mobile,string Email, string Operator, string OperType) { var dynamicParams = new DynamicParameters(); try { if (OperType == "Add") { var sql = @"insert into TUser(usercode,username,enable,mobile,lm_date,email,lm_user,stu_torgcode) values(@UserCode,@UserName,@Enable,@CreateDate,@Email,@Operator,@StuOrg)"; dynamicParams.Add("@UserCode", UserCode); dynamicParams.Add("@UserName", UserName); 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); 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 TUser set username=@UserName,enable=@Enable,mobile=@Mobile,lm_user=@Operator,email=@Email,stu_torgcode=@StuOrg,lm_date=@CreateDate where id=@UserId"; dynamicParams.Add("@UserId", UserId); dynamicParams.Add("@UserName", UserName); 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); 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 DeleteUser(int userid) { var sql = ""; //List> list = new List>(); List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select usercode from TUser where id=@userid"; dynamicParams.Add("@userid", userid); 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()); list.Add(new { str = sql, parm = dynamicParams }); sql = @"update TUser set is_delete='1' where id=@userid"; dynamicParams.Add("@userid", userid); 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 UserAssociationRole(string usercode) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //获取角色类型集合(包含绑定标识) 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 ( select distinct B.roletype_code from TRole B inner join TUserRoleRelation C on B.role_code=C.role_code where C.user_code=@usercode ) B on A.roletype_code=B.roletype_code where A.is_delete='0'"; dynamicParams.Add("@usercode", usercode); var data = DapperHelper.select(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 TUserRoleRelation C on B.role_code=C.role_code 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(sql, dynamicParams); data[i].children = data0; } 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 RoleSearch(string RoleCode, string RoleName, string RoleTypeCode, string CreateUser, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (RoleCode != "" && RoleCode != null) { search += "and A.role_code like '%'+@RoleCode+'%' "; dynamicParams.Add("@RoleCode", RoleCode); } if (RoleName != "" && RoleName != null) { search += "and A.role_name like '%'+@RoleName+'%' "; dynamicParams.Add("@RoleName", RoleName); } if (RoleTypeCode != "" && RoleTypeCode != null) { search += "and A.roletype_code=@RoleTypeCode "; dynamicParams.Add("@RoleTypeCode", RoleTypeCode); } if (CreateUser != "" && CreateUser != null) { search += "and A.lm_user like '%'+@CreateUser+'%' "; dynamicParams.Add("@CreateUser", CreateUser); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.role_code,A.role_name,b.roletype_code,B.roletype_name,A.lm_user,A.lm_date,A.is_user,A.is_right from TRole A left join TRoleType B on A.roletype_code=B.roletype_code where A.is_delete<>'1' " + search; var data = DapperHelper.GetPageList(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 } }