improve how we find monthly bill in a month, dont use exact date just use yy-mm, also fix BUG where kayo used estimate in jan to project for the next 5years, rather than real bill in feb (all in the future) to estimate

This commit is contained in:
2025-08-31 10:24:46 +10:00
parent 0ab0a112e4
commit 2937866617
2 changed files with 6 additions and 2 deletions

1
BUGS
View File

@@ -1,4 +1,3 @@
* kayo is using wrong bill to extend - there is a future bill in the monthly and that is not being used...
* added an electricity bill by accident for 2018, that kills lots :( * added an electricity bill by accident for 2018, that kills lots :(
- something to do with missing year of data in quarterly bills - still an issue - something to do with missing year of data in quarterly bills - still an issue

View File

@@ -110,6 +110,10 @@ def find_previous_bill( bill_type, bill_info, bill_date ):
# okay, we have the previous billing year, and we wanted one for a year in the future, # okay, we have the previous billing year, and we wanted one for a year in the future,
# just return the last one in this year as its the most recent # just return the last one in this year as its the most recent
if wanted_year > yr: if wanted_year > yr:
# small chance of future bills having estimates and reals (kayo did this)
for tmp in bill_info[bill_type]['year'][yr]:
if tmp['estimated'] == 0:
return tmp
return bill_info[bill_type]['year'][yr][0] return bill_info[bill_type]['year'][yr][0]
else: else:
# lets go through the newest to oldest of these bills # lets go through the newest to oldest of these bills
@@ -219,12 +223,13 @@ def add_missing_monthly_bills_in_yr( bill_type, bill_info, yr ):
for i in range( start_m+1, 13 ): for i in range( start_m+1, 13 ):
bill_found=False bill_found=False
new_date = f'{yr}-{i:02d}-{dd}' new_date = f'{yr}-{i:02d}-{dd}'
new_date_yymm=f'{yr}-{i:02d}'
if yr in bill_info[bill_type]['year']: if yr in bill_info[bill_type]['year']:
for b in bill_info[bill_type]['year'][yr]: for b in bill_info[bill_type]['year'][yr]:
# this bill exists, skip adding it (this occurs when called to # this bill exists, skip adding it (this occurs when called to
# add bills as there are < 12 bills in first_year, BUT, we # add bills as there are < 12 bills in first_year, BUT, we
# don't fill before first_bill so the < 12 ALWAYS triggers # don't fill before first_bill so the < 12 ALWAYS triggers
if str(b['bill_date']) == new_date: if new_date_yymm in str(b['bill_date']):
bill_found=True bill_found=True
break break
if not bill_found: if not bill_found: