using Ninject; using System; using System.Collections.Generic; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Base { public class InnerUserExtLogController : BaseController { // // GET: /InnerUserExtLog/ // GET: /RoomApplay/ [Inject] public IBAS_INNERUSER_EXT_LOG_Q LogQ { get; set; } [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other3)] public ActionResult Index() { Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("INNERUSERID", "", "员工"); tab.AddHeadCol("gName", "", "组别"); tab.AddHeadCol("EXTENDTYPE", "", "扩展类型"); tab.AddHeadCol("NEWSTATUS", "", "新状态"); tab.AddHeadCol("OLDSTATUS", "", "旧状态"); tab.AddHeadCol("OPTIONUSER", "", "操作人"); tab.AddHeadCol("UTIME", "", "时间"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15"); return View(); } [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other3)] public JsonResult GetHtmlList(Pager pager, string columns) { string innerGroupId = Request.Form["innerGroupId"]; decimal inneruserid = InnerUserHelper.Instance.GetUserIdByEid(Request.Form["eId"].GetDecimal()); decimal? extendType = Request.Form["extendType"].GetDecimal(); Table table = new Table(columns, true); table.gridPager = pager; List list = LogQ.GetUserExtLog(ref pager, innerGroupId, inneruserid, extendType); foreach (WX.CRM.Model.Entity.BAS_INNERUSER_EXT_LOG model in list) { table.AddCol(InnerUserHelper.Instance.EidAndName(model.INNERUSERID)); table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.INNERUSERID))); table.AddCol(GetExtendType(model.EXTENDTYPE)); table.AddCol(GetUserType(model.NEWSTATUS)); table.AddCol(GetUserType(model.OLDSTATUS)); table.AddCol(InnerUserHelper.Instance.EidAndName(model.OPTIONUSER)); table.AddCol(model.UTIME); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Other3)] public FileResult ExportAll() { string innerGroupId = Request.QueryString["innerGroupId"]; decimal inneruserid = InnerUserHelper.Instance.GetUserIdByEid(Request.QueryString["eId"].GetDecimal()); decimal? extendType = Request.QueryString["extendType"].GetDecimal(); Pager pager = new Pager() { order = "asc", rows = int.MaxValue, sort = "pkid" }; string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); List list = LogQ.GetUserExtLog(ref pager, innerGroupId, inneruserid, extendType); return File(ExcelHelper.ExportListModelToExcel(list, "查看扩张属性变动日志", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("查看扩张属性变动日志.xls")); } private string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { case "gName": formartValue = InnerUserHelper.Instance.GetGroupName( InnerUserHelper.Instance.GetGroupId(Convert.ToDecimal(value ?? "0"))); break; case "NEWSTATUS": case "OLDSTATUS": formartValue = GetUserType((decimal?)value); break; case "EXTENDTYPE": formartValue = GetExtendType(Convert.ToDecimal(value)); break; case "INNERUSERID": case "OPTIONUSER": formartValue = InnerUserHelper.Instance.EidAndName(Convert.ToDecimal(value ?? "0")); break; default: formartValue = string.Format("{0}", value); break; } return formartValue; } private string GetUserType(decimal? type) { if (!type.HasValue) return "空"; int _type = Convert.ToInt32(type); string value = string.Empty; switch (_type) { case 0: value = "否"; break; case 1: value = "是"; break; case 2: value = "客服经理"; break; case 3: value = "普通客服"; break; case 4: value = "高级客服"; break; case 5: value = "未分配"; break; default: value = "未知"; break; } return value; } private string GetExtendType(decimal type) { int _type = Convert.ToInt32(type); string value = string.Empty; switch (_type) { case 1: value = "客服经理"; break; case 2: value = "普通客服"; break; case 3: value = "高级客服"; break; case 4: value = "员工离职"; break; case 5: value = "客服状态"; break; default: value = "未知"; break; } return value; } } }