///<summary> ///</summary> public void GetHourDesType(OutApplicationItem item, int accountid, out decimal putong, out decimal shuangxiu, out decimal jieri) { jieri = 0m; putong = 0m; shuangxiu = 0m; DateTime from = item.FromDate; DateTime to = item.ToDate; _CalculateDays = new CalculateDays(BllInstance.SpecialDateBllInstance.GetAllSpecialDate(null)); _PlanDutyDetailList = _PlanDutyDal.GetPlanDutyDetailByAccount(accountid, from, to); CalculateOutCityHour calculateOutCityHour = new CalculateOutCityHour(from, to, accountid); calculateOutCityHour.Excute(); foreach (DayAttendance attendance in calculateOutCityHour.DayAttendanceList) { PlanDutyDetail planDutyDetail = PlanDutyDetail.GetPlanDutyDetailByDate(_PlanDutyDetailList, attendance.Date); if (_CalculateDays.IsNationalHoliday(attendance.Date)) { jieri += attendance.Hours; } else if (planDutyDetail.PlanDutyClass.IsWeek) { shuangxiu += attendance.Hours; } else { putong += attendance.Hours; } } }
/// <summary> /// /// </summary> public List <DayAttendance> GetAllCalendarByEmployee(int AccountID, DateTime fromDate, DateTime toDate) { List <DayAttendance> dayAttendance = new List <DayAttendance>(); List <OutApplicationItem> outApplicationItemList = new List <OutApplicationItem>(); List <OutApplicationItem> outApplicationItemFromDal = _OutApplicationDal.GetAllOutApplicationForCalendar(AccountID, fromDate, toDate); foreach (OutApplicationItem item in outApplicationItemFromDal) { OutApplicationItem outApplicationItem = _OutApplicationDal.GetOutApplicationItemByItemID(item.ItemID); item.OutApplicationID = outApplicationItem.OutApplicationID; outApplicationItemList.Add(item); //if (item.Status == RequestStatus.Cancelled || item.Status == RequestStatus.CancelApproving) //{ // OutApplicationItem outApplicationItem = // _OutApplicationDal.GetOutApplicationItemByItemID(item.ItemID); // if (OutApplicationUtility.IsAgreed(outApplicationItem)) // { // outApplicationItemList.Add(item); // } //} //else //{ // outApplicationItemList.Add(item); //} } foreach (OutApplicationItem item in outApplicationItemList) { OutType outType = _OutApplicationDal.GetOutApplicationByOutApplicationID(item.OutApplicationID).OutType; if (outType.ID == OutType.InCity.ID) { string typeName = "外出"; typeName = GetTypeName(item, typeName); CalculateOutHour cal = new CalculateOutHour(item.FromDate, item.ToDate, AccountID, typeName); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } else if (outType.ID == OutType.OutCity.ID) { string typeName = OutType.OutCity.Name; typeName = GetTypeName(item, typeName); CalculateOutCityHour cal = new CalculateOutCityHour(item.FromDate, item.ToDate, typeName, AccountID); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } else if (outType.ID == OutType.Train.ID) { string typeName = OutType.Train.Name; typeName = GetTypeName(item, typeName); CalculateOutHour cal = new CalculateOutHour(item.FromDate, item.ToDate, AccountID, typeName); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } } return(dayAttendance); }
/// <summary> /// /// </summary> public List <DayAttendance> GetCalendarByEmployee(int AccountID, DateTime fromDate, DateTime toDate) { List <DayAttendance> dayAttendance = new List <DayAttendance>(); List <OutApplicationItem> outApplicationItemList = new List <OutApplicationItem>(); List <OutApplicationItem> outApplicationItemFromDal = _OutApplicationDal.GetOutApplicationForCalendar(AccountID, fromDate, toDate); foreach (OutApplicationItem item in outApplicationItemFromDal) { OutApplicationItem outApplicationItem = _OutApplicationDal.GetOutApplicationItemByItemID(item.ItemID); item.OutApplicationID = outApplicationItem.OutApplicationID; if (item.Status == RequestStatus.Cancelled || item.Status == RequestStatus.CancelApproving) { if (OutApplicationUtility.IsAgreed(outApplicationItem)) { outApplicationItemList.Add(item); } } else { outApplicationItemList.Add(item); } } foreach (OutApplicationItem item in outApplicationItemList) { OutType outType = _OutApplicationDal.GetOutApplicationByOutApplicationID(item.OutApplicationID).OutType; if (outType.ID == OutType.InCity.ID || outType.ID == OutType.OutCity.ID) { CalculateOutHour cal = new CalculateOutHour(item.FromDate, item.ToDate, AccountID); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } else if (outType.ID == OutType.OutCity.ID) { CalculateOutCityHour cal = new CalculateOutCityHour(item.FromDate, item.ToDate, AccountID); cal.Excute(); dayAttendance.AddRange(cal.DayAttendanceList); } } return(dayAttendance); }