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