linting
parent
dccb4a611c
commit
749f381ebd
|
|
@ -3,7 +3,7 @@ import { getNextLotId } from '../../helpers/functions.lots.js';
|
||||||
export async function handler(request, response) {
|
export async function handler(request, response) {
|
||||||
const lotId = Number.parseInt(request.params.lotId, 10);
|
const lotId = Number.parseInt(request.params.lotId, 10);
|
||||||
const nextLotId = await getNextLotId(lotId);
|
const nextLotId = await getNextLotId(lotId);
|
||||||
if (!nextLotId) {
|
if (nextLotId === undefined) {
|
||||||
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/lots/?error=noNextLotIdFound');
|
'/lots/?error=noNextLotIdFound');
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export async function handler(
|
||||||
|
|
||||||
const nextLotId = await getNextLotId(lotId)
|
const nextLotId = await getNextLotId(lotId)
|
||||||
|
|
||||||
if (!nextLotId) {
|
if (nextLotId === undefined) {
|
||||||
response.redirect(
|
response.redirect(
|
||||||
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/lots/?error=noNextLotIdFound'
|
'/lots/?error=noNextLotIdFound'
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { getPreviousLotId } from '../../helpers/functions.lots.js';
|
||||||
export async function handler(request, response) {
|
export async function handler(request, response) {
|
||||||
const lotId = Number.parseInt(request.params.lotId, 10);
|
const lotId = Number.parseInt(request.params.lotId, 10);
|
||||||
const previousLotId = await getPreviousLotId(lotId);
|
const previousLotId = await getPreviousLotId(lotId);
|
||||||
if (!previousLotId) {
|
if (previousLotId === undefined) {
|
||||||
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/lots/?error=noPreviousLotIdFound');
|
'/lots/?error=noPreviousLotIdFound');
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export async function handler(
|
||||||
|
|
||||||
const previousLotId = await getPreviousLotId(lotId)
|
const previousLotId = await getPreviousLotId(lotId)
|
||||||
|
|
||||||
if (!previousLotId) {
|
if (previousLotId === undefined) {
|
||||||
response.redirect(
|
response.redirect(
|
||||||
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/lots/?error=noPreviousLotIdFound'
|
'/lots/?error=noPreviousLotIdFound'
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
|
import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js';
|
||||||
import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js';
|
import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js';
|
||||||
export async function handler(request, response) {
|
export async function handler(request, response) {
|
||||||
const success = await deleteRecord('Maps', request.body.mapId, request.session);
|
const success = await deleteRecord('Maps', request.body.mapId, request.session);
|
||||||
response.json({
|
response.json({
|
||||||
success
|
success
|
||||||
});
|
});
|
||||||
|
response.on('finish', () => {
|
||||||
|
clearNextPreviousLotIdCache();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
export default handler;
|
export default handler;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import type { Request, Response } from 'express'
|
import type { Request, Response } from 'express'
|
||||||
|
import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js'
|
||||||
|
|
||||||
import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'
|
import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'
|
||||||
|
|
||||||
|
|
@ -6,11 +7,19 @@ export async function handler(
|
||||||
request: Request,
|
request: Request,
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const success = await deleteRecord('Maps', request.body.mapId, request.session)
|
const success = await deleteRecord(
|
||||||
|
'Maps',
|
||||||
|
request.body.mapId,
|
||||||
|
request.session
|
||||||
|
)
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
success
|
success
|
||||||
})
|
})
|
||||||
|
|
||||||
|
response.on('finish', () => {
|
||||||
|
clearNextPreviousLotIdCache()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default handler
|
export default handler
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ export async function handler(request, response) {
|
||||||
includeComments: true,
|
includeComments: true,
|
||||||
includeMilestones: true
|
includeMilestones: true
|
||||||
});
|
});
|
||||||
if (!workOrder) {
|
if (workOrder === undefined) {
|
||||||
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/workOrders/?error=workOrderIdNotFound');
|
'/workOrders/?error=workOrderIdNotFound');
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ export async function handler(
|
||||||
includeMilestones: true
|
includeMilestones: true
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!workOrder) {
|
if (workOrder === undefined) {
|
||||||
response.redirect(
|
response.redirect(
|
||||||
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/workOrders/?error=workOrderIdNotFound'
|
'/workOrders/?error=workOrderIdNotFound'
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ export async function handler(request, response) {
|
||||||
includeComments: true,
|
includeComments: true,
|
||||||
includeMilestones: true
|
includeMilestones: true
|
||||||
});
|
});
|
||||||
if (!workOrder) {
|
if (workOrder === undefined) {
|
||||||
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/workOrders/?error=workOrderIdNotFound');
|
'/workOrders/?error=workOrderIdNotFound');
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ export async function handler(
|
||||||
includeMilestones: true
|
includeMilestones: true
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!workOrder) {
|
if (workOrder === undefined) {
|
||||||
response.redirect(
|
response.redirect(
|
||||||
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
configFunctions.getProperty('reverseProxy.urlPrefix') +
|
||||||
'/workOrders/?error=workOrderIdNotFound'
|
'/workOrders/?error=workOrderIdNotFound'
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ async function authenticateViaActiveDirectory(userName, password) {
|
||||||
const ad = new ActiveDirectory(activeDirectoryConfig);
|
const ad = new ActiveDirectory(activeDirectoryConfig);
|
||||||
ad.authenticate(userDomain + '\\' + userName, password, (error, auth) => {
|
ad.authenticate(userDomain + '\\' + userName, password, (error, auth) => {
|
||||||
let authenticated = false;
|
let authenticated = false;
|
||||||
if (!error) {
|
if ((error ?? '') === '') {
|
||||||
authenticated = auth;
|
authenticated = auth;
|
||||||
}
|
}
|
||||||
resolve(authenticated);
|
resolve(authenticated);
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ async function authenticateViaActiveDirectory(
|
||||||
ad.authenticate(userDomain + '\\' + userName, password, (error, auth) => {
|
ad.authenticate(userDomain + '\\' + userName, password, (error, auth) => {
|
||||||
let authenticated = false
|
let authenticated = false
|
||||||
|
|
||||||
if (!error) {
|
if ((error ?? '') === '') {
|
||||||
authenticated = auth
|
authenticated = auth
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,13 @@ export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) {
|
||||||
const rightNowMillis = Date.now();
|
const rightNowMillis = Date.now();
|
||||||
let feeAmount;
|
let feeAmount;
|
||||||
let taxAmount;
|
let taxAmount;
|
||||||
if (lotOccupancyFeeForm.feeAmount) {
|
if ((lotOccupancyFeeForm.feeAmount ?? '') === '') {
|
||||||
|
const lotOccupancy = (await getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId));
|
||||||
|
const fee = await getFee(lotOccupancyFeeForm.feeId);
|
||||||
|
feeAmount = calculateFeeAmount(fee, lotOccupancy);
|
||||||
|
taxAmount = calculateTaxAmount(fee, feeAmount);
|
||||||
|
}
|
||||||
|
else {
|
||||||
feeAmount =
|
feeAmount =
|
||||||
typeof lotOccupancyFeeForm.feeAmount === 'string'
|
typeof lotOccupancyFeeForm.feeAmount === 'string'
|
||||||
? Number.parseFloat(lotOccupancyFeeForm.feeAmount)
|
? Number.parseFloat(lotOccupancyFeeForm.feeAmount)
|
||||||
|
|
@ -17,12 +23,6 @@ export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) {
|
||||||
? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
|
? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
|
||||||
: 0;
|
: 0;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
const lotOccupancy = (await getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId));
|
|
||||||
const fee = await getFee(lotOccupancyFeeForm.feeId);
|
|
||||||
feeAmount = calculateFeeAmount(fee, lotOccupancy);
|
|
||||||
taxAmount = calculateTaxAmount(fee, feeAmount);
|
|
||||||
}
|
|
||||||
const record = database
|
const record = database
|
||||||
.prepare(`select feeAmount, taxAmount, recordDelete_timeMillis
|
.prepare(`select feeAmount, taxAmount, recordDelete_timeMillis
|
||||||
from LotOccupancyFees
|
from LotOccupancyFees
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,15 @@ export async function addLotOccupancyFee(
|
||||||
let feeAmount: number
|
let feeAmount: number
|
||||||
let taxAmount: number
|
let taxAmount: number
|
||||||
|
|
||||||
if (lotOccupancyFeeForm.feeAmount) {
|
if ((lotOccupancyFeeForm.feeAmount ?? '') === '') {
|
||||||
|
const lotOccupancy = (await getLotOccupancy(
|
||||||
|
lotOccupancyFeeForm.lotOccupancyId
|
||||||
|
))!
|
||||||
|
const fee = await getFee(lotOccupancyFeeForm.feeId)
|
||||||
|
|
||||||
|
feeAmount = calculateFeeAmount(fee, lotOccupancy)
|
||||||
|
taxAmount = calculateTaxAmount(fee, feeAmount)
|
||||||
|
} else {
|
||||||
feeAmount =
|
feeAmount =
|
||||||
typeof lotOccupancyFeeForm.feeAmount === 'string'
|
typeof lotOccupancyFeeForm.feeAmount === 'string'
|
||||||
? Number.parseFloat(lotOccupancyFeeForm.feeAmount)
|
? Number.parseFloat(lotOccupancyFeeForm.feeAmount)
|
||||||
|
|
@ -37,14 +45,6 @@ export async function addLotOccupancyFee(
|
||||||
typeof lotOccupancyFeeForm.taxAmount === 'string'
|
typeof lotOccupancyFeeForm.taxAmount === 'string'
|
||||||
? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
|
? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
|
||||||
: 0
|
: 0
|
||||||
} else {
|
|
||||||
const lotOccupancy = (await getLotOccupancy(
|
|
||||||
lotOccupancyFeeForm.lotOccupancyId
|
|
||||||
))!
|
|
||||||
const fee = await getFee(lotOccupancyFeeForm.feeId)
|
|
||||||
|
|
||||||
feeAmount = calculateFeeAmount(fee, lotOccupancy)
|
|
||||||
taxAmount = calculateTaxAmount(fee, feeAmount)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if record already exists
|
// Check if record already exists
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ export async function getFeeCategories(filters, options) {
|
||||||
sqlWhereClause +
|
sqlWhereClause +
|
||||||
' order by orderNumber, feeCategory')
|
' order by orderNumber, feeCategory')
|
||||||
.all(sqlParameters);
|
.all(sqlParameters);
|
||||||
if (options.includeFees) {
|
if (options.includeFees ?? false) {
|
||||||
let expectedOrderNumber = 0;
|
let expectedOrderNumber = 0;
|
||||||
for (const feeCategory of feeCategories) {
|
for (const feeCategory of feeCategories) {
|
||||||
if (updateOrderNumbers &&
|
if (updateOrderNumbers &&
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ export async function getFeeCategories(
|
||||||
)
|
)
|
||||||
.all(sqlParameters)
|
.all(sqlParameters)
|
||||||
|
|
||||||
if (options.includeFees) {
|
if (options.includeFees ?? false) {
|
||||||
let expectedOrderNumber = 0
|
let expectedOrderNumber = 0
|
||||||
|
|
||||||
for (const feeCategory of feeCategories) {
|
for (const feeCategory of feeCategories) {
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ export async function getNextLotId(lotId) {
|
||||||
limit 1`)
|
limit 1`)
|
||||||
.get(lotId);
|
.get(lotId);
|
||||||
database.release();
|
database.release();
|
||||||
if (result) {
|
if (result === undefined) {
|
||||||
return result.lotId;
|
return undefined;
|
||||||
}
|
}
|
||||||
return undefined;
|
return result.lotId;
|
||||||
}
|
}
|
||||||
export default getNextLotId;
|
export default getNextLotId;
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,11 @@ export async function getNextLotId(
|
||||||
|
|
||||||
database.release()
|
database.release()
|
||||||
|
|
||||||
if (result) {
|
if (result === undefined) {
|
||||||
return result.lotId
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
return undefined
|
return result.lotId
|
||||||
}
|
}
|
||||||
|
|
||||||
export default getNextLotId
|
export default getNextLotId
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@ export async function getPreviousLotId(lotId) {
|
||||||
limit 1`)
|
limit 1`)
|
||||||
.get(lotId);
|
.get(lotId);
|
||||||
database.release();
|
database.release();
|
||||||
if (result) {
|
if (result === undefined) {
|
||||||
return result.lotId;
|
return undefined;
|
||||||
}
|
}
|
||||||
return undefined;
|
return result.lotId;
|
||||||
}
|
}
|
||||||
export default getPreviousLotId;
|
export default getPreviousLotId;
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,11 @@ export async function getPreviousLotId(
|
||||||
|
|
||||||
database.release()
|
database.release()
|
||||||
|
|
||||||
if (result) {
|
if (result === undefined) {
|
||||||
return result.lotId
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
return undefined
|
return result.lotId
|
||||||
}
|
}
|
||||||
|
|
||||||
export default getPreviousLotId
|
export default getPreviousLotId
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ interface WorkOrderOptions {
|
||||||
includeComments: boolean;
|
includeComments: boolean;
|
||||||
includeMilestones: boolean;
|
includeMilestones: boolean;
|
||||||
}
|
}
|
||||||
export declare function getWorkOrderByWorkOrderNumber(workOrderNumber: string): Promise<recordTypes.WorkOrder>;
|
export declare function getWorkOrderByWorkOrderNumber(workOrderNumber: string): Promise<recordTypes.WorkOrder | undefined>;
|
||||||
export declare function getWorkOrder(workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: PoolConnection): Promise<recordTypes.WorkOrder>;
|
export declare function getWorkOrder(workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: PoolConnection): Promise<recordTypes.WorkOrder | undefined>;
|
||||||
export default getWorkOrder;
|
export default getWorkOrder;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ async function _getWorkOrder(sql, workOrderIdOrWorkOrderNumber, options, connect
|
||||||
const workOrder = database
|
const workOrder = database
|
||||||
.prepare(sql)
|
.prepare(sql)
|
||||||
.get(workOrderIdOrWorkOrderNumber);
|
.get(workOrderIdOrWorkOrderNumber);
|
||||||
if (workOrder) {
|
if (workOrder !== undefined) {
|
||||||
if (options.includeLotsAndLotOccupancies) {
|
if (options.includeLotsAndLotOccupancies) {
|
||||||
const workOrderLotsResults = await getLots({
|
const workOrderLotsResults = await getLots({
|
||||||
workOrderId: workOrder.workOrderId
|
workOrderId: workOrder.workOrderId
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ async function _getWorkOrder(
|
||||||
workOrderIdOrWorkOrderNumber: number | string,
|
workOrderIdOrWorkOrderNumber: number | string,
|
||||||
options: WorkOrderOptions,
|
options: WorkOrderOptions,
|
||||||
connectedDatabase?: PoolConnection
|
connectedDatabase?: PoolConnection
|
||||||
): Promise<recordTypes.WorkOrder> {
|
): Promise<recordTypes.WorkOrder | undefined> {
|
||||||
const database = connectedDatabase ?? (await acquireConnection())
|
const database = connectedDatabase ?? (await acquireConnection())
|
||||||
|
|
||||||
database.function('userFn_dateIntegerToString', dateIntegerToString)
|
database.function('userFn_dateIntegerToString', dateIntegerToString)
|
||||||
|
|
@ -43,7 +43,7 @@ async function _getWorkOrder(
|
||||||
.prepare(sql)
|
.prepare(sql)
|
||||||
.get(workOrderIdOrWorkOrderNumber)
|
.get(workOrderIdOrWorkOrderNumber)
|
||||||
|
|
||||||
if (workOrder) {
|
if (workOrder !== undefined) {
|
||||||
if (options.includeLotsAndLotOccupancies) {
|
if (options.includeLotsAndLotOccupancies) {
|
||||||
const workOrderLotsResults = await getLots(
|
const workOrderLotsResults = await getLots(
|
||||||
{
|
{
|
||||||
|
|
@ -104,7 +104,7 @@ async function _getWorkOrder(
|
||||||
|
|
||||||
export async function getWorkOrderByWorkOrderNumber(
|
export async function getWorkOrderByWorkOrderNumber(
|
||||||
workOrderNumber: string
|
workOrderNumber: string
|
||||||
): Promise<recordTypes.WorkOrder> {
|
): Promise<recordTypes.WorkOrder | undefined> {
|
||||||
return await _getWorkOrder(
|
return await _getWorkOrder(
|
||||||
baseSQL + ' and w.workOrderNumber = ?',
|
baseSQL + ' and w.workOrderNumber = ?',
|
||||||
workOrderNumber,
|
workOrderNumber,
|
||||||
|
|
@ -120,7 +120,7 @@ export async function getWorkOrder(
|
||||||
workOrderId: number | string,
|
workOrderId: number | string,
|
||||||
options: WorkOrderOptions,
|
options: WorkOrderOptions,
|
||||||
connectedDatabase?: PoolConnection
|
connectedDatabase?: PoolConnection
|
||||||
): Promise<recordTypes.WorkOrder> {
|
): Promise<recordTypes.WorkOrder | undefined> {
|
||||||
return await _getWorkOrder(
|
return await _getWorkOrder(
|
||||||
baseSQL + ' and w.workOrderId = ?',
|
baseSQL + ' and w.workOrderId = ?',
|
||||||
workOrderId,
|
workOrderId,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
||||||
function buildWhereClause(filters) {
|
function buildWhereClause(filters) {
|
||||||
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 ?? '') !== '') {
|
||||||
sqlWhereClause += ' and m.workOrderId = ?';
|
sqlWhereClause += ' and m.workOrderId = ?';
|
||||||
sqlParameters.push(filters.workOrderId);
|
sqlParameters.push(filters.workOrderId);
|
||||||
}
|
}
|
||||||
|
|
@ -34,16 +34,16 @@ function buildWhereClause(filters) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (filters.workOrderMilestoneDateString) {
|
if ((filters.workOrderMilestoneDateString ?? '') !== '') {
|
||||||
sqlWhereClause += ' and m.workOrderMilestoneDate = ?';
|
sqlWhereClause += ' and m.workOrderMilestoneDate = ?';
|
||||||
sqlParameters.push(dateStringToInteger(filters.workOrderMilestoneDateString));
|
sqlParameters.push(dateStringToInteger(filters.workOrderMilestoneDateString));
|
||||||
}
|
}
|
||||||
if (filters.workOrderTypeIds &&
|
if ((filters.workOrderTypeIds ?? '') !== '' &&
|
||||||
commaSeparatedNumbersRegex.test(filters.workOrderTypeIds)) {
|
commaSeparatedNumbersRegex.test(filters.workOrderTypeIds)) {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
' and w.workOrderTypeId in (' + filters.workOrderTypeIds + ')';
|
' and w.workOrderTypeId in (' + filters.workOrderTypeIds + ')';
|
||||||
}
|
}
|
||||||
if (filters.workOrderMilestoneTypeIds &&
|
if ((filters.workOrderMilestoneTypeIds ?? '') !== '' &&
|
||||||
commaSeparatedNumbersRegex.test(filters.workOrderMilestoneTypeIds)) {
|
commaSeparatedNumbersRegex.test(filters.workOrderMilestoneTypeIds)) {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
' and m.workOrderMilestoneTypeId in (' +
|
' and m.workOrderMilestoneTypeId in (' +
|
||||||
|
|
@ -63,17 +63,17 @@ export async function getWorkOrderMilestones(filters, options, connectedDatabase
|
||||||
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,
|
||||||
' m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,' +
|
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,
|
||||||
' order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,' +
|
case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,
|
||||||
' t.orderNumber, m.workOrderId, m.workOrderMilestoneId';
|
t.orderNumber, m.workOrderId, m.workOrderMilestoneId`;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ export async function getWorkOrderMilestones(filters, options, connectedDatabase
|
||||||
' m.workOrderMilestoneDescription,' +
|
' m.workOrderMilestoneDescription,' +
|
||||||
' m.workOrderMilestoneCompletionDate, userFn_dateIntegerToString(m.workOrderMilestoneCompletionDate) as workOrderMilestoneCompletionDateString,' +
|
' m.workOrderMilestoneCompletionDate, userFn_dateIntegerToString(m.workOrderMilestoneCompletionDate) as workOrderMilestoneCompletionDateString,' +
|
||||||
' m.workOrderMilestoneCompletionTime, userFn_timeIntegerToString(m.workOrderMilestoneCompletionTime) as workOrderMilestoneCompletionTimeString,' +
|
' m.workOrderMilestoneCompletionTime, userFn_timeIntegerToString(m.workOrderMilestoneCompletionTime) as workOrderMilestoneCompletionTimeString,' +
|
||||||
(options.includeWorkOrders
|
(options.includeWorkOrders ?? false
|
||||||
? ' m.workOrderId, w.workOrderNumber, wt.workOrderType, w.workOrderDescription,' +
|
? ' m.workOrderId, w.workOrderNumber, wt.workOrderType, w.workOrderDescription,' +
|
||||||
' w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,' +
|
' w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,' +
|
||||||
' w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,' +
|
' w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,' +
|
||||||
|
|
@ -101,7 +101,7 @@ export async function getWorkOrderMilestones(filters, options, connectedDatabase
|
||||||
const workOrderMilestones = database
|
const workOrderMilestones = database
|
||||||
.prepare(sql)
|
.prepare(sql)
|
||||||
.all(sqlParameters);
|
.all(sqlParameters);
|
||||||
if (options.includeWorkOrders) {
|
if (options.includeWorkOrders ?? false) {
|
||||||
for (const workOrderMilestone of workOrderMilestones) {
|
for (const workOrderMilestone of workOrderMilestones) {
|
||||||
const workOrderLotsResults = await getLots({
|
const workOrderLotsResults = await getLots({
|
||||||
workOrderId: workOrderMilestone.workOrderId
|
workOrderId: workOrderMilestone.workOrderId
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ function buildWhereClause(filters: WorkOrderMilestoneFilters): {
|
||||||
' 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: unknown[] = []
|
const sqlParameters: unknown[] = []
|
||||||
|
|
||||||
if (filters.workOrderId) {
|
if ((filters.workOrderId ?? '') !== '') {
|
||||||
sqlWhereClause += ' and m.workOrderId = ?'
|
sqlWhereClause += ' and m.workOrderId = ?'
|
||||||
sqlParameters.push(filters.workOrderId)
|
sqlParameters.push(filters.workOrderId)
|
||||||
}
|
}
|
||||||
|
|
@ -83,28 +83,28 @@ function buildWhereClause(filters: WorkOrderMilestoneFilters): {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filters.workOrderMilestoneDateString) {
|
if ((filters.workOrderMilestoneDateString ?? '') !== '') {
|
||||||
sqlWhereClause += ' and m.workOrderMilestoneDate = ?'
|
sqlWhereClause += ' and m.workOrderMilestoneDate = ?'
|
||||||
sqlParameters.push(
|
sqlParameters.push(
|
||||||
dateStringToInteger(filters.workOrderMilestoneDateString)
|
dateStringToInteger(filters.workOrderMilestoneDateString!)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
filters.workOrderTypeIds &&
|
(filters.workOrderTypeIds ?? '') !== '' &&
|
||||||
commaSeparatedNumbersRegex.test(filters.workOrderTypeIds)
|
commaSeparatedNumbersRegex.test(filters.workOrderTypeIds!)
|
||||||
) {
|
) {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
' and w.workOrderTypeId in (' + filters.workOrderTypeIds + ')'
|
' and w.workOrderTypeId in (' + filters.workOrderTypeIds! + ')'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
filters.workOrderMilestoneTypeIds &&
|
(filters.workOrderMilestoneTypeIds ?? '') !== '' &&
|
||||||
commaSeparatedNumbersRegex.test(filters.workOrderMilestoneTypeIds)
|
commaSeparatedNumbersRegex.test(filters.workOrderMilestoneTypeIds!)
|
||||||
) {
|
) {
|
||||||
sqlWhereClause +=
|
sqlWhereClause +=
|
||||||
' and m.workOrderMilestoneTypeId in (' +
|
' and m.workOrderMilestoneTypeId in (' +
|
||||||
filters.workOrderMilestoneTypeIds +
|
filters.workOrderMilestoneTypeIds! +
|
||||||
')'
|
')'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -132,18 +132,18 @@ export async function getWorkOrderMilestones(
|
||||||
|
|
||||||
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,
|
||||||
' m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,' +
|
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,
|
||||||
' order by m.workOrderMilestoneDate, case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,' +
|
case when m.workOrderMilestoneTime = 0 then 9999 else m.workOrderMilestoneTime end,
|
||||||
' t.orderNumber, m.workOrderId, m.workOrderMilestoneId'
|
t.orderNumber, m.workOrderId, m.workOrderMilestoneId`
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -157,7 +157,7 @@ export async function getWorkOrderMilestones(
|
||||||
' m.workOrderMilestoneDescription,' +
|
' m.workOrderMilestoneDescription,' +
|
||||||
' m.workOrderMilestoneCompletionDate, userFn_dateIntegerToString(m.workOrderMilestoneCompletionDate) as workOrderMilestoneCompletionDateString,' +
|
' m.workOrderMilestoneCompletionDate, userFn_dateIntegerToString(m.workOrderMilestoneCompletionDate) as workOrderMilestoneCompletionDateString,' +
|
||||||
' m.workOrderMilestoneCompletionTime, userFn_timeIntegerToString(m.workOrderMilestoneCompletionTime) as workOrderMilestoneCompletionTimeString,' +
|
' m.workOrderMilestoneCompletionTime, userFn_timeIntegerToString(m.workOrderMilestoneCompletionTime) as workOrderMilestoneCompletionTimeString,' +
|
||||||
(options.includeWorkOrders
|
(options.includeWorkOrders ?? false
|
||||||
? ' m.workOrderId, w.workOrderNumber, wt.workOrderType, w.workOrderDescription,' +
|
? ' m.workOrderId, w.workOrderNumber, wt.workOrderType, w.workOrderDescription,' +
|
||||||
' w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,' +
|
' w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,' +
|
||||||
' w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,' +
|
' w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,' +
|
||||||
|
|
@ -176,7 +176,7 @@ export async function getWorkOrderMilestones(
|
||||||
.prepare(sql)
|
.prepare(sql)
|
||||||
.all(sqlParameters)
|
.all(sqlParameters)
|
||||||
|
|
||||||
if (options.includeWorkOrders) {
|
if (options.includeWorkOrders ?? false) {
|
||||||
for (const workOrderMilestone of workOrderMilestones) {
|
for (const workOrderMilestone of workOrderMilestones) {
|
||||||
const workOrderLotsResults = await getLots(
|
const workOrderLotsResults = await getLots(
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -82,18 +82,20 @@ export async function getWorkOrders(filters, options, connectedDatabase) {
|
||||||
' group by workOrderId) m on w.workOrderId = m.workOrderId') +
|
' group by workOrderId) m on w.workOrderId = m.workOrderId') +
|
||||||
sqlWhereClause +
|
sqlWhereClause +
|
||||||
' order by w.workOrderOpenDate desc, w.workOrderNumber desc' +
|
' order by w.workOrderOpenDate desc, w.workOrderNumber desc' +
|
||||||
(options ? ` limit ${options.limit} offset ${options.offset}` : ''))
|
(options === undefined
|
||||||
|
? ''
|
||||||
|
: ` limit ${options.limit} offset ${options.offset}`))
|
||||||
.all(sqlParameters);
|
.all(sqlParameters);
|
||||||
}
|
}
|
||||||
if (options &&
|
if (options !== undefined &&
|
||||||
(options.includeComments ||
|
((options.includeComments ?? false) ||
|
||||||
options.includeLotsAndLotOccupancies ||
|
(options.includeLotsAndLotOccupancies ?? false) ||
|
||||||
options.includeMilestones)) {
|
(options.includeMilestones ?? false))) {
|
||||||
for (const workOrder of workOrders) {
|
for (const workOrder of workOrders) {
|
||||||
if (options.includeComments) {
|
if (options.includeComments ?? false) {
|
||||||
workOrder.workOrderComments = await getWorkOrderComments(workOrder.workOrderId, database);
|
workOrder.workOrderComments = await getWorkOrderComments(workOrder.workOrderId, database);
|
||||||
}
|
}
|
||||||
if (options.includeLotsAndLotOccupancies) {
|
if (options.includeLotsAndLotOccupancies ?? false) {
|
||||||
const workOrderLotsResults = await getLots({
|
const workOrderLotsResults = await getLots({
|
||||||
workOrderId: workOrder.workOrderId
|
workOrderId: workOrder.workOrderId
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -110,7 +112,7 @@ export async function getWorkOrders(filters, options, connectedDatabase) {
|
||||||
}, database);
|
}, database);
|
||||||
workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies;
|
workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies;
|
||||||
}
|
}
|
||||||
if (options.includeMilestones) {
|
if (options.includeMilestones ?? false) {
|
||||||
workOrder.workOrderMilestones = await getWorkOrderMilestones({
|
workOrder.workOrderMilestones = await getWorkOrderMilestones({
|
||||||
workOrderId: workOrder.workOrderId
|
workOrderId: workOrder.workOrderId
|
||||||
}, {
|
}, {
|
||||||
|
|
|
||||||
|
|
@ -138,26 +138,28 @@ export async function getWorkOrders(
|
||||||
' group by workOrderId) m on w.workOrderId = m.workOrderId') +
|
' group by workOrderId) m on w.workOrderId = m.workOrderId') +
|
||||||
sqlWhereClause +
|
sqlWhereClause +
|
||||||
' order by w.workOrderOpenDate desc, w.workOrderNumber desc' +
|
' order by w.workOrderOpenDate desc, w.workOrderNumber desc' +
|
||||||
(options ? ` limit ${options.limit} offset ${options.offset}` : '')
|
(options === undefined
|
||||||
|
? ''
|
||||||
|
: ` limit ${options.limit} offset ${options.offset}`)
|
||||||
)
|
)
|
||||||
.all(sqlParameters)
|
.all(sqlParameters)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
options &&
|
options !== undefined &&
|
||||||
(options.includeComments ||
|
((options.includeComments ?? false) ||
|
||||||
options.includeLotsAndLotOccupancies ||
|
(options.includeLotsAndLotOccupancies ?? false) ||
|
||||||
options.includeMilestones)
|
(options.includeMilestones ?? false))
|
||||||
) {
|
) {
|
||||||
for (const workOrder of workOrders) {
|
for (const workOrder of workOrders) {
|
||||||
if (options.includeComments) {
|
if (options.includeComments ?? false) {
|
||||||
workOrder.workOrderComments = await getWorkOrderComments(
|
workOrder.workOrderComments = await getWorkOrderComments(
|
||||||
workOrder.workOrderId as number,
|
workOrder.workOrderId as number,
|
||||||
database
|
database
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.includeLotsAndLotOccupancies) {
|
if (options.includeLotsAndLotOccupancies ?? false) {
|
||||||
const workOrderLotsResults = await getLots(
|
const workOrderLotsResults = await getLots(
|
||||||
{
|
{
|
||||||
workOrderId: workOrder.workOrderId
|
workOrderId: workOrder.workOrderId
|
||||||
|
|
@ -186,7 +188,7 @@ export async function getWorkOrders(
|
||||||
workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies
|
workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.includeMilestones) {
|
if (options.includeMilestones ?? false) {
|
||||||
workOrder.workOrderMilestones = await getWorkOrderMilestones(
|
workOrder.workOrderMilestones = await getWorkOrderMilestones(
|
||||||
{
|
{
|
||||||
workOrderId: workOrder.workOrderId
|
workOrderId: workOrder.workOrderId
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue