linting
parent
ea8cd354f0
commit
63e407a21f
|
|
@ -77,7 +77,7 @@ const _getWorkOrder = (
|
||||||
|
|
||||||
if (options.includeComments) {
|
if (options.includeComments) {
|
||||||
workOrder.workOrderComments = getWorkOrderComments(
|
workOrder.workOrderComments = getWorkOrderComments(
|
||||||
workOrder.workOrderId,
|
workOrder.workOrderId as number,
|
||||||
database
|
database
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,7 @@ import * as configFunctions from "../functions.config.js";
|
||||||
import { getLots } from "./getLots.js";
|
import { getLots } from "./getLots.js";
|
||||||
import { getLotOccupancies } from "./getLotOccupancies.js";
|
import { getLotOccupancies } from "./getLotOccupancies.js";
|
||||||
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
||||||
export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
const buildWhereClause = (filters) => {
|
||||||
const database = connectedDatabase ||
|
|
||||||
sqlite(databasePath, {
|
|
||||||
readonly: true
|
|
||||||
});
|
|
||||||
database.function("userFn_dateIntegerToString", dateIntegerToString);
|
|
||||||
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
|
||||||
let sqlWhereClause = " where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
let sqlWhereClause = " where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
||||||
const sqlParameters = [];
|
const sqlParameters = [];
|
||||||
if (filters.workOrderId) {
|
if (filters.workOrderId) {
|
||||||
|
|
@ -28,16 +22,18 @@ export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
||||||
configFunctions.getProperty("settings.workOrders.workOrderMilestoneDateRecentAfterDays"));
|
configFunctions.getProperty("settings.workOrders.workOrderMilestoneDateRecentAfterDays"));
|
||||||
const recentAfterDateNumber = dateToInteger(date);
|
const recentAfterDateNumber = dateToInteger(date);
|
||||||
switch (filters.workOrderMilestoneDateFilter) {
|
switch (filters.workOrderMilestoneDateFilter) {
|
||||||
case "upcomingMissed":
|
case "upcomingMissed": {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
" and (m.workOrderMilestoneCompletionDate is null or m.workOrderMilestoneDate >= ?)";
|
" and (m.workOrderMilestoneCompletionDate is null or m.workOrderMilestoneDate >= ?)";
|
||||||
sqlParameters.push(currentDateNumber);
|
sqlParameters.push(currentDateNumber);
|
||||||
break;
|
break;
|
||||||
case "recent":
|
}
|
||||||
|
case "recent": {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
" and m.workOrderMilestoneDate >= ? and m.workOrderMilestoneDate <= ?";
|
" and m.workOrderMilestoneDate >= ? and m.workOrderMilestoneDate <= ?";
|
||||||
sqlParameters.push(recentBeforeDateNumber, recentAfterDateNumber);
|
sqlParameters.push(recentBeforeDateNumber, recentAfterDateNumber);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (filters.workOrderMilestoneDateString) {
|
if (filters.workOrderMilestoneDateString) {
|
||||||
sqlWhereClause += " and m.workOrderMilestoneDate = ?";
|
sqlWhereClause += " and m.workOrderMilestoneDate = ?";
|
||||||
|
|
@ -51,19 +47,35 @@ export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
" and m.workOrderMilestoneTypeId in (" + filters.workOrderMilestoneTypeIds + ")";
|
" and m.workOrderMilestoneTypeId in (" + filters.workOrderMilestoneTypeIds + ")";
|
||||||
}
|
}
|
||||||
|
return {
|
||||||
|
sqlWhereClause,
|
||||||
|
sqlParameters
|
||||||
|
};
|
||||||
|
};
|
||||||
|
export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
||||||
|
const database = connectedDatabase ||
|
||||||
|
sqlite(databasePath, {
|
||||||
|
readonly: true
|
||||||
|
});
|
||||||
|
database.function("userFn_dateIntegerToString", dateIntegerToString);
|
||||||
|
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
||||||
|
const { sqlWhereClause, sqlParameters } = buildWhereClause(filters);
|
||||||
let orderByClause = "";
|
let orderByClause = "";
|
||||||
switch (options.orderBy) {
|
switch (options.orderBy) {
|
||||||
case "completion":
|
case "completion": {
|
||||||
orderByClause =
|
orderByClause =
|
||||||
" order by" +
|
" order by" +
|
||||||
" m.workOrderMilestoneCompletionDate, m.workOrderMilestoneCompletionTime," +
|
" m.workOrderMilestoneCompletionDate, m.workOrderMilestoneCompletionTime," +
|
||||||
" m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
" m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
||||||
" t.orderNumber, m.workOrderMilestoneId";
|
" t.orderNumber, m.workOrderMilestoneId";
|
||||||
break;
|
break;
|
||||||
case "date":
|
}
|
||||||
|
case "date": {
|
||||||
orderByClause =
|
orderByClause =
|
||||||
" order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
" order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
||||||
" t.orderNumber, m.workOrderId, m.workOrderMilestoneId";
|
" t.orderNumber, m.workOrderId, m.workOrderMilestoneId";
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const sql = "select m.workOrderMilestoneId," +
|
const sql = "select m.workOrderMilestoneId," +
|
||||||
" m.workOrderMilestoneTypeId, t.workOrderMilestoneType," +
|
" m.workOrderMilestoneTypeId, t.workOrderMilestoneType," +
|
||||||
|
|
|
||||||
|
|
@ -31,25 +31,12 @@ interface WorkOrderMilestoneOptions {
|
||||||
|
|
||||||
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
||||||
|
|
||||||
export const getWorkOrderMilestones = (
|
const buildWhereClause = (
|
||||||
filters: WorkOrderMilestoneFilters,
|
filters: WorkOrderMilestoneFilters
|
||||||
options: WorkOrderMilestoneOptions,
|
): { sqlWhereClause: string; sqlParameters: unknown[] } => {
|
||||||
connectedDatabase?: sqlite.Database
|
|
||||||
): recordTypes.WorkOrderMilestone[] => {
|
|
||||||
const database =
|
|
||||||
connectedDatabase ||
|
|
||||||
sqlite(databasePath, {
|
|
||||||
readonly: true
|
|
||||||
});
|
|
||||||
|
|
||||||
database.function("userFn_dateIntegerToString", dateIntegerToString);
|
|
||||||
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
|
||||||
|
|
||||||
// Filters
|
|
||||||
|
|
||||||
let sqlWhereClause =
|
let sqlWhereClause =
|
||||||
" where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
" where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
||||||
const sqlParameters = [];
|
const sqlParameters: unknown[] = [];
|
||||||
|
|
||||||
if (filters.workOrderId) {
|
if (filters.workOrderId) {
|
||||||
sqlWhereClause += " and m.workOrderId = ?";
|
sqlWhereClause += " and m.workOrderId = ?";
|
||||||
|
|
@ -79,17 +66,19 @@ export const getWorkOrderMilestones = (
|
||||||
const recentAfterDateNumber = dateToInteger(date);
|
const recentAfterDateNumber = dateToInteger(date);
|
||||||
|
|
||||||
switch (filters.workOrderMilestoneDateFilter) {
|
switch (filters.workOrderMilestoneDateFilter) {
|
||||||
case "upcomingMissed":
|
case "upcomingMissed": {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
" and (m.workOrderMilestoneCompletionDate is null or m.workOrderMilestoneDate >= ?)";
|
" and (m.workOrderMilestoneCompletionDate is null or m.workOrderMilestoneDate >= ?)";
|
||||||
sqlParameters.push(currentDateNumber);
|
sqlParameters.push(currentDateNumber);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case "recent":
|
case "recent": {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
" and m.workOrderMilestoneDate >= ? and m.workOrderMilestoneDate <= ?";
|
" and m.workOrderMilestoneDate >= ? and m.workOrderMilestoneDate <= ?";
|
||||||
sqlParameters.push(recentBeforeDateNumber, recentAfterDateNumber);
|
sqlParameters.push(recentBeforeDateNumber, recentAfterDateNumber);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filters.workOrderMilestoneDateString) {
|
if (filters.workOrderMilestoneDateString) {
|
||||||
|
|
@ -109,23 +98,50 @@ export const getWorkOrderMilestones = (
|
||||||
" and m.workOrderMilestoneTypeId in (" + filters.workOrderMilestoneTypeIds + ")";
|
" and m.workOrderMilestoneTypeId in (" + filters.workOrderMilestoneTypeIds + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
sqlWhereClause,
|
||||||
|
sqlParameters
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getWorkOrderMilestones = (
|
||||||
|
filters: WorkOrderMilestoneFilters,
|
||||||
|
options: WorkOrderMilestoneOptions,
|
||||||
|
connectedDatabase?: sqlite.Database
|
||||||
|
): recordTypes.WorkOrderMilestone[] => {
|
||||||
|
const database =
|
||||||
|
connectedDatabase ||
|
||||||
|
sqlite(databasePath, {
|
||||||
|
readonly: true
|
||||||
|
});
|
||||||
|
|
||||||
|
database.function("userFn_dateIntegerToString", dateIntegerToString);
|
||||||
|
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
||||||
|
|
||||||
|
// Filters
|
||||||
|
|
||||||
|
const { sqlWhereClause, sqlParameters } = buildWhereClause(filters);
|
||||||
|
|
||||||
// Order By
|
// Order By
|
||||||
|
|
||||||
let orderByClause = "";
|
let orderByClause = "";
|
||||||
|
|
||||||
switch (options.orderBy) {
|
switch (options.orderBy) {
|
||||||
case "completion":
|
case "completion": {
|
||||||
orderByClause =
|
orderByClause =
|
||||||
" order by" +
|
" order by" +
|
||||||
" m.workOrderMilestoneCompletionDate, m.workOrderMilestoneCompletionTime," +
|
" m.workOrderMilestoneCompletionDate, m.workOrderMilestoneCompletionTime," +
|
||||||
" m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
" m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
||||||
" t.orderNumber, m.workOrderMilestoneId";
|
" t.orderNumber, m.workOrderMilestoneId";
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case "date":
|
case "date": {
|
||||||
orderByClause =
|
orderByClause =
|
||||||
" order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
" order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end," +
|
||||||
" t.orderNumber, m.workOrderId, m.workOrderMilestoneId";
|
" t.orderNumber, m.workOrderId, m.workOrderMilestoneId";
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Query
|
// Query
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue