/// <summary> /// 添加签到记录 /// </summary> /// <param name="checkingIn">考勤签到</param> /// <returns></returns> public int AddCheckingIn(CheckingIn checkingIn) { using (MySqlConnection conn = DapperHelper.GetConnString()) { string sql = @"insert into CheckingIn(StaffId,StaffName,SignInTime,SignBackTime,SignInState) values(@StaffId,@StaffName,@SignInTime,@SignBackTime,@SignInState)"; var result = conn.Execute(sql, checkingIn); return(result); } }
public int CheckingIn(int staffId, string staffName, int aoru) { var result = 0; //获取假期设置表数据 var holidaySettings = IcheckingInServices.GetHolidaySettings(); string officeHoursam = holidaySettings[0].OfficeHoursam; //上班时间 string closingTimepm = holidaySettings[0].ClosingTimepm; //下班时间 var currentTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //签到/签退时间 //去掉字符串的前12个字符 var time = currentTime.Remove(0, 12); var time1 = currentTime.Substring(12); var time2 = "07:00:00"; //var backTime = DateDiff(Convert.ToDateTime(officeHoursam), Convert.ToDateTime(time2)); //0迟到、1签到、2签退、3早退、4旷工、5请假、6加班 var strSignInState = ""; var breakMsg = CompanyDate(officeHoursam, time2); if (breakMsg == 0) //未 { if (aoru == 1) //签到 { strSignInState += "1"; } if (aoru == 2)//签退 { strSignInState += "3"; } } if (breakMsg == 1) //过 { if (aoru == 1) //签到 { strSignInState += "0"; } if (aoru == 2)//签退 { strSignInState += "2"; } } //实例化 CheckingIn checkingInEntity = new CheckingIn(); checkingInEntity.StaffId = staffId; //员工ID checkingInEntity.StaffName = staffName; //员工姓名 if (aoru == 1) //签到 { checkingInEntity.SignInTime = currentTime; //签到时间 checkingInEntity.SignInState = strSignInState; //签到状态 result = IcheckingInServices.AddCheckingIn(checkingInEntity); } if (aoru == 2)//签退 { var checkingInList = IcheckingInServices.GetLatestTime(staffId); var checkingInId = checkingInList[0].Id; //签到ID var signBackTime = currentTime; //签退时间 var signInState = checkingInList[0].SignInState + "," + strSignInState; //签到状态 result = IcheckingInServices.UpdateCheckingIn(checkingInId, signBackTime, signInState); } return(result); }
public PageNumber GetCheckingIn(int StaffId, int pageIndex = 1) { List <CheckingIn> checkingInsList = new List <CheckingIn>(); //查询本月签到情况 var list = IcheckingInServices.GetCheckingIns(StaffId); for (int i = 0; i < list.Count; i++) { var strState = ""; var signInStateArry = list[i].SignInState.Split(','); foreach (var item in signInStateArry) { //0迟到、1签到、2签退、3早退、4旷工、5请假、6加班 if (item.ToString() == "0") { strState += "迟到 "; } if (item.ToString() == "1") { strState += "已签到 "; } if (item.ToString() == "2") { strState += "已签退 "; } if (item.ToString() == "3") { strState += "早退 "; } if (item.ToString() == "4") { strState += "旷工 "; } if (item.ToString() == "5") { strState += "请假 "; } if (item.ToString() == "6") { strState += "加班 "; } } //实例化考勤签到Model CheckingIn checkingIn = new CheckingIn(); checkingIn.Id = list[i].Id; checkingIn.StaffId = list[i].StaffId; checkingIn.StaffName = list[i].StaffName; checkingIn.SignInTime = list[i].SignInTime; checkingIn.SignBackTime = list[i].SignBackTime; checkingIn.SignInState = list[i].SignInState; checkingIn.StrState = strState; //Add Model In List checkingInsList.Add(checkingIn); } //分页 PageNumber pageNumber = new PageNumber(); pageNumber.DataCount = checkingInsList.Count; pageNumber.CurrentPage = Convert.ToInt32(pageIndex); pageNumber.TotlePage = (checkingInsList.Count / PAGESIZE) + (checkingInsList.Count % PAGESIZE == 0 ? 0 : 1); pageNumber.Data = checkingInsList.Skip((Convert.ToInt32(pageIndex) - 1) * PAGESIZE).Take(PAGESIZE); return(pageNumber); }