diff --git a/helpers/lotOccupancyDB/getWorkOrders.d.ts b/helpers/lotOccupancyDB/getWorkOrders.d.ts index e66886e4..f50836ce 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.d.ts @@ -1,6 +1,7 @@ import type * as recordTypes from "../../types/recordTypes"; interface GetWorkOrdersFilters { workOrderTypeId?: number | string; + workOrderOpenStatus?: "" | "open" | "closed"; } interface GetWorkOrdersOptions { limit: number; diff --git a/helpers/lotOccupancyDB/getWorkOrders.js b/helpers/lotOccupancyDB/getWorkOrders.js index 42adc53c..6a09fa7b 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.js +++ b/helpers/lotOccupancyDB/getWorkOrders.js @@ -12,6 +12,14 @@ export const getWorkOrders = (filters, options) => { sqlWhereClause += " and w.workOrderTypeId = ?"; sqlParameters.push(filters.workOrderTypeId); } + if (filters.workOrderOpenStatus) { + if (filters.workOrderOpenStatus === "open") { + sqlWhereClause += " and w.workOrderCloseDate is null"; + } + else if (filters.workOrderOpenStatus === "closed") { + sqlWhereClause += " and w.workOrderCloseDate is not null"; + } + } const count = database .prepare("select count(*) as recordCount" + " from WorkOrders w" + diff --git a/helpers/lotOccupancyDB/getWorkOrders.ts b/helpers/lotOccupancyDB/getWorkOrders.ts index af51d4f1..bdb342cd 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.ts @@ -8,6 +8,7 @@ import type * as recordTypes from "../../types/recordTypes"; interface GetWorkOrdersFilters { workOrderTypeId?: number | string; + workOrderOpenStatus?: "" | "open" | "closed"; } interface GetWorkOrdersOptions { @@ -35,6 +36,14 @@ export const getWorkOrders = ( sqlWhereClause += " and w.workOrderTypeId = ?"; sqlParameters.push(filters.workOrderTypeId); } + + if (filters.workOrderOpenStatus) { + if (filters.workOrderOpenStatus === "open") { + sqlWhereClause += " and w.workOrderCloseDate is null"; + } else if (filters.workOrderOpenStatus === "closed") { + sqlWhereClause += " and w.workOrderCloseDate is not null"; + } + } const count: number = database .prepare( diff --git a/views/workOrder-search.ejs b/views/workOrder-search.ejs index 19c43271..a2fcd25c 100644 --- a/views/workOrder-search.ejs +++ b/views/workOrder-search.ejs @@ -32,21 +32,40 @@ -
- -
-
- +
+
+
+ +
+
+ +
+ + + +
- - -
+
+
+ +
+
+ +
+
+
+ +