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§
- Daily
Summary - Represents a complete work summary for a single calendar day.
Traits§
- Summary
Calculator - Trait for processing and enhancing collections of daily summaries.
- Summary
Formatter - Trait for formatting calculated summaries into human-readable output.