TG.WXCRM.V4/WEB/Controllers/WeiXin/BalanceSaleUserController.cs

206 lines
9.5 KiB
C#

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<SaleUserWageExport>();
//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<SaleUserWageExport>(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; }
}
}
}