TG.WXCRM.V4/WEB/Controllers/QH/BasMonInnerUserController.cs

204 lines
10 KiB
C#

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<BAS_MON_INNERUSER_EXTEND> 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<BAS_MON_INNERUSER_EXTEND> list = new List<BAS_MON_INNERUSER_EXTEND>();
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<BAS_MON_INNERUSER_EXTEND>(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
}
}