From 8ee3309484ae12ec1abb72b097499c79656da657 Mon Sep 17 00:00:00 2001 From: San Jacobs Date: Sun, 7 Aug 2022 21:08:27 +0200 Subject: Added reasons to overtime rates, implemented §6.12 --- src/main.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index ac5c7e0..f02a046 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -205,9 +205,36 @@ done: for(int jj=0; jj < each_day.total_timeblocks; jj++) { timeblock& each_block = each_day.blocks[jj]; double block_price = each_block.hourcount() * hourly_rate * each_block.valuefactor; - std::cout << timeprint(each_block, true) << ", " << each_block.hourcount() << "h\t+" << (each_block.valuefactor-1)*100 << "%\t= " << block_price << "\n"; + + std::cout << timeprint(each_block, true) << ", " + << each_block.hourcount() << "h\t+" + << (each_block.valuefactor-1)*100 << "%\t= " + << block_price; + //if(each_block.price_reason != "Norm") { + std::cout << " \t[" << each_block.price_reason << "]"; + //} + std::cout << "\n"; + day_price += block_price; } + + double day_length = (timeblock){each_day.call, each_day.wrap}.hourcount(); + + if((each_day.call.hours < 6 || each_day.call.hours >= 22) && + (each_day.wrap.hours < 6 || each_day.wrap.hours >= 22) && + day_length < 9) + { + std::cout << "Day set entirely between 22:00 and 06:00.\nPrice is dayrate plus 100% for hours worked. [§6.12B]\n"; + day_price = dayrate + (day_length * hourly_rate); + + } else if((each_day.call.hours < 6 || each_day.call.hours >= 10) && + (each_day.wrap.hours >= 22 || each_day.wrap.hours <= 10)){ + if(day_price < dayrate){ + day_price = dayrate; + + std::cout << "Offset day at least partially set between 22:00 and 06:00.\nMinimum price is full dayrate. [§6.12A]\n"; + } + } std::cout << "Price of day " << ii+1 << ": " << day_price << std::endl; total_sum += day_price; } -- cgit v1.2.1