| | |
| | | private readonly ISysAttachmentService _sysAttachmentService; |
| | | private readonly IAdmAttendanceRuleService _attendanceRuleService; |
| | | private readonly ILiaotianService _liaotianService; |
| | | private readonly IWfRunProcessService _wfRunProcessService; |
| | | private readonly IWfHistoryService _wfHistoryService; |
| | | private readonly IWfNeeddeelService _wfNeeddeelService; |
| | | private readonly IPltPageService _pltPageService; |
| | | [CheckLogin] |
| | | public SigninController(ILogger<SigninController> logger, IAdmSigninService signinService, ISysAttachmentService sysAttachmentService |
| | | , IAdmAttendanceRuleService attendanceRuleService, ILiaotianService liaotianService) |
| | | , IAdmAttendanceRuleService attendanceRuleService, ILiaotianService liaotianService, IWfRunProcessService wfRunProcessService |
| | | , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService |
| | | , IPltPageService pltPageService) |
| | | { |
| | | _logger = logger; |
| | | _signinService = signinService; |
| | | _sysAttachmentService = sysAttachmentService; |
| | | _attendanceRuleService = attendanceRuleService; |
| | | _liaotianService = liaotianService; |
| | | _wfRunProcessService = wfRunProcessService; |
| | | _wfHistoryService = wfHistoryService; |
| | | _wfNeeddeelService = wfNeeddeelService; |
| | | _pltPageService = pltPageService; |
| | | } |
| | | |
| | | #region 考勤签到打卡 |
| | |
| | | search.userId = curentuser.Id; |
| | | return JsonConvert.SerializeObject(_signinService.SearchByPaging(search)); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 我的考勤记录 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [CheckLogin] |
| | | public IActionResult SigninAll(string id) |
| | | { |
| | | 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; |
| | | ViewBag.userid = id; |
| | | 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> |
| | | /// <returns></returns> |
| | | |
| | | [CheckLogin] |
| | | public string GetSigninListAll(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 id="", DateTime? StratTimeName = null, DateTime? EndTimeName = null) |
| | | public IActionResult AskLeave(string id="", string StratTimeName = "", string EndTimeName = "") |
| | | { |
| | | |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | |
| | | else |
| | | { |
| | | admAskLeaveDTO.CreaterName = curentuser.UserName; |
| | | admAskLeaveDTO.Tittle = "请假申请(" + curentuser.UserName +")"; |
| | | admAskLeaveDTO.Tittle = "请假申请(" + curentuser.UserName + ")"; |
| | | |
| | | |
| | | |
| | | |
| | | if (!string.IsNullOrWhiteSpace(StratTimeName)) |
| | | { |
| | | DateTime StratTimeName1; |
| | | if (DateTime.TryParse(StratTimeName, out StratTimeName1)) |
| | | { |
| | | admAskLeaveDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | admAskLeaveDTO.StratTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | if (!string.IsNullOrWhiteSpace(EndTimeName)) |
| | | { |
| | | DateTime EndTimeName1; |
| | | if (DateTime.TryParse(EndTimeName, out EndTimeName1)) |
| | | { |
| | | admAskLeaveDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | admAskLeaveDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | AdmAskLeaveDTO admAsk = jisianChecktime(DateTime.Parse(admAskLeaveDTO.StratTimeName), DateTime.Parse(admAskLeaveDTO.EndTimeName)); |
| | | |
| | | admAskLeaveDTO.LaveDay = admAsk.LaveDay; |
| | | admAskLeaveDTO.LavehHour = admAsk.LavehHour; |
| | | } |
| | | |
| | | |
| | | |
| | | if (StratTimeName.HasValue) |
| | | { |
| | | admAskLeaveDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | } |
| | | |
| | | if (EndTimeName.HasValue) |
| | | { |
| | | admAskLeaveDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | } |
| | | |
| | | AdmAskLeaveDTO admAsk = jisianChecktime(DateTime.Parse(admAskLeaveDTO.StratTimeName), DateTime.Parse(admAskLeaveDTO.EndTimeName)); |
| | | |
| | | admAskLeaveDTO.LaveDay = admAsk.LaveDay; |
| | | admAskLeaveDTO.LavehHour = admAsk.LavehHour; |
| | | |
| | | |
| | | ViewData.Model = admAskLeaveDTO; |
| | | |
| | |
| | | |
| | | ViewData["Lavetype"] = _liaotianService.GetSYScode("ADM_AskLeave", "Lavetype"); |
| | | |
| | | string shifoubiaoji = "A"; |
| | | string sifoudangqian = "A"; |
| | | string dangqianbuzhou = "提交"; |
| | | var lishiyijian = new List<WfHistoryDTO>(); |
| | | //流程相关 |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | | var wfRunProcessDTO = _wfRunProcessService.GetList(id,"01").FirstOrDefault(); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | shifoubiaoji = "D"; |
| | | sifoudangqian = "D"; |
| | | } |
| | | else |
| | | { |
| | | dangqianbuzhou = wfRunProcessDTO.Step; |
| | | //查询审批进度 |
| | | lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); |
| | | if(wfRunProcessDTO.Step != "提交") |
| | | { |
| | | shifoubiaoji = "D"; |
| | | } |
| | | |
| | | //查询待办 |
| | | var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x=>x.DeelUserId == curentuser.Id).ToList(); |
| | | if(chaxundaiban!=null && chaxundaiban.Count > 0) |
| | | { |
| | | sifoudangqian = "A"; |
| | | } |
| | | else |
| | | { |
| | | sifoudangqian = "D"; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | ViewBag.shifoubiaoji = shifoubiaoji; |
| | | ViewBag.sifoudangqian = sifoudangqian; |
| | | ViewBag.lishiyijian = lishiyijian; |
| | | ViewBag.dangqianbuzhou = dangqianbuzhou; |
| | | return View(); |
| | | } |
| | | |
| | |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | admAsk.RecStatus = "A"; |
| | | //未挂审批流,提交直接通过 |
| | | admAsk.ShenpiStatus = "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 = new ResultEntity(); |
| | | resultEntity.Result = false; |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | |
| | | if(admAsk.Step == "提交") |
| | | { |
| | | resultEntity = _signinService.SaveAskLeave(admAsk); |
| | | if (resultEntity.Result == false) |
| | | //请假时间不能重叠 |
| | | //var qingjia = _signinService.GetAskLeaveChongdie(curentuser.Id, admAsk.StratTime.Value, admAsk.EndTime.Value); |
| | | // if (qingjia.Count > 0) |
| | | // { |
| | | // resultEntity.Result = false; |
| | | // resultEntity.Message = "该时间段已经有请假!"; |
| | | // return JsonConvert.SerializeObject(resultEntity); |
| | | // } |
| | | |
| | | ////请假超过三天,必须提前三天以上请假! |
| | | // if (admAsk.LaveDay.Value >= 3 && admAsk.StratTime.Value.Date < DateTime.Now.Date.AddDays(3)) |
| | | // { |
| | | // resultEntity.Result = false; |
| | | // resultEntity.Message = "请假超过三天,必须提前三天以上请假!"; |
| | | // return JsonConvert.SerializeObject(resultEntity); |
| | | // } |
| | | |
| | | //请假超过七天,必须提前七天以上请假! |
| | | if (admAsk.LaveDay.Value >= 7 && admAsk.StratTime.Value.Date < DateTime.Now.Date.AddDays(7)) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "请假超过七天,必须提前七天以上请假!"; |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | } |
| | | |
| | | |
| | | string[] Filepaths = admAsk.Filepath; |
| | | |
| | | if (Filepaths != null && Filepaths.Length > 0) |
| | | if (String.IsNullOrEmpty(admAsk.Id)) |
| | | { |
| | | for (int i = 0; i < Filepaths.Length; i++) |
| | | admAsk.Creater = curentuser.Id; |
| | | admAsk.Createtime = DateTime.Now; |
| | | } |
| | | else |
| | | { |
| | | admAsk.Modifier = curentuser.Id; |
| | | admAsk.Modifytime = DateTime.Now; |
| | | } |
| | | |
| | | |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | if (admAsk.Step == "提交") |
| | | { |
| | | resultEntity = _signinService.SaveAskLeave(admAsk); |
| | | if (resultEntity.Result == false) |
| | | { |
| | | if (string.IsNullOrEmpty(admAsk.attachmentid[i])) |
| | | { |
| | | SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO(); |
| | | //sysAttachmentDTO.Id = |
| | | sysAttachmentDTO.AttObj = "AskLeave"; |
| | | sysAttachmentDTO.AttObjid = admAsk.Id; |
| | | sysAttachmentDTO.Filefullname = admAsk.Filefullname[i]; |
| | | sysAttachmentDTO.Filepath = admAsk.Filepath[i]; |
| | | sysAttachmentDTO.Creater = curentuser.Id; |
| | | sysAttachmentDTO.Modifier = curentuser.Id; |
| | | sysAttachmentDTO.Createtime = DateTime.Now; |
| | | sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime; |
| | | |
| | | resultEntity = _sysAttachmentService.save(sysAttachmentDTO); |
| | | if (resultEntity.Result == false) |
| | | { |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | } |
| | | |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | |
| | | string[] Filepaths = admAsk.Filepath; |
| | | |
| | | if (Filepaths != null && Filepaths.Length > 0) |
| | | { |
| | | for (int i = 0; i < Filepaths.Length; i++) |
| | | { |
| | | if (string.IsNullOrEmpty(admAsk.attachmentid[i])) |
| | | { |
| | | SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO(); |
| | | //sysAttachmentDTO.Id = |
| | | sysAttachmentDTO.AttObj = "AskLeave"; |
| | | sysAttachmentDTO.AttObjid = admAsk.Id; |
| | | sysAttachmentDTO.Filefullname = admAsk.Filefullname[i]; |
| | | sysAttachmentDTO.Filepath = admAsk.Filepath[i]; |
| | | sysAttachmentDTO.Creater = curentuser.Id; |
| | | sysAttachmentDTO.Modifier = curentuser.Id; |
| | | sysAttachmentDTO.Createtime = DateTime.Now; |
| | | sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime; |
| | | |
| | | resultEntity = _sysAttachmentService.save(sysAttachmentDTO); |
| | | if (resultEntity.Result == false) |
| | | { |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | //发起流程相关 |
| | | |
| | | resultEntity = _wfRunProcessService.WfAskLeave(admAsk.Id, admAsk.Step, admAsk.Tongguojujue, curentuser.Id, admAsk.Content, admAsk.Tittle, "v1"); |
| | | |
| | | scope.Complete(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | |
| | |
| | | var jiejiari = admAttendanceRulesDtlDTOs.Where(x=>x.Name== "jiejiari").ToList(); |
| | | |
| | | var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList(); |
| | | |
| | | var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList(); |
| | | |
| | | //每天的考勤时间点 |
| | | string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.'); |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date) |
| | | || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | if (StratTime <= StratTimeWorkingStart) |
| | | { |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date) |
| | | || jiabanri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)) |
| | | { |
| | | if (EndTime >= EndTimeOffworkEnd) |
| | | { |
| | |
| | | { |
| | | |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date) |
| | | || jiabanri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date)) |
| | | { |
| | | LavehTime += shangbanshijian; |
| | | } |
| | |
| | | else |
| | | { |
| | | //是否调休日 调休日需要上班 |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date) |
| | | || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)) |
| | | { |
| | | LavehTime -= shangbanshijian; |
| | | } |
| | |
| | | return admAsk; |
| | | } |
| | | |
| | | public IActionResult AskLeaveOff(string id = "", DateTime? StratTimeName = null, DateTime? EndTimeName = null) |
| | | public IActionResult AskLeaveOff(string id = "", string StratTimeName = "", string EndTimeName = "") |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | |
| | | { |
| | | askLeaveOffDTO.CreaterName = curentuser.UserName; |
| | | askLeaveOffDTO.Tittle = "销假申请(" + curentuser.UserName +")"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if (StratTimeName.HasValue) |
| | | if (!string.IsNullOrWhiteSpace(StratTimeName)) |
| | | { |
| | | askLeaveOffDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | } |
| | | DateTime StratTimeName1; |
| | | if (DateTime.TryParse(StratTimeName, out StratTimeName1)) |
| | | { |
| | | askLeaveOffDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | if (EndTimeName.HasValue) |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | askLeaveOffDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | askLeaveOffDTO.StratTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | |
| | | if (!string.IsNullOrWhiteSpace(EndTimeName)) |
| | | { |
| | | DateTime EndTimeName1; |
| | | if (DateTime.TryParse(EndTimeName, out EndTimeName1)) |
| | | { |
| | | askLeaveOffDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | askLeaveOffDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); |
| | | |
| | | } |
| | | } |
| | | ResultDataEntity<SysAttachmentDTO> results = new ResultDataEntity<SysAttachmentDTO>(); |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | |
| | | ViewData["Lavetype"] = _liaotianService.GetSYScode("ADM_AskLeaveOff", "Lavetype"); |
| | | |
| | | ViewData.Model = askLeaveOffDTO; |
| | | |
| | | string shifoubiaoji = "A"; |
| | | string sifoudangqian = "A"; |
| | | string dangqianbuzhou = "提交"; |
| | | var lishiyijian = new List<WfHistoryDTO>(); |
| | | //流程相关 |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | | var wfRunProcessDTO = _wfRunProcessService.GetList(id, "02").FirstOrDefault(); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | shifoubiaoji = "D"; |
| | | sifoudangqian = "D"; |
| | | } |
| | | else |
| | | { |
| | | dangqianbuzhou = wfRunProcessDTO.Step; |
| | | //查询审批进度 |
| | | lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); |
| | | if (wfRunProcessDTO.Step != "提交") |
| | | { |
| | | shifoubiaoji = "D"; |
| | | } |
| | | |
| | | //查询待办 |
| | | var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList(); |
| | | if (chaxundaiban != null && chaxundaiban.Count > 0) |
| | | { |
| | | sifoudangqian = "A"; |
| | | } |
| | | else |
| | | { |
| | | sifoudangqian = "D"; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | ViewBag.shifoubiaoji = shifoubiaoji; |
| | | ViewBag.sifoudangqian = sifoudangqian; |
| | | ViewBag.lishiyijian = lishiyijian; |
| | | ViewBag.dangqianbuzhou = dangqianbuzhou; |
| | | |
| | | return View(); |
| | | } |
| | | |
| | |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | leaveOff.RecStatus = "A"; |
| | | //未挂审批流,提交直接通过 |
| | | leaveOff.ShenpiStatus = "A"; |
| | | ////未挂审批流,提交直接通过 |
| | | //leaveOff.ShenpiStatus = "A"; |
| | | if (String.IsNullOrEmpty(leaveOff.Id)) |
| | | { |
| | | leaveOff.Creater = curentuser.Id; |
| | |
| | | leaveOff.Modifytime = DateTime.Now; |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | resultEntity.Result = false; |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | |
| | | if (leaveOff.Step == "提交") |
| | | { |
| | | resultEntity = _signinService.SaveAskLeaveOff(leaveOff); |
| | | if(resultEntity.Result == false) |
| | | //请假时间不能重叠 |
| | | var qingjia = _signinService.GetAskLeaveOffChongdie(curentuser.Id, leaveOff.StratTime.Value, leaveOff.EndTime.Value); |
| | | if (qingjia.Count > 0) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "该时间段已经有销假!"; |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | string[] Filepaths = leaveOff.Filepath; |
| | | |
| | | if (Filepaths != null && Filepaths.Length > 0) |
| | | //销假必须三天以内 |
| | | if (leaveOff.EndTime.Value.Date < DateTime.Now.Date.AddDays(-4)) |
| | | { |
| | | 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.Id; |
| | | 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.Result = false; |
| | | resultEntity.Message = "请在72小时内进行销假处理,超过72小时无法提交"; |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | } |
| | | |
| | | resultEntity = _sysAttachmentService.save(sysAttachmentDTO); |
| | | if (resultEntity.Result == false) |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | if (leaveOff.Step == "提交") |
| | | { |
| | | resultEntity = _signinService.SaveAskLeaveOff(leaveOff); |
| | | if (resultEntity.Result == false) |
| | | { |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | string[] Filepaths = leaveOff.Filepath; |
| | | |
| | | if (Filepaths != null && Filepaths.Length > 0) |
| | | { |
| | | for (int i = 0; i < Filepaths.Length; i++) |
| | | { |
| | | if (string.IsNullOrEmpty(leaveOff.attachmentid[i])) |
| | | { |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO(); |
| | | //sysAttachmentDTO.Id = |
| | | sysAttachmentDTO.AttObj = "AskLeaveOff"; |
| | | sysAttachmentDTO.AttObjid = leaveOff.Id; |
| | | 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); |
| | | if (resultEntity.Result == false) |
| | | { |
| | | return JsonConvert.SerializeObject(resultEntity); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | resultEntity = _wfRunProcessService.WfAskLeaveOff(leaveOff.Id, leaveOff.Step, leaveOff.Tongguojujue, curentuser.Id, leaveOff.Content, leaveOff.Tittle, "v1"); |
| | | |
| | | scope.Complete(); |
| | | } |
| | |
| | | #region 考勤规则 |
| | | public IActionResult AttendanceRule() |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Signin/AttendanceRule/"); |
| | | var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); |
| | | ViewData["ActionInfo2"] = pageEntities2; |
| | | |
| | | AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get(""); |
| | | admAttendanceRuleDTO.admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList(""); |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | for (int i = 0; i < dto.jiaban_s.Length; i++) |
| | | { |
| | | if (!String.IsNullOrEmpty(dto.jiaban_s[i]) && !String.IsNullOrEmpty(dto.jiaban_e[i])) |
| | | { |
| | | AdmAttendanceRulesDtlDTO admAttendanceRulesDtlDTO = new AdmAttendanceRulesDtlDTO(); |
| | | admAttendanceRulesDtlDTO.Pid = dto.Id; |
| | | admAttendanceRulesDtlDTO.ValueStart = DateTime.Parse(dto.jiaban_s[i]); |
| | | admAttendanceRulesDtlDTO.ValueEnd = DateTime.Parse(dto.jiaban_e[i]); |
| | | admAttendanceRulesDtlDTO.Name = "jiabanri"; |
| | | admAttendanceRulesDtlDTO.RecStatus = "A"; |
| | | admAttendanceRulesDtlDTO.Creater = curentuser.Id; |
| | | admAttendanceRulesDtlDTO.Createtime = DateTime.Now; |
| | | admAttendanceRulesDtlDTO.Modifier = admAttendanceRulesDtlDTO.Creater; |
| | | admAttendanceRulesDtlDTO.Modifytime = admAttendanceRulesDtlDTO.Createtime; |
| | | resultEntity = _attendanceRuleService.saveDtl(admAttendanceRulesDtlDTO); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | scope.Complete(); |
| | | } |
| | | |