username@email.com
2024-01-12 0e5c4a8e17dcefcc10b2507da61b099be12451d8
zhengcaioa/Services/AdmSigninService.cs
@@ -38,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:
@@ -45,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:
@@ -84,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)
        {
@@ -209,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);
@@ -252,17 +284,26 @@
                if (string.IsNullOrEmpty(admAsk.Id))
                {
                    ask.Id = Guid.NewGuid().ToString();
                    admAsk.Id = ask.Id;
                    _context.AdmAskLeaves.Add(ask);                  
                }
                else
                {
                    var entity = _context.AdmAskLeaves.Find(admAsk.Id);
                    entity.SigninId = admAsk.SigninId;
                    entity.StratPoint = admAsk.StratPoint;
                    entity.EndPoint = admAsk.EndPoint;
                    entity.ShenpiStatus = admAsk.ShenpiStatus;
                    entity.CreaterName = admAsk.CreaterName;
                    entity.Tittle = admAsk.Tittle;
                    entity.LaveDay = admAsk.LaveDay;
                    entity.LavehHour = admAsk.LavehHour;
                    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;
                }
@@ -295,11 +336,19 @@
                else
                {
                    var entity = _context.AdmAskLeaveOffs.Find(leaveOff.Id);
                    entity.SigninId = leaveOff.SigninId;
                    entity.StratPoint = leaveOff.StratPoint;
                    entity.EndPoint = leaveOff.EndPoint;
                    entity.ShenpiStatus = leaveOff.ShenpiStatus;
                    entity.CreaterName = leaveOff.CreaterName;
                    entity.Tittle = leaveOff.Tittle;
                    entity.MedicalRecord = leaveOff.MedicalRecord;                    
                    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;
                }
@@ -317,9 +366,9 @@
            return resultEntity;
        }
        public AdmAskLeaveDTO GetAskLeave(string signinId)
        public AdmAskLeaveDTO GetAskLeave(string Id)
        {
            AdmAskLeave entity =  _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.SigninId == signinId).FirstOrDefault();
            AdmAskLeave entity =  _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault();
            if (entity == null)
            {
                entity = new AdmAskLeave();
@@ -328,10 +377,46 @@
            return leaveDTO;
        }
        public AdmAskLeaveOffDTO GetAskLeaveOff(string signinId)
        public List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId)
        {
            AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.SigninId == signinId).FirstOrDefault();
            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();
            if (entity == null)
            {
                entity = new AdmAskLeaveOff();