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 clearWorkOrderTypesCache(): void;
|
||||
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 clearWorkOrderMilestoneTypesCache(): void;
|
||||
|
|
|
|||
|
|
@ -139,6 +139,12 @@ export function getWorkOrderMilestoneTypes() {
|
|||
}
|
||||
return workOrderMilestoneTypes;
|
||||
}
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId) {
|
||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||
return currentWorkOrderMilestoneType.workOrderMilestoneTypeId === workOrderMilestoneTypeId;
|
||||
});
|
||||
}
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
||||
|
|
|
|||
|
|
@ -222,6 +222,16 @@ export function getWorkOrderMilestoneTypes() {
|
|||
return workOrderMilestoneTypes;
|
||||
}
|
||||
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
workOrderMilestoneTypeId: number
|
||||
) {
|
||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||
|
||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||
return currentWorkOrderMilestoneType.workOrderMilestoneTypeId === workOrderMilestoneTypeId;
|
||||
});
|
||||
}
|
||||
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||
workOrderMilestoneTypeString: string
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
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) {
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare(`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
database
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
|
|
@ -22,10 +22,10 @@ export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId) {
|
|||
return result.changes > 0;
|
||||
}
|
||||
export function moveWorkOrderMilestoneTypeDownToBottom(workOrderMilestoneTypeId) {
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?")
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const maxOrderNumber = database
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from WorkOrderMilestoneTypes
|
||||
|
|
|
|||
|
|
@ -2,16 +2,19 @@ import sqlite from "better-sqlite3";
|
|||
|
||||
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 {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`
|
||||
)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
|
|
@ -40,13 +43,13 @@ export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId: number
|
|||
export function moveWorkOrderMilestoneTypeDownToBottom(
|
||||
workOrderMilestoneTypeId: number | string
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
"select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?"
|
||||
)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
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) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare(`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
if (currentOrderNumber <= 0) {
|
||||
database.close();
|
||||
return true;
|
||||
}
|
||||
const database = sqlite(databasePath);
|
||||
database
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber + 1
|
||||
|
|
@ -26,11 +25,11 @@ export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId) {
|
|||
return result.changes > 0;
|
||||
}
|
||||
export function moveWorkOrderMilestoneTypeUpToTop(workOrderMilestoneTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?")
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
if (currentOrderNumber > 0) {
|
||||
const database = sqlite(databasePath);
|
||||
database
|
||||
.prepare("update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?")
|
||||
.run(workOrderMilestoneTypeId);
|
||||
|
|
@ -40,9 +39,9 @@ export function moveWorkOrderMilestoneTypeUpToTop(workOrderMilestoneTypeId) {
|
|||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`)
|
||||
.run(currentOrderNumber);
|
||||
database.close();
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
}
|
||||
database.close();
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
return true;
|
||||
}
|
||||
export default moveWorkOrderMilestoneTypeUp;
|
||||
|
|
|
|||
|
|
@ -2,22 +2,24 @@ import sqlite from "better-sqlite3";
|
|||
|
||||
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 {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
`select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?`
|
||||
)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
if (currentOrderNumber <= 0) {
|
||||
database.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update WorkOrderMilestoneTypes
|
||||
|
|
@ -45,15 +47,15 @@ export function moveWorkOrderMilestoneTypeUp(workOrderMilestoneTypeId: number |
|
|||
export function moveWorkOrderMilestoneTypeUpToTop(
|
||||
workOrderMilestoneTypeId: number | string
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
"select orderNumber from WorkOrderMilestoneTypes where workOrderMilestoneTypeId = ?"
|
||||
)
|
||||
.get(workOrderMilestoneTypeId).orderNumber;
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
if (currentOrderNumber > 0) {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderMilestoneTypes set orderNumber = -1 where workOrderMilestoneTypeId = ?"
|
||||
|
|
@ -68,12 +70,12 @@ export function moveWorkOrderMilestoneTypeUpToTop(
|
|||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
database.close();
|
||||
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue