1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using Central.Control.Domain;
- using MES.Production.Service.IService;
- using Ant.Service.Common;
- using System.Collections;
- using Ant.Service.Common.Enums;
- using ChangFa.Machinery.WebPage.Controllers;
- using Ant.ORM;
- using Ant.Data;
- using MES.Production.Entity;
- using Ant.Service.Utility;
- using MES.Production.Entity.Entity;
- using MES.Production.Entity.Enum;
- using MES.Production.Service.ServiceImp;
- using JsonHelper = Ant.Service.Common.JsonHelper;
- using MES.Production.Entity.Model;
- namespace ChangFa.Machinery.WebPage.Areas.SysManage.Controllers
- {
- /// <summary>
- /// 用户管理控制器
- /// </summary>
- public class UserController : BaseController
- {
- #region 声明容器
- /// <summary>
- /// 用户部门
- /// </summary>
- IUserDepartmentManage UserDepartmentManage { get; set; }
- /// <summary>
- /// 用户岗位
- /// </summary>
- IPostUserManage PostUserManage { get; set; }
- /// <summary>
- /// 部门
- /// </summary>
- IDepartmentManage DepartmentManage { get; set; }
- /// <summary>
- /// 岗位
- /// </summary>
- IPostManage PostManage { get; set; }
- /// <summary>
- /// 用户信息
- /// </summary>
- IUserInfoManage UserInfoManage { get; set; }
- /// <summary>
- /// 字典编码
- /// </summary>
- ICodeManage CodeManage { get; set; }
- /// <summary>
- /// 系统日子
- /// </summary>
- ISyslogManage SyslogManage { get; set; }
- /// <summary>
- /// 常用联系人
- /// </summary>
- IBeUserManage BeUserManage { get; set; }
- /// <summary>
- /// 角色管理
- /// </summary>
- private IRoleManage RoleManage = new RoleManage();
- #endregion
- #region 用户基本信息
- /// <summary>
- /// 加载导航主页 获取所有部门
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "View")]
- public ActionResult Home()
- {
- return View();
- }
- /// <summary>
- /// 加载列表
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "View")]
- public ActionResult Index()
- {
- try
- {
- #region 处理查询参数
- string dptId = Request.QueryString["dptid"];
- string postid = Request.QueryString["postid"];
- #endregion
- #region 加载列表
- //主列表
- var result = BindList(dptId, postid);
- //搜索关键词
- ViewBag.Search = base.keywords;
- //List<SelectListItem> items = new List<SelectListItem>();
- //items.Add(new SelectListItem { Text = "请选择", Value = "" });
- //using (AntORM orm = new AntORM())
- //{
- // orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- // RequestModel res = new RequestModel
- // {
- // newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "查询学校" },
- // };
- // var result1 = orm.Queryable<YM_School>().ToList(res);
- // foreach (var item in result1.ResultModel)
- // {
- // items.Add(new SelectListItem { Text = item.Name, Value = item.ID.ToString() });
- // }
- //}
- ////部门
- //ViewBag.dpt = items ?? new List<SelectListItem>();
- //岗位
- ViewData["post"] = this.PostManage.LoadAll(null).OrderBy(p => p.SHOWORDER).ToList();
- ViewData["postid"] = postid;
- ViewData["dptid"] = dptId;
- #endregion
- return View(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户列表:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "View")]
- public ActionResult ThreePacksList()
- {
- try
- {
- #region 处理查询参数
- string dptId = Request.QueryString["FK_DPTID"];
- string postid = Request.QueryString["postid"];
- #endregion
- #region 加载列表
- int postnum = -1;
- if (!Request.QueryString["postid"].IsEmpty())
- {
- postnum = postid.ToInt32();
- }
- //主列表
- var result = BindUserList(dptId, 6);
- //搜索关键词
- ViewBag.Search = base.keywords;
- //部门
- ViewBag.dpt = this.DepartmentManage.Get(p => p.ID == dptId) ?? new SYS_DISTRIBUTORS();
- //岗位
- ViewData["post"] = this.PostManage.LoadAll(null).OrderBy(p => p.SHOWORDER).ToList();
- ViewData["postid"] = 6;
- ViewData["dptid"] = dptId;
- ViewData["Department"] = this.DepartmentManage.GetDepartmentByDetail();
- var list = this.CodeManage.GetCode("POSTTYPE");
- ViewData["postType"] = list;
- #endregion
- return View(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户列表:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "View")]
- public ActionResult WarehouseList()
- {
- try
- {
- #region 处理查询参数
- string dptId = Request.QueryString["FK_DPTID"];
- string postid = Request.QueryString["postid"];
- #endregion
- #region 加载列表
- int postnum = -1;
- if (!Request.QueryString["postid"].IsEmpty())
- {
- postnum = postid.ToInt32();
- }
- //主列表
- var result = BindUserList(dptId, 4);
- //搜索关键词
- ViewBag.Search = base.keywords;
- //部门
- ViewBag.dpt = this.DepartmentManage.Get(p => p.ID == dptId) ?? new SYS_DISTRIBUTORS();
- //岗位
- ViewData["post"] = this.PostManage.LoadAll(null).OrderBy(p => p.SHOWORDER).ToList();
- ViewData["postid"] = 4;
- ViewData["dptid"] = dptId;
- ViewData["Department"] = this.DepartmentManage.GetDepartmentByDetail();
- var list = this.CodeManage.GetCode("POSTTYPE");
- ViewData["postType"] = list;
- #endregion
- return View(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户列表:", e);
- throw e.InnerException;
- }
- }
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "View")]
- public ActionResult UserList()
- {
- try
- {
- #region 处理查询参数
- string dptId = Request.QueryString["FK_DPTID"];
- string postid = Request.QueryString["postid"];
- #endregion
- #region 加载列表
- int postnum = -1;
- if (!Request.QueryString["postid"].IsEmpty())
- {
- postnum = postid.ToInt32();
- }
- //主列表
- var result = BindUserList(dptId, 3);
- //搜索关键词
- ViewBag.Search = base.keywords;
- //部门
- ViewBag.dpt = this.DepartmentManage.Get(p => p.ID == dptId) ?? new SYS_DISTRIBUTORS();
- //岗位
- ViewData["post"] = this.PostManage.LoadAll(null).OrderBy(p => p.SHOWORDER).ToList();
- ViewData["postid"] = 3;
- ViewData["dptid"] = dptId;
- ViewData["Department"] = this.DepartmentManage.GetDepartmentByDetail();
- var list = this.CodeManage.GetCode("POSTTYPE");
- ViewData["postType"] = list;
- #endregion
- return View(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户列表:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- [UserAuthorizeAttribute(ModuleAlias = "AgriculturalList", OperaAction = "View")]
- public ActionResult Agricultural()
- {
- try
- {
- #region 处理查询参数
- string dptId = Request.QueryString["dptid"];
- string postid = Request.QueryString["postid"];
- //string keyword = Request.QueryString["Search"];
- #endregion
- #region 加载列表
- //主列表
- var result = AgriculturalBindList(dptId, postid, 1);
- //搜索关键词
- ViewBag.Search = base.keywords;
- //部门
- ViewBag.dpt = this.DepartmentManage.Get(p => p.ID == dptId) ?? new SYS_DISTRIBUTORS();
- //岗位
- ViewData["post"] = this.PostManage.LoadAll(null).OrderBy(p => p.SHOWORDER).ToList();
- ViewData["postid"] = postid;
- ViewData["Department"] = this.DepartmentManage.GetDepartmentByDetail();
- ViewData["dptid"] = dptId;
- #endregion
- return View(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户列表:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- /// 加载用户详情信息(基本)
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "Detail")]
- public ActionResult UserDetail(int? id)
- {
- string postid = Request.QueryString["postid"];
- try
- {
- var _entity = UserManage.Get(p => p.ID == id) ?? new SYS_USER();
- if (id != null && id > 0)
- {
- postid = _entity.USERTYPE.ToString();
- int newid = Convert.ToInt32(id);
- ViewData["dptlist"] = this.UserDepartmentManage.GetDptListByUserId(newid);
- if (_entity.SYS_POST_USER.Count > 0)
- {
- ViewData["postlist"] = this.PostUserManage.GetPostNameBySysPostUser(_entity.SYS_POST_USER);
- }
- }
- else
- {
- _entity.USERTYPE = postid.ToInt32();
- _entity.ISCANLOGIN = false;
- }
- //ViewData["postType"] = this.CodeManage.GetCode("POSTTYPE"); /// 用户角色
- //ViewData["postType"] =
- ViewData["postid"] = postid;
- ViewData["levels"] = this.CodeManage.LoadAll(p => p.CODETYPE == "YGJB").ToList();
- ViewBag.dpt = this.DepartmentManage.GetDepartmentByDetail();
- return View(_entity);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户详情发生错误:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- /// 加载用户详情信息(基本)
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "Detail")]
- public ActionResult Detail(int? id)
- {
- try
- {
- var _entity = UserManage.Get(p => p.ID == id) ?? new SYS_USER();
- if (id != null && id > 0)
- {
- int newid = Convert.ToInt32(id);
- ViewData["dptlist"] = this.UserDepartmentManage.GetDptListByUserId(newid);
- if (_entity.SYS_POST_USER.Count > 0)
- {
- ViewData["postlist"] = this.PostUserManage.GetPostNameBySysPostUser(_entity.SYS_POST_USER);
- }
- }
- else
- {
- _entity.ISCANLOGIN = false;
- }
- //ViewData["postType"] = this.CodeManage.GetCode("POSTTYPE");
- var query = this.RoleManage.LoadAll(null).ToList();
- ViewData["postType"] = query;
- ViewData["levels"] = this.CodeManage.LoadAll(p => p.CODETYPE == "YGJB").ToList();
- ViewBag.dpt = this.DepartmentManage.GetDepartmentByDetail();
- return View(_entity);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载用户详情发生错误:", e);
- throw e.InnerException;
- }
- }
- /// <summary>
- /// 保存人员基本信息
- /// </summary>
- [ValidateInput(false)]
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "Add,Edit")]
- public ActionResult UserSave(SYS_USER entity)
- {
- bool isEdit = false;
- JsonHelper json = new JsonHelper() { Msg = "保存成功", Status = "n" };
- try
- {
- if (entity != null)
- {
- string iscanlogin = Request.Form["iscanlogin"];
- entity.ISCANLOGIN = iscanlogin == "on" ? true : false;
- //兼职部门
- //string dptId = Request.Form["hiddpt"];
- var _entity = new SYS_USER();
- if (entity.ID <= 0) //添加
- {
- entity.CREATEDATE = DateTime.Now;
- entity.CREATEPER = this.CurrentUser.Name;
- entity.UPDATEDATE = DateTime.Now;
- entity.UPDATEUSER = this.CurrentUser.Name;
- var pwd = PasswordUtils.MD5_Encrypt("111111", 32);
- entity.PASSWORD = pwd;
- entity.PINYIN1 = ConvertHzToPz.Convert(entity.NAME).ToLower();
- entity.PINYIN2 = ConvertHzToPz.ConvertFirst(entity.NAME).ToLower();
- entity.USERTYPE = Request.Form["userpostid"].ToInt32();
- entity.ACCOUNT = entity.PHONE;
- _entity = entity;
- }
- else //修改
- {
- _entity = this.UserManage.Get(p => p.ID == entity.ID);
- entity.CREATEDATE = _entity.CREATEDATE;
- entity.CREATEPER = _entity.CREATEPER;
- entity.FACE_IMG = _entity.FACE_IMG;
- entity.PASSWORD = _entity.PASSWORD;
- entity.UPDATEUSER = this.CurrentUser.Name;
- entity.UPDATEDATE = DateTime.Now;
- entity.ACCOUNT = entity.PHONE;
- if (!_entity.NAME.Equals(entity.NAME))
- {
- entity.PINYIN1 = ConvertHzToPz.Convert(entity.NAME).ToLower();
- entity.PINYIN2 = ConvertHzToPz.ConvertFirst(entity.NAME).ToLower();
- }
- else
- {
- entity.PINYIN1 = _entity.PINYIN1;
- entity.PINYIN2 = _entity.PINYIN2;
- }
- _entity = entity;
- _entity.USERTYPE = Request.Form["userpostid"].ToInt32();
- isEdit = true;
- }
- //检测此用户名是否重复
- if (!this.UserManage.IsExist(p => p.ACCOUNT.Equals(_entity.ACCOUNT) && p.ID != _entity.ID))
- {
- var en = this.UserManage.SaveOrUpdateReturn(_entity, isEdit);
- if (en.ID.IfNotNull() && !isEdit)
- {
- EntSYS_USER_ROLE roleMod = new EntSYS_USER_ROLE();
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel
- {
- newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取公告信息" }
- };
- var usertype = Request.Form["userpostid"].ToInt32();
- int ROLEID = 0;
- switch ((PostType)usertype)
- {
- case PostType.SalesClerk:
- {
- ROLEID = 2;
- }
- break;
- case PostType.Distributors:
- {
- ROLEID = 3;
- }
- break;
- case PostType.Warehouse:
- {
- ROLEID = 4;
- }
- break;
- case PostType.ThreePacksStaff:
- {
- ROLEID = 6;
- }
- break;
- case PostType.MarketingAdmin:
- {
- ROLEID = 7;
- }
- break;
- }
- roleMod.FK_ROLEID = ROLEID;
- roleMod.FK_USERID = en.ID.ToInt32();
- orm.Save(roleMod, res);
- }
- }
- //if (this.UserManage.SaveOrUpdate(_entity, isEdit))
- //{
- // //构造部门人员关系
- // //this.UserDepartmentManage.SaveUserDpt(_entity.ID, dptId.TrimEnd(','));
- // //岗位
- // //string postId = Request.Form["hidpost"];
- // //构造岗位人员关系
- // // this.PostUserManage.SavePostUser(_entity.ID, postId.TrimEnd(','));
- //}
- json.Status = "y";
- }
- else
- {
- json.Msg = "用户名已被使用,请修改后再提交!";
- }
- }
- else
- {
- json.Msg = "未找到要操作的用户记录";
- }
- if (isEdit)
- {
- WriteLog(enumOperator.Edit, "修改用户,结果:" + json.Msg, enumLog4net.INFO);
- }
- else
- {
- WriteLog(enumOperator.Add, "添加用户,结果:" + json.Msg, enumLog4net.INFO);
- }
- }
- catch (Exception e)
- {
- json.Msg = "保存人员信息发生内部错误!";
- WriteLog(enumOperator.None, "保存用户错误:", e);
- }
- return Json(json);
- }
- /// <summary>
- /// 保存人员基本信息
- /// </summary>
- [ValidateInput(false)]
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "Add,Edit")]
- public ActionResult Save(SYS_USER entity)
- {
- bool isEdit = false;
- JsonHelper json = new JsonHelper() { Msg = "保存成功", Status = "n" };
- try
- {
- if (entity != null)
- {
- string iscanlogin = Request.Form["iscanlogin"];
- entity.ISCANLOGIN = iscanlogin == "on" ? true : false;
- //兼职部门
- //string dptId = Request.Form["hiddpt"];
- var _entity = new SYS_USER();
- if (entity.ID <= 0) //添加
- {
- entity.CREATEDATE = DateTime.Now;
- entity.CREATEPER = this.CurrentUser.Name;
- entity.UPDATEDATE = DateTime.Now;
- entity.UPDATEUSER = this.CurrentUser.Name;
- var pwd = PasswordUtils.MD5_Encrypt("111111", 32);
- entity.PASSWORD = pwd;
- entity.PINYIN1 = ConvertHzToPz.Convert(entity.NAME).ToLower();
- entity.PINYIN2 = ConvertHzToPz.ConvertFirst(entity.NAME).ToLower();
- entity.USERTYPE = Request.Form["postid"].ToInt32();
- _entity = entity;
- }
- else //修改
- {
- _entity = this.UserManage.Get(p => p.ID == entity.ID);
- entity.CREATEDATE = _entity.CREATEDATE;
- entity.CREATEPER = _entity.CREATEPER;
- entity.FACE_IMG = _entity.FACE_IMG;
- entity.PASSWORD = _entity.PASSWORD;
- entity.UPDATEUSER = this.CurrentUser.Name;
- entity.UPDATEDATE = DateTime.Now;
- if (!_entity.NAME.Equals(entity.NAME))
- {
- entity.PINYIN1 = ConvertHzToPz.Convert(entity.NAME).ToLower();
- entity.PINYIN2 = ConvertHzToPz.ConvertFirst(entity.NAME).ToLower();
- }
- else
- {
- entity.PINYIN1 = _entity.PINYIN1;
- entity.PINYIN2 = _entity.PINYIN2;
- }
- _entity = entity;
- _entity.USERTYPE = Request.Form["postid"].ToInt32();
- isEdit = true;
- }
- //检测此用户名是否重复
- if (!this.UserManage.IsExist(p => p.ACCOUNT.Equals(_entity.ACCOUNT) && p.ID != _entity.ID))
- {
- var en = this.UserManage.SaveOrUpdateReturn(_entity, isEdit);
- if (en.ID.IfNotNull())
- {
- }
- //if (this.UserManage.SaveOrUpdateReturn(_entity, isEdit))
- //{
- //构造部门人员关系
- //this.UserDepartmentManage.SaveUserDpt(_entity.ID, dptId.TrimEnd(','));
- //岗位
- //string postId = Request.Form["hidpost"];
- //构造岗位人员关系
- // this.PostUserManage.SavePostUser(_entity.ID, postId.TrimEnd(','));
- //}
- json.Status = "y";
- }
- else
- {
- json.Msg = "用户名已被使用,请修改后再提交!";
- }
- }
- else
- {
- json.Msg = "未找到要操作的用户记录";
- }
- if (isEdit)
- {
- WriteLog(enumOperator.Edit, "修改用户,结果:" + json.Msg, enumLog4net.INFO);
- }
- else
- {
- WriteLog(enumOperator.Add, "添加用户,结果:" + json.Msg, enumLog4net.INFO);
- }
- }
- catch (Exception e)
- {
- json.Msg = "保存人员信息发生内部错误!";
- WriteLog(enumOperator.None, "保存用户错误:", e);
- }
- return Json(json);
- }
- /// <summary>
- /// 方法注解:删除用户
- /// 验证规则:1、超级管理员不能删除
- /// 2、当前登录用户不能删除
- /// 3、正常状态用户不能删除
- /// 删除原则:1、删除用户档案
- /// 2、删除用户角色关系
- /// 3、删除用户权限关系
- /// 4、删除用户岗位关系
- /// 5、删除用户部门关系
- /// 6、删除用户
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "Remove")]
- public ActionResult Delete(string idList)
- {
- JsonHelper json = new JsonHelper() { Status = "n", Msg = "删除用户成功" };
- try
- {
- //是否为空
- if (string.IsNullOrEmpty(idList)) { json.Msg = "未找到要删除的用户"; return Json(json); }
- string[] id = idList.Trim(',').Split(',');
- for (int i = 0; i < id.Length; i++)
- {
- int userId = int.Parse(id[i]);
- if (this.UserManage.IsAdmin(userId))
- {
- json.Msg = "被删除用户存在超级管理员,不能删除!";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- if (this.CurrentUser.Id == userId)
- {
- json.Msg = "当前登录用户,不能删除!";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- if (this.UserManage.Get(p => p.ID == userId).ISCANLOGIN == false)
- {
- json.Msg = "用户未锁定,不能删除!";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- this.UserManage.Remove(userId);
- json.Status = "y";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.WARN);
- }
- }
- catch (Exception e)
- {
- json.Msg = "删除用户发生内部错误!";
- WriteLog(enumOperator.Remove, "删除用户:", e);
- }
- return Json(json);
- }
- /// <summary>
- /// 方法注解:删除用户
- /// 验证规则:1、超级管理员不能删除
- /// 2、当前登录用户不能删除
- /// 3、正常状态用户不能删除
- /// 删除原则:1、删除用户档案
- /// 2、删除用户角色关系
- /// 3、删除用户权限关系
- /// 4、删除用户岗位关系
- /// 5、删除用户部门关系
- /// 6、删除用户
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "userList", OperaAction = "Remove")]
- public ActionResult UserDelete(string idList)
- {
- JsonHelper json = new JsonHelper() { Status = "n", Msg = "删除用户成功" };
- try
- {
- //是否为空
- if (string.IsNullOrEmpty(idList)) { json.Msg = "未找到要删除的用户"; return Json(json); }
- string[] id = idList.Trim(',').Split(',');
- for (int i = 0; i < id.Length; i++)
- {
- int userId = int.Parse(id[i]);
- if (this.UserManage.IsAdmin(userId))
- {
- json.Msg = "被删除用户存在超级管理员,不能删除!";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- if (this.CurrentUser.Id == userId)
- {
- json.Msg = "当前登录用户,不能删除!";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- //if (this.UserManage.Get(p => p.ID == userId).ISCANLOGIN == false)
- //{
- // json.Msg = "用户未锁定,不能删除!";
- // WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.ERROR);
- // return Json(json);
- //}
- this.UserManage.Remove(userId);
- json.Status = "y";
- WriteLog(enumOperator.Remove, "删除用户:" + json.Msg, enumLog4net.WARN);
- }
- }
- catch (Exception e)
- {
- json.Msg = "删除用户发生内部错误!";
- WriteLog(enumOperator.Remove, "删除用户:", e);
- }
- return Json(json);
- }
- /// <summary>
- /// 方法描述:根据传入的用户编号重置当前用户密码
- /// 创建标识:add by 季健国 2013-8-16 9:10
- /// </summary>
- /// <param name="Id">用户编号</param>
- /// <returns></returns>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "PwdReset")]
- public ActionResult ResetPwd(string Id)
- {
- JsonHelper json = new JsonHelper() { Status = "n", Msg = "操作成功" };
- try
- {
- //校验用户编号是否为空
- if (string.IsNullOrEmpty(Id))
- {
- json.Msg = "校验失败,用户编号不能为空";
- WriteLog(enumOperator.Edit, "重置当前用户密码:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- int newid = int.Parse(Id); var pwd = PasswordUtils.MD5_Encrypt("111111", 32);
- var _user = UserManage.Get(p => p.ID == newid);
- Ent_SYS_USER user = new Ent_SYS_USER();
- user.ID = newid;
- user.PASSWORD = pwd;
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel();
- res.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取用户信息" };
- var reslut = orm.UpdateById(user, res);
- if (reslut.IsSuccess)
- {
- json.Status = "y";
- WriteLog(enumOperator.Edit, "重置当前用户密码:" + json.Msg, enumLog4net.INFO);
- }
- else
- {
- json.Msg = "初始密码失败";
- WriteLog(enumOperator.Edit, "重置当前用户密码:" + json.Msg, enumLog4net.INFO);
- }
- }
- //_user.PASSWORD = pwd;
- //UserManage.Update(_user);
- }
- catch (Exception e)
- {
- json.Msg = "操作失败";
- WriteLog(enumOperator.Edit, "重置当前用户密码:", e);
- }
- return Json(json);
- }
- #endregion
- #region 人员档案
- /// <summary>
- /// 加载人员档案
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "UserInfo")]
- public ActionResult UserInfo(int? id)
- {
- var entity = new Ent_SYS_USERINFO();
- try
- {
- string path = Request.QueryString["path"];
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel();
- res.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取用户信息" };
- if (string.IsNullOrEmpty(path))
- {
- var reslut = orm.Queryable<Ent_SYS_USERINFO>().Where(p => p.USERID == id).FirstOrDefault(res);
- if (reslut.IsSuccess)
- {
- entity = reslut.ResultModel;
- }
- ViewBag.user = this.UserManage.Get(p => p.ID == id) ?? new SYS_USER();
- }
- else
- {
- if (path == "home")
- {
- var reslut = orm.Queryable<Ent_SYS_USERINFO>().Where(p => p.USERID == CurrentUser.Id).FirstOrDefault(res);
- if (reslut.IsSuccess)
- {
- entity = reslut.ResultModel;
- }
- ViewBag.user = this.UserManage.Get(p => p.ID == CurrentUser.Id) ?? new SYS_USER();
- ViewData["opera"] = "home";
- }
- }
- }
- #region 下拉框
- Dictionary<string, string> dic = ClsDic.DicCodeType;
- var dictype = this.CodeManage.GetDicType();
- //岗位
- //string gw = dic["在岗状态"];
- //ViewData["gangwei"] = dictype.Where(p => p.CODETYPE == gw).ToList();
- ////婚姻状况
- //string hyzk = dic["婚姻状况"];
- //ViewData["hunyin"] = dictype.Where(p => p.CODETYPE == hyzk).ToList();
- ////政治面貌
- //string zzmm = dic["政治面貌"];
- //ViewData["zzmm"] = dictype.Where(p => p.CODETYPE == zzmm).ToList();
- ////民族
- //string mz = dic["民族"];
- //ViewData["mz"] = dictype.Where(p => p.CODETYPE == mz).ToList();
- ////职业资格
- //string zyzg = dic["职务"];
- //ViewData["zyzg"] = dictype.Where(p => p.CODETYPE == zyzg).ToList();
- ////职称级别
- //string zcjb = dic["职称"];
- //ViewData["zcjb"] = dictype.Where(p => p.CODETYPE == zcjb).ToList();
- ////学历
- //string xl = dic["学历"];
- //ViewData["xl"] = dictype.Where(p => p.CODETYPE == xl).ToList();
- #endregion
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "加载人员档案:", e);
- }
- return View(entity);
- }
- /// <summary>
- /// 保存人员档案
- /// </summary>
- public ActionResult SetUserInfo(Ent_SYS_USERINFO entity)
- {
- bool isEdit = false;
- var json = new JsonHelper() { Msg = "保存人员档案成功", Status = "n" };
- var _entity = new Ent_SYS_USERINFO();
- try
- {
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- if (entity != null)
- {
- #region 获取html标签值
- var userinfoid = Request.Form["user-info-id"] ?? "";
- entity.USERID = int.Parse(Request.Form["user-id"]);
- //籍贯
- entity.HomeTown = Request.Form["jgprov"] + "," + Request.Form["jgcity"] + "," +
- Request.Form["jgcountry"];
- //户口所在地
- entity.HuJiSuoZaiDi = Request.Form["hkprov"] + "," + Request.Form["hkcity"] + "," +
- Request.Form["hkcountry"];
- #endregion
- //添加
- if (!string.IsNullOrEmpty(userinfoid) && userinfoid != "0")
- {
- isEdit = true;
- entity.ID = userinfoid.ToInt32();
- }
- _entity = entity;
- //修改用户头像与用户姓名
- var user = this.UserManage.Get(p => p.ID == _entity.USERID);
- user.NAME = Request.Form["NAME"];
- user.FACE_IMG = Request.Form["face_img_hidden"];
- this.UserManage.Update(user);
- Ent_SYS_USERINFO mod = new Ent_SYS_USERINFO();
- RequestModel request = new RequestModel();
- request.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取单车信息" };
- ResponseModel reslut = new ResponseModel();
- if (isEdit)
- {
- request.Oid = userinfoid;
- reslut = orm.UpdateById(_entity, request);
- WriteLog(enumOperator.Edit, "保存人员档案:" + json.Msg, enumLog4net.INFO);
- }
- else
- {
- reslut = orm.Save(_entity, request);
- WriteLog(enumOperator.Add, "保存人员档案:" + json.Msg, enumLog4net.INFO);
- }
- if (reslut.IsSuccess)
- {
- json.Status = "y";
- }
- else
- {
- json.Msg = "保存用户档案失败";
- }
- }
- else
- {
- json.Msg = "未找到要编辑的用户记录";
- }
- }
- }
- catch (Exception e)
- {
- this.UserManage.Rollback();
- json.Msg = e.InnerException.Message;
- WriteLog(enumOperator.None, "保存人员档案:", e);
- }
- return Json(json);
- }
- #endregion
- #region 修改密码页面窗体
- /// <summary>
- /// 修改密码页面窗体
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "SetPassword")]
- public ActionResult PasswordSet()
- {
- if (!string.IsNullOrEmpty(this.CurrentUser.Name))
- {
- var entity = this.UserManage.Get(p => p.ID == CurrentUser.Id);
- return View(entity);
- }
- return View();
- }
- /// <summary>
- /// 修改密码功能实现函数
- /// </summary>
- public ActionResult PasswordSave()
- {
- JsonHelper json = new JsonHelper() { Msg = "修改密码完成", Status = "n" };
- var ID = Request.Form["ID"] ?? "";
- if (string.IsNullOrEmpty(ID))
- {
- json.Msg = "请登录";
- return Json(json);
- }
- string OldPassword = Request.Form["oldpass"];
- string NewPassword = Request.Form["newpass"];
- string confPassword = Request.Form["confpass"];
- int newid = int.Parse(ID);
- var entity = this.UserManage.Get(p => p.ID == newid);
- var pwd = PasswordUtils.MD5_Encrypt(NewPassword, 32);
- entity.PASSWORD = pwd;
- if (CurrentUser.DptInfo.ID > 0)
- {
- if (CurrentUser.DptInfo.IfNotNull())
- {
- if (!CurrentUser.DptInfo.ID.IsNullOrEmpty())
- {
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel request = new RequestModel();
- request.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "保存学校" };
- var schoolid = CurrentUser.DptInfo.ID;
- var reslutschool = orm.UpdateByLambda<YM_School>(p => new YM_School { PassWord = NewPassword }, f => f.ID == schoolid, request);
- if (reslutschool.IsSuccess)
- {
- }
- }
- }
- }
- }
- //entity.PASSWORD = Ant.Service.Common.CryptHelper.DESCrypt.Encrypt(NewPassword);
- try
- {
- this.UserManage.Update(entity);
- json.Status = "y";
- WriteLog(enumOperator.Edit, "修改密码:" + json.Msg, enumLog4net.INFO);
- return Json(json);
- }
- catch (Exception e)
- {
- json.Msg = e.Message;
- WriteLog(enumOperator.Edit, "修改密码错误:", e);
- return Json(json);
- }
- }
- /// <summary>
- /// 修改密码前检测旧密码是否正确
- /// </summary>
- public ActionResult CheckoldPass(string oldPassword)
- {
- JsonHelper json = new JsonHelper() { Msg = "Success", Status = "n" };
- string id = Request.Form["ID"];
- string oldpass = Request.Form["oldpass"];
- if (string.IsNullOrEmpty(id))
- {
- json.Msg = "未找到要处理的用户";
- return Json(json);
- }
- var pass = PasswordUtils.MD5_Encrypt(oldpass, 32);
- int newid = int.Parse(id);
- var result = this.UserManage.IsExist(p => p.ID == newid && p.PASSWORD.Equals(pass));
- if (!result)
- {
- json.Msg = "原始密码错误";
- return Json(json);
- }
- json.Status = "y";
- return Json(json);
- }
- #endregion
- #region 切换用户
- /// <summary>
- /// 用户切换
- /// </summary>
- [UserAuthorizeAttribute(ModuleAlias = "User", OperaAction = "Change")]
- public ActionResult ChangeUser(int? id)
- {
- JsonHelper json = new JsonHelper() { Msg = "Success", Status = "n" };
- if (id != null && id > 0)
- {
- var user = this.UserManage.Get(p => p.ID == id);
- if (user != null)
- {
- if (user.ISCANLOGIN != true)
- {
- var acconut = this.UserManage.GetAccountByUser(user);
- //清理SESSION COOKIE
- SessionHelper.Remove("CurrentUser");
- CookieHelper.ClearCookie("cookie_rememberme");
- CookieHelper.ClearCookie("CCS");
- //写入Session 当前登录用户
- SessionHelper.SetSession("CurrentUser", acconut);
- string cookievalue = "{\"id\":\"" + acconut.Id + "\",\"username\":\"" + acconut.LogName + "\",\"password\":\"" + acconut.PassWord + "\",\"ToKen\":\"" + Session.SessionID + "\"}";
- CookieHelper.SetCookie("cookie_rememberme", Ant.Service.Common.CryptHelper.DESCrypt.Encrypt(cookievalue), null);
- json.Status = "y";
- WriteLog(enumOperator.Login, "切换用户:" + acconut.Name, enumLog4net.WARN);
- return Json(json);
- }
- else
- {
- json.Msg = "用户已锁定,禁止登录,无法切换";
- }
- }
- else
- {
- json.Msg = "用户不存在,无法切换";
- }
- }
- else
- {
- json.Msg = "用户ID不存在,无法切换";
- }
- WriteLog(enumOperator.Login, "切换用户:" + json.Msg, enumLog4net.ERROR);
- return Json(json);
- }
- /// <summary>
- /// 首页用户切换,ID=Account
- /// </summary>
- public ActionResult ChangeUserName(string id)
- {
- JsonHelper json = new JsonHelper() { Status = "n" };
- try
- {
- if (!string.IsNullOrEmpty(id))
- {
- var entity = this.UserManage.Get(p => p.ACCOUNT == id);
- if (entity != null)
- {
- if (entity.ISCANLOGIN != true)
- {
- var acconut = this.UserManage.GetAccountByUser(entity);
- //清理SESSION COOKIE
- SessionHelper.Remove("CurrentUser");
- CookieHelper.ClearCookie("cookie_rememberme");
- CookieHelper.ClearCookie("CCS");
- //写入Session 当前登录用户
- SessionHelper.SetSession("CurrentUser", acconut);
- string cookievalue = "{\"id\":\"" + acconut.Id + "\",\"username\":\"" + acconut.LogName + "\",\"password\":\"" + acconut.PassWord + "\",\"ToKen\":\"" + Session.SessionID + "\"}";
- CookieHelper.SetCookie("cookie_rememberme", Ant.Service.Common.CryptHelper.DESCrypt.Encrypt(cookievalue), null);
- json.Status = "y";
- WriteLog(enumOperator.Login, "切换用户:" + acconut, enumLog4net.WARN);
- return Json(json);
- }
- else
- {
- json.Msg = "用户已锁定,禁止登录,无法切换";
- }
- }
- else
- {
- json.Msg = "查无此人";
- }
- }
- else
- {
- json.Msg = "请输入用户名";
- }
- WriteLog(enumOperator.Login, "切换用户:" + json.Msg, enumLog4net.ERROR);
- }
- catch (Exception e) { json.Msg = e.Message; WriteLog(enumOperator.Login, "切换用户错误:", e); }
- return Json(json);
- }
- #endregion
- #region 选择人员
- /// <summary>
- /// 选择人员视图
- /// </summary>
- public ActionResult SelectUser()
- {
- try
- {
- #region 选中人员
- string userId = Request["userid"] ?? "";
- ViewData["userId"] = userId;
- #endregion
- #region 部门列表
- //部门列表
- var dptlist = this.DepartmentManage.RecursiveDepartmentNew("32f7a4bd-84de-4587-be29-734d65ad6f70");
- ViewData["dptsearch"] = dptlist;
- #endregion
- ViewBag.Search = base.keywords;
- #region 岗位
- int usertype = -1;
- if (!Request.QueryString["postid"].IsEmpty())
- {
- usertype = Request.QueryString["postid"].ToInt32();
- }
- ViewData["postid"] = Request.QueryString["postid"];
- var list = this.CodeManage.GetCode("POSTTYPE", "3", "6");
- ViewData["postType"] = list;
- #endregion
- #region 人员列表
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel
- {
- newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "获取人员列表信息" }
- };
- //var reslut = orm.Queryable<SYS_USER>().Where(p => p.USERTYPE == 3).ToList(res);
- var result = BindUserList("", usertype);
- return View(result);
- }
- #endregion
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "选择人员错误:", e);
- }
- return View();
- }
- #endregion
- #region 通讯录
- /// <summary>
- /// 内部通讯录
- /// </summary>
- public ActionResult Contacts()
- {
- try
- {
- var result = this.UserManage.LoadAll(p => p.ISCANLOGIN == false).Select(p => new { p.ID, p.NAME, p.PINYIN2, p.ACCOUNT }).ToList();
- ViewData["userlist"] = JsonConverter.Serialize(result);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "内部通讯录错误:", e);
- }
- return View();
- }
- /// <summary>
- /// 名片
- /// </summary>
- public ActionResult Card(int? id)
- {
- try
- {
- //用户信息
- var entity = this.UserManage.Get(p => p.ID == id) ?? new SYS_USER();
- //用户档案
- var entityinfo = this.UserInfoManage.Get(p => p.USERID == id) ?? new SYS_USERINFO();
- ViewData["userInfo"] = entityinfo;
- //用户登录日志记录
- ViewData["login"] = this.SyslogManage.LoadAll(p => p.CLIENTUSER == CurrentUser.LogName && p.ACTION == "Login" && p.MESSAGE.Contains("登录成功")).OrderByDescending(p => p.DATES).First() ?? new SYS_LOG();
- //部门
- ViewData["dpt"] = this.DepartmentManage.Get(p => p.ID == entity.DPTID) ?? new SYS_DISTRIBUTORS();
- //职务
- ViewData["zyzg"] = this.CodeManage.GetCodeNameByCodeValue("ZW", entityinfo.POSTCODE.ToString());
- return View(entity);
- }
- catch (Exception e)
- {
- WriteLog(enumOperator.Select, "名片:", e);
- throw e.InnerException;
- }
- }
- #endregion
- #region 帮助方法
- /// <summary>
- /// 查询分页用户列表
- /// </summary>
- private PageInfo AgriculturalBindList(string dptId, string postId, int usertype)
- {
- //基本数据
- var query = this.UserManage.LoadAll(null);
- //部门
- if (!string.IsNullOrEmpty(dptId))
- {
- var userIdList = GetDptUserIdList(dptId).Cast<int>();
- query = query.Where(p => userIdList.Contains(p.ID));
- }
- //关键词
- if (!string.IsNullOrEmpty(keywords))
- {
- keywords = keywords.ToLower();
- query = query.Where(p => p.NAME.Contains(keywords) || p.ACCOUNT.Contains(keywords) || p.PINYIN2.Contains(keywords) || p.PINYIN1.Contains(keywords));
- }
- if (usertype > 0)
- {
- query = query.Where(p => p.USERTYPE == usertype);
- }
- //岗位
- if (!string.IsNullOrEmpty(postId))
- {
- var userIdlist = GetUserIdByPostId(postId);
- query = query.Where(p => userIdlist.Contains(p.ID));
- }
- //排序
- query = query.OrderBy(p => p.SHOWORDER2);
- //分页
- var result = this.UserManage.Query(query, page, pagesize);
- var list = result.List.Select((p, i) => new
- {
- INDEX = i + 1,
- p.ID,
- p.NAME,
- p.ACCOUNT,
- DPTNAME = this.DepartmentManage.GetDepartmentName(p.DPTID),
- POSTNAME = GetPostName(p.SYS_POST_USER),
- CarNum = GetCarNum(p.ID.ToString()),
- PHONE = p.PHONE,
- ROLENAME = GetRoleName(p.SYS_USER_ROLE),
- ISCANLOGIN = p.ISCANLOGIN == false ? "正常" : "锁定",
- CREATEDATE = p.CREATEDATE,
- Createper = p.CREATEPER
- });
- return new PageInfo(result.Index, result.PageSize, result.Count, JsonConverter.JsonClass(list));
- }
- private int GetCarNum(string userid)
- {
- int count = 0;
- using (AntORM orm = new AntORM())
- {
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel();
- res.newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "查询菜单的单个实体方法" };
- var q = orm.Queryable<MES.Production.Entity.YW_UserCar>().Where(p => p.userId == userid).Count();
- count = q;
- }
- return count;
- }
- /// <summary>
- /// 查询分页用户列表
- /// </summary>
- private PageInfo BindUserList(string dptId, int postId)
- {
- //基本数据
- var query = this.UserManage.LoadAll(null);
- //部门
- if (!string.IsNullOrEmpty(dptId) && dptId != "-1")
- {
- var userIdList = GetDptUserIdList(dptId).Cast<int>();
- query = query.Where(p => userIdList.Contains(p.ID));
- }
- //关键词
- if (!string.IsNullOrEmpty(keywords))
- {
- keywords = keywords.ToLower();
- query = query.Where(p => p.NAME.Contains(keywords) || p.ACCOUNT.Contains(keywords) || p.PINYIN2.Contains(keywords) || p.PINYIN1.Contains(keywords));
- }
- //岗位
- if (postId >= 0)
- {
- query = query.Where(p => p.USERTYPE == postId);
- }
- else
- {
- // query = query.Where(p => p.USERTYPE == 6 || p.USERTYPE == 3 || p.USERTYPE == 0); //3销售人员;6是三包人员
- }
- //排序
- query = query.OrderBy(p => p.SHOWORDER2);
- //分页
- var result = this.UserManage.Query(query, page, pagesize);
- var list = result.List.Select((p, i) => new
- {
- INDEX = i + 1,
- p.ID,
- p.NAME,
- p.ACCOUNT,
- DPTNAME = this.DepartmentManage.GetDepartmentName(p.DPTID),
- POSTNAME = GetUserPostName(p.USERTYPE.ToString()),
- PHONE = p.PHONE,
- ROLENAME = GetRoleName(p.SYS_USER_ROLE),
- ISCANLOGIN = p.ISCANLOGIN == false ? "正常" : "锁定",
- CREATEDATE = p.CREATEDATE,
- Createper = p.CREATEPER
- });
- return new PageInfo(result.Index, result.PageSize, result.Count, JsonConverter.JsonClass(list));
- }
- /// <summary>
- /// 查询分页用户列表
- /// </summary>
- private PageInfo BindList(string dptId, string postId)
- {
- ////基本数据
- //var query = this.UserManage.LoadAll(null);
- ////部门
- //if (!string.IsNullOrEmpty(dptId))
- //{
- // var userIdList = GetDptUserIdList(dptId).Cast<int>();
- // query = query.Where(p => userIdList.Contains(p.ID));
- //}
- ////关键词
- ////岗位
- //if (!string.IsNullOrEmpty(postId))
- //{
- // var userIdlist = GetUserIdByPostId(postId);
- // query = query.Where(p => userIdlist.Contains(p.ID));
- //}
- ////排序
- //query = query.OrderBy(p => p.SHOWORDER2);
- ////分页
- //var result = this.UserManage.Query(query, page, pagesize);
- //var list = result.List.Select((p, i) => new
- //{
- // INDEX = i + 1,
- // p.ID,
- // p.NAME,
- // p.ACCOUNT,
- // DPTNAME = this.DepartmentManage.GetDepartmentName(p.DPTID),
- // POSTNAME = GetPostName(p.SYS_POST_USER),
- // PHONE = p.PHONE,
- // ROLENAME = GetRoleName(p.SYS_USER_ROLE),
- // ISCANLOGIN = p.ISCANLOGIN == false ? "正常" : "锁定",
- // CREATEDATE = p.CREATEDATE,
- // Createper = p.CREATEPER
- //});
- using (AntORM orm = new AntORM())
- {
- orm.db = Ant.Data.DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel request = new RequestModel
- {
- newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "查询菜单的单个实体方法" }
- };
- var user = orm.Queryable<En_SYS_USER>();
- var userrole = orm.Queryable<EntSYS_USER_ROLE>();
- var role = orm.Queryable<Ent_SYS_ROLE>();
- var user_role = user.LeftJoin(userrole, (User, UserRole) => (User.ID == UserRole.FK_USERID)).LeftJoin(role, (User, UserRole, Role) => UserRole.FK_ROLEID == Role.ID);
- var qq = user_role.Select((users, userroles, roles) => new { User = users, Role = roles });
- if (!string.IsNullOrEmpty(keywords))
- {
- keywords = keywords.ToLower();
- qq = qq.Where(p => p.User.NAME.Contains(keywords) || p.User.ACCOUNT.Contains(keywords) || p.User.PINYIN2.Contains(keywords) || p.User.PINYIN1.Contains(keywords));
- }
- int pageno = (page - 1) * pagesize;
- var reslut = qq.OrderBy(p => p.User.SHOWORDER2).Skip(pageno).Top(pagesize).ToList(request);
- if (reslut.IsSuccess)
- {
- reslut.RecordNum = qq.Count();
- List<Ent_User> lists = new List<Ent_User>();
- foreach (var ent in reslut.ResultModel)
- {
- try
- {
- En_SYS_USER mod = ent.User; Ent_SYS_ROLE rolemod = ent.Role;
- var usertype = mod.USERTYPE.ToString(); var dptyname = "系统用户";// this.DepartmentManage.GetDepartmentName(mod.DPTID);
- orm.db = DataAccessFactory.CreateDataConnection("CyclingItem");
- RequestModel res = new RequestModel
- {
- newSt = new SqlNote() { Author = "季健国", NewSt = new System.Diagnostics.StackTrace(true), SqlDesc = "查询学校" },
- };
- int num = (mod.DPTID).ToInt32();
- var resultSchool = orm.Queryable<YM_School>().Where(p => p.ID == num).FirstOrDefault(res);
- if (resultSchool.IsSuccess)
- {
- YM_School schoolmod = resultSchool.ResultModel;
- dptyname = schoolmod.Name;
- }
- //SYS_CODE post = this.CodeManage.LoadAll(p => p.CODETYPE == "POSTTYPE" && p.CODEVALUE == usertype).FirstOrDefault();
- Ent_User users = new Ent_User
- {
- ID = mod.ID.ToInt32(),
- NAME = mod.NAME,
- ACCOUNT = mod.ACCOUNT,
- ISCANLOGIN = mod.ISCANLOGIN == false ? "正常" : "锁定"
- };
- //if (post.IfNotNull())
- //{
- // users.POSTNAME = post.NAMETEXT;
- //}
- users.DPTNAME = dptyname;
- if (!rolemod.IsNull())
- {
- users.ROLENAME = rolemod.ROLENAME;
- }
- lists.Add(users);
- }
- catch (Exception ex)
- {
- }
- }
- return new PageInfo(base.page, base.pagesize, reslut.RecordNum, JsonConverter.JsonClass(lists));
- }
- }
- return new PageInfo(base.page, base.pagesize, 0, JsonConverter.JsonClass(new List<Ent_SYS_USER>()));
- // var lists = list.ToList();
- //return new PageInfo(result.Index, result.PageSize, lists.Count, JsonConverter.JsonClass(lists));
- }
- /// <summary>
- /// 通过部门ID,获取下级部门ID集合
- /// </summary>
- public List<int> GetDptUserIdList(string dptId)
- {
- //兼职部门
- var dptIdList = this.DepartmentManage.RecursiveDepartment(dptId).Select(p => p.ID).ToList();
- //兼职部门的人员
- var userlist = this.UserDepartmentManage.GetUserListByDptId(dptIdList).Select(p => p.ID).ToList();
- //本职部门的人员
- var userlist2 = this.UserManage.LoadAll(p => dptIdList.Contains(p.DPTID)).Select(p => p.ID).ToList();
- userlist.AddRange(userlist2);
- return userlist;
- }
- /// <summary>
- /// 获取角色名称
- /// add 作者: 季健国 QQ:181589805 by 2016-06-07
- /// </summary>
- private string GetRoleName(ICollection<SYS_USER_ROLE> collection)
- {
- return collection.Aggregate(string.Empty, (current, t) => current + (t.SYS_ROLE.ROLENAME + ",")).TrimEnd(',');
- }
- /// <summary>
- /// 获取用户岗位
- /// </summary>
- /// <param name="usertype"></param>
- /// <returns></returns>
- private string GetUserPostName(string usertype)
- {
- var postlist = this.CodeManage.GetCode("POSTTYPE");
- foreach (var mod in postlist)
- {
- if (mod.CODEVALUE == usertype.ToString())
- {
- return mod.NAMETEXT;
- }
- }
- return "";
- }
- /// <summary>
- /// 根据岗位集合获取岗位名称
- /// 部门-岗位
- /// </summary>
- private string GetPostName(ICollection<SYS_POST_USER> collection)
- {
- string retval = string.Empty;
- if (collection != null && collection.Count > 0)
- {
- var postcoll = this.PostUserManage.GetPostNameBySysPostUser(collection);
- foreach (var item in postcoll)
- {
- if (retval != null) retval += item.postname + ",";
- }
- }
- return retval = retval.TrimEnd(',');
- }
- /// <summary>
- /// 根据岗位ID获取该岗位人员ID集合
- /// </summary>
- private List<int> GetUserIdByPostId(string postId)
- {
- var userlist = this.PostUserManage.GetUserListByPostId("'" + postId + "'");
- return userlist.Select(p => p.ID).ToList();
- }
- /// <summary>
- /// 获取部门名称
- /// </summary>
- private object GetDptName(ICollection<SYS_USER_DEPARTMENT> collection)
- {
- return collection.Aggregate(string.Empty, (current, t) => current + t.SYS_DISTRIBUTORS.NAME + ",").TrimEnd(',');
- }
- #endregion
- }
- }
|