Skip to main content

Module summary

Module summary 

Source
Expand description

Monthly work summary calculation and formatting system.

Provides comprehensive functionality for calculating, processing, and formatting monthly work summaries. Handles the complex business logic of combining actual work data with company rest days to produce complete monthly reports.

§Features

  • Daily Summary Aggregation: Combines work duration and productivity metrics
  • Rest Day Integration: Incorporates company holidays and weekends
  • Statistical Calculations: Computes totals, averages, and productivity metrics
  • Flexible Formatting: Provides multiple output formats for different use cases
  • Report Generation: Powers monthly reports and export functionality

§Usage

use kasl::libs::summary::{DailySummary, SummaryCalculator, SummaryFormatter};
use chrono::{Duration, NaiveDate};
use std::collections::HashSet;

let summaries = vec![
    DailySummary {
        date: NaiveDate::from_ymd_opt(2025, 8, 11).unwrap(),
        duration: Duration::hours(8),
        productivity: 85.5,
    },
];

let rest_dates = HashSet::new();
let (processed, total, average) = summaries
    .add_rest_dates(rest_dates, Duration::hours(8))
    .calculate_totals();

Structs§

DailySummary
Represents a complete work summary for a single calendar day.

Traits§

SummaryCalculator
Trait for processing and enhancing collections of daily summaries.
SummaryFormatter
Trait for formatting calculated summaries into human-readable output.