reduce ordernumber queries
parent
42dba58325
commit
27b6fe2706
|
|
@ -21,5 +21,6 @@ export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[];
|
||||||
export declare function getWorkOrderTypeById(workOrderTypeId: number): recordTypes.WorkOrderType;
|
export declare function getWorkOrderTypeById(workOrderTypeId: number): recordTypes.WorkOrderType;
|
||||||
export declare function clearWorkOrderTypesCache(): void;
|
export declare function clearWorkOrderTypesCache(): void;
|
||||||
export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[];
|
export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[];
|
||||||
|
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId: number): recordTypes.WorkOrderMilestoneType;
|
||||||
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): recordTypes.WorkOrderMilestoneType;
|
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): recordTypes.WorkOrderMilestoneType;
|
||||||
export declare function clearWorkOrderMilestoneTypesCache(): void;
|
export declare function clearWorkOrderMilestoneTypesCache(): void;
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,12 @@ export function getWorkOrderMilestoneTypes() {
|
||||||
}
|
}
|
||||||
return workOrderMilestoneTypes;
|
return workOrderMilestoneTypes;
|
||||||
}
|
}
|
||||||
|
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId) {
|
||||||
|
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||||
|
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||||
|
return currentWorkOrderMilestoneType.workOrderMilestoneTypeId === workOrderMilestoneTypeId;
|
||||||
|
});
|
||||||
|
}
|
||||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
||||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||||
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
||||||
|
|
|
||||||
|
|
@ -222,6 +222,16 @@ export function getWorkOrderMilestoneTypes() {
|
||||||
return workOrderMilestoneTypes;
|
return workOrderMilestoneTypes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||||
|
workOrderMilestoneTypeId: number
|
||||||
|
) {
|
||||||
|
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||||
|
|
||||||
|
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||||
|
return currentWorkOrderMilestoneType.workOrderMilestoneTypeId === workOrderMilestoneTypeId;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||||
workOrderMilestoneTypeString: string
|
workOrderMilestoneTypeString: string
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
import { getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId, clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||||
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId) {
|
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId) {
|
||||||
|
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||||
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
|
: workOrderMilestoneTypeId).orderNumber;
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const currentOrderNumber = database
|
|
||||||
.prepare(`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`)
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
database
|
database
|
||||||
.prepare(`update WorkOrderMilestoneTypes
|
.prepare(`update WorkOrderMilestoneTypes
|
||||||
set orderNumber = orderNumber - 1
|
set orderNumber = orderNumber - 1
|
||||||
|
|
@ -22,10 +22,10 @@ export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId) {
|
||||||
return result.changes > 0;
|
return result.changes > 0;
|
||||||
}
|
}
|
||||||
export function moveWorkOrderMilestoneTypeDownToBottom(workOrderMilestoneTypeId) {
|
export function moveWorkOrderMilestoneTypeDownToBottom(workOrderMilestoneTypeId) {
|
||||||
|
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||||
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
|
: workOrderMilestoneTypeId).orderNumber;
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const currentOrderNumber = database
|
|
||||||
.prepare("select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?")
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
const maxOrderNumber = database
|
const maxOrderNumber = database
|
||||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||||
from WorkOrderMilestoneTypes
|
from WorkOrderMilestoneTypes
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,19 @@ import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
import {
|
||||||
|
getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId,
|
||||||
|
clearWorkOrderMilestoneTypesCache
|
||||||
|
} from "../functions.cache.js";
|
||||||
|
|
||||||
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId: number | string): boolean {
|
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId: number | string): boolean {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||||
|
typeof workOrderMilestoneTypeId === "string"
|
||||||
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
|
: workOrderMilestoneTypeId
|
||||||
|
).orderNumber;
|
||||||
|
|
||||||
const currentOrderNumber: number = database
|
const database = sqlite(databasePath);
|
||||||
.prepare(
|
|
||||||
`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`
|
|
||||||
)
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
|
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
|
|
@ -40,13 +43,13 @@ export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId: number
|
||||||
export function moveWorkOrderMilestoneTypeDownToBottom(
|
export function moveWorkOrderMilestoneTypeDownToBottom(
|
||||||
workOrderMilestoneTypeId: number | string
|
workOrderMilestoneTypeId: number | string
|
||||||
): boolean {
|
): boolean {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||||
|
typeof workOrderMilestoneTypeId === "string"
|
||||||
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
|
: workOrderMilestoneTypeId
|
||||||
|
).orderNumber;
|
||||||
|
|
||||||
const currentOrderNumber: number = database
|
const database = sqlite(databasePath);
|
||||||
.prepare(
|
|
||||||
"select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?"
|
|
||||||
)
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
|
|
||||||
const maxOrderNumber: number = database
|
const maxOrderNumber: number = database
|
||||||
.prepare(
|
.prepare(
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
import { getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId, clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||||
export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId) {
|
export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId) {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||||
const currentOrderNumber = database
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
.prepare(`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`)
|
: workOrderMilestoneTypeId).orderNumber;
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
if (currentOrderNumber <= 0) {
|
if (currentOrderNumber <= 0) {
|
||||||
database.close();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
const database = sqlite(databasePath);
|
||||||
database
|
database
|
||||||
.prepare(`update WorkOrderMilestoneTypes
|
.prepare(`update WorkOrderMilestoneTypes
|
||||||
set orderNumber = orderNumber + 1
|
set orderNumber = orderNumber + 1
|
||||||
|
|
@ -26,11 +25,11 @@ export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId) {
|
||||||
return result.changes > 0;
|
return result.changes > 0;
|
||||||
}
|
}
|
||||||
export function moveWorkOrderMilestoneTypeUpToTop(workOrderMilestoneTypeId) {
|
export function moveWorkOrderMilestoneTypeUpToTop(workOrderMilestoneTypeId) {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||||
const currentOrderNumber = database
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
.prepare("select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?")
|
: workOrderMilestoneTypeId).orderNumber;
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
if (currentOrderNumber > 0) {
|
if (currentOrderNumber > 0) {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
database
|
database
|
||||||
.prepare("update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?")
|
.prepare("update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?")
|
||||||
.run(workOrderMilestoneTypeId);
|
.run(workOrderMilestoneTypeId);
|
||||||
|
|
@ -40,9 +39,9 @@ export function moveWorkOrderMilestoneTypeUpToTop(workOrderMilestoneTypeId) {
|
||||||
where recordDelete_timeMillis is null
|
where recordDelete_timeMillis is null
|
||||||
and orderNumber < ?`)
|
and orderNumber < ?`)
|
||||||
.run(currentOrderNumber);
|
.run(currentOrderNumber);
|
||||||
|
database.close();
|
||||||
|
clearWorkOrderMilestoneTypesCache();
|
||||||
}
|
}
|
||||||
database.close();
|
|
||||||
clearWorkOrderMilestoneTypesCache();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
export default moveWorkOrderMilestoneTypeUp;
|
export default moveWorkOrderMilestoneTypeUp;
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,24 @@ import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
import {
|
||||||
|
getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId,
|
||||||
|
clearWorkOrderMilestoneTypesCache
|
||||||
|
} from "../functions.cache.js";
|
||||||
|
|
||||||
export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId: number | string): boolean {
|
export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId: number | string): boolean {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||||
|
typeof workOrderMilestoneTypeId === "string"
|
||||||
const currentOrderNumber: number = database
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
.prepare(
|
: workOrderMilestoneTypeId
|
||||||
`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`
|
).orderNumber;
|
||||||
)
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
|
|
||||||
if (currentOrderNumber <= 0) {
|
if (currentOrderNumber <= 0) {
|
||||||
database.close();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
`update WorkOrderMilestoneTypes
|
`update WorkOrderMilestoneTypes
|
||||||
|
|
@ -45,15 +47,15 @@ export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId: number |
|
||||||
export function moveWorkOrderMilestoneTypeUpToTop(
|
export function moveWorkOrderMilestoneTypeUpToTop(
|
||||||
workOrderMilestoneTypeId: number | string
|
workOrderMilestoneTypeId: number | string
|
||||||
): boolean {
|
): boolean {
|
||||||
const database = sqlite(databasePath);
|
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||||
|
typeof workOrderMilestoneTypeId === "string"
|
||||||
const currentOrderNumber: number = database
|
? Number.parseInt(workOrderMilestoneTypeId)
|
||||||
.prepare(
|
: workOrderMilestoneTypeId
|
||||||
"select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?"
|
).orderNumber;
|
||||||
)
|
|
||||||
.get(workOrderMilestoneTypeId).orderNumber;
|
|
||||||
|
|
||||||
if (currentOrderNumber > 0) {
|
if (currentOrderNumber > 0) {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
"update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?"
|
"update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?"
|
||||||
|
|
@ -68,12 +70,12 @@ export function moveWorkOrderMilestoneTypeUpToTop(
|
||||||
and orderNumber < ?`
|
and orderNumber < ?`
|
||||||
)
|
)
|
||||||
.run(currentOrderNumber);
|
.run(currentOrderNumber);
|
||||||
|
|
||||||
|
database.close();
|
||||||
|
|
||||||
|
clearWorkOrderMilestoneTypesCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
database.close();
|
|
||||||
|
|
||||||
clearWorkOrderMilestoneTypesCache();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue