feat: add data_date to project summary response
Include the schedule data date (last_recalc_date from XER) in the get_project_summary tool response. This shows when the schedule was last calculated in P6. Changes: - Add last_recalc_date column to projects table schema - Parse last_recalc_date in PROJECT table handler - Include last_recalc_date in db loader - Return data_date field in get_project_summary query - Update contract test to verify data_date presence
This commit is contained in:
@@ -25,14 +25,15 @@ def load_parsed_data(parsed: ParsedXer, project_id: str) -> None:
|
||||
# Insert project
|
||||
cur.execute(
|
||||
"""
|
||||
INSERT INTO projects (proj_id, proj_short_name, plan_start_date, plan_end_date)
|
||||
VALUES (?, ?, ?, ?)
|
||||
INSERT INTO projects (proj_id, proj_short_name, plan_start_date, plan_end_date, last_recalc_date)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
""",
|
||||
(
|
||||
project["proj_id"],
|
||||
project["proj_short_name"],
|
||||
project["plan_start_date"],
|
||||
project["plan_end_date"],
|
||||
project.get("last_recalc_date"),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -290,7 +290,7 @@ def get_project_summary(project_id: str) -> dict | None:
|
||||
with db.cursor() as cur:
|
||||
cur.execute(
|
||||
"""
|
||||
SELECT proj_id, proj_short_name, plan_start_date, plan_end_date
|
||||
SELECT proj_id, proj_short_name, plan_start_date, plan_end_date, last_recalc_date
|
||||
FROM projects
|
||||
WHERE proj_id = ?
|
||||
""",
|
||||
@@ -319,6 +319,7 @@ def get_project_summary(project_id: str) -> dict | None:
|
||||
return {
|
||||
"project_id": project_row[0],
|
||||
"project_name": project_row[1],
|
||||
"data_date": project_row[4],
|
||||
"plan_start_date": project_row[2],
|
||||
"plan_end_date": project_row[3],
|
||||
"activity_count": activity_count,
|
||||
|
||||
@@ -7,6 +7,7 @@ CREATE TABLE IF NOT EXISTS projects (
|
||||
proj_short_name TEXT NOT NULL,
|
||||
plan_start_date TEXT,
|
||||
plan_end_date TEXT,
|
||||
last_recalc_date TEXT,
|
||||
loaded_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||
);
|
||||
|
||||
|
||||
@@ -35,4 +35,5 @@ class ProjectHandler(TableHandler):
|
||||
"proj_short_name": data.get("proj_short_name", ""),
|
||||
"plan_start_date": convert_date(data.get("plan_start_date")),
|
||||
"plan_end_date": convert_date(data.get("plan_end_date")),
|
||||
"last_recalc_date": convert_date(data.get("last_recalc_date")),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user