From 47eb4a025496d772bb7f07bbea9118b4375947cc Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Fri, 9 Sep 2022 13:35:14 -0400 Subject: [PATCH] update work order --- helpers/lotOccupancyDB/updateWorkOrder.d.ts | 10 ++++ helpers/lotOccupancyDB/updateWorkOrder.js | 21 +++++++++ helpers/lotOccupancyDB/updateWorkOrder.ts | 51 +++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 helpers/lotOccupancyDB/updateWorkOrder.d.ts create mode 100644 helpers/lotOccupancyDB/updateWorkOrder.js create mode 100644 helpers/lotOccupancyDB/updateWorkOrder.ts diff --git a/helpers/lotOccupancyDB/updateWorkOrder.d.ts b/helpers/lotOccupancyDB/updateWorkOrder.d.ts new file mode 100644 index 00000000..f15f54b9 --- /dev/null +++ b/helpers/lotOccupancyDB/updateWorkOrder.d.ts @@ -0,0 +1,10 @@ +import type * as recordTypes from "../../types/recordTypes"; +interface UpdateWorkOrderForm { + workOrderId: string; + workOrderNumber: string; + workOrderTypeId: string; + workOrderDescription: string; + workOrderOpenDateString: string; +} +export declare const updateWorkOrder: (workOrderForm: UpdateWorkOrderForm, requestSession: recordTypes.PartialSession) => boolean; +export default updateWorkOrder; diff --git a/helpers/lotOccupancyDB/updateWorkOrder.js b/helpers/lotOccupancyDB/updateWorkOrder.js new file mode 100644 index 00000000..8a710e9c --- /dev/null +++ b/helpers/lotOccupancyDB/updateWorkOrder.js @@ -0,0 +1,21 @@ +import { dateStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; +import sqlite from "better-sqlite3"; +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; +export const updateWorkOrder = (workOrderForm, requestSession) => { + const database = sqlite(databasePath); + const rightNowMillis = Date.now(); + const result = database + .prepare("update WorkOrders" + + " set workOrderNumber = ?," + + " workOrderTypeId = ?," + + " workOrderDescription = ?," + + " workOrderOpenDate = ?," + + " recordUpdate_userName = ?," + + " recordUpdate_timeMillis = ?" + + " where workOrderId = ?" + + " and recordDelete_timeMillis is null") + .run(workOrderForm.workOrderNumber, workOrderForm.workOrderTypeId, workOrderForm.workOrderDescription, dateStringToInteger(workOrderForm.workOrderOpenDateString), requestSession.user.userName, rightNowMillis, workOrderForm.workOrderId); + database.close(); + return result.changes > 0; +}; +export default updateWorkOrder; diff --git a/helpers/lotOccupancyDB/updateWorkOrder.ts b/helpers/lotOccupancyDB/updateWorkOrder.ts new file mode 100644 index 00000000..f2c47df1 --- /dev/null +++ b/helpers/lotOccupancyDB/updateWorkOrder.ts @@ -0,0 +1,51 @@ +import { dateStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; +import sqlite from "better-sqlite3"; + +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; + +import type * as recordTypes from "../../types/recordTypes"; + +interface UpdateWorkOrderForm { + workOrderId: string; + workOrderNumber: string; + workOrderTypeId: string; + workOrderDescription: string; + workOrderOpenDateString: string; +} + +export const updateWorkOrder = ( + workOrderForm: UpdateWorkOrderForm, + requestSession: recordTypes.PartialSession +): boolean => { + const database = sqlite(databasePath); + + const rightNowMillis = Date.now(); + + const result = database + .prepare( + "update WorkOrders" + + " set workOrderNumber = ?," + + " workOrderTypeId = ?," + + " workOrderDescription = ?," + + " workOrderOpenDate = ?," + + " recordUpdate_userName = ?," + + " recordUpdate_timeMillis = ?" + + " where workOrderId = ?" + + " and recordDelete_timeMillis is null" + ) + .run( + workOrderForm.workOrderNumber, + workOrderForm.workOrderTypeId, + workOrderForm.workOrderDescription, + dateStringToInteger(workOrderForm.workOrderOpenDateString), + requestSession.user.userName, + rightNowMillis, + workOrderForm.workOrderId + ); + + database.close(); + + return result.changes > 0; +}; + +export default updateWorkOrder;