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.IService;
|
using zhengcaioa.Models;
|
|
namespace zhengcaioa.Controllers.HR
|
{
|
[CheckLogin]
|
public class HrJibengongziController : Controller
|
{
|
private readonly ILogger<HrJibengongziController> _logger;
|
private readonly IHrJibengongziService _hrJibengongziService;
|
private readonly ILiaotianService _liaotianService;
|
private readonly IHrPositionService _hrPositionService;
|
private readonly IPltPageService _pltPageService;
|
|
|
public HrJibengongziController(ILogger<HrJibengongziController> logger, IHrJibengongziService hrJibengongziService, ILiaotianService liaotianService, IHrPositionService hrPositionService
|
, IPltPageService pltPageService)
|
{
|
_logger = logger;
|
_hrJibengongziService = hrJibengongziService;
|
_liaotianService = liaotianService;
|
_hrPositionService = hrPositionService;
|
_pltPageService = pltPageService;
|
}
|
|
|
public IActionResult Index()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
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 = "Add";
|
//actionEntity1.PageIco = "fa fa-plus";
|
//actionEntity1.ActionName = "新增";
|
//actionlist.Add(actionEntity1);
|
var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/HrJibengongzi/Index");
|
var pageEntities1 = pageEntities.Where(x => x.PageMethod == "01").ToList();
|
foreach (var pageEntity in pageEntities1)
|
{
|
ActionEntity actionEntity1 = new ActionEntity();
|
actionEntity1.OpenType = pageEntity.OpenType;
|
actionEntity1.ActionUrl = "";
|
actionEntity1.ActionFun = pageEntity.PageShortcut;
|
actionEntity1.PageIco = pageEntity.PageIco;
|
actionEntity1.ActionName = pageEntity.PageName;
|
actionlist.Add(actionEntity1);
|
}
|
|
ViewData["ActionInfo"] = actionlist;
|
|
ViewBag.post = _hrPositionService.GetList().Select(x => new { code = x.Id, label = x.PostName }).ToList();
|
return View();
|
}
|
|
|
public IActionResult GetList(HrJibengongziDTOSearch search)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
//JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
|
return new JsonResult(_hrJibengongziService.SearchByPaging(search));
|
}
|
|
|
#region 编辑
|
|
public ActionResult Edit(string id = null)
|
{
|
|
|
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/HrJibengongzi/Index");
|
var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
|
ViewData["ActionInfo2"] = pageEntities2;
|
HrJibengongziDTO dto = new HrJibengongziDTO();
|
if (!String.IsNullOrEmpty(id))
|
{
|
dto = _hrJibengongziService.Get(id);
|
|
}
|
dto.JibengongziName = dto.Jibengongzi.HasValue ? dto.Jibengongzi.Value.ToString("F2") : "";
|
dto.BaomifeiName = dto.Baomifei.HasValue ? dto.Baomifei.Value.ToString("F2") : "";
|
dto.ShebaodanweiName = dto.Shebaodanwei.HasValue ? dto.Shebaodanwei.Value.ToString("F2") : "";
|
dto.ShebaogerenName = dto.Shebaogeren.HasValue ? dto.Shebaogeren.Value.ToString("F2") : "";
|
dto.QuanqingjiangName = dto.Quanqingjiang.HasValue ? dto.Quanqingjiang.Value.ToString("F2") : "";
|
dto.JiaotongbutieName = dto.Jiaotongbutie.HasValue ? dto.Jiaotongbutie.Value.ToString("F2") : "";
|
dto.EffecttimeName = dto.Effecttime.HasValue ? dto.Effecttime.Value.ToString("yyyy-MM-dd") : DateTime.Now.ToString("yyyy-MM-dd");
|
|
|
|
|
ViewBag.dianhuabutie = _liaotianService.GetSYScode("hr_jibengongzi", "dianhuabutie");
|
ViewBag.post = _hrPositionService.GetList();
|
|
|
|
|
|
ViewData.Model = dto;
|
return View();
|
}
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <param name="data">岗位实体类对象</param>
|
/// <returns></returns>
|
[HttpPost]
|
|
public IActionResult Save(HrJibengongziDTO data)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
data.RecStatus = "A";
|
if (String.IsNullOrEmpty(data.Id))
|
{
|
data.Creater = curentuser.Id;
|
data.Createtime = DateTime.Now;
|
}
|
data.Modifier = curentuser.Id;
|
data.Modifytime = DateTime.Now;
|
|
ResultEntity resultEntity = _hrJibengongziService.save(data);
|
|
return new JsonResult(resultEntity);
|
}
|
#endregion
|
|
/// <summary>
|
/// 删除主信息
|
/// </summary>
|
/// <param name="info">实体</param>
|
/// <returns></returns>
|
///
|
|
public IActionResult Nullify(string Id = "")
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
return new JsonResult(_hrJibengongziService.ModifyStatus(Id, curentuser.Id));
|
}
|
|
|
public IActionResult EditShebao()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
var shebaoDTO = _hrJibengongziService.GetListShebao().FirstOrDefault();
|
|
|
if (shebaoDTO == null)
|
{
|
shebaoDTO = new HrShebaoDTO();
|
shebaoDTO.Shebaodanwei = 0;
|
shebaoDTO.Shebaogeren = 0;
|
}
|
|
|
|
|
ViewData.Model = shebaoDTO;
|
|
|
|
|
return View();
|
}
|
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <param name="data">岗位实体类对象</param>
|
/// <returns></returns>
|
///
|
[HttpPost]
|
public IActionResult SaveShebao(HrShebaoDTO data)
|
{
|
|
ResultEntity resultEntity = new ResultEntity();
|
|
|
|
using (TransactionScope scope = new TransactionScope())
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
data.RecStatus = "A";
|
|
var resultDTO = _hrJibengongziService.GetListShebao().FirstOrDefault();
|
if (resultDTO == null || string.IsNullOrEmpty(resultDTO.Id))
|
{
|
resultDTO = new HrShebaoDTO();
|
resultDTO.Shebaodanwei = data.Shebaodanwei;
|
resultDTO.Shebaogeren = data.Shebaogeren;
|
resultDTO.Creater = curentuser.Id;
|
resultDTO.Createtime = DateTime.Now;
|
}
|
else
|
{
|
resultDTO.Shebaodanwei = data.Shebaodanwei;
|
resultDTO.Shebaogeren = data.Shebaogeren;
|
}
|
resultDTO.Modifier = curentuser.Id;
|
resultDTO.Modifytime = DateTime.Now;
|
|
resultEntity = _hrJibengongziService.saveShebao(resultDTO);
|
|
scope.Complete();
|
}
|
|
|
return new JsonResult(resultEntity);
|
}
|
|
}
|
}
|