From 7b5fddf1755d3a1f43e5e402f944e7446caf6500 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 12 八月 2021 14:08:53 +0800 Subject: [PATCH] 请假销假验证 --- zhengcaioa/IServices/IAdmSigninService.cs | 4 ++ zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | 58 +++++++++++++++++++++++++++-- zhengcaioa/Services/AdmSigninService.cs | 18 +++++++++ 3 files changed, 76 insertions(+), 4 deletions(-) diff --git a/zhengcaioa/IServices/IAdmSigninService.cs b/zhengcaioa/IServices/IAdmSigninService.cs index e2a0506..9e0b55a 100644 --- a/zhengcaioa/IServices/IAdmSigninService.cs +++ b/zhengcaioa/IServices/IAdmSigninService.cs @@ -25,12 +25,16 @@ List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId); + List<AdmAskLeaveDTO> GetAskLeaveChongdie(string UserId,DateTime StratTime, DateTime EndTime); + //閿�鍋� ResultEntity SaveAskLeaveOff(AdmAskLeaveOffDTO leaveOff); AdmAskLeaveOffDTO GetAskLeaveOff(string Id); List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId); + List<AdmAskLeaveOffDTO> GetAskLeaveOffChongdie(string UserId, DateTime StratTime, DateTime EndTime); + #region 鑰冨嫟瑙勫垯 ResultEntity SaveAttendanceRlues(string attRlues); diff --git a/zhengcaioa/Services/AdmSigninService.cs b/zhengcaioa/Services/AdmSigninService.cs index 8fed0f5..bb73473 100644 --- a/zhengcaioa/Services/AdmSigninService.cs +++ b/zhengcaioa/Services/AdmSigninService.cs @@ -369,6 +369,15 @@ } + public List<AdmAskLeaveDTO> GetAskLeaveChongdie(string UserId, DateTime StratTime, DateTime EndTime) + { + List<AdmAskLeave> admAskLeaveDTOs = _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.Creater == UserId && (( e.StratTime <= StratTime && e.EndTime > StratTime) || (e.StratTime < EndTime && e.EndTime >= EndTime) )).ToList(); + + List<AdmAskLeaveDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveDTO>>(admAskLeaveDTOs); + return leaveDTOs; + + } + public List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId) { List<AdmAskLeaveOff> admAskLeaveOffs = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList(); @@ -378,6 +387,15 @@ } + public List<AdmAskLeaveOffDTO> GetAskLeaveOffChongdie(string UserId, DateTime StratTime, DateTime EndTime) + { + List<AdmAskLeaveOff> admAskLeaveOffs = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Creater == UserId && ((e.StratTime <= StratTime && e.EndTime > StratTime) || (e.StratTime < EndTime && e.EndTime >= EndTime))).ToList(); + + List<AdmAskLeaveOffDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveOffDTO>>(admAskLeaveOffs); + return leaveDTOs; + + } + public AdmAskLeaveOffDTO GetAskLeaveOff(string Id) { AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Id == Id ).FirstOrDefault(); diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs index 2e3504b..23467c6 100644 --- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs @@ -338,8 +338,37 @@ admAsk.RecStatus = "A"; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; - - if (String.IsNullOrEmpty(admAsk.Id)) + + if(admAsk.Step == "鎻愪氦") + { + //璇峰亣鏃堕棿涓嶈兘閲嶅彔 + 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); + } + } + + + if (String.IsNullOrEmpty(admAsk.Id)) { admAsk.Creater = curentuser.Id; admAsk.Createtime = DateTime.Now; @@ -910,8 +939,8 @@ 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; @@ -921,6 +950,27 @@ leaveOff.Modifytime = DateTime.Now; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; + + if (leaveOff.Step == "鎻愪氦") + { + //璇峰亣鏃堕棿涓嶈兘閲嶅彔 + 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); + } + + //閿�鍋囧繀椤讳笁澶╀互鍐� + if (leaveOff.StratTime.Value.Date < DateTime.Now.Date.AddDays(-3)) + { + resultEntity.Result = false; + resultEntity.Message = "璇峰湪72灏忔椂鍐呰繘琛岄攢鍋囧鐞嗭紝瓒呰繃72灏忔椂鏃犳硶鎻愪氦"; + return JsonConvert.SerializeObject(resultEntity); + } + } + using (TransactionScope scope = new TransactionScope()) { if (leaveOff.Step == "鎻愪氦") -- Gitblit v1.9.1