using DTO;
|
using IServices;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.Extensions.Logging;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using System.Transactions;
|
using zhengcaioa.Models;
|
|
namespace zhengcaioa.Controllers.HR
|
{
|
public class SalaryCheckController : Controller
|
{
|
private readonly IHrDeptService _hrDeptService;
|
private readonly ILogger<SalaryCheckController> _logger;
|
private readonly IHrSalaryService _hrSalaryService;
|
|
public SalaryCheckController(ILogger<SalaryCheckController> logger, IHrSalaryService hrSalaryService, IHrDeptService hrDeptService)
|
{
|
_logger = logger;
|
_hrDeptService = hrDeptService;
|
_hrSalaryService = hrSalaryService;
|
}
|
|
public IActionResult Index()
|
{
|
List<ActionEntity> actionlist = new List<ActionEntity>();
|
ActionEntity actionEntity = new ActionEntity();
|
actionEntity.OpenType = 0;
|
actionEntity.ActionUrl = "";
|
actionEntity.ActionFun = "Search";
|
actionEntity.PageIco = "fa fa-search";
|
actionEntity.ActionName = "查询";
|
actionlist.Add(actionEntity);
|
|
ActionEntity actionEntity1 = new ActionEntity();
|
actionEntity1.OpenType = 0;
|
actionEntity1.ActionUrl = "";
|
actionEntity1.ActionFun = "Edit";
|
actionEntity1.PageIco = "fa fa-plus";
|
actionEntity1.ActionName = "核准";
|
actionlist.Add(actionEntity1);
|
|
ViewBag.editBtn = false;
|
|
ViewData["ActionInfo"] = actionlist;
|
|
ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
|
|
return View();
|
}
|
|
|
/// <summary>
|
/// 列表内容
|
/// </summary>
|
/// <param name="search"></param>
|
/// <returns></returns>
|
public IActionResult GetList(HrSalaryDTOSearch search)
|
{
|
_hrSalaryService.AutoCheck();
|
|
return new JsonResult(_hrSalaryService.SearchSalaryByPaging(search));
|
}
|
|
/// <summary>
|
/// 编辑页
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public IActionResult Edit(string id)
|
{
|
HrSalaryDTO dto = new HrSalaryDTO();
|
if (!string.IsNullOrEmpty(id))
|
{
|
dto = _hrSalaryService.Get(id);
|
}
|
ViewData.Model = dto;
|
return View();
|
}
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult SaveCheck(HrSalaryDTO data)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ResultEntity resultEntity = new ResultEntity();
|
using (TransactionScope scope = new TransactionScope())
|
{
|
data.Modifier = curentuser.Id;
|
resultEntity = _hrSalaryService.SaveCheckSalary(data);
|
scope.Complete();
|
}
|
return new JsonResult(resultEntity);
|
}
|
|
#region 工资核对
|
|
public IActionResult Employee()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewBag.Employee = curentuser;
|
return View();
|
}
|
|
public JsonResult EmployeeSalary(string month)
|
{
|
ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>();
|
HrSalaryDTOSearch searchEntity = new HrSalaryDTOSearch();
|
searchEntity.page = 0;
|
searchEntity.rows = 10;
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
if (!string.IsNullOrEmpty(month))
|
{
|
var dtime = DateTime.Parse(month);
|
var md = _hrSalaryService.GetSalary(curentuser.Id, dtime.Year,dtime.Month);
|
if (searchEntity.totalrows == 0)
|
searchEntity.totalrows =1;
|
data.LoadData(searchEntity, md );
|
}
|
|
return Json(data);
|
}
|
|
[HttpPost]
|
public JsonResult SalaryCheckOk(string id)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ResultEntity resultEntity = new ResultEntity();
|
if(!string.IsNullOrEmpty(id))
|
{
|
using (TransactionScope scope = new TransactionScope())
|
{
|
resultEntity = _hrSalaryService.CheckOk(id, curentuser.Id);
|
scope.Complete();
|
}
|
}
|
|
return Json(resultEntity);
|
}
|
|
|
public IActionResult Appeal(string id)
|
{
|
HrSalaryAppeal dto = new HrSalaryAppeal();
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
if (!string.IsNullOrEmpty(id))
|
{
|
dto = _hrSalaryService.GetAppeal(id, curentuser.Id);
|
if(dto==null)
|
{
|
dto = new HrSalaryAppeal();
|
dto.salary_id = id;
|
}
|
}
|
ViewData.Model = dto;
|
return View();
|
}
|
|
/// <summary>
|
/// 保存申诉
|
/// </summary>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public IActionResult SaveAppeal(HrSalaryAppeal data)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ResultEntity resultEntity = new ResultEntity();
|
using (TransactionScope scope = new TransactionScope())
|
{
|
data.sub_user = curentuser.Id;
|
resultEntity = _hrSalaryService.CheckAppea(data);
|
scope.Complete();
|
}
|
return new JsonResult(resultEntity);
|
}
|
|
#endregion
|
|
#region 工资查询
|
|
public IActionResult SearchIndex()
|
{
|
List<ActionEntity> actionlist = new List<ActionEntity>();
|
ActionEntity actionEntity = new ActionEntity();
|
actionEntity.OpenType = 0;
|
actionEntity.ActionUrl = "";
|
actionEntity.ActionFun = "Search";
|
actionEntity.PageIco = "fa fa-search";
|
actionEntity.ActionName = "查询";
|
actionlist.Add(actionEntity);
|
ViewData["ActionInfo"] = actionlist;
|
|
ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
|
ViewBag.stime = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToString("yyyy-MM-dd");
|
ViewBag.etime = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd");
|
|
return View();
|
}
|
|
/// <summary>
|
/// 列表内容
|
/// </summary>
|
/// <param name="search"></param>
|
/// <returns></returns>
|
public IActionResult GetSearchList(HrSalaryDTOSearch search)
|
{
|
//自动确认
|
_hrSalaryService.AutoCheck();
|
|
return new JsonResult(_hrSalaryService.SearchByPagingFinish(search));
|
}
|
|
#endregion
|
}
|
}
|