mirror of
https://github.com/Hestia-Homes/survey-extraction.git
synced 2026-06-08 11:17:29 +00:00
Merge pull request #86 from Hestia-Homes/feautre/walthamforest_etl
Feautre/walthamforest etl
This commit is contained in:
commit
eedb0f3562
12 changed files with 253 additions and 52 deletions
27
.github/workflows/months_end.yml
vendored
27
.github/workflows/months_end.yml
vendored
|
|
@ -28,18 +28,15 @@ jobs:
|
|||
run: |
|
||||
pwd
|
||||
ls -la
|
||||
poetry run python etl/month_end_automation_wave_2_layout.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_3.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_4.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_6.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_7.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_8.py
|
||||
# poetry run python etl/month_end_automation_wave_2_no_10.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_11.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_12.py
|
||||
# poetry run python etl/month_end_automation_wave_2_no_13.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_14.py
|
||||
poetry run python etl/month_end_automation_wave_2_no_15.py
|
||||
# poetry run python etl/month_end_automation_wave_2_no_16.py
|
||||
poetry run python etl/month_end_automation_wave_accent_housing.py
|
||||
poetry run python etl/month_end_automation_wave_3_layout.py
|
||||
poetry run python etl/month_end_automation_wave_2_layout.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_3.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_4.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_6.py # Check with Matt if this can be deleted
|
||||
poetry run python etl/month_end_automation_wave_2_no_7.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_8.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_11.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_12.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_14.py # Done
|
||||
poetry run python etl/month_end_automation_wave_2_no_15.py # Done
|
||||
poetry run python etl/month_end_automation_wave_accent_housing.py # Done
|
||||
poetry run python etl/month_end_automation_wave_3_layout.py # Done
|
||||
|
|
|
|||
|
|
@ -108,6 +108,10 @@ def combine_records_for_flats(assets: dict, simple: list) -> dict:
|
|||
|
||||
return assets
|
||||
|
||||
def get_energy_information():
|
||||
df = pd.read_excel("../../../../../home/Downloads/data.xlsx", sheet_name="")
|
||||
# add uprn to everything
|
||||
|
||||
def handler(event, context):
|
||||
# read data for houses only
|
||||
assets = process_complex("Houses Asset Data")
|
||||
|
|
@ -120,5 +124,7 @@ def handler(event, context):
|
|||
flats = combine_records_for_flats(assets, simple)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# run a script that upload to s3 -> uprn -> jsonified -> walthamforest -> uri
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ rate_card_data = {
|
|||
"RA", "ATT", "Coordination Stage 1 v1", "Coordination Stage 1 v2 remodel", "Coordination Stage 1 v3 remodel",
|
||||
"Design Archetype", "Design Repetitive", "Coordination Stage 2", "Lodgement phase 1", "Full lodgement phase 2",
|
||||
"Post EPR", "Post EPC", "Post ATT", "retrofit evaluation",
|
||||
"RA no show", "ATT no show", "post EPC no show", "Design Revision"
|
||||
"RA no show", "ATT no show", "post EPC no show", "Design Revision", "Design Specify"
|
||||
],
|
||||
"rate": [
|
||||
207.65, 101, 186.4, 98, 98,
|
||||
450, 150, 163, 135, 120,
|
||||
"60 - Needs to be verified (Post EPR)", 45, 90.5, 40,
|
||||
25, 25, 25, "check with Kevin"
|
||||
"25 - check number on right", "25 - check number on right", "25 - check number on right", "check with Kevin", "ask adreas"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -93,6 +93,8 @@ ra = df[
|
|||
df["ra"].str.lower().isin(["completed rdsap 10", "completed rdsap 9.9"])
|
||||
].copy()
|
||||
ra["job_type"] = "RA"
|
||||
ra["evidence_record"] = None
|
||||
ra["invoice_record"] = None
|
||||
filtered_dfs.append(ra)
|
||||
|
||||
|
||||
|
|
@ -101,6 +103,8 @@ att = df[
|
|||
df["att"].str.lower().isin(["completed"])
|
||||
].copy()
|
||||
att["job_type"] = "ATT"
|
||||
att["evidence_record"] = None
|
||||
att["invoice_record"] = None
|
||||
filtered_dfs.append(att)
|
||||
|
||||
# V1 Coordination
|
||||
|
|
@ -108,12 +112,16 @@ v1 = df[
|
|||
df["v1 coordination status"].str.lower().isin(["rc complete"])
|
||||
].copy()
|
||||
v1["job_type"] = "Coordination Stage 1 v1"
|
||||
v1["evidence_record"] = None
|
||||
v1["invoice_record"] = None
|
||||
filtered_dfs.append(v1)
|
||||
|
||||
# V2 Coordination
|
||||
_ = df[df["v2 invoiced"].fillna('').str.lower().isin(['to be invoiced'])]
|
||||
v2 = _[_["v2 dc/ima/pas"] > 0].copy()
|
||||
v2["job_type"] = "Coordination Stage 1 v2 remodel"
|
||||
v2["evidence_record"] = None
|
||||
v2["invoice_record"] = None
|
||||
filtered_dfs.append(v2)
|
||||
|
||||
# V3 Coordination
|
||||
|
|
@ -121,6 +129,8 @@ v3 = df[
|
|||
df["v3 invoiced"].str.lower().isin(["to be invoiced"])
|
||||
].copy()
|
||||
v3["job_type"] = "Coordination Stage 1 v3 remodel"
|
||||
v3["evidence_record"] = None
|
||||
v3["invoice_record"] = None
|
||||
filtered_dfs.append(v3)
|
||||
|
||||
# Coordination stage 2 Please complete
|
||||
|
|
@ -128,6 +138,8 @@ cors2 = df[
|
|||
df["rc stg. 2"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
cors2["job_type"] = "Coordination Stage 2"
|
||||
cors2["evidence_record"] = None
|
||||
cors2["invoice_record"] = None
|
||||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design type archietype
|
||||
|
|
@ -144,11 +156,21 @@ design1 = df[
|
|||
design1["job_type"] = "Design Repetitive"
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
design_other = df[
|
||||
(~df["design type for invoicing"].str.lower().isin(["archetype", "repetitive"]))
|
||||
& (df["design invoice status"].str.lower().isin(["to invoice"]))
|
||||
].copy()
|
||||
|
||||
design_other["job_type"] = "Design Specify"
|
||||
filtered_dfs.append(design_other)
|
||||
|
||||
# Design stage revisions
|
||||
design2 = df[
|
||||
df["design revision invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
design2["job_type"] = "Design Revision"
|
||||
design2["evidence_record"] = None
|
||||
design2["invoice_record"] = None
|
||||
filtered_dfs.append(design2)
|
||||
|
||||
# Lodgement Phase 1
|
||||
|
|
@ -156,6 +178,8 @@ lodg1 = df[
|
|||
df["lodg. phase 1 invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
lodg1["job_type"] = "Lodgement phase 1"
|
||||
lodg1["evidence_record"] = None
|
||||
lodg1["invoice_record"] = None
|
||||
filtered_dfs.append(lodg1)
|
||||
|
||||
# Full Lodgement Phase
|
||||
|
|
@ -163,6 +187,8 @@ lodg2 = df[
|
|||
df["full lodgement invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
lodg2["job_type"] = "Full Lodgement phase 2"
|
||||
lodg2["evidence_record"] = None
|
||||
lodg2["invoice_record"] = None
|
||||
filtered_dfs.append(lodg2)
|
||||
|
||||
# POST EPC
|
||||
|
|
@ -170,6 +196,8 @@ post_epc = df[
|
|||
df["post-epc status"].str.lower().isin(["epc files uploaded"])
|
||||
].copy()
|
||||
post_epc["job_type"] = "Post EPC"
|
||||
post_epc["evidence_record"] = None
|
||||
post_epc["invoice_record"] = None
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
|
||||
|
|
@ -178,6 +206,8 @@ post_epr = df[
|
|||
df["post-epc status"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "Post EPR"
|
||||
post_epr["evidence_record"] = None
|
||||
post_epr["invoice_record"] = None
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
|
||||
|
|
@ -187,6 +217,8 @@ post_att = df[
|
|||
df["post-att"].str.lower().isin(["post-att uploaded"])
|
||||
].copy()
|
||||
post_att["job_type"] = "POST ATT"
|
||||
post_att["evidence_record"] = None
|
||||
post_att["invoice_record"] = None
|
||||
filtered_dfs.append(post_att)
|
||||
|
||||
|
||||
|
|
@ -195,6 +227,8 @@ retro = df[
|
|||
df["retrofit evaluation"].str.lower().isin(["complete"])
|
||||
].copy()
|
||||
retro["job_type"] = "Retrofit Evaluation"
|
||||
retro["evidence_record"] = None
|
||||
retro["invoice_record"] = None
|
||||
filtered_dfs.append(retro)
|
||||
|
||||
# RA NO Show
|
||||
|
|
@ -203,6 +237,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -213,6 +249,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -222,6 +260,8 @@ epc_ns = df[
|
|||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -236,7 +276,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "NHCF SHDF WESTVILLE WAVE 1 & 2"
|
||||
file_name = f"NCHA SHDF Westville Wave 1 & 2_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ rate_card_data = {
|
|||
225, 92.65, check_wall_type, check_wall_type, check_wall_type,
|
||||
check_wall_type, check_wall_type, 165, 135,
|
||||
120, "60 - check", 48.6, 85.55, 49.6,
|
||||
125, 125, 125
|
||||
"125 - check with right", "125 - check with right", "125 - check with right"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +91,8 @@ def get_df(df, column_name, success_critera, job_name=None):
|
|||
df[column_name].str.lower().isin(success_critera)
|
||||
].copy()
|
||||
_["job_type"] = job_name
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
return _
|
||||
|
||||
|
||||
|
|
@ -122,6 +124,8 @@ cors2 = df[
|
|||
df["rc stg. 2"].str.lower().isin(["to invoice"])
|
||||
]
|
||||
cors2["job_type"] = "Coordination Stage 2"
|
||||
cors2["evidence_record"] = None
|
||||
cors2["invoice_record"] = None
|
||||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design stage 1
|
||||
|
|
@ -156,6 +160,8 @@ post_epr = df[
|
|||
df["post-epc status"].str.lower().isin(["post epr completed", "Post epr desktop based completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST epr"
|
||||
post_epr["evidence_record"] = None
|
||||
post_epr["invoice_record"] = None
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
# Post ATT
|
||||
|
|
@ -180,6 +186,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -201,7 +209,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "Northumberland LAD2 & HUG2"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ rate_card_data = {
|
|||
"(185) - Kevin Check as this depends on property size", 115, 200, 125, 125,
|
||||
empty, "(135)- Mariane said 'Remaining RC & design sign off", 185, 135,
|
||||
120, "(60) Post EPR, please verify", 65, 115, 60,
|
||||
50, 50, 50, "(60) - Please add price for design sign off, check with kevin and marianne"
|
||||
"50 - check with right", "50- check with right", "50- check with right", "(60) - Please add price for design sign off, check with kevin and marianne"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -157,6 +157,8 @@ post_epr = df[
|
|||
df["post-epc epr status"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST epr"
|
||||
post_epr["evidence_record"] = post_epr["ra no show evidence"]
|
||||
post_epr["invoice_record"] = post_epr["ra no show invoice"]
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
# Post ATT
|
||||
|
|
@ -173,6 +175,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -190,6 +194,8 @@ epc_ns = df[
|
|||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -203,7 +209,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "Shropshire Council HUG 2"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ rate_card_data_example = {
|
|||
"rate": [
|
||||
259, 125, 280, 125,
|
||||
135, "60 to check", 85, 125,
|
||||
60, 45, 45, 45,
|
||||
60, "45 - check with right", "45 - check with right", "45 - check with right",
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -174,6 +174,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -191,6 +193,8 @@ epc_ns = df[
|
|||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["post epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["post epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -205,7 +209,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "Decent Homes Stonewater - Operations"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ rate_card_data = {
|
|||
"259 (new RA rate for PAS2035:2023 - old rates for other works - to discuss with KN)", 40, 178.5, empty, empty,
|
||||
empty, 180, 275, 135,
|
||||
120, "60 - please verify with Marianne", 45, 45, 40,
|
||||
25, 25, 25, "Please check price for design revision with Andreas"
|
||||
"25 - check with right", "25 - check with right", "25 - check with right", "Please check price for design revision with Andreas"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -182,6 +182,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -191,6 +193,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -200,6 +204,8 @@ epc_ns = df[
|
|||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -213,7 +219,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "WCHG SHDF 2.1 Mansard"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ rate_card_data = {
|
|||
259, 101, 210, 95, 95,
|
||||
450, 150, 195, 135,
|
||||
120, "(60)) - please confirm with Marianne, EPR", 45, 90.5, 42.4,
|
||||
25, 25, 25, "Please ask for Design Revision"
|
||||
"25 - check on right", "25 - check on right", "25 - check on right", "Please ask for Design Revision"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +91,8 @@ ra = df[
|
|||
df["ra"].str.lower().isin(["completed rdsap 10", "completed rdsap 9.9", "completed", "complete"])
|
||||
].copy()
|
||||
ra["job_type"] = "RA"
|
||||
ra["evidence_record"] = None
|
||||
ra["invoice_record"] = None
|
||||
filtered_dfs.append(ra)
|
||||
|
||||
|
||||
|
|
@ -99,6 +101,8 @@ att = df[
|
|||
df["att"].str.lower().isin(["completed"])
|
||||
].copy()
|
||||
att["job_type"] = "ATT"
|
||||
att["evidence_record"] = None
|
||||
att["invoice_record"] = None
|
||||
filtered_dfs.append(att)
|
||||
|
||||
# V1 Coordination
|
||||
|
|
@ -106,11 +110,15 @@ v1 = df[
|
|||
df["coordination status"].str.lower().isin(["ima/mtp completed"])
|
||||
].copy()
|
||||
v1["job_type"] = "Coordination Stage 1 v1"
|
||||
v1["evidence_record"] = None
|
||||
v1["invoice_record"] = None
|
||||
filtered_dfs.append(v1)
|
||||
|
||||
# V2 Coordination
|
||||
_ = df[df["v2 mtp status"].fillna('').str.lower().isin(['v2 ima-mtp completed', 'v2 completed'])].copy()
|
||||
_["job_type"] = "Coordination Stage 1 v2 remodel"
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# V3 Coordination
|
||||
|
|
@ -125,6 +133,8 @@ cors2 = df[
|
|||
df["rc stg. 2"].str.lower().isin(["to invoice"])
|
||||
]
|
||||
cors2["job_type"] = "Coordination Stage 2"
|
||||
cors2["evidence_record"] = None
|
||||
cors2["invoice_record"] = None
|
||||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design Archetype
|
||||
|
|
@ -133,6 +143,8 @@ design1 = df[
|
|||
].copy()
|
||||
design1 = design1[design1["design type for invoicing"].str.lower().isin(['archetype'])].copy()
|
||||
design1["job_type"] = "Design Archetype"
|
||||
design1["evidence_record"] = None
|
||||
design1["invoice_record"] = None
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design Repetitive
|
||||
|
|
@ -141,6 +153,8 @@ design1 = df[
|
|||
].copy()
|
||||
design1 = design1[design1["design type for invoicing"].str.lower().isin(['repetitive'])].copy()
|
||||
design1["job_type"] = "Design repetitive"
|
||||
design1["evidence_record"] = None
|
||||
design1["invoice_record"] = None
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design Revision
|
||||
|
|
@ -148,6 +162,8 @@ design_revision = df[
|
|||
df["design revision invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
design_revision["job_type"] = "Design repetitive"
|
||||
design_revision["evidence_record"] = None
|
||||
design_revision["invoice_record"] = None
|
||||
filtered_dfs.append(design_revision)
|
||||
|
||||
# Lodgement Phase 1
|
||||
|
|
@ -155,6 +171,8 @@ lodg1 = df[
|
|||
df["phase 1 invoice status (lodgement)"].str.lower().isin(["done"])
|
||||
].copy()
|
||||
lodg1["job_type"] = "Lodgement Phase 1"
|
||||
lodg1["evidence_record"] = None
|
||||
lodg1["invoice_record"] = None
|
||||
filtered_dfs.append(lodg1)
|
||||
|
||||
# Full Lodgement Phase
|
||||
|
|
@ -162,6 +180,8 @@ lodg2 = df[
|
|||
df["lodgement invoice status (lodgement)"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
lodg2["job_type"] = "Full lodgement phase 2"
|
||||
lodg2["evidence_record"] = None
|
||||
lodg2["invoice_record"] = None
|
||||
filtered_dfs.append(lodg2)
|
||||
|
||||
# POST EPC
|
||||
|
|
@ -169,6 +189,8 @@ post_epc = df[
|
|||
df["post epc"].str.lower().isin(["success", "pics uploaded"])
|
||||
].copy()
|
||||
post_epc["job_type"] = "POST EPC"
|
||||
post_epc["evidence_record"] = None
|
||||
post_epc["invoice_record"] = None
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
|
||||
|
|
@ -177,6 +199,8 @@ post_epr = df[
|
|||
df["post epc"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST EPR"
|
||||
post_epr["evidence_record"] = None
|
||||
post_epr["invoice_record"] = None
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
|
||||
|
|
@ -185,6 +209,8 @@ post_att = df[
|
|||
df["post att"].str.lower().isin(["uploaded"])
|
||||
].copy()
|
||||
post_att["job_type"] = "POST ATT"
|
||||
post_att["evidence_record"] = None
|
||||
post_att["invoice_record"] = None
|
||||
filtered_dfs.append(post_att)
|
||||
|
||||
|
||||
|
|
@ -193,6 +219,8 @@ retro = df[
|
|||
df["retrofit evaluation"].str.lower().isin(["uploaded", "completed", "to invoice"])
|
||||
].copy()
|
||||
retro["job_type"] = "Retrofit Evaluation"
|
||||
retro["evidence_record"] = None
|
||||
retro["invoice_record"] = None
|
||||
filtered_dfs.append(retro)
|
||||
|
||||
# RA NO Show
|
||||
|
|
@ -201,6 +229,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -210,6 +240,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -219,6 +251,8 @@ epc_ns = df[
|
|||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "Post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["post epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["post epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -232,7 +266,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "Platform Housing W2 (in use)"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ rate_card_data = {
|
|||
165.75, 72.25, 174.25, 174.25, 174.25,
|
||||
175, 175, 124.25, 135,
|
||||
120, "(60) - please check with Marianne", 45, 63.75, 34,
|
||||
25, 25, 25, "Please ask marianne or kev for design revision"
|
||||
"25 - check number on right", "25 - check number on right", "25- check with number on right", "Please ask marianne or kev for design revision"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -90,6 +90,8 @@ ra = df[
|
|||
df["ra"].str.lower().isin(["completed rdsap 10", "completed rdsap 9.9"])
|
||||
].copy()
|
||||
ra["job_type"] = "RA"
|
||||
ra["evidence_record"] = None
|
||||
ra["invoice_record"] = None
|
||||
filtered_dfs.append(ra)
|
||||
|
||||
|
||||
|
|
@ -98,6 +100,8 @@ att = df[
|
|||
df["att"].str.lower().isin(["completed"])
|
||||
].copy()
|
||||
att["job_type"] = "ATT"
|
||||
att["evidence_record"] = None
|
||||
att["invoice_record"] = None
|
||||
filtered_dfs.append(att)
|
||||
|
||||
# V1 Coordination
|
||||
|
|
@ -105,26 +109,36 @@ v1 = df[
|
|||
df["v1 coordination status (ioe,mtp)"].str.lower().isin(["rc complete"])
|
||||
].copy()
|
||||
v1["job_type"] = "Coordination Stage 1 v1"
|
||||
v1["evidence_record"] = None
|
||||
v1["invoice_record"] = None
|
||||
filtered_dfs.append(v1)
|
||||
|
||||
# V2 Coordination
|
||||
_ = df[df["mtp v2 status"].str.lower().isin(['rc v2 complete'])].copy()
|
||||
_["job_type"] = "Coordination Stage 1 v2 remodel"
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# V2 Coordination
|
||||
_ = df[df["mtp v2 invoiced"].str.lower().isin(['needs to be invoiced'])].copy()
|
||||
_["job_type"] = "Coordination Stage 1 v2 remodel"
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# V3 Coordination
|
||||
v3 = df[df["v3 rc status"].str.lower().isin(['uploaded'])].copy()
|
||||
v3["job_type"] = "Coordination Stage 1 v3 remodel"
|
||||
v3["evidence_record"] = None
|
||||
v3["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# V3 Coordination
|
||||
v3 = df[df["v3 invoice status"].str.lower().isin(['to be invoiced'])].copy()
|
||||
v3["job_type"] = "Coordination Stage 1 v3 remodel"
|
||||
v3["evidence_record"] = None
|
||||
v3["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# Coordination stage 2 Please complete
|
||||
|
|
@ -132,6 +146,8 @@ cors2 = df[
|
|||
df["rc stg. 2 status"].str.lower().isin(["to invoice", "completed"])
|
||||
]
|
||||
cors2["job_type"] = "Coordination Stage 2"
|
||||
cors2["evidence_record"] = None
|
||||
cors2["invoice_record"] = None
|
||||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design Archetype
|
||||
|
|
@ -140,6 +156,8 @@ design1 = df[
|
|||
].copy()
|
||||
design1 = design1[design1["design type"].str.lower().isin(["archetype"])].copy()
|
||||
design1["job_type"] = "Design Archetype"
|
||||
design1["evidence_record"] = None
|
||||
design1["invoice_record"] = None
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design Repetitive
|
||||
|
|
@ -148,6 +166,8 @@ design1 = df[
|
|||
].copy()
|
||||
design1 = design1[design1["design type"].str.lower().isin(["repetitive"])].copy()
|
||||
design1["job_type"] = "Design Repetitive"
|
||||
design1["evidence_record"] = None
|
||||
design1["invoice_record"] = None
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design Revision
|
||||
|
|
@ -155,6 +175,8 @@ design_revision = df[
|
|||
df["design revision invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
design_revision["job_type"] = "Design repetitive"
|
||||
design_revision["evidence_record"] = None
|
||||
design_revision["invoice_record"] = None
|
||||
filtered_dfs.append(design_revision)
|
||||
|
||||
# Lodgement Phase 1
|
||||
|
|
@ -162,6 +184,8 @@ lodg1 = df[
|
|||
df["phase 1 invoice status (lodgement)"].str.lower().isin(["done", "to be invoiced"])
|
||||
].copy()
|
||||
lodg1["job_type"] = "Lodgement Phase 1"
|
||||
lodg1["evidence_record"] = None
|
||||
lodg1["invoice_record"] = None
|
||||
filtered_dfs.append(lodg1)
|
||||
|
||||
# Full Lodgement Phase
|
||||
|
|
@ -169,6 +193,8 @@ _ = df[
|
|||
df["lodgement invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
_["job_type"] = "Full lodgement phase 2"
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
filtered_dfs.append(_)
|
||||
|
||||
# POST EPC
|
||||
|
|
@ -176,6 +202,8 @@ post_epc = df[
|
|||
df["post epc"].str.lower().isin(["completed & uploaded"])
|
||||
].copy()
|
||||
post_epc["job_type"] = "POST EPC"
|
||||
post_epc["evidence_record"] = None
|
||||
post_epc["invoice_record"] = None
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
|
||||
|
|
@ -184,6 +212,8 @@ post_epr = df[
|
|||
df["post epc"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST EPR"
|
||||
post_epr["evidence_record"] = None
|
||||
post_epr["invoice_record"] = None
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
# Post ATT
|
||||
|
|
@ -191,6 +221,8 @@ post_att = df[
|
|||
df["post att"].str.lower().isin(["completed & uploaded"])
|
||||
].copy()
|
||||
post_att["job_type"] = "POST ATT"
|
||||
post_att["evidence_record"] = None
|
||||
post_att["invoice_record"] = None
|
||||
filtered_dfs.append(post_att)
|
||||
|
||||
|
||||
|
|
@ -199,6 +231,8 @@ retro = df[
|
|||
df["retrofit evaluation"].str.lower().isin(["completed & uploaded"])
|
||||
].copy()
|
||||
retro["job_type"] = "Retrofit Evaluation"
|
||||
retro["evidence_record"] = None
|
||||
retro["invoice_record"] = None
|
||||
filtered_dfs.append(retro)
|
||||
|
||||
# RA NO Show
|
||||
|
|
@ -207,6 +241,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -216,6 +252,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -225,6 +263,8 @@ epc_ns = df[
|
|||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["post epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["post epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -240,7 +280,7 @@ timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
|||
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "Stonewater - (in use)"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ rate_card_data_sp_plus = {
|
|||
170, 70, 200, "check with Kevin", "check with Kevin",
|
||||
470, 155, 165, 135,
|
||||
120, "60 but check with Kevin as EPR", 45, 70, 40,
|
||||
30, 30, 30
|
||||
"30 - check number on right", "30 - check number on right", "30 - check number on right"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ rate_card_data_net_zero = {
|
|||
170, 70, 200, emp_msg, emp_msg,
|
||||
325, 140, 165, 135,
|
||||
120, "60 but check with Kevin as EPR", 45, 70, 40,
|
||||
30, 30, 30
|
||||
"30 - check number on right", "30- check number on right", "30 - check number on right"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -126,6 +126,9 @@ def get_df(df, column_name, success_critera, job_name=None):
|
|||
].copy()
|
||||
if job_name:
|
||||
_["job_type"] = job_name
|
||||
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
return _
|
||||
|
||||
|
||||
|
|
@ -207,6 +210,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["epc no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["epc no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -216,15 +221,20 @@ att_ns = df[
|
|||
(df["att no show evidence"] != 0 )
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
||||
# Post visit no show
|
||||
epc_ns = df[
|
||||
(df["epc no show evidence"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0 )
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["epc no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["epc no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -247,7 +257,7 @@ import datetime
|
|||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
combined_with_rates_sp_plus[attribute].to_excel(f'HomeGroup Wave 2SP+_{timestamp}.xlsx', index=False)
|
||||
combined_with_rates_net_zero_df[attribute].to_excel(f'HomeGroup Wave NetZero_{timestamp}.xlsx', index=False)
|
||||
combined_with_rates_other_from_home_group[attribute].to_excel(f'HomeGroup Wave Unsure_who_to_bill_{timestamp}.xlsx', index=False)
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@ rate_card_data = {
|
|||
"RA", "ATT", "Coordination Stage 1 v1", "Coordination Stage 1 v2 remodel", "Coordination Stage 1 v3 remodel",
|
||||
"Design Archetype Complex", "Design Archetype Simple", "Design Repetitive Simple", "Coordination Stage 2", "Lodgement phase 1", "Full lodgement phase 2",
|
||||
"Post EPR", "Post EPC", "Post ATT", "retrofit evaluation",
|
||||
"RA no show", "ATT no show", "post EPC no show", "Design Revision"
|
||||
"RA no show", "ATT no show", "post EPC no show", "Design Revision", "Design Repetitive Complex", "design type not specified"
|
||||
],
|
||||
"rate": [
|
||||
259, 125, 280, 125, 125,
|
||||
650, 415, 195, 175, 135,
|
||||
120, "60 - Double check with Kevin/Marianne EPR", 85, 125, 60,
|
||||
45, 45, 45, "Design Revision check with Kevin/Marianne"
|
||||
"45- check with right", "45 - check with right", "45 - check with right", "Design Revision check with Kevin/Marianne", "ask junte to add", "ask andreas"
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -92,6 +92,8 @@ def get_df(df, column_name, success_critera, job_name=None):
|
|||
].copy()
|
||||
if job_name:
|
||||
_["job_type"] = job_name
|
||||
_["evidence_record"] = None
|
||||
_["invoice_record"] = None
|
||||
return _
|
||||
|
||||
|
||||
|
|
@ -123,22 +125,35 @@ cors2 = get_df(df, "rc stg. 2", ["to invoice"], "Coordination Stage 2")
|
|||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design Archtype Complex
|
||||
design1 = get_df(df, "rd invoiced", ["to invoice"])
|
||||
design1 = get_df(design1, "design type", ["archetype (complex)"])
|
||||
design = get_df(df, "rd invoiced", ["to invoice"])
|
||||
design1 = get_df(design, "design type", ["archetype (complex)"])
|
||||
design1 = get_df(design1, "design upload to sharepoint", ["done"], "Design Archetype Complex")
|
||||
filtered_dfs.append(design1)
|
||||
if not design1.empty:
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design Archtype Simple
|
||||
design1 = get_df(df, "rd invoiced", ["to invoice"])
|
||||
design1 = get_df(design1, "design type", ["archetype (simple)"])
|
||||
design1 = get_df(design1, "design upload to sharepoint", ["done"], "Design Archetype Simple")
|
||||
filtered_dfs.append(design1)
|
||||
design2 = get_df(design, "design type", ["archetype (simple)"])
|
||||
design2 = get_df(design2, "design upload to sharepoint", ["done"], "Design Archetype Simple")
|
||||
if not design2.empty:
|
||||
filtered_dfs.append(design2)
|
||||
|
||||
# Design Repitive Simple
|
||||
design1 = get_df(df, "rd invoiced", ["to invoice"])
|
||||
design1 = get_df(design1, "design type", ["Design Repetitive Simple"])
|
||||
design1 = get_df(design1, "design upload to sharepoint", ["done"], "Design Repetitive Simple")
|
||||
filtered_dfs.append(design1)
|
||||
design3 = get_df(design, "design type", ["repetitive (simple)"])
|
||||
design3 = get_df(design3, "design upload to sharepoint", ["done"], "Design Repetitive Simple")
|
||||
if not design3.empty:
|
||||
filtered_dfs.append(design3)
|
||||
|
||||
# Design Reptitive Complex
|
||||
design4 = get_df(design, "design type", ["repetitive (complex)"])
|
||||
design4 = get_df(design4, "design upload to sharepoint", ["done"], "Design Repetitive Complex")
|
||||
if not design4.empty:
|
||||
filtered_dfs.append(design4)
|
||||
|
||||
all_filtered = pd.concat([df for df in (design1, design2, design3, design4) if not df.empty])
|
||||
design_remaining = design.loc[~design.index.isin(all_filtered.index)]
|
||||
if not design_remaining.empty:
|
||||
design_remaining["job_type"] = "design type not specified"
|
||||
filtered_dfs.append(design_remaining)
|
||||
|
||||
# Design revision
|
||||
design2 = get_df(df, "design revision invoice status", [
|
||||
|
|
@ -168,6 +183,8 @@ post_epr = df[
|
|||
df["post epc status"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST epr"
|
||||
post_epr["evidence_record"] = None
|
||||
post_epr["invoice_record"] = None
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
# Post ATT
|
||||
|
|
@ -185,6 +202,8 @@ ra_ns = df[
|
|||
(df["ra no show evidence"] != 0 )
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
ra_ns["evidence_record"] = ra_ns["ra no show evidence"]
|
||||
ra_ns["invoice_record"] = ra_ns["ra no show invoice"]
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
||||
|
||||
|
|
@ -194,6 +213,8 @@ att_ns = df[
|
|||
(df["att no show evidence"] !=0 )
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
att_ns["evidence_record"] = att_ns["att no show evidence"]
|
||||
att_ns["invoice_record"] = att_ns["att no show invoice"]
|
||||
filtered_dfs.append(att_ns)
|
||||
|
||||
|
||||
|
|
@ -202,6 +223,8 @@ epc_ns = df[
|
|||
df["post works no show evidence"].fillna(-9999) != df["post works no show invoice"].fillna(-9999)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
epc_ns["evidence_record"] = epc_ns["post works no show evidence"]
|
||||
epc_ns["invoice_record"] = epc_ns["post works no show invoice"]
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
|
@ -218,7 +241,7 @@ timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
|||
|
||||
|
||||
# Upload to sharepoint
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
attribute = ['address', 'client', 'job_type', 'rate', "evidence_record", "invoice_record"]
|
||||
master_folder_name = "NCHA SHDF 2.1 SBS"
|
||||
file_name = f"{master_folder_name}_{timestamp}.xlsx"
|
||||
combined_with_rates[attribute].to_excel(file_name, index=False)
|
||||
|
|
|
|||
|
|
@ -15,16 +15,16 @@ board_ids = [
|
|||
]
|
||||
|
||||
empty = "Rate card info missing"
|
||||
junte = "ask junte to update"
|
||||
junte = "ask junte to update - He'll need to ask finance for ratecard and didn't change once they updated"
|
||||
rate_card_data_2502_accent_housing = {
|
||||
"job_type": [
|
||||
"First half of MTP", "Second half of MTP", "Full MTP", "Design Archetype Complex",
|
||||
"First half of MTP", "Second half of MTP", "full cost mtp", "Design Archetype Complex",
|
||||
"Design Archetype Simple", "Design Repetitive Complex", "Design Repetitive Simple",
|
||||
"Design Revision", "design type not specified",
|
||||
"Design Revision", "design type not specified", "Coordination Stage 2", "POST EPC", "POST EPR", "POST ATT", "post EPC NO SHOW"
|
||||
|
||||
],
|
||||
"rate": [
|
||||
150, 130, 280, junte, junte, junte, junte, junte, "please ask andreas"
|
||||
150, 130, 280, junte, junte, junte, junte, junte, "please ask andreas", junte, junte, junte, junte, junte
|
||||
]
|
||||
}
|
||||
# ToDO
|
||||
|
|
@ -133,6 +133,33 @@ for letter in revision_letter:
|
|||
if not design.empty:
|
||||
filtered_dfs.append(design)
|
||||
|
||||
# Coordination Stage 2
|
||||
rc = get_df(df, "rc stage 2", ["to invoice"], "Coordination Stage 2")
|
||||
if not rc.empty:
|
||||
filtered_dfs.append(rc)
|
||||
|
||||
# POST EPC + Retrofit Evaluation
|
||||
post_epc = get_df(df, "post epc & eval. invoicing status", ["epc to invoice"], "POST EPC")
|
||||
if not post_epc.empty:
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
# POST EPR
|
||||
post_epr = get_df(df, "post epc & eval. invoicing status", ["epr to invoice"], "POST EPR")
|
||||
if not post_epr.empty:
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
# Post ATT
|
||||
post_att = get_df(df, "post att invoicing status", ["to invoice"], "POST ATT")
|
||||
if not post_att.empty:
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
# Post visit no show
|
||||
epc_ns = get_df(df, "post works no show invoice", ["to invoice","to invoice (+1 previous no show)", "to invoice (+2 previous no shows)"], "post EPC NO SHOW")
|
||||
if not epc_ns.empty:
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
|
||||
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue