work order milestone type cache
parent
cad9d0136d
commit
a9c504ea21
|
|
@ -17,3 +17,6 @@ export declare function getOccupancyTypeByOccupancyType(occupancyTypeString: str
|
|||
export declare function clearOccupancyTypesCache(): void;
|
||||
export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[];
|
||||
export declare function clearWorkOrderTypesCache(): void;
|
||||
export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[];
|
||||
export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): recordTypes.WorkOrderMilestoneType;
|
||||
export declare function clearWorkOrderMilestoneTypesCache(): void;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { getLotStatuses as getLotStatusesFromDatabase } from "./lotOccupancyDB/g
|
|||
import { getLotTypes as getLotTypesFromDatabase } from "./lotOccupancyDB/getLotTypes.js";
|
||||
import { getOccupancyTypes as getOccupancyTypesFromDatabase } from "./lotOccupancyDB/getOccupancyTypes.js";
|
||||
import { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderTypes.js";
|
||||
import { getWorkOrderMilestoneTypes as getWorkOrderMilestoneTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderMilestoneTypes.js";
|
||||
let lotOccupantTypes;
|
||||
export function getLotOccupantTypes() {
|
||||
if (!lotOccupantTypes) {
|
||||
|
|
@ -107,3 +108,21 @@ export function getWorkOrderTypes() {
|
|||
export function clearWorkOrderTypesCache() {
|
||||
workOrderTypes = undefined;
|
||||
}
|
||||
let workOrderMilestoneTypes;
|
||||
export function getWorkOrderMilestoneTypes() {
|
||||
if (!workOrderMilestoneTypes) {
|
||||
workOrderMilestoneTypes = getWorkOrderMilestoneTypesFromDatabase();
|
||||
}
|
||||
return workOrderMilestoneTypes;
|
||||
}
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) {
|
||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||
return (currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
||||
workOrderMilestoneTypeLowerCase);
|
||||
});
|
||||
}
|
||||
export function clearWorkOrderMilestoneTypesCache() {
|
||||
workOrderMilestoneTypes = undefined;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import { getOccupancyTypes as getOccupancyTypesFromDatabase } from "./lotOccupan
|
|||
|
||||
import { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderTypes.js";
|
||||
|
||||
import { getWorkOrderMilestoneTypes as getWorkOrderMilestoneTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderMilestoneTypes.js";
|
||||
|
||||
import type * as recordTypes from "../types/recordTypes";
|
||||
|
||||
/*
|
||||
|
|
@ -177,3 +179,34 @@ export function getWorkOrderTypes() {
|
|||
export function clearWorkOrderTypesCache() {
|
||||
workOrderTypes = undefined;
|
||||
}
|
||||
|
||||
/*
|
||||
* Work Order Milestone Types
|
||||
*/
|
||||
|
||||
let workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[];
|
||||
|
||||
export function getWorkOrderMilestoneTypes() {
|
||||
if (!workOrderMilestoneTypes) {
|
||||
workOrderMilestoneTypes = getWorkOrderMilestoneTypesFromDatabase();
|
||||
}
|
||||
|
||||
return workOrderMilestoneTypes;
|
||||
}
|
||||
|
||||
export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string) {
|
||||
const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes();
|
||||
|
||||
const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase();
|
||||
|
||||
return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => {
|
||||
return (
|
||||
currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() ===
|
||||
workOrderMilestoneTypeLowerCase
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export function clearWorkOrderMilestoneTypesCache() {
|
||||
workOrderMilestoneTypes = undefined;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const getWorkOrderMilestoneTypes: () => recordTypes.WorkOrderMilestoneType[];
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const getWorkOrderMilestoneTypes = () => {
|
||||
const database = sqlite(databasePath);
|
||||
const workOrderMilestoneTypes = database
|
||||
.prepare("select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber" +
|
||||
" from WorkOrderMilestoneTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderMilestoneType")
|
||||
.all();
|
||||
let expectedOrderNumber = 0;
|
||||
for (const workOrderMilestoneType of workOrderMilestoneTypes) {
|
||||
if (workOrderMilestoneType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrdeMilestoneTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderMilestoneTypeId = ?")
|
||||
.run(expectedOrderNumber, workOrderMilestoneType.workOrderMilestoneTypeId);
|
||||
workOrderMilestoneType.orderNumber = expectedOrderNumber;
|
||||
}
|
||||
expectedOrderNumber += 1;
|
||||
}
|
||||
database.close();
|
||||
return workOrderMilestoneTypes;
|
||||
};
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const getWorkOrderMilestoneTypes = (): recordTypes.WorkOrderMilestoneType[] => {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] = database
|
||||
.prepare(
|
||||
"select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber" +
|
||||
" from WorkOrderMilestoneTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderMilestoneType"
|
||||
)
|
||||
.all();
|
||||
|
||||
let expectedOrderNumber = 0;
|
||||
|
||||
for (const workOrderMilestoneType of workOrderMilestoneTypes) {
|
||||
if (workOrderMilestoneType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrdeMilestoneTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderMilestoneTypeId = ?"
|
||||
)
|
||||
.run(expectedOrderNumber, workOrderMilestoneType.workOrderMilestoneTypeId);
|
||||
|
||||
workOrderMilestoneType.orderNumber = expectedOrderNumber;
|
||||
}
|
||||
|
||||
expectedOrderNumber += 1;
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
return workOrderMilestoneTypes;
|
||||
};
|
||||
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
Loading…
Reference in New Issue