reduce move down duplication
parent
3fd07bea6f
commit
3bab486146
|
|
@ -1,43 +1,13 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getOccupancyTypeById, clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
export function moveOccupancyTypeDown(occupancyTypeId) {
|
||||
const currentOrderNumber = getOccupancyTypeById(typeof occupancyTypeId === "string" ? Number.parseInt(occupancyTypeId) : occupancyTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
database
|
||||
.prepare(`update OccupancyTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update OccupancyTypes set orderNumber = ? + 1 where occupancyTypeId = ?")
|
||||
.run(currentOrderNumber, occupancyTypeId);
|
||||
database.close();
|
||||
const success = moveRecordDown("OccupancyTypes", occupancyTypeId);
|
||||
clearOccupancyTypesCache();
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
export function moveOccupancyTypeDownToBottom(occupancyTypeId) {
|
||||
const currentOrderNumber = getOccupancyTypeById(typeof occupancyTypeId === "string" ? Number.parseInt(occupancyTypeId) : occupancyTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
const maxOrderNumber = database
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from OccupancyTypes
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update OccupancyTypes set orderNumber = ? + 1 where occupancyTypeId = ?")
|
||||
.run(maxOrderNumber, occupancyTypeId);
|
||||
database
|
||||
.prepare(`update OccupancyTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
const success = moveRecordDownToBottom("OccupancyTypes", occupancyTypeId);
|
||||
clearOccupancyTypesCache();
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
export default moveOccupancyTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,71 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { getOccupancyTypeById, clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
|
||||
export function moveOccupancyTypeDown(occupancyTypeId: number | string): boolean {
|
||||
const currentOrderNumber: number = getOccupancyTypeById(
|
||||
typeof occupancyTypeId === "string" ? Number.parseInt(occupancyTypeId) : occupancyTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update OccupancyTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare("update OccupancyTypes set orderNumber = ? + 1 where occupancyTypeId = ?")
|
||||
.run(currentOrderNumber, occupancyTypeId);
|
||||
|
||||
database.close();
|
||||
|
||||
const success = moveRecordDown("OccupancyTypes", occupancyTypeId);
|
||||
clearOccupancyTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
|
||||
export function moveOccupancyTypeDownToBottom(occupancyTypeId: number | string): boolean {
|
||||
const currentOrderNumber: number = getOccupancyTypeById(
|
||||
typeof occupancyTypeId === "string" ? Number.parseInt(occupancyTypeId) : occupancyTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from OccupancyTypes
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update OccupancyTypes set orderNumber = ? + 1 where occupancyTypeId = ?")
|
||||
.run(maxOrderNumber, occupancyTypeId);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update OccupancyTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
const success = moveRecordDownToBottom("OccupancyTypes", occupancyTypeId);
|
||||
clearOccupancyTypesCache();
|
||||
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
|
||||
export default moveOccupancyTypeDown;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
declare type RecordTable = "OccupancyTypes" | "WorkOrderMilestoneTypes" | "WorkOrderTypes";
|
||||
export declare function moveRecordDown(recordTable: RecordTable, recordId: number | string): boolean;
|
||||
export declare function moveRecordDownToBottom(recordTable: RecordTable, recordId: number | string): boolean;
|
||||
export {};
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
const recordIdColumns = new Map();
|
||||
recordIdColumns.set("OccupancyTypes", "occupancyTypeId");
|
||||
recordIdColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneTypeId");
|
||||
recordIdColumns.set("WorkOrderTypes", "workOrderTypeId");
|
||||
function getCurrentOrderNumber(recordTable, recordId, database) {
|
||||
const currentOrderNumber = database
|
||||
.prepare(`select orderNumber
|
||||
from ${recordTable}
|
||||
where ${recordIdColumns.get(recordTable)} = ?`)
|
||||
.get(recordId).orderNumber;
|
||||
return currentOrderNumber;
|
||||
}
|
||||
export function moveRecordDown(recordTable, recordId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database);
|
||||
database
|
||||
.prepare(`update ${recordTable}
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare(`update ${recordTable}
|
||||
set orderNumber = ? + 1
|
||||
where ${recordIdColumns.get(recordTable)} = ?`)
|
||||
.run(currentOrderNumber, recordId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
}
|
||||
export function moveRecordDownToBottom(recordTable, recordId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database);
|
||||
const maxOrderNumber = database
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from ${recordTable}
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare(`update ${recordTable} set orderNumber = ? + 1 where ${recordIdColumns.get(recordTable)} = ?`)
|
||||
.run(maxOrderNumber, recordId);
|
||||
database
|
||||
.prepare(`update ${recordTable}
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
type RecordTable = "OccupancyTypes" | "WorkOrderMilestoneTypes" | "WorkOrderTypes";
|
||||
|
||||
const recordIdColumns: Map<RecordTable, string> = new Map();
|
||||
recordIdColumns.set("OccupancyTypes", "occupancyTypeId");
|
||||
recordIdColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneTypeId");
|
||||
recordIdColumns.set("WorkOrderTypes", "workOrderTypeId");
|
||||
|
||||
function getCurrentOrderNumber(
|
||||
recordTable: RecordTable,
|
||||
recordId: number | string,
|
||||
database: sqlite.Database
|
||||
): number {
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
`select orderNumber
|
||||
from ${recordTable}
|
||||
where ${recordIdColumns.get(recordTable)} = ?`
|
||||
)
|
||||
.get(recordId).orderNumber;
|
||||
|
||||
return currentOrderNumber;
|
||||
}
|
||||
|
||||
export function moveRecordDown(recordTable: RecordTable, recordId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update ${recordTable}
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
`update ${recordTable}
|
||||
set orderNumber = ? + 1
|
||||
where ${recordIdColumns.get(recordTable)} = ?`
|
||||
)
|
||||
.run(currentOrderNumber, recordId);
|
||||
|
||||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
}
|
||||
|
||||
export function moveRecordDownToBottom(recordTable: RecordTable, recordId: number | string): boolean {
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from ${recordTable}
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
`update ${recordTable} set orderNumber = ? + 1 where ${recordIdColumns.get(recordTable)} = ?`
|
||||
)
|
||||
.run(maxOrderNumber, recordId);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update ${recordTable}
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,49 +1,13 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId, clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId) {
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
database
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = ? + 1
|
||||
where workOrderMilestoneTypeId = ?`)
|
||||
.run(currentOrderNumber, workOrderMilestoneTypeId);
|
||||
database.close();
|
||||
const success = moveRecordDown("WorkOrderMilestoneTypes", workOrderMilestoneTypeId);
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
export function moveWorkOrderMilestoneTypeDownToBottom(workOrderMilestoneTypeId) {
|
||||
const currentOrderNumber = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
const maxOrderNumber = database
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrderMilestoneTypes set orderNumber = ? + 1 where workOrderMilestoneTypeId = ?")
|
||||
.run(maxOrderNumber, workOrderMilestoneTypeId);
|
||||
database
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
const success = moveRecordDownToBottom("WorkOrderMilestoneTypes", workOrderMilestoneTypeId);
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
export default moveWorkOrderMilestoneTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,86 +1,17 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import {
|
||||
getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId,
|
||||
clearWorkOrderMilestoneTypesCache
|
||||
} from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
|
||||
export function moveWorkOrderMilestoneTypeDown(workOrderMilestoneTypeId: number | string): boolean {
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
`update WorkOrderMilestoneTypes
|
||||
set orderNumber = ? + 1
|
||||
where workOrderMilestoneTypeId = ?`
|
||||
)
|
||||
.run(currentOrderNumber, workOrderMilestoneTypeId);
|
||||
|
||||
database.close();
|
||||
|
||||
const success = moveRecordDown("WorkOrderMilestoneTypes", workOrderMilestoneTypeId);
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
|
||||
export function moveWorkOrderMilestoneTypeDownToBottom(
|
||||
workOrderMilestoneTypeId: number | string
|
||||
): boolean {
|
||||
const currentOrderNumber: number = getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(
|
||||
typeof workOrderMilestoneTypeId === "string"
|
||||
? Number.parseInt(workOrderMilestoneTypeId)
|
||||
: workOrderMilestoneTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderMilestoneTypes set orderNumber = ? + 1 where workOrderMilestoneTypeId = ?"
|
||||
)
|
||||
.run(maxOrderNumber, workOrderMilestoneTypeId);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update WorkOrderMilestoneTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
export function moveWorkOrderMilestoneTypeDownToBottom(workOrderMilestoneTypeId: number | string): boolean {
|
||||
const success = moveRecordDownToBottom("WorkOrderMilestoneTypes", workOrderMilestoneTypeId);
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
|
||||
export default moveWorkOrderMilestoneTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,43 +1,13 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getWorkOrderTypeById, clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
export function moveWorkOrderTypeDown(workOrderTypeId) {
|
||||
const currentOrderNumber = getWorkOrderTypeById(typeof workOrderTypeId === "string" ? Number.parseInt(workOrderTypeId) : workOrderTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
database
|
||||
.prepare(`update WorkOrderTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update WorkOrderTypes set orderNumber = ? + 1 where workOrderTypeId = ?")
|
||||
.run(currentOrderNumber, workOrderTypeId);
|
||||
database.close();
|
||||
const success = moveRecordDown("WorkOrderTypes", workOrderTypeId);
|
||||
clearWorkOrderTypesCache();
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
export function moveWorkOrderTypeDownToBottom(workOrderTypeId) {
|
||||
const currentOrderNumber = getWorkOrderTypeById(typeof workOrderTypeId === "string" ? Number.parseInt(workOrderTypeId) : workOrderTypeId).orderNumber;
|
||||
const database = sqlite(databasePath);
|
||||
const maxOrderNumber = database
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from WorkOrderTypes
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrderTypes set orderNumber = ? + 1 where workOrderTypeId = ?")
|
||||
.run(maxOrderNumber, workOrderTypeId);
|
||||
database
|
||||
.prepare(`update WorkOrderTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
const success = moveRecordDownToBottom("WorkOrderTypes", workOrderTypeId);
|
||||
clearWorkOrderTypesCache();
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
export default moveWorkOrderTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,71 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { getWorkOrderTypeById, clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { moveRecordDown, moveRecordDownToBottom } from "./moveRecord.js";
|
||||
|
||||
export function moveWorkOrderTypeDown(workOrderTypeId: number | string): boolean {
|
||||
const currentOrderNumber: number = getWorkOrderTypeById(
|
||||
typeof workOrderTypeId === "string" ? Number.parseInt(workOrderTypeId) : workOrderTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update WorkOrderTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare("update WorkOrderTypes set orderNumber = ? + 1 where workOrderTypeId = ?")
|
||||
.run(currentOrderNumber, workOrderTypeId);
|
||||
|
||||
database.close();
|
||||
|
||||
const success = moveRecordDown("WorkOrderTypes", workOrderTypeId);
|
||||
clearWorkOrderTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
return success;
|
||||
}
|
||||
|
||||
export function moveWorkOrderTypeDownToBottom(workOrderTypeId: number | string): boolean {
|
||||
const currentOrderNumber: number = getWorkOrderTypeById(
|
||||
typeof workOrderTypeId === "string" ? Number.parseInt(workOrderTypeId) : workOrderTypeId
|
||||
).orderNumber;
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from WorkOrderTypes
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrderTypes set orderNumber = ? + 1 where workOrderTypeId = ?")
|
||||
.run(maxOrderNumber, workOrderTypeId);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`update WorkOrderTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
||||
database.close();
|
||||
|
||||
const success = moveRecordDownToBottom("WorkOrderTypes", workOrderTypeId);
|
||||
clearWorkOrderTypesCache();
|
||||
|
||||
return true;
|
||||
return success;
|
||||
}
|
||||
|
||||
export default moveWorkOrderTypeDown;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const workOrderId = document.querySelector("#workOrderEdit--workOrderId").value;
|
||||
const isCreate = workOrderId === "";
|
||||
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
||||
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
||||
los.initializeDatePickers(workOrderFormElement
|
||||
.querySelector("#workOrderEdit--workOrderOpenDateString")
|
||||
.closest(".field"));
|
||||
los.initializeUnlockFieldButtons(workOrderFormElement);
|
||||
workOrderFormElement.addEventListener("submit", (submitEvent) => {
|
||||
submitEvent.preventDefault();
|
||||
|
|
|
|||
|
|
@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const workOrderId = document.querySelector("#workOrderEdit--workOrderId").value;
|
||||
const isCreate = workOrderId === "";
|
||||
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
||||
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
||||
los.initializeDatePickers(workOrderFormElement
|
||||
.querySelector("#workOrderEdit--workOrderOpenDateString")
|
||||
.closest(".field"));
|
||||
los.initializeUnlockFieldButtons(workOrderFormElement);
|
||||
workOrderFormElement.addEventListener("submit", (submitEvent) => {
|
||||
submitEvent.preventDefault();
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ declare const bulmaJS: BulmaJS;
|
|||
const workOrderFormElement = document.querySelector("#form--workOrderEdit") as HTMLFormElement;
|
||||
|
||||
los.initializeDatePickers(
|
||||
(
|
||||
workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString") as HTMLInputElement
|
||||
).closest(".field") as HTMLElement
|
||||
workOrderFormElement
|
||||
.querySelector("#workOrderEdit--workOrderOpenDateString")!
|
||||
.closest(".field") as HTMLElement
|
||||
);
|
||||
los.initializeUnlockFieldButtons(workOrderFormElement);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue