using Microsoft.AspNetCore.Mvc;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using DTO;
|
using Microsoft.Extensions.Logging;
|
using IServices;
|
using Newtonsoft.Json;
|
using zhengcaioa.Models;
|
using Microsoft.AspNetCore.Http;
|
using Newtonsoft.Json.Linq;
|
|
namespace zhengcaioa.Controllers.AdmManagement
|
{
|
public class SigninController : Controller
|
{
|
private readonly ILogger<SigninController> _logger;
|
private readonly IAdmSigninService _signinService;
|
private readonly ISysAttachmentService _sysAttachmentService;
|
[CheckLogin]
|
public SigninController(ILogger<SigninController> logger, IAdmSigninService signinService, ISysAttachmentService sysAttachmentService)
|
{
|
_logger = logger;
|
_signinService = signinService;
|
_sysAttachmentService = sysAttachmentService;
|
}
|
|
#region 考勤签到打卡
|
/// <summary>
|
/// 上下班签到
|
/// </summary>
|
/// <returns></returns>
|
[CheckLogin]
|
public IActionResult Index()
|
{
|
return View();
|
}
|
|
/// <summary>
|
/// 我的考勤记录
|
/// </summary>
|
/// <returns></returns>
|
[CheckLogin]
|
public IActionResult Signin()
|
{
|
JArray jar = new JArray();
|
for (var i = 1; i <= 12; i++)
|
{
|
var jo = string.Format("\"code\":{0}, \"label\":\"{1}月\" ", i, i);
|
jar.Add(JObject.Parse("{" + jo + "}"));
|
|
}
|
ViewBag.month = jar;
|
JArray Year = new JArray();
|
for (var i = -1; i < 2; i++)
|
{
|
var jo = string.Format("\"code\":{0}, \"label\":\"{0}年\" ", DateTime.Now.Year + i);
|
Year.Add(JObject.Parse("{" + jo + "}"));
|
}
|
ViewBag.year = Year;
|
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;
|
|
return View();
|
}
|
|
/// <summary>
|
/// 保存签到信息
|
/// </summary>
|
/// <param name="id">记录ID</param>
|
/// <param name="signinType">10早上上班 11早上下班 20下午上班 21下午下班 30加班上班 31加班下班</param>
|
/// <returns></returns>
|
[CheckLogin]
|
public string Save(string id,int signinType)
|
{
|
ResultEntity resultEntity = _signinService.save(id, signinType);
|
return JsonConvert.SerializeObject(resultEntity);
|
}
|
|
|
/// <summary>
|
/// 取得今天签到信息
|
/// </summary>
|
/// <returns></returns>
|
[CheckLogin]
|
public string GetTodaySignin()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
return JsonConvert.SerializeObject(_signinService.GetTodaySignin(curentuser.Id)); //.ReturnID;
|
}
|
|
|
|
/// <summary>
|
/// 取得考勤记录
|
/// </summary>
|
/// <returns></returns>
|
|
[CheckLogin]
|
public string GetSigninList(AdmSignInDTOSearch search)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
search.userId = curentuser.Id;
|
return JsonConvert.SerializeObject(_signinService.SearchByPaging(search));
|
}
|
#endregion
|
#region 请假与销假
|
public IActionResult AskLeave(string signinId)
|
{
|
ViewBag.SigninId = signinId;
|
AdmAskLeaveDTO admAskLeaveDTO = _signinService.GetAskLeave(signinId);
|
if (admAskLeaveDTO.StratTime.Equals(DateTime.MinValue))
|
{
|
admAskLeaveDTO.StratTime = DateTime.Now;
|
}
|
if (admAskLeaveDTO.EndTime.Equals(DateTime.MinValue))
|
{
|
admAskLeaveDTO.EndTime = DateTime.Now;
|
}
|
ViewData.Model = admAskLeaveDTO;
|
return View();
|
}
|
|
|
[CheckLogin]
|
[HttpPost]
|
public string SaveAskLeave(AdmAskLeaveDTO admAsk)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
admAsk.RecStatus = "A";
|
if (String.IsNullOrEmpty(admAsk.Id))
|
{
|
admAsk.Creater = curentuser.Id;
|
admAsk.Createtime = DateTime.Now;
|
}
|
else
|
{
|
admAsk.Modifier = curentuser.Id;
|
admAsk.Modifytime = DateTime.Now;
|
}
|
|
ResultEntity resultEntity = _signinService.SaveAskLeave(admAsk);
|
|
return JsonConvert.SerializeObject(resultEntity);
|
|
}
|
public IActionResult AskLeaveOff(string signinId)
|
{
|
ViewBag.SigninId = signinId;
|
AdmAskLeaveOffDTO admAskLeaveOffDTO = _signinService.GetAskLeaveOff(signinId);
|
if (admAskLeaveOffDTO.StratTime.Equals(DateTime.MinValue))
|
{
|
admAskLeaveOffDTO.StratTime = DateTime.Now;
|
}
|
if (admAskLeaveOffDTO.EndTime.Equals(DateTime.MinValue))
|
{
|
admAskLeaveOffDTO.EndTime = DateTime.Now;
|
}
|
ResultDataEntity<SysAttachmentDTO> results = new ResultDataEntity<SysAttachmentDTO>();
|
if (!string.IsNullOrEmpty(signinId))
|
{
|
SysAttachmentDTOSearch searchEntity = new SysAttachmentDTOSearch();
|
searchEntity.page = 1;
|
searchEntity.rows = 1000;
|
searchEntity.AttObj = "AskLeaveOff";
|
searchEntity.AttObjid = signinId;
|
results = _sysAttachmentService.SearchByPaging(searchEntity);
|
}
|
ViewBag.attachment = results;
|
|
|
|
ViewData.Model = admAskLeaveOffDTO;
|
return View();
|
}
|
|
public string SaveAskLeaveOff(AdmAskLeaveOffDTO leaveOff)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
leaveOff.RecStatus = "A";
|
if (String.IsNullOrEmpty(leaveOff.Id))
|
{
|
leaveOff.Creater = curentuser.Id;
|
leaveOff.Createtime = DateTime.Now;
|
}
|
leaveOff.Modifier = curentuser.Id;
|
leaveOff.Modifytime = DateTime.Now;
|
|
ResultEntity resultEntity = _signinService.SaveAskLeaveOff(leaveOff);
|
string[] Filepaths = leaveOff.Filepath;
|
|
if(Filepaths!=null&& Filepaths.Length > 0)
|
{
|
for(int i=0;i< Filepaths.Length; i++)
|
{
|
if (string.IsNullOrEmpty(leaveOff.attachmentid[i]))
|
{
|
SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO();
|
//sysAttachmentDTO.Id =
|
sysAttachmentDTO.AttObj = "AskLeaveOff";
|
sysAttachmentDTO.AttObjid = leaveOff.SigninId;
|
sysAttachmentDTO.Filefullname = leaveOff.Filefullname[i];
|
sysAttachmentDTO.Filepath = leaveOff.Filepath[i];
|
sysAttachmentDTO.Creater = curentuser.Id;
|
sysAttachmentDTO.Modifier = curentuser.Id;
|
sysAttachmentDTO.Createtime = DateTime.Now;
|
sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime;
|
|
resultEntity = _sysAttachmentService.save(sysAttachmentDTO);
|
}
|
|
}
|
|
|
}
|
|
|
|
|
|
return JsonConvert.SerializeObject(resultEntity);
|
}
|
#endregion
|
|
|
#region 考勤规则
|
public IActionResult AttendanceRule()
|
{
|
return View();
|
}
|
|
public string SaveAttendanceRule(object leaveOff)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
//leaveOff.RecStatus = "A";
|
//if (String.IsNullOrEmpty(leaveOff.Id))
|
//{
|
// leaveOff.Creater = curentuser.Id;
|
// leaveOff.Createtime = DateTime.Now;
|
//}
|
//leaveOff.Modifier = curentuser.Id;
|
//leaveOff.Modifytime = DateTime.Now;
|
|
//ResultEntity resultEntity = _signinService.SaveAskLeaveOff(leaveOff);
|
var ss = leaveOff;
|
return JsonConvert.SerializeObject(null);
|
}
|
#endregion
|
}
|
}
|