965 lines
44 KiB
C#
965 lines
44 KiB
C#
using CRM.Core.DTO;
|
||
using Ninject;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web.Mvc;
|
||
using System.Web.UI;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.Common.Employee;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.IBLL.Util;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.WebHelper;
|
||
|
||
namespace WX.CRM.WEB.Controllers.Base
|
||
{
|
||
//[SessionState(SessionStateBehavior.Disabled)]
|
||
public class InnerUserController : BaseController
|
||
{
|
||
|
||
private IBAS_INNERUSER inneruserBiz;
|
||
private IBAS_INNERUSER_Q inneruserBiz_Q;
|
||
private IBAS_INNERUSERGROUP inneruserGroupBiz;
|
||
private IBAS_INNERUSERGROUP_Q inneruserGroupBiz_Q;
|
||
private IBAS_INNERUSER_EXT_Q inneruserExtend_Q;
|
||
private IBAS_INNERUSER_EXT inneruserExtend;
|
||
private IBAS_USERGROUPCHANGELOG userGroupChangeLog;
|
||
private IBAS_SALESDEPARTMENT_Q bassaledepartment_Q;
|
||
private ICACHE_Q _cacheQ;
|
||
IBAS_INNERUSERROLE innerUserRoleBiz;
|
||
[Inject]
|
||
public IBAS_INNERUSERROLE_Q _inneruserRole { get; set; }
|
||
[Inject]
|
||
public IBAS_INNERGROUP_Q _INNERGROUP_Q { get; set; }
|
||
[Inject]
|
||
public IBAS_INNERUSERSALT _IBAS_INNERUSERSALT { get; set; }
|
||
[Inject]
|
||
public IBAS_INNERUSERSALT_Q _IBAS_INNERUSERSALT_Q { get; set; }
|
||
|
||
ValidationErrors errors = new ValidationErrors();
|
||
|
||
public InnerUserController(IBAS_INNERUSER _inneruserBiz, IBAS_INNERUSER_Q _inneruserBiz_Q, IBAS_INNERUSERGROUP _inneruserGroupBiz, IBAS_INNERUSERGROUP_Q _inneruserGroupBiz_Q
|
||
, IBAS_INNERUSER_EXT_Q _inneruserExtend_Q, IBAS_INNERUSER_EXT _inneruserExtend, IBAS_USERGROUPCHANGELOG _userGroupChangeLog, ICACHE_Q cacheQ, IBAS_INNERUSERROLE _innerUserRoleBiz
|
||
, IBAS_SALESDEPARTMENT_Q _bassaledepartment_Q)
|
||
{
|
||
this.inneruserBiz = _inneruserBiz;
|
||
this.inneruserBiz_Q = _inneruserBiz_Q;
|
||
this.inneruserGroupBiz = _inneruserGroupBiz;
|
||
this.inneruserGroupBiz_Q = _inneruserGroupBiz_Q;
|
||
this.inneruserExtend_Q = _inneruserExtend_Q;
|
||
this.inneruserExtend = _inneruserExtend;
|
||
this.userGroupChangeLog = _userGroupChangeLog;
|
||
this._cacheQ = cacheQ;
|
||
this.innerUserRoleBiz = _innerUserRoleBiz;
|
||
this.bassaledepartment_Q = _bassaledepartment_Q;
|
||
}
|
||
|
||
|
||
#region 首页
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_员工管理)]
|
||
public ActionResult Index()
|
||
{
|
||
//ToolBar
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.员工管理, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
// tool.AllowButton("Create", "Edit", "Other1", "Details", "Delete", "Export", "Other2");
|
||
tool.AddOtherButton("Other1", "修改组", "icon-lookup", "FenPei_Click", true);
|
||
tool.AddOtherButton("Other2", "查看调动日志", "icon-edit", "DiaoDong_Click", true);
|
||
tool.AddOtherButton("Other3", "查看扩展属性变动日志", "icon-search", "ExtendChange_Click", true);
|
||
tool.AddOtherButton("Other4", "停用设置", "icon-edit", "DismissChange_Click", true);
|
||
tool.AddOtherButton("Other5", "", "", "", true);
|
||
tool.AddOtherButton("Other6", "", "", "", false);
|
||
tool.AddOtherButton("Other7", "设置", "icon-edit", "Setting_Click", true);
|
||
tool.AddOtherButton("Other8", "修改密码", "icon-edit", "ChangePassWord_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
Pager pager = new Pager() { page = 1, rows = 10 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.isCheckbox = true;
|
||
tab.AddHiddenHeadCol("pkid", "ID");//影藏列
|
||
tab.AddHeadCol("map_eID", "", "工号", true);
|
||
tab.AddHeadCol("map_uName", "", "姓名", true);
|
||
//tab.AddHeadCol("map_trueName", "", "真实姓名");
|
||
tab.AddHeadCol("gName", "", "销售组");
|
||
tab.AddHeadCol("deptName", "", "部门");
|
||
tab.AddHeadCol("rolesNames", "", "角色 ");
|
||
//tab.AddHeadCol("futuresStatus", "", "");
|
||
//tab.AddHeadCol("traderStatus", "", "");
|
||
//tab.AddHeadCol("tutorStatus", "", "");
|
||
//tab.AddHeadCol("MANAGERSTATUS", "", "客服经理");
|
||
//tab.AddHeadCol("GENERALCUSTOMER", "", "客服");
|
||
//tab.AddHeadCol("SENIORCUSTOMER", "", "高级客服");
|
||
tab.AddHeadCol("map_gender", "", "性别");
|
||
//tab.AddHeadCol("map_birthday", "", "生日", true);
|
||
tab.AddHeadCol("map_EntryDate", "", "入职时间", true);
|
||
//tab.AddHeadCol("map_POSITIVETIME", "", "转正时间", true);
|
||
tab.AddHeadCol("map_isDismiss", "", "是否停用");
|
||
tab.AddHeadCol("map_dismissTime", "", "停用时间", true);
|
||
tab.AddHeadCol("logTime", "", "最后登录时间", true);
|
||
tab.AddHeadCol("logIp", "", "登录IP", true);
|
||
tab.AddHeadCol("telNum", "", "登录分机号", true);
|
||
//tab.AddHeadCol("map_dismissType", "", "离职类型");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20,50");
|
||
|
||
return View();
|
||
}
|
||
#endregion
|
||
|
||
#region 组织结构员工列表
|
||
//[AuthorizeRedirect(Roles = InitRights.CONST_组织结构图)]
|
||
public ActionResult OrganizationMapUser()
|
||
{
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.组织结构图, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
//tool.AllowButton(new string[] { "Other7","Other8" });
|
||
tool.AddOtherButton("Other1", "分配角色", "icon-edit", "Setting_Click", true);
|
||
tool.AddOtherButton("Other2", "修改密码", "icon-edit", "ChangePassWord_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
//tablegrid
|
||
Pager pager = new Pager() { order = "companyId", page = 1, rows = 10 };
|
||
string tableId = "tablist";
|
||
Table tab = new Table(tableId);
|
||
tab.isCheckbox = true;
|
||
tab.AddHiddenHeadCol("pkid", "ID");//影藏列
|
||
tab.AddHeadCol("map_eID", "", "工号", true);
|
||
tab.AddHeadCol("map_uName", "", "姓名", true);
|
||
//tab.AddHeadCol("map_trueName", "", "真实姓名", true);
|
||
tab.AddHeadCol("gName", "", "销售组");
|
||
tab.AddHeadCol("deptName", "", "部门");
|
||
tab.AddHeadCol("rolesNames", "", "角色 ");
|
||
//tab.AddHeadCol("futuresStatus", "", "");
|
||
//tab.AddHeadCol("traderStatus", "", "");
|
||
//tab.AddHeadCol("tutorStatus", "", "");
|
||
//tab.AddHeadCol("MANAGERSTATUS", "", "客服经理");
|
||
//tab.AddHeadCol("GENERALCUSTOMER", "", "客服");
|
||
//tab.AddHeadCol("SENIORCUSTOMER", "", "高级客服");
|
||
tab.AddHeadCol("map_gender", "", "性别");
|
||
//tab.AddHeadCol("map_birthday", "", "生日", true);
|
||
tab.AddHeadCol("map_EntryDate", "", "入职时间", true);
|
||
//tab.AddHeadCol("map_POSITIVETIME", "", "转正时间", true);
|
||
tab.AddHeadCol("map_isDismiss", "", "是否停用");
|
||
tab.AddHeadCol("map_dismissTime", "", "停用时间", true);
|
||
tab.AddHeadCol("logTime", "", "最后登录时间", true);
|
||
tab.AddHeadCol("logIp", "", "登录IP", true);
|
||
tab.AddHeadCol("telNum", "", "登录分机号", true);
|
||
//tab.AddHeadCol("map_dismissType", "", "离职类型");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,50");
|
||
|
||
string departMentIds = string.Empty;
|
||
string groupIds = string.Empty;
|
||
string otherFilter = string.Empty;
|
||
if (Request.QueryString["type"] == "d")
|
||
{
|
||
string[] ids = Request.QueryString["fid"].Split(',');
|
||
foreach (string fid in ids)
|
||
{
|
||
if (fid.IndexOf("g_") > -1)
|
||
{
|
||
groupIds += fid.Replace("g_", "") + ",";
|
||
}
|
||
else
|
||
departMentIds += fid + ",";
|
||
}
|
||
if (groupIds.Length > 0)
|
||
groupIds = groupIds.Substring(0, groupIds.Length - 1);
|
||
if (departMentIds.Length > 0)
|
||
departMentIds = departMentIds.Substring(0, departMentIds.Length - 1);
|
||
//departMentIds = Request.QueryString["fid"].Replace("g_", "");
|
||
}
|
||
if (Request.QueryString["type"] == "g")
|
||
{
|
||
groupIds = Request.QueryString["fid"].Replace("g_", "");
|
||
}
|
||
if (Request.QueryString["type"] == "u")
|
||
{
|
||
otherFilter = Request.QueryString["fid"].Replace("g_", "");
|
||
}
|
||
ViewBag.departMentIds = departMentIds;
|
||
ViewBag.groupIds = groupIds;
|
||
ViewBag.otherFilter = otherFilter;
|
||
return View();
|
||
}
|
||
#endregion
|
||
|
||
#region 列表
|
||
/// <summary>
|
||
/// 按照条件获取数据
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="queryStr"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_组织结构图)]
|
||
|
||
public JsonResult GetHtmlList(Pager pager, string columns)
|
||
{
|
||
///System.Threading.Thread.Sleep(1000*60*10);
|
||
string innerGroupId = Request.Form["innerGroupId"];
|
||
string innerDeptId = Request.Form["innerDeptId"];
|
||
string eId = Request.Form["eId"];
|
||
string uName = Request.Form["uName"];
|
||
string gender = Request.Form["gender"];
|
||
string isDismiss = Request.Form["isDismiss"];
|
||
string dismissType = Request.Form["dismissType"];
|
||
string dismissTime1 = Request.Form["dismissTime1"];
|
||
string dismissTime2 = Request.Form["dismissTime2"];
|
||
string EntryDate1 = Request.Form["EntryDate1"];
|
||
string EntryDate2 = Request.Form["EntryDate2"];
|
||
string isfutures = Request.Form["futures"];
|
||
string istrader = Request.Form["trader"];
|
||
string istutor = Request.Form["tutor"];
|
||
string isManager = Request.Form["Manager"];
|
||
string positiveTime1 = Request.Form["PositiveTime1"];
|
||
string positiveTime2 = Request.Form["PositiveTime2"];
|
||
string otherFilter = Request.Form["otherFilter"];
|
||
Table table = new Table(columns, true);
|
||
table.isCheckbox = true;
|
||
table.gridPager = pager;
|
||
pager.order = "desc";
|
||
List<WX.CRM.Model.Entity.BAS_INNERUSER_Extend> list = inneruserBiz_Q.GetList(ref pager, innerGroupId, innerDeptId, eId, uName, gender, isDismiss, dismissType, dismissTime1, dismissTime2, EntryDate1, EntryDate2, isfutures, istrader, istutor, isManager, positiveTime1, positiveTime2, otherFilter);
|
||
foreach (WX.CRM.Model.Entity.BAS_INNERUSER_Extend model in list)
|
||
{
|
||
table.AddHiddenCol(model.INNERUSER.PKID.ToString());
|
||
table.AddCol(model.INNERUSER.EID);
|
||
table.AddCol(model.INNERUSER.UNAME);
|
||
//table.AddCol(model.INNERUSER.TRUENAME);
|
||
table.AddCol(model.GNAME);
|
||
table.AddCol(model.DEPTNAME);
|
||
table.AddCol("text-align:left", "", " " + model.ROLESNAMES);
|
||
//table.AddCol(model.FUTURESSTATUS == 1 ? "是" : "否");
|
||
//table.AddCol(model.TRADERSTATUS == 1 ? "是" : "否");
|
||
//table.AddCol(model.TUTORSTATUS == 1 ? "是" : "否");
|
||
//table.AddCol(model.MANAGERSTATUS == 1 ? "是" : "否");
|
||
//table.AddCol(model.GENERALCUSTOMER == 1 ? "是" : "否");
|
||
//table.AddCol(model.SENIORCUSTOMER == 1 ? "是" : "否");
|
||
table.AddCol(model.INNERUSER.GENDER == "m" ? "男" : "女");
|
||
//table.AddCol(model.INNERUSER.BIRTHDAY.ToString("yyyy.MM.dd"));
|
||
table.AddCol(model.INNERUSER.ENTRYDATE.ToUnityString(1));
|
||
//table.AddCol(model.INNERUSER.POSITIVETIME.ToUnityString(1));
|
||
table.AddCol((model.INNERUSER.ISDISMISS == 1 ? "是" : "否"));
|
||
table.AddCol(model.INNERUSER.DISMISSTIME.ToUnityString(1));
|
||
table.AddCol(model.LOGINTIME);
|
||
table.AddCol(model.LOGINIP);
|
||
table.AddCol(model.TELNUM);
|
||
//table.AddCol(model.INNERUSER.DISMISSTYPE == null ? "" : (model.INNERUSER.DISMISSTYPE.Value == 1 ? "正常离职" : "其他离职"));
|
||
table.AddRow();
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
#endregion
|
||
|
||
#region 详细
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Details)]
|
||
public ActionResult Details(string id)
|
||
{
|
||
WX.CRM.Model.Entity.BAS_INNERUSER model = new WX.CRM.Model.Entity.BAS_INNERUSER();
|
||
if (id != null)
|
||
{
|
||
model = inneruserBiz_Q.GetModel(Convert.ToDecimal(id));
|
||
}
|
||
return View(model);
|
||
|
||
}
|
||
#endregion
|
||
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other1)]
|
||
public ActionResult ChangeUserGroup(decimal id)
|
||
{
|
||
string isAdd = "false";
|
||
WX.CRM.Model.Entity.BAS_INNERUSERGROUP innerGroupModel = null;
|
||
innerGroupModel = inneruserGroupBiz_Q.GetModel(id);
|
||
if (innerGroupModel == null)
|
||
{
|
||
isAdd = "true";
|
||
innerGroupModel = new WX.CRM.Model.Entity.BAS_INNERUSERGROUP();
|
||
innerGroupModel.INNERUSERID = id;
|
||
}
|
||
ViewBag.isAdd = isAdd;
|
||
ViewBag.innerGroupModel = innerGroupModel;
|
||
return View(innerGroupModel);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other1)]
|
||
public JsonResult ChangeUserGroup(WX.CRM.Model.Entity.BAS_INNERUSERGROUP rmodel, bool isAdd, decimal? oldGID)
|
||
{
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
rmodel.INNERUSERID = rmodel.INNERUSERID;
|
||
if (isAdd)
|
||
rmodel.CREATEUSER = UserId;
|
||
else
|
||
rmodel.UPDATEUSER = UserId;
|
||
bool result = inneruserGroupBiz.Save(ref errors, rmodel);
|
||
if (result == true)
|
||
{
|
||
BAS_USERGROUPCHANGELOG logModel = new BAS_USERGROUPCHANGELOG();
|
||
logModel.NEWGROUPID = rmodel.GID;
|
||
logModel.OLDGROUPID = oldGID;
|
||
logModel.SALESID = rmodel.INNERUSERID;
|
||
logModel.INDATE = rmodel.inDate;
|
||
logModel.OUTDATE = Convert.ToDateTime("2050-01-01");
|
||
result = userGroupChangeLog.Save(ref errors, logModel);
|
||
}
|
||
|
||
InnerUserHelper.Instance.ClearCache();
|
||
|
||
CacheHelper.Remove("cache_InnerUserGroup_getList");
|
||
|
||
return JsonHandler.ManageMessage(errors, result);
|
||
}
|
||
#region 编辑
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)]
|
||
public ActionResult Edit(string id)
|
||
{
|
||
string bas_key = _cacheQ.GetValue_Parameter("Bas_CanUpdateTrueName");
|
||
|
||
|
||
WX.CRM.Model.Entity.BAS_INNERUSER model = new WX.CRM.Model.Entity.BAS_INNERUSER();
|
||
WX.CRM.Model.Entity.BAS_INNERUSERGROUP innerGroupModel = new WX.CRM.Model.Entity.BAS_INNERUSERGROUP();
|
||
WX.CRM.Model.Entity.BAS_INNERUSER_EXT extendModel = new WX.CRM.Model.Entity.BAS_INNERUSER_EXT();
|
||
model.PASSWORD = "";
|
||
model.map_CPASSWORD = "";
|
||
if (id == null)
|
||
{
|
||
model.DISMISSTIME = DateTime.MinValue;
|
||
model.ENTRYDATE = DateTime.MinValue;
|
||
model.POSITIVETIME = DateTime.MinValue;
|
||
model.GENDER = "m";
|
||
model.ISDISMISS = 0;
|
||
model.ISHIDE = 0;
|
||
extendModel.FXH_FUTURESSTATUS = 1;
|
||
extendModel.FXH_TRADERSTATUS = 0;
|
||
extendModel.FXH_TUTORSTATUS = 0;
|
||
//extendModel.GJS_CUSTOMERMANAGER = 0;
|
||
//extendModel.GENERALCUSTOMER = 0;
|
||
//extendModel.SENIORCUSTOMER = 0;
|
||
//extendModel.CustomerType = 0;
|
||
}
|
||
else
|
||
{
|
||
model = inneruserBiz_Q.GetModel(Convert.ToDecimal(id));
|
||
model.DISMISSTIME = model.DISMISSTIME == null ? DateTime.MinValue : model.DISMISSTIME;
|
||
model.ENTRYDATE = model.ENTRYDATE == null ? DateTime.MinValue : model.ENTRYDATE;
|
||
model.POSITIVETIME = model.POSITIVETIME == null ? DateTime.MinValue : model.POSITIVETIME;
|
||
model.map_CPASSWORD = model.map_PASSWORD;
|
||
innerGroupModel = inneruserGroupBiz_Q.GetModel(model.PKID);
|
||
extendModel = inneruserExtend_Q.GetModel_InneruserExt(Convert.ToDecimal(id));
|
||
}
|
||
ViewBag.innerGroupModel = innerGroupModel;
|
||
ViewBag.inneruserExtend = extendModel;
|
||
if (!string.IsNullOrEmpty(bas_key))
|
||
{
|
||
ViewBag.isCanUpdateTrueName = bas_key;//1:可以修改 0(或者空)不可以修改
|
||
}
|
||
else
|
||
{
|
||
ViewBag.isCanUpdateTrueName = "0";
|
||
}
|
||
|
||
// ViewBag.HasAll = isSearchAll();
|
||
|
||
return View(model);
|
||
}
|
||
public bool isSearchAll()
|
||
{
|
||
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);//管理员 查看所有
|
||
return (roleCodes.IndexOf("[GLY]") > -1);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)]
|
||
public JsonResult Edit(WX.CRM.Model.Entity.BAS_INNERUSER model, WX.CRM.Model.Entity.BAS_INNERUSER_EXT emodel)
|
||
{
|
||
ModelState.Remove("map_PASSWORD3");
|
||
ModelState.Remove("map_PASSWORD2");
|
||
ModelState.Remove("map_PASSWORD");
|
||
ModelState.Remove("map_CPASSWORD");
|
||
ModelState.Remove("map_CPASSWORD2");
|
||
ModelState.Remove("map_SnCode");
|
||
|
||
if (model.PKID == 0)
|
||
{
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
}
|
||
else
|
||
{
|
||
ModelState.Remove("PASSWORD");
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
}
|
||
model.DISMISSTYPE = model.DISMISSTYPE == -1 ? null : model.DISMISSTYPE;
|
||
|
||
if (model.PKID == 0)
|
||
{
|
||
model.CTIME = DateTime.Now;
|
||
model.CREATEUSER = UserId;
|
||
model.POSITIVETIME = model.POSITIVETIME == null ? model.ENTRYDATE : model.POSITIVETIME;
|
||
string user_salt = Utility.CreateRandomSatl(8);
|
||
if (!string.IsNullOrEmpty(model.PASSWORD))
|
||
{ model.PASSWORD = Utility.Sha512(model.PASSWORD + user_salt); }
|
||
|
||
|
||
decimal pkid = inneruserBiz.Create(ref errors, model);
|
||
//rmodel.INNERUSERID = pkid;
|
||
//rmodel.CREATEUSER = UserId;
|
||
if (pkid > 0)
|
||
{
|
||
emodel.INNERUSERID = pkid;
|
||
//inneruserGroupBiz.Save(ref errors, rmodel);
|
||
|
||
inneruserExtend.Create_InnerUserExtend(ref errors, emodel);
|
||
|
||
BAS_INNERUSERSALT userSaltModel = new BAS_INNERUSERSALT();
|
||
userSaltModel.INNERUSERID = pkid;
|
||
userSaltModel.EID = model.EID;
|
||
userSaltModel.PWDSALT = user_salt;
|
||
userSaltModel.CTIME = DateTime.Now;
|
||
userSaltModel.CREATEUSER = UserId;
|
||
_IBAS_INNERUSERSALT.Create(userSaltModel);
|
||
}
|
||
bool scucced = true;
|
||
if (pkid == 0)
|
||
scucced = false;
|
||
|
||
InnerUserHelper.Instance.ClearCache();
|
||
|
||
CacheHelper.Remove("cache_user_list");
|
||
|
||
return JsonHandler.InsertMessage(errors, scucced);
|
||
}
|
||
else
|
||
{
|
||
model.UTIME = DateTime.Now;
|
||
model.UPDATEUSER = UserId;
|
||
model.POSITIVETIME = model.POSITIVETIME == null ? model.ENTRYDATE : model.POSITIVETIME;
|
||
string user_salt = _IBAS_INNERUSERSALT_Q.getUserSalt(model.PKID, model.EID).PWDSALT;
|
||
if (!string.IsNullOrEmpty(model.PASSWORD))
|
||
{ model.PASSWORD = Utility.Sha512(model.PASSWORD + user_salt); }
|
||
bool scucced = inneruserBiz.Update(ref errors, model);
|
||
//rmodel.INNERUSERID = model.PKID;
|
||
//rmodel.CREATEUSER = UserId;
|
||
//rmodel.UPDATEUSER = UserId;
|
||
emodel.INNERUSERID = model.PKID;
|
||
|
||
//inneruserGroupBiz.Save(ref errors, rmodel);
|
||
inneruserExtend.Update_InnerUserExtend(ref errors, emodel, UserId);
|
||
|
||
InnerUserHelper.Instance.ClearCache();
|
||
|
||
CacheHelper.Remove("cache_user_list");
|
||
|
||
return JsonHandler.UpdateMessage(errors, scucced);
|
||
}
|
||
}
|
||
#endregion
|
||
#region 员工在离职编辑
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other4)]
|
||
public ActionResult EditDismiss(string id)
|
||
{
|
||
BAS_INNERUSER model = inneruserBiz_Q.GetModel(Convert.ToDecimal(id));
|
||
model.DISMISSTIME = model.DISMISSTIME ?? DateTime.Now;
|
||
return View(model);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other4)]
|
||
public JsonResult EditDismiss(WX.CRM.Model.Entity.BAS_INNERUSER model)
|
||
{
|
||
if (model.ISDISMISS == 0)
|
||
{
|
||
model.DISMISSTIME = null;
|
||
model.DISMISSTYPE = null;
|
||
}
|
||
model.UTIME = DateTime.Now;
|
||
model.UPDATEUSER = UserId;
|
||
inneruserBiz.UpdateDismiss(model, UserId);
|
||
|
||
InnerUserHelper.Instance.ClearCache();
|
||
|
||
CacheHelper.Remove("cache_user_list");
|
||
|
||
return JsonHandler.ManageMessage("修改成功", true);
|
||
}
|
||
#endregion
|
||
#region 员工客服状态编辑
|
||
[HttpGet]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other6)]
|
||
public ActionResult EditUserCustomer(string id, string eid)
|
||
{
|
||
BAS_INNERUSER_EXT extendModel = inneruserExtend_Q.GetModel_InneruserExt(Convert.ToDecimal(id));
|
||
ViewBag.map_eID = eid;
|
||
return View(extendModel);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other6)]
|
||
public JsonResult EditUserCustomer(WX.CRM.Model.Entity.BAS_INNERUSER_EXT emodel)
|
||
{
|
||
inneruserExtend.Update_UserCustomer(emodel, UserId);
|
||
InnerUserHelper.Instance.ClearCache();
|
||
return JsonHandler.ManageMessage("修改成功", true);
|
||
}
|
||
#endregion
|
||
#region 删除
|
||
/// <summary>
|
||
/// 删除数据
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Delete)]
|
||
public JsonResult Delete(string id)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(id))
|
||
return JsonHandler.ManageMessage("参数错误", false);
|
||
bool result = inneruserBiz.Delete(ref errors, Convert.ToDecimal(id));
|
||
InnerUserHelper.Instance.ClearCache();
|
||
return JsonHandler.DeleteMessage(errors, result);
|
||
}
|
||
#endregion
|
||
#region 修改个人信息
|
||
[HttpGet]
|
||
[Authorize]
|
||
public ActionResult ChangeUserIfo()
|
||
{
|
||
ModelState.Remove("map_PASSWORD"); //加上这句就行了
|
||
WX.CRM.Model.Entity.BAS_INNERUSER model = inneruserBiz_Q.GetModel(UserId);
|
||
model.map_CPASSWORD = model.map_PASSWORD;
|
||
return View(model);
|
||
}
|
||
[HttpPost]
|
||
[Authorize]
|
||
public ActionResult ChangeUserIfo(WX.CRM.Model.Entity.BAS_INNERUSER ChangeModel)
|
||
{
|
||
WX.CRM.Model.Entity.BAS_INNERUSER model = inneruserBiz_Q.GetModel(UserId);
|
||
var apiResult = ChangeThirdPassWord(model.EID, ChangeModel.PASSWORD);
|
||
if (apiResult.ret != 0)
|
||
{
|
||
errors.Add($"工号【{model.EID}】修改密码失败,失败原因【{apiResult.msg}】,请到员工系统进行核对");
|
||
return JsonHandler.UpdateMessage(errors, false);
|
||
}
|
||
model.map_PASSWORD = ChangeModel.map_PASSWORD;
|
||
model.map_CPASSWORD = ChangeModel.map_CPASSWORD;
|
||
string user_salt = _IBAS_INNERUSERSALT_Q.getUserSalt(model.PKID, model.EID).PWDSALT;
|
||
model.PASSWORD = Utility.Sha512(model.PASSWORD + user_salt);
|
||
model.UPDATEUSER = UserId;
|
||
model.UTIME = DateTime.Now;
|
||
bool scucced = inneruserBiz.Update(ref errors, model);
|
||
InnerUserHelper.Instance.ClearCache();
|
||
return JsonHandler.UpdateMessage(errors, scucced);
|
||
}
|
||
#endregion
|
||
#region 检查员工是否存在
|
||
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
|
||
public ActionResult CheckUserByEid()
|
||
{
|
||
string Usereid = Request.QueryString[Request.QueryString.GetKey(0)];
|
||
decimal eid;
|
||
bool isValidate = false;
|
||
if (decimal.TryParse(Usereid, out eid))
|
||
{
|
||
var user = inneruserBiz_Q.getInnerUserByEid(eid);
|
||
if (user != null) isValidate = true;
|
||
}
|
||
return Json(isValidate, JsonRequestBehavior.AllowGet);
|
||
}
|
||
#endregion
|
||
|
||
#region Excel导出
|
||
/// <summary>
|
||
/// 导出所有信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Export)]
|
||
public FileResult ExportAll()
|
||
{
|
||
Pager pager = new Pager() { order = "asc", rows = int.MaxValue, sort = "pkid" };
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
|
||
List<WX.CRM.Model.Entity.BAS_INNERUSER_Extend> list = inneruserBiz_Q.GetList(ref pager, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
|
||
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.Entity.BAS_INNERUSER_Extend>(list, "员工列表", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("员工列表--所有.xls"));
|
||
}
|
||
//用作委托传递
|
||
public string DataFormart(string key, object value)
|
||
{
|
||
string formartValue = string.Empty;
|
||
switch (key)
|
||
{
|
||
case "map_GENDER":
|
||
switch (Convert.ToString(value))
|
||
{
|
||
case "m": formartValue = "男"; break;
|
||
case "f": formartValue = "女"; break;
|
||
default: formartValue = ""; break;
|
||
}; break;
|
||
case "map_DISMISSTYPE":
|
||
switch (Convert.ToString(value))
|
||
{
|
||
case "1": formartValue = "正常离职"; break;
|
||
case "0": formartValue = "其他离职"; break;
|
||
default: formartValue = ""; break;
|
||
}
|
||
; break;
|
||
case "map_ISDISMISS":
|
||
switch (Convert.ToString(value))
|
||
{
|
||
case "0": formartValue = "未离职"; break;
|
||
case "1": formartValue = "已离职"; break;
|
||
default: formartValue = ""; break;
|
||
}
|
||
; break;
|
||
case "FUTURESSTATUS":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
case "TRADERSTATUS":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
case "TUTORSTATUS":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
case "MANAGERSTATUS":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
case "GENERALCUSTOMER":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
case "SENIORCUSTOMER":
|
||
formartValue = (value ?? "0").ToString() == "1" ? "是" : "否";
|
||
break;
|
||
default: formartValue = string.Format("{0}", value); break;
|
||
}
|
||
return formartValue;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 导出当前页面
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Export)]
|
||
public FileResult ExportCurrentPage()
|
||
{
|
||
Pager pager = PageRequest.GetGirdPager();
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string innerGroupId = Request.QueryString["innerGroupId"];
|
||
string innerDeptId = Request.QueryString["innerDeptId"];
|
||
string eId = Request.QueryString["eId"];
|
||
string uName = Request.QueryString["uName"];
|
||
string gender = Request.QueryString["gender"];
|
||
string isDismiss = Request.QueryString["isDismiss"];
|
||
string dismissType = Request.QueryString["dismissType"];
|
||
string dismissTime1 = Request.QueryString["dismissTime1"];
|
||
string dismissTime2 = Request.QueryString["dismissTime2"];
|
||
string EntryDate1 = Request.QueryString["EntryDate1"];
|
||
string EntryDate2 = Request.QueryString["EntryDate2"];
|
||
string isfutures = Request.QueryString["futures"];
|
||
string istrader = Request.QueryString["trader"];
|
||
string istutor = Request.QueryString["tutor"];
|
||
string isManager = Request.Form["Manager"];
|
||
string positiveTime1 = Request.QueryString["PositiveTime1"];
|
||
string positiveTime2 = Request.QueryString["PositiveTime2"];
|
||
List<WX.CRM.Model.Entity.BAS_INNERUSER_Extend> list = inneruserBiz_Q.GetList(ref pager, innerGroupId, innerDeptId, eId, uName, gender, isDismiss, dismissType, dismissTime1, dismissTime2, EntryDate1, EntryDate2, isfutures, istrader, istutor, isManager, positiveTime1, positiveTime2);
|
||
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.Entity.BAS_INNERUSER_Extend>(list, "员工列表", 10000, checkedFilds, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("员工列表--当前页.xls"));
|
||
}
|
||
|
||
/// <summary>
|
||
/// 导出条件下的全部数据
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Export)]
|
||
public FileResult ExportCurrentAllPage()
|
||
{
|
||
Pager pager = new Pager() { order = "asc", rows = int.MaxValue, sort = "pkid" };
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string innerGroupId = Request.QueryString["innerGroupId"];
|
||
string innerDeptId = Request.QueryString["innerDeptId"];
|
||
string eId = Request.QueryString["eId"];
|
||
string uName = Request.QueryString["uName"];
|
||
string gender = Request.QueryString["gender"];
|
||
string isDismiss = Request.QueryString["isDismiss"];
|
||
string dismissType = Request.QueryString["dismissType"];
|
||
string dismissTime1 = Request.QueryString["dismissTime1"];
|
||
string dismissTime2 = Request.QueryString["dismissTime2"];
|
||
string EntryDate1 = Request.QueryString["EntryDate1"];
|
||
string EntryDate2 = Request.QueryString["EntryDate2"];
|
||
string isfutures = Request.QueryString["futures"];
|
||
string istrader = Request.QueryString["trader"];
|
||
string istutor = Request.QueryString["tutor"];
|
||
string isManager = Request.Form["Manager"];
|
||
string positiveTime1 = Request.QueryString["PositiveTime1"];
|
||
string positiveTime2 = Request.QueryString["PositiveTime2"];
|
||
List<WX.CRM.Model.Entity.BAS_INNERUSER_Extend> list = inneruserBiz_Q.GetList(ref pager, innerGroupId, innerDeptId, eId, uName, gender, isDismiss, dismissType, dismissTime1, dismissTime2, EntryDate1, EntryDate2, isfutures, istrader, istutor, isManager, positiveTime1, positiveTime2);
|
||
return File(ExcelHelper.ExportListModelToExcel<WX.CRM.Model.Entity.BAS_INNERUSER_Extend>(list, "员工列表", 10000, checkedFilds, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("员工列表--条件所有.xls"));
|
||
}
|
||
|
||
#endregion
|
||
|
||
public ActionResult InnsuerTree()
|
||
{
|
||
var glist = _INNERGROUP_Q.GetList();
|
||
var ulist = inneruserBiz_Q.GetList();
|
||
var uglist = inneruserGroupBiz_Q.GetList();
|
||
var org = glist.ConvertAll<treenode>(item =>
|
||
new treenode() { id = item.GID, name = item.GNAME }
|
||
);
|
||
|
||
foreach (var g in org)
|
||
{
|
||
var ug = from t1 in uglist
|
||
join t2 in ulist on t1.INNERUSERID equals t2.PKID
|
||
where t1.GID == g.id
|
||
select new { t2.EID, t2.UNAME, t1.GID };
|
||
g.children = ug.ToList()
|
||
.ConvertAll<treenode>(item3 =>
|
||
new treenode() { id = item3.EID, name = item3.UNAME }
|
||
);
|
||
}
|
||
ViewData["GLIST"] = glist;
|
||
return Json(org, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
public class treenode
|
||
{
|
||
public decimal id { get; set; }
|
||
public string name { get; set; }
|
||
public int resnum { get; set; }
|
||
public List<treenode> children { get; set; }
|
||
}
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_角色权限管理)]
|
||
public ActionResult InitInnerUser(int? eid)
|
||
{
|
||
var list = inneruserBiz_Q.GetAllList();
|
||
if (eid != null)
|
||
{
|
||
list = list.Where(o => o.EID == eid).ToList();
|
||
}
|
||
foreach (BAS_INNERUSER model in list)
|
||
{
|
||
if (model.EID != 10000)
|
||
{
|
||
string user_salt = _IBAS_INNERUSERSALT_Q.getUserSalt(model.PKID, model.EID).PWDSALT;
|
||
BAS_INNERUSERSALT userSaltModel = new BAS_INNERUSERSALT();
|
||
userSaltModel.INNERUSERID = model.PKID;
|
||
userSaltModel.EID = model.EID;
|
||
userSaltModel.PWDSALT = user_salt;
|
||
userSaltModel.CTIME = DateTime.Now;
|
||
userSaltModel.CREATEUSER = UserId;
|
||
_IBAS_INNERUSERSALT.Create(userSaltModel);
|
||
|
||
model.PASSWORD = Utility.Sha512("abc123" + user_salt);
|
||
bool scucced = inneruserBiz.Update(ref errors, model);
|
||
}
|
||
}
|
||
return View();
|
||
}
|
||
#region 修改密码
|
||
[HttpGet]
|
||
//[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other8)]
|
||
[AuthorizeToolBarMore(new string[] { InitRights.CONST_员工管理, InitRights.CONST_组织结构图 }, new int[] { InitToolBar.CONST_Other8, InitToolBar.CONST_Other2 })]
|
||
public ActionResult EditPassWord(string pkids)
|
||
{
|
||
if (pkids == "")
|
||
{
|
||
throw new Exception("请至少勾选一行");
|
||
}
|
||
var userIdList = pkids.Split(',').Select(n => Convert.ToDecimal(n)).ToList();
|
||
USER_EDITPASSWORDVIEW model = new USER_EDITPASSWORDVIEW();
|
||
var userList = inneruserBiz_Q.GetAllList().Where(n => userIdList.Contains(n.PKID)).ToList();
|
||
if (userIdList.Count == 0)
|
||
{
|
||
throw new Exception("找不到勾选的用户");
|
||
}
|
||
model.Pkid = pkids;
|
||
model.Name = string.Join(",", userList.Select(n => n.UNAME).ToList());
|
||
return View(model);
|
||
}
|
||
[HttpPost]
|
||
//[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other8)]
|
||
[AuthorizeToolBarMore(new string[] { InitRights.CONST_员工管理, InitRights.CONST_组织结构图 }, new int[] { InitToolBar.CONST_Other8, InitToolBar.CONST_Other2 })]
|
||
public JsonResult EditPassWord(USER_EDITPASSWORDVIEW model)
|
||
{
|
||
bool scucceed = false;
|
||
if (!string.IsNullOrEmpty(model.Pkid))
|
||
{
|
||
var userIdList = model.Pkid.Split(',').Select(n => Convert.ToDecimal(n)).ToList();
|
||
var userList = inneruserBiz_Q.GetAllList().Where(n => userIdList.Contains(n.PKID)).ToList();
|
||
foreach (var entry in userList)
|
||
{
|
||
var apiResult = ChangeThirdPassWord(entry.EID, model.PASSWORD);
|
||
if (apiResult.ret != 0)
|
||
{
|
||
errors.Add($"工号【{entry.EID}】修改密码失败,失败原因【{apiResult.msg}】,请到员工系统进行核对");
|
||
continue;
|
||
}
|
||
string user_salt = _IBAS_INNERUSERSALT_Q.getUserSalt(entry.PKID, entry.EID).PWDSALT;
|
||
entry.PASSWORD = Utility.Sha512(model.PASSWORD + user_salt);
|
||
entry.UPDATEUSER = UserId;
|
||
entry.UTIME = DateTime.Now;
|
||
scucceed = inneruserBiz.Update(ref errors, entry);
|
||
if (!scucceed)
|
||
{
|
||
return JsonHandler.UpdateMessage(errors, scucceed);
|
||
}
|
||
}
|
||
}
|
||
InnerUserHelper.Instance.ClearCache();
|
||
CacheHelper.Remove("cache_user_list");
|
||
return JsonHandler.UpdateMessage(errors, scucceed);
|
||
|
||
}
|
||
/// <summary>
|
||
/// 修改sso密码
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
public ApiResult<string> ChangeThirdPassWord(decimal eid,string passWord)
|
||
{
|
||
var ssoUrl = System.Configuration.ConfigurationManager.AppSettings["SSOUrl"];
|
||
var appid = System.Configuration.ConfigurationManager.AppSettings["appid"];
|
||
var appSecret = System.Configuration.ConfigurationManager.AppSettings["appSecret"];
|
||
if(string.IsNullOrEmpty(ssoUrl) || string.IsNullOrEmpty(appid) || string.IsNullOrWhiteSpace(appSecret))
|
||
{
|
||
LogHelper.Error($"请配置相关sso密钥配置【{ssoUrl}】【{appid}】【{appSecret}】");
|
||
throw new Exception("请配置相关sso密钥配置");
|
||
}
|
||
ApiDockHelper dock = new ApiDockHelper(appid, appSecret);
|
||
Dictionary<string, object> dic = new Dictionary<string, object>();
|
||
ssoUrl = ssoUrl + "/v1/api/open/sso/changePassword";
|
||
var md5PassWord = dock._md5(passWord);
|
||
dic.Add("employeeId", eid.ToString());
|
||
dic.Add("password", md5PassWord);
|
||
ApiResult<string> model = dock.PostApi<string>(ssoUrl, dic);
|
||
return model;
|
||
}
|
||
#endregion
|
||
#region 设置
|
||
[HttpGet]
|
||
//[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other8)]
|
||
[AuthorizeToolBarMore(new string[] { InitRights.CONST_员工管理, InitRights.CONST_组织结构图 }, new int[] { InitToolBar.CONST_Other7, InitToolBar.CONST_Other1 })]
|
||
public ActionResult EditSetting(string pkids)
|
||
{
|
||
ViewBag.isAdmin = Eid == 10000 ? "1" : "0";
|
||
var view = new BAS_INNERUSER_SETTINGVIEW();
|
||
var userIdList = pkids.Split(',').Select(n => Convert.ToDecimal(n)).ToList();
|
||
//获取所有角色
|
||
var roleList = _inneruserRole.GetInneruserRoleByUserIdList(userIdList);
|
||
//当所有用户的角色都相同的时候 赋值
|
||
var groupCount = roleList.GroupBy(n => n.ROLEID).Select(n => new { Roleid = n.Key, Count = n.Count() }).ToList();
|
||
if (!groupCount.Exists(n => n.Count != userIdList.Count()))
|
||
{
|
||
view.ulRoleIds = string.Join(",", groupCount.Select(n => n.Roleid).ToList());
|
||
}
|
||
view.INNERUSERIDLIST = pkids;
|
||
ViewBag.isAdd = false;
|
||
return View(view);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeToolBarMore(new string[] { InitRights.CONST_员工管理, InitRights.CONST_组织结构图 }, new int[] { InitToolBar.CONST_Other7, InitToolBar.CONST_Other1 })]
|
||
public JsonResult EditSetting(WX.CRM.Model.Entity.BAS_INNERUSER_SETTINGVIEW model)
|
||
{
|
||
var result = true;
|
||
if (!ModelState.IsValid)
|
||
return JsonHandler.ValidateFailMessage();
|
||
List<decimal> userIds = model.INNERUSERIDLIST.Split(',').Select(n => Convert.ToDecimal(n)).ToList();
|
||
//赋值权限
|
||
result = innerUserRoleBiz.Save(ref errors, 0, model.ulRoleIds, model.INNERUSERIDLIST);
|
||
InnerUserHelper.Instance.ClearCache();
|
||
|
||
CacheHelper.Remove("cache_InnerUserGroup_getList");
|
||
|
||
return JsonHandler.ManageMessage(errors, result);
|
||
|
||
}
|
||
#endregion
|
||
/// <summary>
|
||
/// 属性改变后规则回收
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
//public JsonResult RecoveryCommissionRule()
|
||
//{
|
||
// try
|
||
// {
|
||
// inneruserBiz.ExecRuleByChangeAttr();
|
||
// var lis = new { result = 1, msg = "成功!" };
|
||
// return Json(lis, JsonRequestBehavior.AllowGet);
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// var lis = new { result = 0, msg = ex.Message };
|
||
// return Json(lis, JsonRequestBehavior.AllowGet);
|
||
// }
|
||
//}
|
||
/// <summary>
|
||
/// 组织结构树
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public JsonResult GetInneruserTree(bool hasUser = true, string currentRight = null)
|
||
{
|
||
var level = LevelSSO(currentRight);
|
||
var obj = _cacheQ.GetInneruserTree(true);
|
||
//if (level == "All")
|
||
//{
|
||
// return Json(obj, JsonRequestBehavior.AllowGet); ;
|
||
//}
|
||
//else if (level == "Dept")
|
||
//{
|
||
// var list = (List<InneruserTreeDto>)obj;
|
||
// var data = CreateInneruserTree(new List<InneruserTreeDto>(), list);
|
||
//}
|
||
//else if (level == "Self")
|
||
//{
|
||
//}
|
||
/* List<object> objjson = new List<object>();
|
||
if (type == 1)
|
||
{
|
||
objjson.Add(new { id = "0", text = "全部", iconCls = "icon-group" });
|
||
}
|
||
objjson.AddRange(obj);
|
||
|
||
if (type == 3)
|
||
{
|
||
objjson.Insert(0, new { id = "0", text = "全部", iconCls = "icon-group" });
|
||
}*/
|
||
return Json(obj, JsonRequestBehavior.AllowGet); ;
|
||
}
|
||
|
||
private List<InneruserTreeDto> CreateInneruserTree(List<InneruserTreeDto> list, List<InneruserTreeDto> obj)
|
||
{
|
||
foreach(var item in obj)
|
||
{
|
||
if (item == null) continue;
|
||
if (userOnGroupId.ToList().Contains(item.value.Value))
|
||
{
|
||
if (!list.Any(x => x.value == item.value))
|
||
{
|
||
list.Add(item);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (item.children != null && item.children.Any())
|
||
{
|
||
list.AddRange(CreateInneruserTree(list, item.children));
|
||
}
|
||
}
|
||
}
|
||
return list;
|
||
}
|
||
}
|
||
}
|