update import to include milestones
parent
8bbe9ab637
commit
3c34838e84
|
|
@ -20,7 +20,9 @@ import { addWorkOrderLot } from "../helpers/lotOccupancyDB/addWorkOrderLot.js";
|
||||||
import { addWorkOrderLotOccupancy } from "../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js";
|
import { addWorkOrderLotOccupancy } from "../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js";
|
||||||
import { getWorkOrder, getWorkOrderByWorkOrderNumber } from "../helpers/lotOccupancyDB/getWorkOrder.js";
|
import { getWorkOrder, getWorkOrderByWorkOrderNumber } from "../helpers/lotOccupancyDB/getWorkOrder.js";
|
||||||
import { reopenWorkOrder } from "../helpers/lotOccupancyDB/reopenWorkOrder.js";
|
import { reopenWorkOrder } from "../helpers/lotOccupancyDB/reopenWorkOrder.js";
|
||||||
import { dateIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
import { dateIntegerToString, dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
import addWorkOrderMilestone from "../helpers/lotOccupancyDB/addWorkOrderMilestone.js";
|
||||||
|
import closeWorkOrder from "../helpers/lotOccupancyDB/closeWorkOrder.js";
|
||||||
const user = {
|
const user = {
|
||||||
user: {
|
user: {
|
||||||
userName: "import.unix",
|
userName: "import.unix",
|
||||||
|
|
@ -32,6 +34,7 @@ const user = {
|
||||||
};
|
};
|
||||||
function purgeTables() {
|
function purgeTables() {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
database.prepare("delete from WorkOrderMilestones").run();
|
||||||
database.prepare("delete from WorkOrderComments").run();
|
database.prepare("delete from WorkOrderComments").run();
|
||||||
database.prepare("delete from WorkOrderLots").run();
|
database.prepare("delete from WorkOrderLots").run();
|
||||||
database.prepare("delete from WorkOrderLotOccupancies").run();
|
database.prepare("delete from WorkOrderLotOccupancies").run();
|
||||||
|
|
@ -45,7 +48,7 @@ function purgeTables() {
|
||||||
database.prepare("delete from LotComments").run();
|
database.prepare("delete from LotComments").run();
|
||||||
database.prepare("delete from Lots").run();
|
database.prepare("delete from Lots").run();
|
||||||
database
|
database
|
||||||
.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments')")
|
.prepare("delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments', 'WorkOrderMilestones')")
|
||||||
.run();
|
.run();
|
||||||
database.close();
|
database.close();
|
||||||
}
|
}
|
||||||
|
|
@ -74,6 +77,9 @@ function formatDateString(year, month, day) {
|
||||||
"-" +
|
"-" +
|
||||||
("00" + day).slice(-2));
|
("00" + day).slice(-2));
|
||||||
}
|
}
|
||||||
|
function formatTimeString(hour, minute) {
|
||||||
|
return ("00" + hour).slice(-2) + ":" + ("00" + minute).slice(-2);
|
||||||
|
}
|
||||||
const cemeteryToMapName = {
|
const cemeteryToMapName = {
|
||||||
"00": "Crematorium",
|
"00": "Crematorium",
|
||||||
GC: "New Greenwood - Columbarium",
|
GC: "New Greenwood - Columbarium",
|
||||||
|
|
@ -182,6 +188,11 @@ const cremationOccupancyType = cacheFunctions.getOccupancyTypeByOccupancyType("C
|
||||||
const preneedOwnerLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Preneed Owner");
|
const preneedOwnerLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Preneed Owner");
|
||||||
const deceasedLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Deceased");
|
const deceasedLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Deceased");
|
||||||
const arrangerLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Arranger");
|
const arrangerLotOccupantType = cacheFunctions.getLotOccupantTypesByLotOccupantType("Arranger");
|
||||||
|
const acknowledgedWorkOrderMilestoneType = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Acknowledged");
|
||||||
|
const deathWorkOrderMilestoneType = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Death");
|
||||||
|
const funeralWorkOrderMilestoneType = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Funeral");
|
||||||
|
const cremationWorkOrderMilestoneType = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Cremation");
|
||||||
|
const intermentWorkOrderMilestoneType = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Interment");
|
||||||
function importFromMasterCSV() {
|
function importFromMasterCSV() {
|
||||||
let masterRow;
|
let masterRow;
|
||||||
const rawData = fs.readFileSync("./temp/CMMASTER.csv").toString();
|
const rawData = fs.readFileSync("./temp/CMMASTER.csv").toString();
|
||||||
|
|
@ -692,6 +703,7 @@ function importFromWorkOrderCSV() {
|
||||||
for (const parseError of cmwkordr.errors) {
|
for (const parseError of cmwkordr.errors) {
|
||||||
console.log(parseError);
|
console.log(parseError);
|
||||||
}
|
}
|
||||||
|
const currentDateString = dateToString(new Date());
|
||||||
try {
|
try {
|
||||||
for (workOrderRow of cmwkordr.data) {
|
for (workOrderRow of cmwkordr.data) {
|
||||||
let workOrder = getWorkOrderByWorkOrderNumber(workOrderRow.WO_WORK_ORDER);
|
let workOrder = getWorkOrderByWorkOrderNumber(workOrderRow.WO_WORK_ORDER);
|
||||||
|
|
@ -861,6 +873,95 @@ function importFromWorkOrderCSV() {
|
||||||
workOrderId: workOrder.workOrderId,
|
workOrderId: workOrder.workOrderId,
|
||||||
lotOccupancyId
|
lotOccupancyId
|
||||||
}, user);
|
}, user);
|
||||||
|
let hasIncompleteMilestones = !workOrderRow.WO_CONFIRMATION_IN;
|
||||||
|
let maxMilestoneCompletionDateString = workOrderOpenDateString;
|
||||||
|
addWorkOrderMilestone({
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId: acknowledgedWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString: workOrderOpenDateString,
|
||||||
|
workOrderMilestoneDescription: "",
|
||||||
|
workOrderMilestoneCompletionDateString: workOrderRow.WO_CONFIRMATION_IN
|
||||||
|
? workOrderOpenDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString: workOrderRow.WO_CONFIRMATION_IN ? "00:00" : undefined
|
||||||
|
}, user);
|
||||||
|
if (workOrderRow.WO_DEATH_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(workOrderRow.WO_DEATH_YR, workOrderRow.WO_DEATH_MON, workOrderRow.WO_DEATH_DAY);
|
||||||
|
addWorkOrderMilestone({
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId: deathWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneDescription: "Death Place: " + workOrderRow.WO_DEATH_PLACE,
|
||||||
|
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? "00:00"
|
||||||
|
: undefined
|
||||||
|
}, user);
|
||||||
|
if (workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (workOrderRow.WO_FUNERAL_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(workOrderRow.WO_FUNERAL_YR, workOrderRow.WO_FUNERAL_MON, workOrderRow.WO_FUNERAL_DAY);
|
||||||
|
const workOrderMilestoneTimeString = formatTimeString(workOrderRow.WO_FUNERAL_HR, workOrderRow.WO_FUNERAL_MIN);
|
||||||
|
addWorkOrderMilestone({
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId: funeralWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneTimeString,
|
||||||
|
workOrderMilestoneDescription: "Funeral Home: " + workOrderRow.WO_FUNERAL_HOME,
|
||||||
|
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneTimeString
|
||||||
|
: undefined
|
||||||
|
}, user);
|
||||||
|
if (workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (workOrderRow.WO_INTERMENT_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(workOrderRow.WO_INTERMENT_YR, workOrderRow.WO_INTERMENT_MON, workOrderRow.WO_INTERMENT_DAY);
|
||||||
|
addWorkOrderMilestone({
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId: intermentWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneDescription: "Depth: " + workOrderRow.WO_DEPTH,
|
||||||
|
workOrderMilestoneCompletionDateString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString: workOrderMilestoneDateString < currentDateString
|
||||||
|
? "00:00"
|
||||||
|
: undefined
|
||||||
|
}, user);
|
||||||
|
if (workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!hasIncompleteMilestones) {
|
||||||
|
closeWorkOrder({
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderCloseDateString: maxMilestoneCompletionDateString
|
||||||
|
}, user);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,14 @@ import {
|
||||||
|
|
||||||
import { reopenWorkOrder } from "../helpers/lotOccupancyDB/reopenWorkOrder.js";
|
import { reopenWorkOrder } from "../helpers/lotOccupancyDB/reopenWorkOrder.js";
|
||||||
|
|
||||||
import { dateIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
import {
|
||||||
|
dateIntegerToString,
|
||||||
|
dateToString
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../types/recordTypes";
|
import type * as recordTypes from "../types/recordTypes";
|
||||||
|
import addWorkOrderMilestone from "../helpers/lotOccupancyDB/addWorkOrderMilestone.js";
|
||||||
|
import closeWorkOrder from "../helpers/lotOccupancyDB/closeWorkOrder.js";
|
||||||
|
|
||||||
interface MasterRecord {
|
interface MasterRecord {
|
||||||
CM_SYSREC: string;
|
CM_SYSREC: string;
|
||||||
|
|
@ -203,6 +208,7 @@ const user: recordTypes.PartialSession = {
|
||||||
|
|
||||||
function purgeTables() {
|
function purgeTables() {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
database.prepare("delete from WorkOrderMilestones").run();
|
||||||
database.prepare("delete from WorkOrderComments").run();
|
database.prepare("delete from WorkOrderComments").run();
|
||||||
database.prepare("delete from WorkOrderLots").run();
|
database.prepare("delete from WorkOrderLots").run();
|
||||||
database.prepare("delete from WorkOrderLotOccupancies").run();
|
database.prepare("delete from WorkOrderLotOccupancies").run();
|
||||||
|
|
@ -217,7 +223,7 @@ function purgeTables() {
|
||||||
database.prepare("delete from Lots").run();
|
database.prepare("delete from Lots").run();
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
"delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments')"
|
"delete from sqlite_sequence where name in ('Lots', 'LotComments', 'LotOccupancies', 'LotOccupancyComments', 'WorkOrders', 'WorkOrderComments', 'WorkOrderMilestones')"
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
database.close();
|
database.close();
|
||||||
|
|
@ -256,6 +262,10 @@ function formatDateString(year: string, month: string, day: string) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function formatTimeString(hour: string, minute: string) {
|
||||||
|
return ("00" + hour).slice(-2) + ":" + ("00" + minute).slice(-2);
|
||||||
|
}
|
||||||
|
|
||||||
const cemeteryToMapName = {
|
const cemeteryToMapName = {
|
||||||
"00": "Crematorium",
|
"00": "Crematorium",
|
||||||
GC: "New Greenwood - Columbarium",
|
GC: "New Greenwood - Columbarium",
|
||||||
|
|
@ -421,6 +431,23 @@ const deceasedLotOccupantType =
|
||||||
const arrangerLotOccupantType =
|
const arrangerLotOccupantType =
|
||||||
cacheFunctions.getLotOccupantTypesByLotOccupantType("Arranger");
|
cacheFunctions.getLotOccupantTypesByLotOccupantType("Arranger");
|
||||||
|
|
||||||
|
const acknowledgedWorkOrderMilestoneType =
|
||||||
|
cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||||
|
"Acknowledged"
|
||||||
|
);
|
||||||
|
const deathWorkOrderMilestoneType =
|
||||||
|
cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Death");
|
||||||
|
const funeralWorkOrderMilestoneType =
|
||||||
|
cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType("Funeral");
|
||||||
|
const cremationWorkOrderMilestoneType =
|
||||||
|
cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||||
|
"Cremation"
|
||||||
|
);
|
||||||
|
const intermentWorkOrderMilestoneType =
|
||||||
|
cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType(
|
||||||
|
"Interment"
|
||||||
|
);
|
||||||
|
|
||||||
function importFromMasterCSV() {
|
function importFromMasterCSV() {
|
||||||
let masterRow: MasterRecord;
|
let masterRow: MasterRecord;
|
||||||
|
|
||||||
|
|
@ -1229,6 +1256,8 @@ function importFromWorkOrderCSV() {
|
||||||
console.log(parseError);
|
console.log(parseError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const currentDateString = dateToString(new Date());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (workOrderRow of cmwkordr.data) {
|
for (workOrderRow of cmwkordr.data) {
|
||||||
let workOrder = getWorkOrderByWorkOrderNumber(
|
let workOrder = getWorkOrderByWorkOrderNumber(
|
||||||
|
|
@ -1333,29 +1362,39 @@ function importFromWorkOrderCSV() {
|
||||||
let occupancyStartDateString = workOrderOpenDateString;
|
let occupancyStartDateString = workOrderOpenDateString;
|
||||||
|
|
||||||
if (workOrderRow.WO_INTERMENT_YR) {
|
if (workOrderRow.WO_INTERMENT_YR) {
|
||||||
occupancyStartDateString = formatDateString(workOrderRow.WO_INTERMENT_YR,
|
occupancyStartDateString = formatDateString(
|
||||||
|
workOrderRow.WO_INTERMENT_YR,
|
||||||
workOrderRow.WO_INTERMENT_MON,
|
workOrderRow.WO_INTERMENT_MON,
|
||||||
workOrderRow.WO_INTERMENT_DAY);
|
workOrderRow.WO_INTERMENT_DAY
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const lotOccupancyId = addLotOccupancy({
|
const lotOccupancyId = addLotOccupancy(
|
||||||
lotId: lot ? lot.lotId : "",
|
{
|
||||||
occupancyTypeId: deceasedOccupancyType.occupancyTypeId,
|
lotId: lot ? lot.lotId : "",
|
||||||
occupancyStartDateString,
|
occupancyTypeId: deceasedOccupancyType.occupancyTypeId,
|
||||||
occupancyEndDateString: ""
|
occupancyStartDateString,
|
||||||
}, user);
|
occupancyEndDateString: ""
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
addLotOccupancyOccupant({
|
addLotOccupancyOccupant(
|
||||||
lotOccupancyId,
|
{
|
||||||
lotOccupantTypeId: deceasedLotOccupantType.lotOccupantTypeId,
|
lotOccupancyId,
|
||||||
occupantName: workOrderRow.WO_DECEASED_NAME,
|
lotOccupantTypeId:
|
||||||
occupantAddress1: workOrderRow.WO_ADDRESS,
|
deceasedLotOccupantType.lotOccupantTypeId,
|
||||||
occupantAddress2: "",
|
occupantName: workOrderRow.WO_DECEASED_NAME,
|
||||||
occupantCity: workOrderRow.WO_CITY,
|
occupantAddress1: workOrderRow.WO_ADDRESS,
|
||||||
occupantProvince: workOrderRow. WO_PROV.slice(0, 2),
|
occupantAddress2: "",
|
||||||
occupantPostalCode: workOrderRow.WO_POST1 + " " + workOrderRow.WO_POST2,
|
occupantCity: workOrderRow.WO_CITY,
|
||||||
occupantPhoneNumber: ""
|
occupantProvince: workOrderRow.WO_PROV.slice(0, 2),
|
||||||
}, user);
|
occupantPostalCode:
|
||||||
|
workOrderRow.WO_POST1 + " " + workOrderRow.WO_POST2,
|
||||||
|
occupantPhoneNumber: ""
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
if (workOrderRow.WO_DEATH_YR !== "") {
|
if (workOrderRow.WO_DEATH_YR !== "") {
|
||||||
const lotOccupancyFieldValue = formatDateString(
|
const lotOccupancyFieldValue = formatDateString(
|
||||||
|
|
@ -1508,10 +1547,172 @@ function importFromWorkOrderCSV() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
addWorkOrderLotOccupancy({
|
addWorkOrderLotOccupancy(
|
||||||
workOrderId: workOrder.workOrderId,
|
{
|
||||||
lotOccupancyId
|
workOrderId: workOrder.workOrderId,
|
||||||
}, user);
|
lotOccupancyId
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
|
// Milestones
|
||||||
|
|
||||||
|
let hasIncompleteMilestones = !workOrderRow.WO_CONFIRMATION_IN;
|
||||||
|
let maxMilestoneCompletionDateString = workOrderOpenDateString;
|
||||||
|
|
||||||
|
addWorkOrderMilestone(
|
||||||
|
{
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId:
|
||||||
|
acknowledgedWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString: workOrderOpenDateString,
|
||||||
|
workOrderMilestoneDescription: "",
|
||||||
|
workOrderMilestoneCompletionDateString:
|
||||||
|
workOrderRow.WO_CONFIRMATION_IN
|
||||||
|
? workOrderOpenDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString:
|
||||||
|
workOrderRow.WO_CONFIRMATION_IN ? "00:00" : undefined
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
|
if (workOrderRow.WO_DEATH_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(
|
||||||
|
workOrderRow.WO_DEATH_YR,
|
||||||
|
workOrderRow.WO_DEATH_MON,
|
||||||
|
workOrderRow.WO_DEATH_DAY
|
||||||
|
);
|
||||||
|
|
||||||
|
addWorkOrderMilestone(
|
||||||
|
{
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId:
|
||||||
|
deathWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneDescription:
|
||||||
|
"Death Place: " + workOrderRow.WO_DEATH_PLACE,
|
||||||
|
workOrderMilestoneCompletionDateString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? "00:00"
|
||||||
|
: undefined
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString
|
||||||
|
) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workOrderRow.WO_FUNERAL_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(
|
||||||
|
workOrderRow.WO_FUNERAL_YR,
|
||||||
|
workOrderRow.WO_FUNERAL_MON,
|
||||||
|
workOrderRow.WO_FUNERAL_DAY
|
||||||
|
);
|
||||||
|
|
||||||
|
const workOrderMilestoneTimeString = formatTimeString(
|
||||||
|
workOrderRow.WO_FUNERAL_HR,
|
||||||
|
workOrderRow.WO_FUNERAL_MIN
|
||||||
|
);
|
||||||
|
|
||||||
|
addWorkOrderMilestone(
|
||||||
|
{
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId:
|
||||||
|
funeralWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneTimeString,
|
||||||
|
workOrderMilestoneDescription:
|
||||||
|
"Funeral Home: " + workOrderRow.WO_FUNERAL_HOME,
|
||||||
|
workOrderMilestoneCompletionDateString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneTimeString
|
||||||
|
: undefined
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString
|
||||||
|
) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workOrderRow.WO_INTERMENT_YR) {
|
||||||
|
const workOrderMilestoneDateString = formatDateString(
|
||||||
|
workOrderRow.WO_INTERMENT_YR,
|
||||||
|
workOrderRow.WO_INTERMENT_MON,
|
||||||
|
workOrderRow.WO_INTERMENT_DAY
|
||||||
|
);
|
||||||
|
|
||||||
|
addWorkOrderMilestone(
|
||||||
|
{
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderMilestoneTypeId:
|
||||||
|
intermentWorkOrderMilestoneType.workOrderMilestoneTypeId,
|
||||||
|
workOrderMilestoneDateString,
|
||||||
|
workOrderMilestoneDescription:
|
||||||
|
"Depth: " + workOrderRow.WO_DEPTH,
|
||||||
|
workOrderMilestoneCompletionDateString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? workOrderMilestoneDateString
|
||||||
|
: undefined,
|
||||||
|
workOrderMilestoneCompletionTimeString:
|
||||||
|
workOrderMilestoneDateString < currentDateString
|
||||||
|
? "00:00"
|
||||||
|
: undefined
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
|
||||||
|
if (
|
||||||
|
workOrderMilestoneDateString >
|
||||||
|
maxMilestoneCompletionDateString
|
||||||
|
) {
|
||||||
|
maxMilestoneCompletionDateString =
|
||||||
|
workOrderMilestoneDateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (workOrderMilestoneDateString >= currentDateString) {
|
||||||
|
hasIncompleteMilestones = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasIncompleteMilestones) {
|
||||||
|
closeWorkOrder(
|
||||||
|
{
|
||||||
|
workOrderId: workOrder.workOrderId,
|
||||||
|
workOrderCloseDateString:
|
||||||
|
maxMilestoneCompletionDateString
|
||||||
|
},
|
||||||
|
user
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue