/// <summary> /// 根据设定规则赋值 /// </summary> /// <param name="N"></param> /// <param name="list"></param> /// <param name="overTimeModel"></param> /// <returns></returns> public OverTimeModel OverTimeRules(int N, List <OverTimeModel> list, int i) { OverTimeModel ovm = new OverTimeModel(); if (N == 1)//工作日加班,不超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart1(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "夜间加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 2)//工作日加班,超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart2(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "夜间加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 3)//周末或节假日 正常 在9点之前上班 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart3(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡 ovm.OvertimeType = "周末或节假日加班"; ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 4)//周末或节假日 正常 在9点之后上班 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡 ovm.OvertimeType = "周末或节假日加班"; int overtimeStartHour = Int32.Parse(tools.getTimeHour(ovm.OvertimeStart)); if (overtimeStartHour <= 12)//12点之前上班 { ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } else if (overtimeStartHour >= 13)//13点以后上班 { ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } else//12点到13点之间上班 { ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(overTimeStart.OverTimeStart5(list[i].OvertimeEnd)), Convert.ToDateTime(ovm.OvertimeEnd)); } } if (N == 5)//周末或节假日 超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i - 1].OvertimeEnd);//取上一条数据作为上班打卡 ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "周末或节假日加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } this.txtRemark.Dispatcher.Invoke(new Action(() => { ovm.Remark = this.txtRemark.Text; })); return(ovm); }
/// <summary> /// 根据设定规则赋值 /// </summary> /// <param name="N"></param> /// <param name="list"></param> /// <param name="overTimeModel"></param> /// <returns></returns> public OverTimeModel OverTimeRules(int N, List<OverTimeModel> list, int i) { OverTimeModel ovm = new OverTimeModel(); if (N == 1)//工作日加班,不超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart1(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "夜间加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 2)//工作日加班,超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart2(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "夜间加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 3)//周末或节假日 正常 在9点之前上班 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart3(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡 ovm.OvertimeType = "周末或节假日加班"; ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } if (N == 4)//周末或节假日 正常 在9点之后上班 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i].OvertimeEnd); ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡 ovm.OvertimeType = "周末或节假日加班"; int overtimeStartHour = Int32.Parse(tools.getTimeHour(ovm.OvertimeStart)); if (overtimeStartHour <= 12)//12点之前上班 { ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } else if (overtimeStartHour >= 13)//13点以后上班 { ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } else//12点到13点之间上班 { ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(overTimeStart.OverTimeStart5(list[i].OvertimeEnd)), Convert.ToDateTime(ovm.OvertimeEnd)); } } if (N == 5)//周末或节假日 超过12点 { ovm.Name = list[i].Name; ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i - 1].OvertimeEnd);//取上一条数据作为上班打卡 ovm.OvertimeEnd = list[i].OvertimeEnd; ovm.OvertimeType = "周末或节假日加班"; ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd)); } this.txtRemark.Dispatcher.Invoke(new Action(() => { ovm.Remark = this.txtRemark.Text; })); return ovm; }
/// <summary> /// 通过判断,进行相对应查询 /// </summary> /// <param name="list"></param> /// <returns></returns> public List <OverTimeModel> GetOverTimeInfo(List <OverTimeModel> list) { List <OverTimeModel> overTimeList = new List <OverTimeModel>(); OverTimeModel overTimeModel; for (int i = 0; i < list.Count; i++) { overTimeModel = new OverTimeModel(); string dateType = tools.getDateType(list[i].OvertimeEnd); string timeHour = tools.getTimeHour(list[i].OvertimeEnd); int timeHourInt = Int32.Parse(timeHour); if (dateType == "0")//工作日 { if (timeHourInt >= 19) { overTimeModel = OverTimeRules(1, list, i); } if (timeHourInt < 7) { overTimeModel = OverTimeRules(2, list, i); } } else//周末,假日 { if (timeHourInt < 7) { if (tools.getDateType(tools.getDateBefore(list[i].OvertimeEnd)) == "0") {//特殊情况 获取当前的日期是周末,但是出于7点之前,为周五加班 overTimeModel = OverTimeRules(2, list, i); } else { if (tools.getCompareDate(tools.getDateBefore(list[i].OvertimeEnd).Split(' ')[0], list[i - 1].OvertimeEnd.Split(' ')[0]) == 1) { overTimeModel = OverTimeRules(5, list, i); } } } if (timeHourInt >= 8 && timeHourInt <= 9) { if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1) { overTimeModel = OverTimeRules(3, list, i); } } if (timeHourInt > 9) { if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1) { overTimeModel = OverTimeRules(4, list, i); } } if (dateType == "1") { overTimeModel.OvertimeType = "周末加班"; } if (dateType == "2") { overTimeModel.OvertimeType = "节假日加班"; } } if (overTimeModel.Name != null) { overTimeList.Add(overTimeModel); } } return(overTimeList); }
/// <summary> /// 通过判断,进行相对应查询 /// </summary> /// <param name="list"></param> /// <returns></returns> public List<OverTimeModel> GetOverTimeInfo(List<OverTimeModel> list) { List<OverTimeModel> overTimeList = new List<OverTimeModel>(); OverTimeModel overTimeModel; for (int i = 0; i < list.Count; i++) { overTimeModel = new OverTimeModel(); string dateType = tools.getDateType(list[i].OvertimeEnd); string timeHour = tools.getTimeHour(list[i].OvertimeEnd); int timeHourInt = Int32.Parse(timeHour); if (dateType == "0")//工作日 { if (timeHourInt >= 19) { overTimeModel = OverTimeRules(1, list, i); } if (timeHourInt < 7) { overTimeModel = OverTimeRules(2, list, i); } } else//周末,假日 { if (timeHourInt < 7) { if (tools.getDateType(tools.getDateBefore(list[i].OvertimeEnd)) == "0") {//特殊情况 获取当前的日期是周末,但是出于7点之前,为周五加班 overTimeModel = OverTimeRules(2, list, i); } else { if (tools.getCompareDate(tools.getDateBefore(list[i].OvertimeEnd).Split(' ')[0], list[i - 1].OvertimeEnd.Split(' ')[0]) == 1) overTimeModel = OverTimeRules(5, list, i); } } if (timeHourInt >= 8 && timeHourInt <= 9) { if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1) overTimeModel = OverTimeRules(3, list, i); } if (timeHourInt > 9) { if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1) overTimeModel = OverTimeRules(4, list, i); } if (dateType == "1") overTimeModel.OvertimeType = "周末加班"; if (dateType == "2") overTimeModel.OvertimeType = "节假日加班"; } if (overTimeModel.Name != null) { overTimeList.Add(overTimeModel); } } return overTimeList; }