mirror of
https://github.com/Hestia-Homes/survey-extraction.git
synced 2026-06-08 11:17:29 +00:00
no show re write
This commit is contained in:
parent
7ee4bf5310
commit
d1483fe072
14 changed files with 179 additions and 55 deletions
|
|
@ -9,9 +9,26 @@ import json
|
|||
|
||||
monday_key = "eyJhbGciOiJIUzI1NiJ9.eyJ0aWQiOjQ5ODc2ODQxOCwiYWFpIjoxMSwidWlkIjozNjE3ODAzNCwiaWFkIjoiMjAyNS0wNC0xMVQxMToyMzoxNy40NjdaIiwicGVyIjoibWU6d3JpdGUiLCJhY3RpZCI6MTM5OTc4MjMsInJnbiI6InVzZTEifQ.-2Lit4s46ZF6AXuMW9t0TxIaFLkHqD4Yo-PyM9i2XZY"
|
||||
monday = MondayClient(monday_key)
|
||||
# NCHK SHDF Westville Wave 1 & 2
|
||||
# NCHA SHDF Westville Wave 1 & 2
|
||||
board_ids = ["3900434153"]
|
||||
|
||||
rate_card_data = {
|
||||
"job_type": [
|
||||
"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 EPC", "Post ATT", "retrofit evaluation",
|
||||
"RA no show", "ATT no show", "post EPC no show"
|
||||
],
|
||||
"rate": [
|
||||
207.65, 101, 186.4, 98, 98,
|
||||
450, 150, 163, 135, 120,
|
||||
45, 90.5, 40,
|
||||
25, 25, 25
|
||||
]
|
||||
}
|
||||
|
||||
rate_card_df = pd.DataFrame(rate_card_data)
|
||||
|
||||
|
||||
for board in tqdm(board_ids):
|
||||
board_data = monday.boards.fetch_boards_by_id(board)
|
||||
|
|
@ -87,55 +104,69 @@ filtered_dfs.append(att)
|
|||
v1 = df[
|
||||
df["v1 coordination status"].str.lower().isin(["rc complete"])
|
||||
].copy()
|
||||
v1["job_type"] = "V1 Coordination"
|
||||
v1["job_type"] = "Coordination Stage 1 v1"
|
||||
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"] = "V2 Coordination"
|
||||
v2["job_type"] = "Coordination Stage 1 v2 remodel"
|
||||
filtered_dfs.append(v2)
|
||||
|
||||
# V3 Coordination
|
||||
v3 = df[
|
||||
df["v3 invoiced"].str.lower().isin(["to be invoiced"])
|
||||
].copy()
|
||||
v3["job_type"] = "V3 Coordination"
|
||||
v3["job_type"] = "Coordination Stage 1 v3 remodel"
|
||||
filtered_dfs.append(v3)
|
||||
|
||||
# Design stage 1
|
||||
# Coordination stage 2
|
||||
cors2 = df[
|
||||
df["rc stg. 2"].str.lower().isin(["to invoice", "completed"])
|
||||
]
|
||||
cors2["joby_type"] = "Coordination Stage 2"
|
||||
filtered_dfs.append(cors2)
|
||||
|
||||
# Design type archietype
|
||||
design1 = df[
|
||||
df["design invoice status"].str.lower().isin(["to invoice"])
|
||||
(df["design type for invoicing"].str.lower().isin(["archetype"])) & (df["design invoice status"].str.lower().isin(["to invoice"]))
|
||||
].copy()
|
||||
design1["job_type"] = "Design"
|
||||
design1["job_type"] = "Design Archetype"
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design stage 2
|
||||
# design type reptitive
|
||||
design1 = df[
|
||||
(df["design type for invoicing"].str.lower().isin(["repetitive"])) & df["design invoice status"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
design1["job_type"] = "Design Repetitive"
|
||||
filtered_dfs.append(design1)
|
||||
|
||||
# Design stage revisions
|
||||
design2 = df[
|
||||
df["revision 2 design invoice"].str.lower().isin(["to invoice"])
|
||||
].copy()
|
||||
design2["job_type"] = "Design Revision"
|
||||
design2["job_type"] = "Design Repetitive"
|
||||
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"
|
||||
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"
|
||||
lodg2["job_type"] = "Full Lodgement phase 2"
|
||||
filtered_dfs.append(lodg2)
|
||||
|
||||
# POST EPC
|
||||
post_epc = df[
|
||||
df["post-epc status"].str.lower().isin(["epc pics uploaded"])
|
||||
].copy()
|
||||
post_epc["job_type"] = "POST EPC"
|
||||
post_epc["job_type"] = "Post EPC"
|
||||
filtered_dfs.append(post_epc)
|
||||
|
||||
|
||||
|
|
@ -143,7 +174,7 @@ filtered_dfs.append(post_epc)
|
|||
post_epr = df[
|
||||
df["post-epc status"].str.lower().isin(["post epr completed"])
|
||||
].copy()
|
||||
post_epr["job_type"] = "POST ATT"
|
||||
post_epr["job_type"] = "Post ATT"
|
||||
filtered_dfs.append(post_epr)
|
||||
|
||||
|
||||
|
|
@ -165,7 +196,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -174,7 +206,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -182,11 +215,22 @@ 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"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
epc_ns["job_type"] = "post EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
||||
final_df[['address', 'client', 'job_type']]
|
||||
|
||||
final_df["job_type"] = final_df["job_type"].str.lower()
|
||||
rate_card_df["job_type"] = rate_card_df["job_type"].str.lower()
|
||||
|
||||
# Now perform the merge
|
||||
combined_with_rates = final_df.merge(rate_card_df, on="job_type", how="left")
|
||||
import datetime
|
||||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
combined_with_rates[attribute].to_csv(f'NCHA SHDF Westville Wave 1 & 2_{timestamp}.csv', index=False)
|
||||
|
|
|
|||
|
|
@ -144,7 +144,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] !=0 )
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -152,7 +153,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
|
|||
|
|
@ -152,7 +152,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# ATT NO Show
|
||||
att_ns = df[
|
||||
df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
|
|||
|
|
@ -141,7 +141,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -157,7 +158,8 @@ filtered_dfs.append(ra_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"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -140,7 +140,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0 )
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -159,7 +160,8 @@ filtered_dfs.append(ra_ns)
|
|||
|
||||
# Post visit no show
|
||||
epc_ns = df[
|
||||
df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)
|
||||
(df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)) &
|
||||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -151,7 +152,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -159,7 +161,8 @@ 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"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -151,7 +152,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
|
|||
|
|
@ -164,7 +164,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df[" ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -173,7 +174,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -181,7 +183,8 @@ filtered_dfs.append(att_ns)
|
|||
|
||||
# Post visit no show
|
||||
epc_ns = df[
|
||||
df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)
|
||||
(df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)) &
|
||||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -168,7 +169,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -176,7 +178,8 @@ filtered_dfs.append(att_ns)
|
|||
|
||||
# Post visit no show
|
||||
epc_ns = df[
|
||||
df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)
|
||||
(df["post epc no show evidence"].fillna(-9999) != df["post epc no show invoice"].fillna(-9999)) &
|
||||
(df["post epc no show evidence"] != 0)
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -168,7 +169,8 @@ filtered_dfs.append(ra_ns)
|
|||
|
||||
# ATT NO Show
|
||||
att_ns = df[
|
||||
df["pre att no show evidence"].fillna(-9999) != df["pre att no show invoice"].fillna(-9999)
|
||||
(df["pre att no show evidence"].fillna(-9999) != df["pre att no show invoice"].fillna(-9999)) &
|
||||
(df["pre att no show evidence"] ! = 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -176,7 +178,8 @@ 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"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0 )
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -151,7 +152,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] != 0 )
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -159,7 +161,8 @@ 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"].fillna(-9999) != df["epc no show invoice"].fillna(-9999)) &
|
||||
(df["epc no show evidence"] != 0 )
|
||||
].copy()
|
||||
epc_ns["job_type"] = "EPC NO SHOW"
|
||||
filtered_dfs.append(epc_ns)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,23 @@ monday = MondayClient(monday_key)
|
|||
# NCHA SHDF 2.1 SBS
|
||||
board_ids = ["8668578700"]
|
||||
|
||||
rate_card_data = {
|
||||
"job_type": [
|
||||
"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 EPC", "Post ATT", "retrofit evaluation",
|
||||
"RA no show", "ATT no show", "post EPC no show"
|
||||
],
|
||||
"rate": [
|
||||
259, 125, 280, 125, 125,
|
||||
650, 415, 195, 175, 135,
|
||||
120, 85, 125, 60,
|
||||
25, 25, 25
|
||||
]
|
||||
}
|
||||
|
||||
rate_card_df = pd.DataFrame(rate_card_data)
|
||||
|
||||
|
||||
for board in tqdm(board_ids):
|
||||
board_data = monday.boards.fetch_boards_by_id(board)
|
||||
|
|
@ -67,11 +84,12 @@ df = pd.DataFrame(all_records)
|
|||
|
||||
filtered_dfs = []
|
||||
|
||||
def get_df(df, column_name, success_critera, job_name):
|
||||
def get_df(df, column_name, success_critera, job_name=None):
|
||||
_ = df[
|
||||
df[column_name].str.lower().isin(success_critera)
|
||||
].copy()
|
||||
_["job_type"] = job_name
|
||||
if job_name:
|
||||
_["job_type"] = job_name
|
||||
return _
|
||||
|
||||
|
||||
|
|
@ -87,21 +105,43 @@ filtered_dfs.append(att)
|
|||
# V1 Coordination
|
||||
v1 = get_df(df, "v1 coordination status".lower(), [
|
||||
"rc complete",
|
||||
], "V1 Coordination")
|
||||
], "Coordination Stage 1 v1")
|
||||
filtered_dfs.append(v1)
|
||||
|
||||
# V2 Coordination
|
||||
v2 = get_df(df, "v2 coordination status", ["rc v2 complete", "uploaded"], "V2 Coordination")
|
||||
v2 = get_df(df, "v2 coordination status", ["rc v2 complete", "uploaded"], "Coordination Stage 1 v2 remodel")
|
||||
filtered_dfs.append(v2)
|
||||
|
||||
# # V3 Coordination
|
||||
# v3 = get_df(df, "")
|
||||
# # filtered_dfs.append(v3)
|
||||
|
||||
# Design stage 1
|
||||
design1 = get_df(df, "rd invoiced", ["to invoice"], "Design")
|
||||
# TODO check with Kevin [Coordination stage 2, design complex and revision]
|
||||
# Corodination stage 2
|
||||
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)"])
|
||||
design1 = get_df(design1, "design upload to sharepoint", ["done"], "Design Archetype Complex")
|
||||
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)
|
||||
|
||||
# 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)
|
||||
|
||||
# TOOD Kevin:
|
||||
# Check with Design checks and check with cor dination stage 2 checks
|
||||
|
||||
# Design revision
|
||||
# design2 = get_df(df, "design revision invoice", [
|
||||
# "Rev. A to invoice".lower(),
|
||||
|
|
@ -120,7 +160,7 @@ lodg1 = get_df(df, "phase 1 to be invoiced".lower(), ["phase 1 to be invoiced"],
|
|||
filtered_dfs.append(lodg1)
|
||||
|
||||
# Full Lodgement Phase
|
||||
full_lodgement = get_df(df, "full lodgement invoice status".lower(), ["to be invoice"], "Full Lodgement")
|
||||
full_lodgement = get_df(df, "full lodgement invoice status".lower(), ["to be invoice"], "Full Lodgement phase 2")
|
||||
filtered_dfs.append(full_lodgement)
|
||||
|
||||
# POST EPC
|
||||
|
|
@ -146,7 +186,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0 )
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -154,7 +195,8 @@ 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)
|
||||
(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999)) &
|
||||
(df["att no show evidence"] !=0 )
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
@ -169,4 +211,15 @@ filtered_dfs.append(att_ns)
|
|||
|
||||
final_df = pd.concat(filtered_dfs).reset_index(drop=True)
|
||||
|
||||
final_df[['address', 'client', 'job_type']]
|
||||
final_df[['address', 'client', 'job_type']]
|
||||
|
||||
final_df["job_type"] = final_df["job_type"].str.lower()
|
||||
rate_card_df["job_type"] = rate_card_df["job_type"].str.lower()
|
||||
|
||||
# Now perform the merge
|
||||
combined_with_rates = final_df.merge(rate_card_df, on="job_type", how="left")
|
||||
import datetime
|
||||
timestamp = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
|
||||
|
||||
attribute = ['address', 'client', 'job_type', 'rate']
|
||||
combined_with_rates[attribute].to_csv(f'NCHA SHDF 2.1 SBS_{timestamp}.csv', index=False)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@ filtered_dfs.append(retro)
|
|||
|
||||
# RA NO Show
|
||||
ra_ns = df[
|
||||
df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)
|
||||
(df["ra no show evidence"].fillna(-9999) != df["ra no show invoice"].fillna(-9999)) &
|
||||
(df["ra no show evidence"] != 0)
|
||||
].copy()
|
||||
ra_ns["job_type"] = "RA NO SHOW"
|
||||
filtered_dfs.append(ra_ns)
|
||||
|
|
@ -151,7 +152,8 @@ 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)
|
||||
(df(df["att no show evidence"].fillna(-9999) != df["att no show invoice"].fillna(-9999))) &
|
||||
(df["att no show evidence"] != 0)
|
||||
].copy()
|
||||
att_ns["job_type"] = "ATT NO SHOW"
|
||||
filtered_dfs.append(att_ns)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue