pub struct RevenueGenerator { /* private fields */ }Expand description
Generates ProjectRevenue records using Percentage of Completion.
Not yet wired into the runtime orchestrator; will be integrated alongside project revenue recognition support.
Implementations§
Source§impl RevenueGenerator
impl RevenueGenerator
Sourcepub fn new(config: ProjectRevenueRecognitionConfig, seed: u64) -> Self
pub fn new(config: ProjectRevenueRecognitionConfig, seed: u64) -> Self
Create a new revenue generator.
Sourcepub fn generate(
&mut self,
projects: &[Project],
cost_lines: &[ProjectCostLine],
contract_values: &[(String, Decimal, Decimal)],
start_date: NaiveDate,
end_date: NaiveDate,
) -> Vec<ProjectRevenue>
pub fn generate( &mut self, projects: &[Project], cost_lines: &[ProjectCostLine], contract_values: &[(String, Decimal, Decimal)], start_date: NaiveDate, end_date: NaiveDate, ) -> Vec<ProjectRevenue>
Generate revenue recognition records for customer projects.
Only generates revenue for projects that have contract values (customer projects). Revenue is computed per month using the cost-to-cost PoC method.
Auto Trait Implementations§
impl !Freeze for RevenueGenerator
impl RefUnwindSafe for RevenueGenerator
impl Send for RevenueGenerator
impl Sync for RevenueGenerator
impl Unpin for RevenueGenerator
impl UnsafeUnpin for RevenueGenerator
impl UnwindSafe for RevenueGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more