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 clearOccupancyTypesCache(): void;
|
||||||
export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[];
|
export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[];
|
||||||
export declare function clearWorkOrderTypesCache(): void;
|
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 { getLotTypes as getLotTypesFromDatabase } from "./lotOccupancyDB/getLotTypes.js";
|
||||||
import { getOccupancyTypes as getOccupancyTypesFromDatabase } from "./lotOccupancyDB/getOccupancyTypes.js";
|
import { getOccupancyTypes as getOccupancyTypesFromDatabase } from "./lotOccupancyDB/getOccupancyTypes.js";
|
||||||
import { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderTypes.js";
|
import { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderTypes.js";
|
||||||
|
import { getWorkOrderMilestoneTypes as getWorkOrderMilestoneTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderMilestoneTypes.js";
|
||||||
let lotOccupantTypes;
|
let lotOccupantTypes;
|
||||||
export function getLotOccupantTypes() {
|
export function getLotOccupantTypes() {
|
||||||
if (!lotOccupantTypes) {
|
if (!lotOccupantTypes) {
|
||||||
|
|
@ -107,3 +108,21 @@ export function getWorkOrderTypes() {
|
||||||
export function clearWorkOrderTypesCache() {
|
export function clearWorkOrderTypesCache() {
|
||||||
workOrderTypes = undefined;
|
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 { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderTypes.js";
|
||||||
|
|
||||||
|
import { getWorkOrderMilestoneTypes as getWorkOrderMilestoneTypesFromDatabase } from "./lotOccupancyDB/getWorkOrderMilestoneTypes.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../types/recordTypes";
|
import type * as recordTypes from "../types/recordTypes";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -177,3 +179,34 @@ export function getWorkOrderTypes() {
|
||||||
export function clearWorkOrderTypesCache() {
|
export function clearWorkOrderTypesCache() {
|
||||||
workOrderTypes = undefined;
|
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