username@email.com
2024-01-12 0e5c4a8e17dcefcc10b2507da61b099be12451d8
zhengcaioa/Services/AdmSigninService.cs
@@ -20,6 +20,7 @@
        }
        #region 考勤打卡
        public ResultEntity save(string id, int signinType)
        {
            ResultEntity resultEntity = new ResultEntity();
@@ -37,6 +38,12 @@
                    switch (signinType)
                    {
                        case 10:
                            if (signIn.MorningIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打上午上班,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.MorningIn = DateTime.Now;
                            break;
                        case 11:
@@ -44,12 +51,24 @@
                            break;
                        case 20:
                            if (signIn.AfternoonIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打下午上班卡,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.AfternoonIn = DateTime.Now;
                            break;
                        case 21:
                            signIn.AfternoonOut = DateTime.Now;
                            break;
                        case 30:
                            if (signIn.AfternoonIn.HasValue)
                            {
                                resultEntity.Result = false;
                                resultEntity.Message = "已经打加班卡,请不要重复打卡";
                                return resultEntity;
                            }
                            signIn.OvertimeIn = DateTime.Now;
                            break;
                        case 31:
@@ -83,6 +102,20 @@
            AdmSignInDTO signin = _mapper.Map<AdmSignInDTO>(entity);
            return signin;
        }
        public AdmSignInDTO GetByUserAndDate(string userid, DateTime sgninDate)
        {
            AdmSignIn entity = _context.AdmSignIns.Where(x=>x.RecStatus == "A" &&  x.UserId == userid && x.SgninDate == sgninDate).FirstOrDefault();
            AdmSignInDTO signin = null;
            if (entity != null)
            {
                signin = _mapper.Map<AdmSignInDTO>(entity);
            }
            return signin;
        }
        public AdmSignInDTO GetTodaySignin(string userId)
        {
@@ -208,7 +241,7 @@
                          Afternoon = virtity(a.AfternoonIn, a.AfternoonOut),
                          Overtime = virtity(a.OvertimeIn, a.OvertimeOut)
                      }).ToList();
            if (searchEntity.totalrows == 0)
            //if (searchEntity.totalrows == 0)
                searchEntity.totalrows = dt.Count();
            var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
            list = _mapper.Map<List<SigninListDTO>>(signinList);
@@ -270,7 +303,7 @@
                    entity.Remark = admAsk.Remark;
                    entity.Lavetype = admAsk.Lavetype;
                    entity.StratTime = admAsk.StratTime;
                    entity.EndTime = admAsk.StratTime;
                    entity.EndTime = admAsk.EndTime;
                    entity.Modifier = admAsk.Modifier;
                    entity.Modifytime = DateTime.Now;
                }
@@ -315,7 +348,7 @@
                    entity.Remark = leaveOff.Remark;
                    entity.Lavetype = leaveOff.Lavetype;
                    entity.StratTime = leaveOff.StratTime;
                    entity.EndTime = leaveOff.StratTime;
                    entity.EndTime = leaveOff.EndTime;
                    entity.Modifier = leaveOff.Modifier;
                    entity.Modifytime = DateTime.Now;
                }
@@ -344,7 +377,43 @@
            return leaveDTO;
        }
        public List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId)
        {
            List<AdmAskLeave> admAskLeaveDTOs = _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList();
            List<AdmAskLeaveDTO> leaveDTOs = _mapper.Map< List <AdmAskLeaveDTO>  >(admAskLeaveDTOs);
            return leaveDTOs;
        }
        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();
            List<AdmAskLeaveOffDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveOffDTO>>(admAskLeaveOffs);
            return leaveDTOs;
        }
        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();