using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Wx; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.WeiXin { public class BalanceSaleUserController : BaseController { private readonly IWX_BALANCESALEUSER _balancesaleuser; public BalanceSaleUserController(IWX_BALANCESALEUSER balancesaleuser) { _balancesaleuser = balancesaleuser; } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_员工工资查询)] public ActionResult Index() { try { ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单分成导出, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other2", "导出", "icon-export", "ExportAllPage_Click", true); ViewBag.ToolBar = tool; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("eid", "", "工号"); tab.AddHeadCol("uname", "", "姓名"); tab.AddHeadCol("gname", "", "组别"); var x = 4; tab.AddHeadCol("tousu", "", "投诉", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("chufa", "", "处罚", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("chuqin", "", "出勤率", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("dixing", "", "底薪", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("PerformanceAmount", "", "业绩额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("commissionratio", "", "业绩额提成比例", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("OrderCount", "", "单量", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("ordercountratio", "", "单量提成比例", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("allratio", "", "总比例", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("AllPerformanceAmount", "", "本月提成金额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("yingshou", "", "本月应付金额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("yuliu", "", "本月预留金额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("fanhuan", "", "预留返还金额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("tuikuan", "", "退款", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); x++; tab.AddHeadCol("shishou", "", "本月实付金额", "sortTable('tablist'," + x + ",'float');", "cursor:pointer"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); } catch (Exception ex) { LogHelper.Error(ex); } return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_员工工资查询)] public JsonResult Index(int year, int month, string columns) { try { var yearmonth = new DateTime(year, month, 01); var table = new Table(columns, true); var list = _balancesaleuser.GetList(p => p.MONTH == yearmonth).ToList(); //foreach (var item in list) //{ // table.AddCol(item.EID); // table.AddCol(item.UNAME); // table.AddCol(item.GNAME); // table.AddCol(item.TOUSU); // table.AddCol(item.CHUFA); // table.AddCol(item.CHUQIN); // table.AddCol(item.DIXING); // table.AddCol(item.PERFORMANCEAMOUNT); // table.AddCol(item.COMMISSIONRATIO + "%"); // table.AddCol(item.ORDERCOUNT); // table.AddCol(item.ORDERCOUNTRATIO + "%"); // table.AddCol(item.ALLRATIO + "%"); // table.AddCol(item.ALLPERFORMANCEAMOUNT); // table.AddCol(item.YINGSHOU); // table.AddCol(item.YULIU); // table.AddCol(item.FANHUAN); // table.AddCol(item.TUIKUAN); // table.AddCol(item.SHISHOU); // table.AddRow(); //} //table.AddCol("合计:"); //table.AddCol(""); //table.AddCol(""); //table.AddCol(""); //table.AddCol(""); //table.AddCol(""); //table.AddCol(list.Sum(p => p.DIXING)); //table.AddCol(list.Sum(p => p.PERFORMANCEAMOUNT)); //table.AddCol(""); //table.AddCol(list.Sum(p => p.ORDERCOUNT)); //table.AddCol(""); //table.AddCol(""); //table.AddCol(list.Sum(p => p.ALLPERFORMANCEAMOUNT)); //table.AddCol(list.Sum(p => p.YINGSHOU)); //table.AddCol(list.Sum(p => p.YULIU)); //table.AddCol(list.Sum(p => p.FANHUAN)); //table.AddCol(list.Sum(p => p.TUIKUAN)); //table.AddCol(list.Sum(p => p.SHISHOU)); //table.AddFootRow(); var json = new { rowsList = table.GetRows(), foot = table.GetFoot() }; return Json(json, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("MonthSettlementController/Index:" + ex.Message + ex.StackTrace); return JsonHandler.ManageMessage(ex.Message, false); } } [AuthorizeRedirect(Roles = InitRights.CONST_员工工资查询)] public FileResult Export(string year, string month) { var yearmonth = new DateTime(int.Parse(year), int.Parse(month), 01); string checkedFilds = Server.UrlDecode(Request.Cookies["checkedFilds"].Value).Replace("groupid", "组别").Replace("isbalance", "是否结算"); string checkedTitle = Server.UrlDecode(Request.Cookies["checkedTitles"].Value); Request.Cookies.Remove("checkedFilds");//用完后删除cookies Request.Cookies.Remove("checkedTitles");//用完后删除cookies var list = _balancesaleuser.GetList(p => p.MONTH == yearmonth).ToList(); var export = new List(); //foreach (var item in list) //{ // var info = new SaleUserWageExport // { // eid = item.EID, // uname = item.UNAME, // gname = item.GNAME, // tousu = item.TOUSU, // chufa = item.CHUFA, // chuqin = item.CHUQIN, // dixing = item.DIXING, // PerformanceAmount = item.PERFORMANCEAMOUNT, // commissionratio = item.COMMISSIONRATIO.ToString() + "%", // OrderCount = item.ORDERCOUNT, // ordercountratio = item.ORDERCOUNTRATIO.ToString() + "%", // allratio = item.ALLRATIO.ToString() + "%", // AllPerformanceAmount = item.ALLPERFORMANCEAMOUNT, // yingshou = item.YINGSHOU, // yuliu = item.YULIU, // fanhuan = item.FANHUAN, // tuikuan = item.TUIKUAN, // shishou = item.SHISHOU // }; // export.Add(info); //} return File(ExcelHelper.ExportListModelToExcel(export, "员工工资实时报表", 60000, checkedFilds, checkedTitle, null), "application/ms-excel", PageRequest.GetDlownLoadName("员工工资实时报表.xls")); } private class SaleUserWageExport { public decimal eid { get; set; } public string uname { get; set; } public string gname { get; set; } public decimal? tousu { get; set; } public decimal? chufa { get; set; } public decimal? chuqin { get; set; } public decimal dixing { get; set; } public decimal PerformanceAmount { get; set; } public string commissionratio { get; set; } public decimal OrderCount { get; set; } public string ordercountratio { get; set; } public string allratio { get; set; } public decimal AllPerformanceAmount { get; set; } public decimal yingshou { get; set; } public decimal yuliu { get; set; } public decimal fanhuan { get; set; } public decimal tuikuan { get; set; } public decimal shishou { get; set; } } } }