filter work orders by open status

deepsource-autofix-76c6eb20
Dan Gowans 2022-09-09 15:06:53 -04:00
parent 7eac5a1ba0
commit ff5473bf8a
4 changed files with 50 additions and 13 deletions

View File

@ -1,6 +1,7 @@
import type * as recordTypes from "../../types/recordTypes";
interface GetWorkOrdersFilters {
workOrderTypeId?: number | string;
workOrderOpenStatus?: "" | "open" | "closed";
}
interface GetWorkOrdersOptions {
limit: number;

View File

@ -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" +

View File

@ -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(

View File

@ -32,21 +32,40 @@
<input id="searchFilter--limit" name="limit" type="hidden" value="100" />
<input id="searchFilter--offset" name="offset" type="hidden" value="0" />
<div class="field">
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
<div class="control has-icons-left">
<div class="select is-fullwidth">
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId">
<option value="">(All Work Order Types Types)</option>
<% for (const workOrderType of workOrderTypes) { %>
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></option>
<% } %>
</select>
<div class="columns">
<div class="column">
<div class="field">
<label class="label" for="searchFilter--workOrderTypeId">Work Order Type</label>
<div class="control has-icons-left">
<div class="select is-fullwidth">
<select id="searchFilter--workOrderTypeId" name="workOrderTypeId">
<option value="">(All Work Order Types Types)</option>
<% for (const workOrderType of workOrderTypes) { %>
<option value="<%= workOrderType.workOrderTypeId %>"><%= workOrderType.workOrderType || "(No Name)" %></option>
<% } %>
</select>
</div>
<span class="icon is-small is-left">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
</div>
</div>
<span class="icon is-small is-left">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
</div>
<div class="column">
<div class="field">
<label class="label" for="searchFilter--workOrderOpenStatus">Open Status</label>
<div class="control">
<div class="select is-fullwidth">
<select id="searchFilter--workOrderOpenStatus" name="workOrderOpenStatus">
<option value="">(All Statuses)</option>
<option value="open" selected>Open</option>
<option value="closed">Closed</option>
</select>
</div>
</div>
</div>
</div>
</div>
</form>
</div>