username@email.com
2021-08-12 7b5fddf1755d3a1f43e5e402f944e7446caf6500
请假销假验证
3个文件已修改
80 ■■■■■ 已修改文件
zhengcaioa/IServices/IAdmSigninService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AdmSigninService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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();
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 == "提交")