| | |
| | | admAttendanceDTO.Qingjia = 0; |
| | | admAttendanceDTO.Jiaban = 0; |
| | | admAttendanceDTO.Xiaojia = 0; |
| | | admAttendanceDTO.Daixinjia = 0; |
| | | admAttendanceDTO.Chidao = 0; |
| | | admAttendanceDTO.Zaotui = 0; |
| | | admAttendanceDTO.Kuanggong = 0; |
| | |
| | | decimal Zaotui = 0; |
| | | decimal Kuanggong = 0; |
| | | decimal Xiaojia = 0; |
| | | decimal Daixinjia = 0; |
| | | |
| | | while (dateminkaoqin < datemaxkaoqin) |
| | | { |
| | |
| | | decimal Kuanggongtianshu = 0; |
| | | decimal dangtianqingjia = 0; |
| | | decimal dangtianxiaojia = 0; |
| | | decimal dangtiandaixinjia = 0; |
| | | |
| | | string Iswork = "D"; |
| | | if (iswork) |
| | | { |
| | |
| | | } |
| | | |
| | | Qingjia += dangtianqingjia; |
| | | |
| | | |
| | | |
| | | //计算当天带薪假 |
| | | List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList(); |
| | | foreach (var admAskLeave in chauxndaixinjias) |
| | | { |
| | | |
| | | DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO(); |
| | | dateBiJiaoDTO.StartTime = admAskLeave.StratTime; |
| | | dateBiJiaoDTO.EndTime = admAskLeave.EndTime; |
| | | daixinjias.Add(dateBiJiaoDTO); |
| | | |
| | | } |
| | | |
| | | foreach (var daixinjia in daixinjias) |
| | | { |
| | | if (daixinjia.StartTime < StratTimeWorkingStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeWorkingStart; |
| | | } |
| | | if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeOffworkStart; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.EndTime = StratTimeWorkingEnd; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeOffworkEnd) |
| | | { |
| | | daixinjia.EndTime = StratTimeOffworkEnd; |
| | | } |
| | | TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value); |
| | | if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart) |
| | | { |
| | | TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd); |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | else |
| | | { |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | Daixinjia += dangtiandaixinjia; |
| | | |
| | | |
| | | //计算当天出勤天数 |
| | | Shijichuqin += (1 - Kuanggongtianshu - dangtianqingjia); |
| | | |
| | |
| | | } |
| | | |
| | | Qingjia += dangtianqingjia; |
| | | |
| | | |
| | | |
| | | //计算当天带薪假 |
| | | List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>(); |
| | | |
| | | var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList(); |
| | | foreach (var admAskLeave in chauxndaixinjias) |
| | | { |
| | | |
| | | DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO(); |
| | | dateBiJiaoDTO.StartTime = admAskLeave.StratTime; |
| | | dateBiJiaoDTO.EndTime = admAskLeave.EndTime; |
| | | daixinjias.Add(dateBiJiaoDTO); |
| | | |
| | | } |
| | | |
| | | foreach (var daixinjia in daixinjias) |
| | | { |
| | | if (daixinjia.StartTime < StratTimeWorkingStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeWorkingStart; |
| | | } |
| | | if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.StartTime = StratTimeOffworkStart; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart) |
| | | { |
| | | daixinjia.EndTime = StratTimeWorkingEnd; |
| | | } |
| | | |
| | | |
| | | if (daixinjia.EndTime > StratTimeOffworkEnd) |
| | | { |
| | | daixinjia.EndTime = StratTimeOffworkEnd; |
| | | } |
| | | TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value); |
| | | if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart) |
| | | { |
| | | TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd); |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | else |
| | | { |
| | | dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | Daixinjia += dangtiandaixinjia; |
| | | |
| | | |
| | | |
| | | //计算当天出勤天数 |
| | | Jiaban += (1 - Kuanggongtianshu - dangtianqingjia); |
| | | |
| | |
| | | admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut; |
| | | admAttendanceDtlDTO.Qingjia = dangtianqingjia; |
| | | admAttendanceDtlDTO.Xiaojia = dangtianxiaojia; |
| | | |
| | | admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia; |
| | | |
| | | |
| | | |
| | |
| | | admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn; |
| | | admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut; |
| | | admAttendanceDtlDTO.Qingjia = dangtianqingjia; |
| | | admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia; |
| | | admAttendanceDtlDTO.Xiaojia = dangtianxiaojia; |
| | | |
| | | |
| | |
| | | |
| | | |
| | | admAttendanceDTO.Qingjia = Qingjia; |
| | | admAttendanceDTO.Daixinjia = Daixinjia; |
| | | admAttendanceDTO.Xiaojia = Xiaojia; |
| | | admAttendanceDTO.Chidao = Chidao; |
| | | admAttendanceDTO.Islock = "A"; |