using System; using System.Collections.Generic; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.QH; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.QH { public class BasMonInnerUserController : BaseController { // // GET: /BasMonInnerUser/ private IBAS_MON_INNERUSER _ibas_Mon_InnerUser; public BasMonInnerUserController(IBAS_MON_INNERUSER iBAS_MON_INNERUSER) { this._ibas_Mon_InnerUser = iBAS_MON_INNERUSER; } [AuthorizeRedirect(Roles = InitRights.CONST_员工信息列表_月结)] public ActionResult Index() { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.员工信息列表_月结, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "导出", "icon-export", "Export_Click", true); ViewBag.ToolBar = tool; Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("BALANCECODE", "", "月结年月"); tab.AddHeadCol("EID", "", "工号", true); tab.AddHeadCol("UNAME", "", "姓名", true); tab.AddHeadCol("GNAME", "", "销售组"); tab.AddHeadCol("DEPTNAME", "", "部门"); tab.AddHeadCol("FUTURESSTATUS", "", "经纪人"); tab.AddHeadCol("TRADERSTATUS", "", "操盘手"); tab.AddHeadCol("TUTORSTATUS", "", "导师"); tab.AddHeadCol("GENDER", "", "性别"); tab.AddHeadCol("BIRTHDAY", "", "生日", true); tab.AddHeadCol("ENTRYDATE", "", "入职时间", true); tab.AddHeadCol("POSITIVETIME", "", "转正时间", true); tab.AddHeadCol("ISDISMISS", "", "是否离职"); tab.AddHeadCol("DISMISSTIME", "", "离职时间", true); tab.AddHeadCol("DISMISSTYPE", "", "离职类型"); tab.AddHeadCol("ISEFFECT", "", "是否计入有效人数"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15"); ViewBag.inneruserid = UserId; ViewBag.userGroupId = userGroupId; ViewBag.saleDeptId = saleDeptId; ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); return View(); } #region 列表 public JsonResult GetHtmlList(Pager pager, string columns) { string groupId = Request.Form["groupId"]; decimal inneruserid = Request.Form["userId"].GetDecimal(0); 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 positiveTime1 = Request.Form["PositiveTime1"]; string positiveTime2 = Request.Form["PositiveTime2"]; string iseffect = Request.Form["isEffect"]; DateTime month = Convert.ToDateTime(Request.Form["opMonth"]).Date; Table table = new Table(columns, true); table.gridPager = pager; List list = _ibas_Mon_InnerUser.GetList(ref pager, groupId, inneruserid, eId, uName, iseffect, gender, isDismiss, dismissType, dismissTime1, dismissTime2, EntryDate1, EntryDate2, isfutures, istrader, istutor, positiveTime1, positiveTime2, month); foreach (BAS_MON_INNERUSER_EXTEND model in list) { if (model.bas_mon_inneruser.PKID > 0) { table.AddCol(model.bas_mon_inneruser.BALANCECODE.ToString("yyyy-MM-dd")); table.AddCol(model.bas_mon_inneruser.EID); table.AddCol(model.bas_mon_inneruser.UNAME); table.AddCol(model.GNAME); table.AddCol(model.DEPTNAME); table.AddCol(model.FUTURESSTATUS == 1 ? "是" : "否"); table.AddCol(model.TRADERSTATUS == 1 ? "是" : "否"); table.AddCol(model.TUTORSTATUS == 1 ? "是" : "否"); table.AddCol(model.bas_mon_inneruser.GENDER == "m" ? "男" : "女"); table.AddCol(model.bas_mon_inneruser.BIRTHDAY.ToString("yyyy.MM.dd")); table.AddCol(model.bas_mon_inneruser.ENTRYDATE.ToUnityString(1)); table.AddCol(model.bas_mon_inneruser.POSITIVETIME.ToUnityString(1)); table.AddCol(model.bas_mon_inneruser.ISDISMISS == 1 ? "是" : "否"); table.AddCol(model.bas_mon_inneruser.DISMISSTIME.ToUnityString(1)); table.AddCol(model.bas_mon_inneruser.DISMISSTYPE == null ? "" : (model.bas_mon_inneruser.DISMISSTYPE.Value == 1 ? "正常离职" : "其他离职")); table.AddCol(model.bas_mon_inneruser.ISEFFECT == 1 ? "是" : "否"); } else { table.AddCol("合计"); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(model.GNAME); table.AddCol(model.DEPTNAME); table.AddCol(""); table.AddCol(""); table.AddCol(model.bas_mon_inneruser.UNAME); } table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region Excel导出 public FileResult Export() { 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 positiveTime1 = Request.QueryString["PositiveTime1"]; string positiveTime2 = Request.QueryString["PositiveTime2"]; string iseffect = Request.Form["isEffect"]; string groupId = Request["groupId"]; decimal inneruserid = Request["userId"].GetDecimal(0); DateTime month = Convert.ToDateTime(Request["opMonth"]).Date; List list = new List(); Pager pg = new Pager() { order = "asc", rows = int.MaxValue, sort = "EID", page = 1 }; string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitle = PageRequest.GetQueryString("checkedTitles"); list = _ibas_Mon_InnerUser.GetList(ref pg, groupId, inneruserid, eId, uName, iseffect, gender, isDismiss, dismissType, dismissTime1, dismissTime2, EntryDate1, EntryDate2, isfutures, istrader, istutor, positiveTime1, positiveTime2, month); return File(ExcelHelper.ExportListModelToExcel(list, "员工信息_月结", 60000, checkedFilds, checkedTitle, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("员工信息_月结.xls")); } //用作委托传递 public string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { case "GENDER": formartValue = value.ToString() == "m" ? "男" : value.ToString() == "f" ? "女" : ""; break; case "DISMISSTYPE": formartValue = value == null ? "" : value.ToString() == "1" ? "正常离职" : "其他离职"; break; case "ISDISMISS": formartValue = value.ToString() == "1" ? "已离职" : "在职"; break; case "ISEFFECT": formartValue = value == null ? "" : value.ToString() == "1" ? "是" : "否"; break; case "FUTURESSTATUS": formartValue = value.ToString() == "1" ? "是" : "否"; break; case "TRADERSTATUS": formartValue = value.ToString() == "1" ? "是" : "否"; break; case "TUTORSTATUS": formartValue = value.ToString() == "1" ? "是" : "否"; break; default: formartValue = string.Format("{0}", value); break; } return formartValue; } #endregion } }