public void PrepareListT(SickDayCalcInfo[] sdcs, string[] positions) { var emptyrow = new SickDayCalcRow() { IsTitle = true }; var r1 = new SickDayCalcRow() { Caption = "Kopā amati", IsTitle = true }; Rows.Add(r1); Rows.AddRange(TotalSDCI.Rows); for (int i = 0; i < sdcs.Length; i++) { //Rows.Add(emptyrow); r1 = new SickDayCalcRow() { Caption = positions[i], IsTitle = true }; Rows.Add(r1); Rows.AddRange(sdcs[i].Rows); } }
public void AddA(SickDayCalcRow sdc) { HoursCount += sdc.HoursCount; HoursCount75 += sdc.HoursCount75; HoursCount80 += sdc.HoursCount80; SickDayPay += sdc.SickDayPay; SickDayPay75 += sdc.SickDayPay75; SickDayPay80 += sdc.SickDayPay80; }
public void CountSickDays(SickDayCalcRow sdci, DateTime dt1, DateTime dt2, int skipdays) { var list = new TimeSheetRowSetList() { this }; list.CountSickDays(sdci, dt1, dt2, skipdays); }
public void AddB(SickDayCalcRow sdc) { DaysCount += sdc.DaysCount; DaysCount0 += sdc.DaysCount0; DaysCount75 += sdc.DaysCount75; DaysCount80 += sdc.DaysCount80; HoursCount += sdc.HoursCount; HoursCount75 += sdc.HoursCount75; HoursCount80 += sdc.HoursCount80; }
public SickDayCalcInfo(bool filllist) { TotalRow = new SickDayCalcRow(); TotalRow.IsTotal = true; PreparingReport = filllist; if (PreparingReport) { Rows = new List <SickDayCalcRow>(); } }
public void SumTotalPay(SickDayCalcInfo[] sdcs, SickDayCalcInfo totalsdc) { TotalRow = new SickDayCalcRow(); for (int i = 0; i < sdcs.Length; i++) { var sr = sdcs[i].TotalRow; TotalRow.AddA(sr); } TotalRow.DaysCount = totalsdc.TotalRow.DaysCount; TotalRow.DaysCount0 = totalsdc.TotalRow.DaysCount0; TotalRow.DaysCount75 = totalsdc.TotalRow.DaysCount75; TotalRow.DaysCount80 = totalsdc.TotalRow.DaysCount80; }
public void MakeReport(int idsar, string title) { var table_sar = MyData.DataSetKlons.TIMESHEET_LISTS; var dr_sar = table_sar.FindByID(idsar); if (dr_sar == null) { return; } var drs_r = dr_sar.GetTIMESHEET_LISTS_RRows(); var dt1 = new DateTime(dr_sar.YR, dr_sar.MT, 1); var dt2 = dt1.LastDayOfMonth(); var sickc = new SickDayCalcRow(); int vacdays = 0; float vachours = 0.0f; ReportRows = new List <TimeReportRow2>(); ReportRowsA = new List <TimeReportRow2a>(); foreach (var dr_r in drs_r) { var trr = new TimeReportRow2(); var trr2 = new TimeReportRow2a(trr); var pdat = DataTasks.GetPersonNameAndPK(dr_r.IDP); var postitle = DataTasks.GetPositionTitle(dr_r.IDAM); trr.Caption = string.Format("{0} {1}, {2}", pdat[0], pdat[1], postitle); var rowset = dr_r.GetDLRowSet(); rowset.CountPlan(trr, dt1, dt2); rowset.CountFact(trr, dt1, dt2); rowset.CountSickDays2(dt1, dt2, out int sickdaysA, out int sickdaysB, out int sickdaysN); trr._SICKDAYS = sickdaysA; trr2.SickdaysA = sickdaysA; trr2.SickdaysB = sickdaysB; trr2.SickdaysN = sickdaysN; rowset.CountVacationTime(dt1, dt2, out vacdays, out vachours); trr._VACATION_DAYS_CURRENT = vacdays; trr._VACATION_HOURS_CURRENT = vachours; ReportRows.Add(trr); ReportRowsA.Add(trr2); } ShowReport(dt1.Year, dt1.Month, dr_sar.DESCR); }
public void PrepareListA(string position) { var emptyrow = new SickDayCalcRow() { IsTitle = true }; var r1 = new SickDayCalcRow() { Caption = "Kopā amati", IsTitle = true }; Rows.Add(r1); Rows.AddRange(TotalSDCI.Rows); //Rows.Add(emptyrow); r1 = new SickDayCalcRow() { Caption = position, IsTitle = true }; Rows.Add(r1); }
public ErrorList CalcSickDaysB(SalarySheetRowInfo sr, SickDayCalcInfo totalsdci) { var dt1 = sr.SalarySheet.DT1; var dt2 = sr.SalarySheet.DT2; var mdt1 = sr.SalarySheet.MDT1; var mdt2 = sr.SalarySheet.MDT2; var mdt3 = sr.SalarySheet.MDT1.AddMonths(-1); var ps = sr.Events.SickDays.LinkedPeriods.Where( d => d.EEventId == EEventId.Slimības_lapa_A && d.DateLast >= dt1 && d.DateLast <= dt2 ).ToArray(); if (ps.Length == 0) { return(new ErrorList()); } int d1; SickDayCalcRow sdi = TotalRow; foreach (var pi in ps) { var dtp1 = pi.DateFirst; if (dtp1 < mdt3) { continue; } d1 = 0; if (PreparingReport) { sdi = new SickDayCalcRow(); sdi.DateStart = pi.DateFirst; sdi.DateEnd = pi.DateLast; Rows.Add(sdi); } if (dtp1 < mdt1) { var prevdlrowset = sr.GetDLRowSet(-1, sr.Row.IDAM); if (prevdlrowset != null) { var dtp2 = dtp1.LastDayOfMonth(); prevdlrowset.CountSickDays(sdi, dtp1, dtp2, 0); d1 = (dtp2 - dtp1).Days + 1; if (d1 <= 10) { sr.DLRows.CountSickDays(sdi, mdt1, pi.DateLast, d1); } } } else { sr.DLRows.CountSickDays(sdi, pi.DateFirst, pi.DateLast, d1); } if (PreparingReport) { TotalRow.AddB(sdi); } } if (PreparingReport) { Rows.Add(TotalRow); PrepareListA(); } if (TotalRow.DaysCount == 0) { return(new ErrorList()); } var err = GatAvPay(sr); if (err.HasErrors) { return(err); } decimal _AvPayRate = AvPayRateDay; if (IsAggregatedTimeRate(sr)) { _AvPayRate = AvPayRateCalendarDay; } TotalRow.AvPayRate = _AvPayRate; if (totalsdci == null) { TotalRow.SickDayPay75 = KlonsData.RoundA(_AvPayRate * TotalRow.DaysCount75 * 0.75M, 2); TotalRow.SickDayPay80 = KlonsData.RoundA(_AvPayRate * TotalRow.DaysCount80 * 0.8M, 2); } else { TotalRow.SickDayPay75 = (decimal)TotalRow.HoursCount75 / (decimal)totalsdci.TotalRow.HoursCount75; TotalRow.SickDayPay80 = (decimal)TotalRow.HoursCount80 / (decimal)totalsdci.TotalRow.HoursCount80; TotalRow.SickDayPay75 = KlonsData.RoundA(TotalRow.SickDayPay75 * totalsdci.TotalRow.SickDayPay75, 2); TotalRow.SickDayPay80 = KlonsData.RoundA(TotalRow.SickDayPay80 * totalsdci.TotalRow.SickDayPay80, 2); } TotalRow.SickDayPay = TotalRow.SickDayPay75 + TotalRow.SickDayPay80; return(new ErrorList()); }
public void CountSickDays(SickDayCalcRow sdi, DateTime dt1, DateTime dt2, int skipdays) { int i1 = dt1.Day; int i2 = dt2.Day; float vp; EDayPlanId daycodeplan = EDayPlanId.None; EDayFactId daycodefact = EDayFactId.None; bool isPlanWorkDay; for (int i = i1; i <= i2; i++) { bool dayadded = false; for (int j = 0; j < this.Count; j++) { var dlset = this[j]; daycodeplan = dlset.Plan.DxPlan[i - 1]; daycodefact = dlset.Fact.DxFact[i - 1]; if (daycodeplan == EDayPlanId.None) { continue; } if (daycodefact == EDayFactId.X || daycodefact == EDayFactId.None) { continue; } isPlanWorkDay = daycodeplan == EDayPlanId.DD || daycodeplan == EDayPlanId.DDSD || daycodeplan == EDayPlanId.SDDD; vp = dlset.Plan.Vx[i - 1]; if (!isPlanWorkDay) { continue; } if (vp == 0.0f) { continue; } if (!dayadded) { skipdays++; sdi.DaysCount++; } sdi.HoursCount += vp; if (skipdays == 1) { if (!dayadded) { sdi.DaysCount0++; } } else if (skipdays == 2 || skipdays == 3) { if (!dayadded) { sdi.DaysCount75++; } sdi.HoursCount75 += vp; } else if (skipdays >= 4 && skipdays <= 10) { if (!dayadded) { sdi.DaysCount80++; } sdi.HoursCount80 += vp; } dayadded = true; } } }