From a80b7ec45b887b8554b83e37dc71f834c93d8b6b Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Tue, 30 Aug 2022 13:23:42 -0400 Subject: [PATCH] work order lot occupancies --- helpers/initializer.database.js | 10 +++- helpers/initializer.database.ts | 11 +++- .../addWorkOrderLotOccupancy.d.ts | 7 +++ .../addWorkOrderLotOccupancy.js | 16 ++++++ .../addWorkOrderLotOccupancy.ts | 42 ++++++++++++++ temp/legacy.importFromCSV.js | 51 +++++++++++------ temp/legacy.importFromCSV.ts | 57 +++++++++++++------ types/recordTypes.d.ts | 11 ++++ types/recordTypes.ts | 36 ++++++++---- 9 files changed, 197 insertions(+), 44 deletions(-) create mode 100644 helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts create mode 100644 helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js create mode 100644 helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts diff --git a/helpers/initializer.database.js b/helpers/initializer.database.js index 7921a527..24ea030e 100644 --- a/helpers/initializer.database.js +++ b/helpers/initializer.database.js @@ -11,7 +11,7 @@ const recordColumns = " recordCreate_userName varchar(30) not null," + export const initializeDatabase = () => { const lotOccupancyDB = sqlite(databasePath); const row = lotOccupancyDB - .prepare("select name from sqlite_master where type = 'table' and name = 'Fees'") + .prepare("select name from sqlite_master where type = 'table' and name = 'WorkOrderComments'") .get(); if (!row) { debugSQL("Creating " + databasePath); @@ -251,6 +251,14 @@ export const initializeDatabase = () => { " foreign key (workOrderId) references WorkOrders (workOrderId)," + " foreign key (lotId) references Lots (lotId)" + ") without rowid").run(); + lotOccupancyDB.prepare("create table if not exists WorkOrderLotOccupancies (" + + "workOrderId integer not null," + + " lotOccupancyId integer not null," + + recordColumns + "," + + " primary key (workOrderId, lotOccupancyId)," + + " foreign key (workOrderId) references WorkOrders (workOrderId)," + + " foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId)" + + ") without rowid").run(); lotOccupancyDB.prepare("create table if not exists WorkOrderComments (" + "workOrderCommentId integer not null primary key autoincrement," + " workOrderId integer not null," + diff --git a/helpers/initializer.database.ts b/helpers/initializer.database.ts index 33eba643..c3ef3c57 100644 --- a/helpers/initializer.database.ts +++ b/helpers/initializer.database.ts @@ -21,7 +21,7 @@ export const initializeDatabase = (): boolean => { const lotOccupancyDB = sqlite(databasePath); const row = lotOccupancyDB - .prepare("select name from sqlite_master where type = 'table' and name = 'Fees'") + .prepare("select name from sqlite_master where type = 'table' and name = 'WorkOrderComments'") .get(); if (!row) { @@ -313,6 +313,15 @@ export const initializeDatabase = (): boolean => { " foreign key (lotId) references Lots (lotId)" + ") without rowid").run(); + lotOccupancyDB.prepare("create table if not exists WorkOrderLotOccupancies (" + + "workOrderId integer not null," + + " lotOccupancyId integer not null," + + recordColumns + "," + + " primary key (workOrderId, lotOccupancyId)," + + " foreign key (workOrderId) references WorkOrders (workOrderId)," + + " foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId)" + + ") without rowid").run(); + lotOccupancyDB.prepare("create table if not exists WorkOrderComments (" + "workOrderCommentId integer not null primary key autoincrement," + " workOrderId integer not null," + diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts new file mode 100644 index 00000000..af80e734 --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts @@ -0,0 +1,7 @@ +import type * as recordTypes from "../../types/recordTypes"; +interface AddWorkOrderLotOccupancyForm { + workOrderId: number | string; + lotOccupancyId: number | string; +} +export declare const addWorkOrderLotOccupancy: (workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession) => boolean; +export default addWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js new file mode 100644 index 00000000..30527029 --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js @@ -0,0 +1,16 @@ +import sqlite from "better-sqlite3"; +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; +export const addWorkOrderLotOccupancy = (workOrderLotOccupancyForm, requestSession) => { + const database = sqlite(databasePath); + const rightNowMillis = Date.now(); + const result = database + .prepare("insert into WorkOrderLotOccupancies (" + + "workOrderId, lotOccupancyId," + + " recordCreate_userName, recordCreate_timeMillis," + + " recordUpdate_userName, recordUpdate_timeMillis)" + + " values (?, ?, ?, ?, ?, ?)") + .run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + database.close(); + return result.changes > 0; +}; +export default addWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts new file mode 100644 index 00000000..98bfc709 --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts @@ -0,0 +1,42 @@ +import sqlite from "better-sqlite3"; + +import { + lotOccupancyDB as databasePath +} from "../../data/databasePaths.js"; + +import type * as recordTypes from "../../types/recordTypes"; + + +interface AddWorkOrderLotOccupancyForm { + workOrderId: number | string; + lotOccupancyId: number | string; +} + + +export const addWorkOrderLotOccupancy = + (workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession): boolean => { + + const database = sqlite(databasePath); + + const rightNowMillis = Date.now(); + + const result = database + .prepare("insert into WorkOrderLotOccupancies (" + + "workOrderId, lotOccupancyId," + + " recordCreate_userName, recordCreate_timeMillis," + + " recordUpdate_userName, recordUpdate_timeMillis)" + + " values (?, ?, ?, ?, ?, ?)") + .run(workOrderLotOccupancyForm.workOrderId, + workOrderLotOccupancyForm.lotOccupancyId, + requestSession.user.userName, + rightNowMillis, + requestSession.user.userName, + rightNowMillis); + + database.close(); + + return result.changes > 0; + }; + + +export default addWorkOrderLotOccupancy; \ No newline at end of file diff --git a/temp/legacy.importFromCSV.js b/temp/legacy.importFromCSV.js index 352a431d..dda9aae4 100644 --- a/temp/legacy.importFromCSV.js +++ b/temp/legacy.importFromCSV.js @@ -18,6 +18,7 @@ import { addLotOccupancyFee } from "../helpers/lotOccupancyDB/addLotOccupancyFee import { addLotOccupancyTransaction } from "../helpers/lotOccupancyDB/addLotOccupancyTransaction.js"; import { addWorkOrder } from "../helpers/lotOccupancyDB/addWorkOrder.js"; import { addWorkOrderLot } from "../helpers/lotOccupancyDB/addWorkOrderLot.js"; +import { addWorkOrderLotOccupancy } from "../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js"; const user = { user: { userName: "import.unix", @@ -29,6 +30,10 @@ const user = { }; function purgeTables() { const database = sqlite(databasePath); + database.prepare("delete from WorkOrderComments").run(); + database.prepare("delete from WorkOrderLots").run(); + database.prepare("delete from WorkOrderLotOccupancies").run(); + database.prepare("delete from WorkOrders").run(); database.prepare("delete from LotOccupancyTransactions").run(); database.prepare("delete from LotOccupancyFees").run(); database.prepare("delete from LotOccupancyFields").run(); @@ -37,7 +42,7 @@ function purgeTables() { database.prepare("delete from LotOccupancies").run(); database.prepare("delete from LotComments").run(); database.prepare("delete from Lots").run(); - database.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments')").run(); + database.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments')").run(); database.close(); } function purgeConfigTables() { @@ -210,6 +215,7 @@ function importFromMasterCSV() { }, user); } let preneedOccupancyStartDateString; + let preneedLotOccupancyId; if (masterRow.CM_PRENEED_ORDER) { preneedOccupancyStartDateString = formatDateString(masterRow.CM_PURCHASE_YR, masterRow.CM_PURCHASE_MON, masterRow.CM_PURCHASE_DAY); let occupancyEndDateString = ""; @@ -225,7 +231,7 @@ function importFromMasterCSV() { if (preneedOccupancyStartDateString === "" || preneedOccupancyStartDateString === "0000-00-00") { preneedOccupancyStartDateString = "0001-01-01"; } - const lotOccupancyId = addLotOccupancy({ + preneedLotOccupancyId = addLotOccupancy({ occupancyTypeId: preneedOccupancyType.occupancyTypeId, lotId, occupancyStartDateString: preneedOccupancyStartDateString, @@ -234,7 +240,7 @@ function importFromMasterCSV() { }, user); const occupantPostalCode = ((masterRow.CM_POST1 || "") + " " + (masterRow.CM_POST2 || "")).trim(); addLotOccupancyOccupant({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupantTypeId: preneedOwnerLotOccupantType.lotOccupantTypeId, occupantName: masterRow.CM_PRENEED_OWNER, occupantAddress1: masterRow.CM_ADDRESS, @@ -246,7 +252,7 @@ function importFromMasterCSV() { }, user); if (masterRow.CM_REMARK1 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK1 @@ -254,7 +260,7 @@ function importFromMasterCSV() { } if (masterRow.CM_REMARK2 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK2 @@ -265,6 +271,7 @@ function importFromMasterCSV() { } } let deceasedOccupancyStartDateString; + let deceasedLotOccupancyId; if (masterRow.CM_DECEASED_NAME) { deceasedOccupancyStartDateString = formatDateString(masterRow.CM_INTERMENT_YR, masterRow.CM_INTERMENT_MON, masterRow.CM_INTERMENT_DAY); const occupancyEndDateString = ""; @@ -274,7 +281,7 @@ function importFromMasterCSV() { if (deceasedOccupancyStartDateString === "" || deceasedOccupancyStartDateString === "0000-00-00") { deceasedOccupancyStartDateString = "0001-01-01"; } - const lotOccupancyId = addLotOccupancy({ + deceasedLotOccupancyId = addLotOccupancy({ occupancyTypeId: lotId ? deceasedOccupancyType.occupancyTypeId : cremationOccupancyType.occupancyTypeId, lotId, occupancyStartDateString: deceasedOccupancyStartDateString, @@ -283,7 +290,7 @@ function importFromMasterCSV() { }, user); const deceasedPostalCode = ((masterRow.CM_POST1 || "") + " " + (masterRow.CM_POST2 || "")).trim(); addLotOccupancyOccupant({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: deceasedLotOccupantType.lotOccupantTypeId, occupantName: masterRow.CM_DECEASED_NAME, occupantAddress1: masterRow.CM_ADDRESS, @@ -296,7 +303,7 @@ function importFromMasterCSV() { if (masterRow.CM_DEATH_YR !== "") { const lotOccupancyFieldValue = formatDateString(masterRow.CM_DEATH_YR, masterRow.CM_DEATH_MON, masterRow.CM_DEATH_DAY); addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Date"; }).occupancyTypeFieldId, @@ -305,7 +312,7 @@ function importFromMasterCSV() { } if (masterRow.CM_AGE !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Age"; }).occupancyTypeFieldId, @@ -314,7 +321,7 @@ function importFromMasterCSV() { } if (masterRow.CM_PERIOD !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Age Period"; }).occupancyTypeFieldId, @@ -323,7 +330,7 @@ function importFromMasterCSV() { } if (masterRow.CM_FUNERAL_HOME !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Funeral Home"; }).occupancyTypeFieldId, @@ -333,7 +340,7 @@ function importFromMasterCSV() { if (masterRow.CM_FUNERAL_YR !== "") { const lotOccupancyFieldValue = formatDateString(masterRow.CM_FUNERAL_YR, masterRow.CM_FUNERAL_MON, masterRow.CM_FUNERAL_DAY); addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Funeral Date"; }).occupancyTypeFieldId, @@ -342,7 +349,7 @@ function importFromMasterCSV() { } if (masterRow.CM_CONTAINER_TYPE !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Container Type"; }).occupancyTypeFieldId, @@ -355,7 +362,7 @@ function importFromMasterCSV() { commitalType = "Graveside"; } addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Committal Type"; }).occupancyTypeFieldId, @@ -364,7 +371,7 @@ function importFromMasterCSV() { } if (masterRow.CM_REMARK1 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK1 @@ -372,7 +379,7 @@ function importFromMasterCSV() { } if (masterRow.CM_REMARK2 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK2 @@ -393,6 +400,18 @@ function importFromMasterCSV() { lotId }, user); } + if (deceasedLotOccupancyId) { + addWorkOrderLotOccupancy({ + workOrderId, + lotOccupancyId: deceasedLotOccupancyId + }, user); + } + else if (preneedLotOccupancyId) { + addWorkOrderLotOccupancy({ + workOrderId, + lotOccupancyId: preneedLotOccupancyId + }, user); + } } } } diff --git a/temp/legacy.importFromCSV.ts b/temp/legacy.importFromCSV.ts index 4389631b..a0d027db 100644 --- a/temp/legacy.importFromCSV.ts +++ b/temp/legacy.importFromCSV.ts @@ -69,6 +69,10 @@ import { addWorkOrderLot } from "../helpers/lotOccupancyDB/addWorkOrderLot.js"; +import { + addWorkOrderLotOccupancy +} from "../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js"; + import type * as recordTypes from "../types/recordTypes"; @@ -180,6 +184,10 @@ const user: recordTypes.PartialSession = { function purgeTables() { const database = sqlite(databasePath); + database.prepare("delete from WorkOrderComments").run(); + database.prepare("delete from WorkOrderLots").run(); + database.prepare("delete from WorkOrderLotOccupancies").run(); + database.prepare("delete from WorkOrders").run(); database.prepare("delete from LotOccupancyTransactions").run(); database.prepare("delete from LotOccupancyFees").run(); database.prepare("delete from LotOccupancyFields").run(); @@ -188,7 +196,7 @@ function purgeTables() { database.prepare("delete from LotOccupancies").run(); database.prepare("delete from LotComments").run(); database.prepare("delete from Lots").run(); - database.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments')").run(); + database.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments')").run(); database.close(); } @@ -445,6 +453,7 @@ function importFromMasterCSV() { } let preneedOccupancyStartDateString: string; + let preneedLotOccupancyId: number; if (masterRow.CM_PRENEED_ORDER) { @@ -476,7 +485,7 @@ function importFromMasterCSV() { preneedOccupancyStartDateString = "0001-01-01"; } - const lotOccupancyId = addLotOccupancy({ + preneedLotOccupancyId = addLotOccupancy({ occupancyTypeId: preneedOccupancyType.occupancyTypeId, lotId, occupancyStartDateString: preneedOccupancyStartDateString, @@ -487,7 +496,7 @@ function importFromMasterCSV() { const occupantPostalCode = ((masterRow.CM_POST1 || "") + " " + (masterRow.CM_POST2 || "")).trim(); addLotOccupancyOccupant({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupantTypeId: preneedOwnerLotOccupantType.lotOccupantTypeId, occupantName: masterRow.CM_PRENEED_OWNER, occupantAddress1: masterRow.CM_ADDRESS, @@ -500,7 +509,7 @@ function importFromMasterCSV() { if (masterRow.CM_REMARK1 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK1 @@ -509,7 +518,7 @@ function importFromMasterCSV() { if (masterRow.CM_REMARK2 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK2 @@ -522,6 +531,7 @@ function importFromMasterCSV() { } let deceasedOccupancyStartDateString: string; + let deceasedLotOccupancyId: number; if (masterRow.CM_DECEASED_NAME) { @@ -542,7 +552,7 @@ function importFromMasterCSV() { deceasedOccupancyStartDateString = "0001-01-01"; } - const lotOccupancyId = addLotOccupancy({ + deceasedLotOccupancyId = addLotOccupancy({ occupancyTypeId: lotId ? deceasedOccupancyType.occupancyTypeId : cremationOccupancyType.occupancyTypeId, lotId, occupancyStartDateString: deceasedOccupancyStartDateString, @@ -553,7 +563,7 @@ function importFromMasterCSV() { const deceasedPostalCode = ((masterRow.CM_POST1 || "") + " " + (masterRow.CM_POST2 || "")).trim(); addLotOccupancyOccupant({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: deceasedLotOccupantType.lotOccupantTypeId, occupantName: masterRow.CM_DECEASED_NAME, occupantAddress1: masterRow.CM_ADDRESS, @@ -571,7 +581,7 @@ function importFromMasterCSV() { masterRow.CM_DEATH_DAY); addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Date" }).occupancyTypeFieldId, @@ -582,7 +592,7 @@ function importFromMasterCSV() { if (masterRow.CM_AGE !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Age" }).occupancyTypeFieldId, @@ -593,7 +603,7 @@ function importFromMasterCSV() { if (masterRow.CM_PERIOD !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Death Age Period" }).occupancyTypeFieldId, @@ -604,7 +614,7 @@ function importFromMasterCSV() { if (masterRow.CM_FUNERAL_HOME !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Funeral Home" }).occupancyTypeFieldId, @@ -619,7 +629,7 @@ function importFromMasterCSV() { masterRow.CM_FUNERAL_DAY); addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Funeral Date" }).occupancyTypeFieldId, @@ -630,7 +640,7 @@ function importFromMasterCSV() { if (masterRow.CM_CONTAINER_TYPE !== "") { addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Container Type" }).occupancyTypeFieldId, @@ -647,7 +657,7 @@ function importFromMasterCSV() { } addOrUpdateLotOccupancyField({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: deceasedOccupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === "Committal Type" }).occupancyTypeFieldId, @@ -657,7 +667,7 @@ function importFromMasterCSV() { if (masterRow.CM_REMARK1 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK1 @@ -666,7 +676,7 @@ function importFromMasterCSV() { if (masterRow.CM_REMARK2 !== "") { addLotOccupancyComment({ - lotOccupancyId, + lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: "00:00", lotOccupancyComment: masterRow.CM_REMARK2 @@ -691,6 +701,21 @@ function importFromMasterCSV() { lotId }, user); } + + if (deceasedLotOccupancyId) { + + addWorkOrderLotOccupancy({ + workOrderId, + lotOccupancyId: deceasedLotOccupancyId + }, user); + + } else if (preneedLotOccupancyId) { + + addWorkOrderLotOccupancy({ + workOrderId, + lotOccupancyId: preneedLotOccupancyId + }, user); + } } } } catch (error) { diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index 653803f8..c152ac3f 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -190,6 +190,15 @@ export interface WorkOrderType extends Record { workOrderType?: string; orderNumber?: number; } +export interface WorkOrderComment extends Record { + workOrderCommentId?: number; + workOrderId?: number; + workOrderCommentDate?: number; + workOrderCommentDateString?: string; + workOrderCommentTime?: number; + workOrderCommentTimeString?: string; + workOrderComment?: string; +} export interface WorkOrder extends Record { workOrderId?: number; workOrderTypeId?: number; @@ -200,7 +209,9 @@ export interface WorkOrder extends Record { workOrderOpenDateString?: string; workOrderCloseDate?: number; workOrderCloseDateString?: string; + workOrderComments?: WorkOrderComment[]; workOrderLots?: Lot[]; + workOrderLotOccupancies?: LotOccupancy[]; } export interface User { userName: string; diff --git a/types/recordTypes.ts b/types/recordTypes.ts index d741acf1..da8ddaab 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -276,22 +276,38 @@ export interface WorkOrderType extends Record { } +export interface WorkOrderComment extends Record { + workOrderCommentId ? : number; + workOrderId ? : number; + + workOrderCommentDate ? : number; + workOrderCommentDateString ? : string; + + workOrderCommentTime ? : number; + workOrderCommentTimeString ? : string; + + workOrderComment ? : string; +} + + export interface WorkOrder extends Record { - workOrderId?: number; + workOrderId ? : number; - workOrderTypeId?: number; - workOrderType?: string; + workOrderTypeId ? : number; + workOrderType ? : string; - workOrderNumber?: string; - workOrderDescription?: string; + workOrderNumber ? : string; + workOrderDescription ? : string; - workOrderOpenDate?: number; - workOrderOpenDateString?: string; + workOrderOpenDate ? : number; + workOrderOpenDateString ? : string; - workOrderCloseDate?: number; - workOrderCloseDateString?: string; + workOrderCloseDate ? : number; + workOrderCloseDateString ? : string; - workOrderLots?: Lot[]; + workOrderComments ? : WorkOrderComment[]; + workOrderLots ? : Lot[]; + workOrderLotOccupancies ? : LotOccupancy[]; }