using System; using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.PersonnelManagement; using System.Web.Mvc; using System.Collections.Generic; using System.Drawing; using System.Linq; namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2020-03-27 17:52 /// 描 述:工资记录表 /// public class Sal_UserSalaryController : MvcControllerBase { private Sal_UserSalaryIBLL sal_UserSalaryIBLL = new Sal_UserSalaryBLL(); private Sal_UserSalaryItemIBLL sal_UserSalaryItemIBLL = new Sal_UserSalaryItemBLL(); private Sal_SalaryTemplateItemIBLL sal_SalaryTemplateItemIBLL = new Sal_SalaryTemplateItemBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 我的工资 /// /// [HttpGet] public ActionResult IndexOfMy() { return View(); } /// /// 工资导入 /// /// [HttpGet] public ActionResult ImportForm() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { var itemList = sal_UserSalaryIBLL.GetAllTemplateInfo(); ViewBag.ItemList = itemList.ToList(); return View(); } /// /// 详情页 /// /// [HttpGet] public ActionResult FormView() { var itemList = sal_UserSalaryIBLL.GetAllTemplateInfo(); ViewBag.ItemList = itemList.ToList(); return View(); } #endregion #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = sal_UserSalaryIBLL.GetPageList(paginationobj, queryJson); var objectList = new List(); foreach (var userSalary in data) { dynamic dataItem = new System.Dynamic.ExpandoObject(); var dataItemDic = dataItem as IDictionary; dataItemDic["F_UserId"] = userSalary.F_UserId; dataItemDic["USId"] = userSalary.USId; dataItemDic["STAll"] = userSalary.STAll; dataItemDic["STActual"] = userSalary.STActual; dataItemDic["USDate"] = userSalary.USDate; var ListItem = sal_SalaryTemplateItemIBLL.GetListByUSId(userSalary.USId); foreach (var itemEntity in ListItem) { var name = itemEntity.STIId; var val = itemEntity.STIValue; dataItemDic[name] = val; } objectList.Add(dataItem); } var jsonData = new { rows = objectList, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var Sal_UserSalaryData = sal_UserSalaryIBLL.GetSal_UserSalaryEntity(keyValue); dynamic dataItem = new System.Dynamic.ExpandoObject(); var dataItemDic = dataItem as IDictionary; dataItemDic["F_UserId"] = Sal_UserSalaryData.F_UserId; dataItemDic["USId"] = Sal_UserSalaryData.USId; dataItemDic["STAll"] = Sal_UserSalaryData.STAll; dataItemDic["STActual"] = Sal_UserSalaryData.STActual; dataItemDic["USDate"] = Sal_UserSalaryData.USDate; var ListItem = sal_SalaryTemplateItemIBLL.GetListByUSId(Sal_UserSalaryData.USId); foreach (var itemEntity in ListItem) { var name = itemEntity.STIId; var val = itemEntity.STIValue; dataItemDic[name] = val; } var jsonData = new { Sal_UserSalary = dataItem, }; return Success(jsonData); } /// /// 获取已经启用的工资模板信息 /// /// [HttpGet] [AjaxOnly] public ActionResult GetEnableTemplateInfo() { var TemplateItems = sal_UserSalaryIBLL.GetEnableTemplateInfo(); var jsonData = new { ItemList = TemplateItems, }; return Success(jsonData); } /// /// 获取全部工资模板信息 /// /// [HttpGet] [AjaxOnly] public ActionResult GetAllTemplateInfo() { var TemplateItems = sal_UserSalaryIBLL.GetAllTemplateInfo(); var jsonData = new { ItemList = TemplateItems, }; return Success(jsonData); } #endregion #region 提交数据 /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { sal_UserSalaryIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity, string strDetail) { Sal_UserSalaryEntity entity = strEntity.ToObject(); List itemList = strDetail.ToList(); if (string.IsNullOrEmpty(keyValue)) { entity.Create(); } entity.STActual = 0; entity.STAll = 0; foreach (var item in itemList) { var Sal_SalaryTemplateItemEntity = sal_SalaryTemplateItemIBLL.GetSal_SalaryTemplateItemEntity(item.STIId); if (Sal_SalaryTemplateItemEntity != null) { if (Sal_SalaryTemplateItemEntity.STIParticipation == "true") { if (Sal_SalaryTemplateItemEntity.STIAdd == "true") { entity.STActual += Convert.ToDecimal(item.STIValue); } else { entity.STActual -= Convert.ToDecimal(item.STIValue); } } if (Sal_SalaryTemplateItemEntity.STIAdd == "true") { entity.STAll += Convert.ToDecimal(item.STIValue); } else { entity.STAll -= Convert.ToDecimal(item.STIValue); } if (string.IsNullOrEmpty(keyValue)) { item.USId = entity.USId; sal_UserSalaryItemIBLL.SaveEntity("", item); } else { sal_UserSalaryItemIBLL.SaveEntity(keyValue, item); } } } sal_UserSalaryIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } #endregion #region 获取模板 /// /// 下载工资导入模板 /// [HttpPost] [ValidateAntiForgeryToken] public void DownTemplate() { //设置导出格式 ExcelConfig excelConfig=new ExcelConfig(); excelConfig.FileName = "工资导入模板.xls"; excelConfig.IsAllSizeColumn = true; excelConfig.ColumnEntity=new List(); //获取工资列 var itemList = sal_UserSalaryIBLL.GetAllTemplateInfo(); //表头 DataTable dt=new DataTable(); excelConfig.ColumnEntity.Add(new ColumnModel() { Column = "姓名", ExcelColumn = "姓名", Alignment = "center", Background = new Color() }); dt.Columns.Add("姓名", typeof(string)); excelConfig.ColumnEntity.Add(new ColumnModel() { Column = "发放时间", ExcelColumn = "发放时间", Alignment = "center", Background = new Color() }); dt.Columns.Add("发放时间", typeof(string)); foreach (var item in itemList) { excelConfig.ColumnEntity.Add(new ColumnModel() { Column = item.STIName, ExcelColumn = item.STIName, Alignment = "center", Background = new Color() }); dt.Columns.Add(item.STIName, typeof(string)); } ExcelHelper.ExcelDownload(dt, excelConfig); } #endregion } }