month end automation

This commit is contained in:
Jun-te Kim 2025-07-23 10:55:55 +00:00
parent 1741c647af
commit e1842b4150

View file

@ -71,6 +71,7 @@ filtered_dfs = []
ra = df[
df["ra"].str.lower().isin(["completed rdsap 10", "completed rdsap 9.9"])
].copy()
ra["job_type"] = "RA"
filtered_dfs.append(ra)
@ -78,68 +79,94 @@ filtered_dfs.append(ra)
att = df[
df["att"].str.lower().isin(["completed"])
].copy()
att["job_type"] = "ATT"
filtered_dfs.append(att)
# V1 Coordination
v1 = df[
df["v1 coordination status"].str.lower().isin(["rc complete"])
].copy()
v1["job_type"] = "V1 Coordination"
filtered_dfs.append(v1)
# V2 Coordination
_ = df[df["v2 invoiced"].fillna('').str.lower().isin(['to be invoiced'])]
v2 = _[_["v2 dc/ima/pas"] > 0]
v2 = _[_["v2 dc/ima/pas"] > 0].copy()
v2["job_type"] = "V2 Coordination"
filtered_dfs.append(v2)
# V3 Coordination
v3 = df[
df["v3 invoiced"].str.lower().isin(["to be invoiced"])
].copy()
v3["job_type"] = "V3 Coordination"
filtered_dfs.append(v3)
# Design stage 1
design1 = df[
df["design invoice status"].str.lower().isin(["to invoice"])
]
].copy()
design1["job_type"] = "Design"
filtered_dfs.append(design1)
# Design stage 2
design2 = df[
df["revision 2 design invoice"].str.lower().isin(["to invoice"])
]
].copy()
design2["job_type"] = "Design Revision"
filtered_dfs.append(design2)
# Lodgement Phase 1
lodg1 = df[
df["lodg. phase 1 invoice status"].str.lower().isin(["to invoice"])
]
].copy()
lodg1["job_type"] = "Lodgement Phase 1"
filtered_dfs.append(lodg1)
# Full Lodgement Phase
lodg2 = df[
df["full lodgement invoice status"].str.lower().isin(["to invoice"])
]
].copy()
lodg2["job_type"] = "Full Lodgement"
filtered_dfs.append(lodg2)
# POST EPC
# !!! Need Kevins input ( how does he determine invoice in this one)
post_epc = df[
df["post-epc status"].str.lower().isin(["epc pics uploaded"])
].copy()
post_epc["job_type"] = "POST EPC"
filtered_dfs.append(post_epc)
# POST EPR
post_epr = df[
df["post-epc status"].str.lower().isin(["post epr completed"])
].copy()
post_epr["job_type"] = "POST ATT"
filtered_dfs.append(post_epr)
# Post ATT
# !!! Check with kevin, if he uses epc pic uploaded ( to invoice ) or uses anything else
filtered_df = df[
post_att = df[
df["post-att"].str.lower().isin(["post-att uploaded"])
]
].copy()
post_att["job_type"] = "POST ATT"
filtered_dfs.append(post_att)
# Retrofit Evaluation
retro = df[
df["retrofit evaluation"].str.lower().isin(["complete"])
]
].copy()
retro["job_type"] = "Retrofit Evaluation"
filtered_dfs.append(retro)
# RA NO Show
ra_ns = df[
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
]
].copy()
ra_ns["job_type"] = "RA NO SHOW"
filtered_dfs.append(ra_ns)
@ -147,15 +174,18 @@ filtered_dfs.append(ra_ns)
# ATT NO Show
att_ns = df[
df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)
]
].copy()
att_ns["job_type"] = "ATT NO SHOW"
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)
]
].copy()
epc_ns["job_type"] = "EPC NO SHOW"
filtered_dfs.append(epc_ns)
final_df = pd.concat(filtered_dfs).drop_duplicates().reset_index(drop=True)
final_df[['address', 'client', 'job_type']]