refactoring
parent
8c2ef7d0d6
commit
b9ace27a9c
|
|
@ -1,7 +1,7 @@
|
|||
import { addFee } from "../../helpers/lotOccupancyDB/addFee.js";
|
||||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
export const handler = async (request, response) => {
|
||||
const feeId = addFee(request.body, request.session);
|
||||
const feeId = addFee({ feeForm: request.body, requestSession: request.session });
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { addFee } from "../../helpers/lotOccupancyDB/addFee.js";
|
|||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
const feeId = addFee(request.body, request.session);
|
||||
const feeId = addFee({ feeForm: request.body, requestSession: request.session });
|
||||
|
||||
const feeCategories = getFeeCategories(
|
||||
{},
|
||||
|
|
|
|||
|
|
@ -14,5 +14,5 @@ interface AddFeeForm {
|
|||
isRequired: "" | "1";
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addFee: (feeForm: AddFeeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addFee;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addFee = (feeForm, requestSession) => {
|
||||
export function addFee(feeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into Fees (" +
|
||||
"feeCategoryId, feeName, feeDescription," +
|
||||
" occupancyTypeId, lotTypeId," +
|
||||
" feeAmount, feeFunction," +
|
||||
" taxAmount, taxPercentage," +
|
||||
" includeQuantity, quantityUnit," +
|
||||
" isRequired, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into Fees (
|
||||
feeCategoryId,
|
||||
feeName, feeDescription,
|
||||
occupancyTypeId, lotTypeId,
|
||||
feeAmount, feeFunction,
|
||||
taxAmount, taxPercentage,
|
||||
includeQuantity, quantityUnit,
|
||||
isRequired, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId || undefined, feeForm.lotTypeId || undefined, feeForm.feeAmount || undefined, feeForm.feeFunction || undefined, feeForm.taxAmount || undefined, feeForm.taxPercentage || undefined, feeForm.includeQuantity ? 1 : 0, feeForm.quantityUnit, feeForm.isRequired ? 1 : 0, feeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addFee;
|
||||
|
|
|
|||
|
|
@ -19,26 +19,24 @@ interface AddFeeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addFee = (
|
||||
feeForm: AddFeeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
export function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into Fees (" +
|
||||
"feeCategoryId, feeName, feeDescription," +
|
||||
" occupancyTypeId, lotTypeId," +
|
||||
" feeAmount, feeFunction," +
|
||||
" taxAmount, taxPercentage," +
|
||||
" includeQuantity, quantityUnit," +
|
||||
" isRequired, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into Fees (
|
||||
feeCategoryId,
|
||||
feeName, feeDescription,
|
||||
occupancyTypeId, lotTypeId,
|
||||
feeAmount, feeFunction,
|
||||
taxAmount, taxPercentage,
|
||||
includeQuantity, quantityUnit,
|
||||
isRequired, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
feeForm.feeCategoryId,
|
||||
|
|
@ -63,6 +61,6 @@ export const addFee = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addFee;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddFeeCategoryForm {
|
|||
feeCategory: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addFeeCategory: (feeCategoryForm: AddFeeCategoryForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addFeeCategory(feeCategoryForm: AddFeeCategoryForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addFeeCategory;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addFeeCategory = (feeCategoryForm, requestSession) => {
|
||||
export function addFeeCategory(feeCategoryForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into FeeCategories (" +
|
||||
"feeCategory, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into FeeCategories (
|
||||
feeCategory, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(feeCategoryForm.feeCategory, feeCategoryForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addFeeCategory;
|
||||
|
|
|
|||
|
|
@ -8,21 +8,21 @@ interface AddFeeCategoryForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addFeeCategory = (
|
||||
export function addFeeCategory(
|
||||
feeCategoryForm: AddFeeCategoryForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into FeeCategories (" +
|
||||
"feeCategory, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into FeeCategories (
|
||||
feeCategory, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
feeCategoryForm.feeCategory,
|
||||
|
|
@ -36,6 +36,6 @@ export const addFeeCategory = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addFeeCategory;
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ interface AddLotForm {
|
|||
lotTypeFieldIds?: string;
|
||||
[lotFieldValue_lotTypeFieldId: string]: unknown;
|
||||
}
|
||||
export declare const addLot: (lotForm: AddLotForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLot;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { addOrUpdateLotField } from "./addOrUpdateLotField.js";
|
||||
export const addLot = (lotForm, requestSession) => {
|
||||
export function addLot(lotForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into Lots (" +
|
||||
"lotName, lotTypeId, lotStatusId," +
|
||||
" mapId, mapKey," +
|
||||
" lotLatitude, lotLongitude," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into Lots (
|
||||
lotName, lotTypeId, lotStatusId,
|
||||
mapId, mapKey,
|
||||
lotLatitude, lotLongitude,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotForm.lotName, lotForm.lotTypeId, lotForm.lotStatusId === "" ? undefined : lotForm.lotStatusId, lotForm.mapId === "" ? undefined : lotForm.mapId, lotForm.mapKey, lotForm.lotLatitude === "" ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === "" ? undefined : lotForm.lotLongitude, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
const lotId = result.lastInsertRowid;
|
||||
const lotTypeFieldIds = (lotForm.lotTypeFieldIds || "").split(",");
|
||||
|
|
@ -27,5 +27,5 @@ export const addLot = (lotForm, requestSession) => {
|
|||
}
|
||||
database.close();
|
||||
return lotId;
|
||||
};
|
||||
}
|
||||
export default addLot;
|
||||
|
|
|
|||
|
|
@ -21,20 +21,20 @@ interface AddLotForm {
|
|||
[lotFieldValue_lotTypeFieldId: string]: unknown;
|
||||
}
|
||||
|
||||
export const addLot = (lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number => {
|
||||
export function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into Lots (" +
|
||||
"lotName, lotTypeId, lotStatusId," +
|
||||
" mapId, mapKey," +
|
||||
" lotLatitude, lotLongitude," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into Lots (
|
||||
lotName, lotTypeId, lotStatusId,
|
||||
mapId, mapKey,
|
||||
lotLatitude, lotLongitude,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotForm.lotName,
|
||||
|
|
@ -73,6 +73,6 @@ export const addLot = (lotForm: AddLotForm, requestSession: recordTypes.PartialS
|
|||
database.close();
|
||||
|
||||
return lotId;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLot;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddLotCommentForm {
|
|||
lotId: string;
|
||||
lotComment: string;
|
||||
}
|
||||
export declare const addLotComment: (lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotComment(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotComment;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const addLotComment = (lotCommentForm, requestSession) => {
|
||||
export function addLotComment(lotCommentForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNow = new Date();
|
||||
const result = database
|
||||
.prepare("insert into LotComments (" +
|
||||
"lotId, lotCommentDate, lotCommentTime, lotComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotComments (
|
||||
lotId,
|
||||
lotCommentDate, lotCommentTime, lotComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotCommentForm.lotId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotComment;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,22 @@ interface AddLotCommentForm {
|
|||
lotComment: string;
|
||||
}
|
||||
|
||||
export const addLotComment = (
|
||||
export function addLotComment(
|
||||
lotCommentForm: AddLotCommentForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNow = new Date();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotComments (" +
|
||||
"lotId, lotCommentDate, lotCommentTime, lotComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotComments (
|
||||
lotId,
|
||||
lotCommentDate, lotCommentTime, lotComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotCommentForm.lotId,
|
||||
|
|
@ -41,6 +42,6 @@ export const addLotComment = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotComment;
|
||||
|
|
|
|||
|
|
@ -18,5 +18,5 @@ interface AddLotOccupancyForm {
|
|||
occupantEmailAddress?: string;
|
||||
occupantComment?: string;
|
||||
}
|
||||
export declare const addLotOccupancy: (lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => number;
|
||||
export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number;
|
||||
export default addLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
import { addOrUpdateLotOccupancyField } from "./addOrUpdateLotOccupancyField.js";
|
||||
import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js";
|
||||
export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatabase) => {
|
||||
export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const occupancyStartDate = dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyStartDateString);
|
||||
|
|
@ -11,12 +11,12 @@ export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatab
|
|||
console.error(lotOccupancyForm);
|
||||
}
|
||||
const result = database
|
||||
.prepare("insert into LotOccupancies (" +
|
||||
"occupancyTypeId, lotId," +
|
||||
" occupancyStartDate, occupancyEndDate," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancies (
|
||||
occupancyTypeId, lotId,
|
||||
occupancyStartDate, occupancyEndDate,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupancyForm.occupancyTypeId, lotOccupancyForm.lotId === "" ? undefined : lotOccupancyForm.lotId, occupancyStartDate, lotOccupancyForm.occupancyEndDateString === ""
|
||||
? undefined
|
||||
: dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyEndDateString), requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
|
|
@ -51,5 +51,5 @@ export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatab
|
|||
database.close();
|
||||
}
|
||||
return lotOccupancyId;
|
||||
};
|
||||
}
|
||||
export default addLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ interface AddLotOccupancyForm {
|
|||
occupantComment?: string;
|
||||
}
|
||||
|
||||
export const addLotOccupancy = (
|
||||
export function addLotOccupancy(
|
||||
lotOccupancyForm: AddLotOccupancyForm,
|
||||
requestSession: recordTypes.PartialSession,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): number => {
|
||||
): number {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
|
@ -50,12 +50,12 @@ export const addLotOccupancy = (
|
|||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotOccupancies (" +
|
||||
"occupancyTypeId, lotId," +
|
||||
" occupancyStartDate, occupancyEndDate," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancies (
|
||||
occupancyTypeId, lotId,
|
||||
occupancyStartDate, occupancyEndDate,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyForm.occupancyTypeId,
|
||||
|
|
@ -117,6 +117,6 @@ export const addLotOccupancy = (
|
|||
}
|
||||
|
||||
return lotOccupancyId;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ interface AddLotOccupancyCommentForm {
|
|||
lotOccupancyCommentTimeString?: string;
|
||||
lotOccupancyComment: string;
|
||||
}
|
||||
export declare const addLotOccupancyComment: (commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotOccupancyComment;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const addLotOccupancyComment = (commentForm, requestSession) => {
|
||||
export function addLotOccupancyComment(commentForm, requestSession) {
|
||||
const rightNow = new Date();
|
||||
let lotOccupancyCommentDate;
|
||||
let lotOccupancyCommentTime;
|
||||
|
|
@ -15,13 +15,15 @@ export const addLotOccupancyComment = (commentForm, requestSession) => {
|
|||
}
|
||||
const database = sqlite(databasePath);
|
||||
const result = database
|
||||
.prepare("insert into LotOccupancyComments (" +
|
||||
"lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, lotOccupancyComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyComments (
|
||||
lotOccupancyId,
|
||||
lotOccupancyCommentDate, lotOccupancyCommentTime,
|
||||
lotOccupancyComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(commentForm.lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotOccupancyComment;
|
||||
|
|
|
|||
|
|
@ -18,22 +18,18 @@ interface AddLotOccupancyCommentForm {
|
|||
lotOccupancyComment: string;
|
||||
}
|
||||
|
||||
export const addLotOccupancyComment = (
|
||||
export function addLotOccupancyComment(
|
||||
commentForm: AddLotOccupancyCommentForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const rightNow = new Date();
|
||||
|
||||
let lotOccupancyCommentDate: number;
|
||||
let lotOccupancyCommentTime: number;
|
||||
|
||||
if (commentForm.lotOccupancyCommentDateString) {
|
||||
lotOccupancyCommentDate = dateStringToInteger(
|
||||
commentForm.lotOccupancyCommentDateString
|
||||
);
|
||||
lotOccupancyCommentTime = timeStringToInteger(
|
||||
commentForm.lotOccupancyCommentTimeString
|
||||
);
|
||||
lotOccupancyCommentDate = dateStringToInteger(commentForm.lotOccupancyCommentDateString);
|
||||
lotOccupancyCommentTime = timeStringToInteger(commentForm.lotOccupancyCommentTimeString);
|
||||
} else {
|
||||
lotOccupancyCommentDate = dateToInteger(rightNow);
|
||||
lotOccupancyCommentTime = dateToTimeInteger(rightNow);
|
||||
|
|
@ -43,11 +39,13 @@ export const addLotOccupancyComment = (
|
|||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotOccupancyComments (" +
|
||||
"lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, lotOccupancyComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyComments (
|
||||
lotOccupancyId,
|
||||
lotOccupancyCommentDate, lotOccupancyCommentTime,
|
||||
lotOccupancyComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
commentForm.lotOccupancyId,
|
||||
|
|
@ -63,6 +61,6 @@ export const addLotOccupancyComment = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupancyComment;
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ interface AddLotOccupancyFeeForm {
|
|||
feeAmount?: number | string;
|
||||
taxAmount?: number | string;
|
||||
}
|
||||
export declare const addLotOccupancyFee: (lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default addLotOccupancyFee;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
import { calculateFeeAmount, calculateTaxAmount } from "../functions.fee.js";
|
||||
import { getFee } from "./getFee.js";
|
||||
import { getLotOccupancy } from "./getLotOccupancy.js";
|
||||
export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => {
|
||||
export function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
let feeAmount;
|
||||
|
|
@ -25,29 +25,28 @@ export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => {
|
|||
taxAmount = calculateTaxAmount(fee, feeAmount);
|
||||
}
|
||||
const record = database
|
||||
.prepare("select feeAmount, taxAmount, recordDelete_timeMillis" +
|
||||
" from LotOccupancyFees" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?")
|
||||
.prepare(`select feeAmount, taxAmount, recordDelete_timeMillis
|
||||
from LotOccupancyFees
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`)
|
||||
.get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
if (record) {
|
||||
if (record.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare("delete from LotOccupancyFees" +
|
||||
" where recordDelete_timeMillis is not null" +
|
||||
" and lotOccupancyId = ?" +
|
||||
" and feeId = ?")
|
||||
.prepare(`delete from LotOccupancyFees
|
||||
where recordDelete_timeMillis is not null
|
||||
and lotOccupancyId = ?
|
||||
and feeId = ?`)
|
||||
.run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
}
|
||||
else if (record.feeAmount === feeAmount &&
|
||||
record.taxAmount === taxAmount) {
|
||||
else if (record.feeAmount === feeAmount && record.taxAmount === taxAmount) {
|
||||
database
|
||||
.prepare("update LotOccupancyFees" +
|
||||
" set quantity = quantity + ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?")
|
||||
.prepare(`update LotOccupancyFees
|
||||
set quantity = quantity + ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`)
|
||||
.run(lotOccupancyFeeForm.quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
database.close();
|
||||
return true;
|
||||
|
|
@ -57,28 +56,28 @@ export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => {
|
|||
? Number.parseFloat(lotOccupancyFeeForm.quantity)
|
||||
: lotOccupancyFeeForm.quantity;
|
||||
database
|
||||
.prepare("update LotOccupancyFees" +
|
||||
" set feeAmount = (feeAmount * quantity) + ?," +
|
||||
" taxAmount = (taxAmount * quantity) + ?," +
|
||||
" quantity = 1," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?")
|
||||
.prepare(`update LotOccupancyFees
|
||||
set feeAmount = (feeAmount * quantity) + ?,
|
||||
taxAmount = (taxAmount * quantity) + ?,
|
||||
quantity = 1,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`)
|
||||
.run(feeAmount * quantity, taxAmount * quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
database.close();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
const result = database
|
||||
.prepare("insert into LotOccupancyFees (" +
|
||||
"lotOccupancyId, feeId," +
|
||||
" quantity, feeAmount, taxAmount," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyFees (
|
||||
lotOccupancyId, feeId,
|
||||
quantity, feeAmount, taxAmount,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId, lotOccupancyFeeForm.quantity, feeAmount, taxAmount, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default addLotOccupancyFee;
|
||||
|
|
|
|||
|
|
@ -18,16 +18,15 @@ interface AddLotOccupancyFeeForm {
|
|||
taxAmount?: number | string;
|
||||
}
|
||||
|
||||
export const addLotOccupancyFee = (
|
||||
export function addLotOccupancyFee(
|
||||
lotOccupancyFeeForm: AddLotOccupancyFeeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
// Calculate fee and tax (if not set)
|
||||
|
||||
let feeAmount: number;
|
||||
let taxAmount: number;
|
||||
|
||||
|
|
@ -41,9 +40,7 @@ export const addLotOccupancyFee = (
|
|||
? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
|
||||
: taxAmount;
|
||||
} else {
|
||||
const lotOccupancy = getLotOccupancy(
|
||||
lotOccupancyFeeForm.lotOccupancyId
|
||||
);
|
||||
const lotOccupancy = getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId);
|
||||
const fee = getFee(lotOccupancyFeeForm.feeId);
|
||||
|
||||
feeAmount = calculateFeeAmount(fee, lotOccupancy);
|
||||
|
|
@ -51,17 +48,16 @@ export const addLotOccupancyFee = (
|
|||
}
|
||||
|
||||
// Check if record already exists
|
||||
|
||||
const record: {
|
||||
feeAmount?: number;
|
||||
taxAmount?: number;
|
||||
recordDelete_timeMillis?: number;
|
||||
} = database
|
||||
.prepare(
|
||||
"select feeAmount, taxAmount, recordDelete_timeMillis" +
|
||||
" from LotOccupancyFees" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?"
|
||||
`select feeAmount, taxAmount, recordDelete_timeMillis
|
||||
from LotOccupancyFees
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`
|
||||
)
|
||||
.get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
|
||||
|
|
@ -69,27 +65,21 @@ export const addLotOccupancyFee = (
|
|||
if (record.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare(
|
||||
"delete from LotOccupancyFees" +
|
||||
" where recordDelete_timeMillis is not null" +
|
||||
" and lotOccupancyId = ?" +
|
||||
" and feeId = ?"
|
||||
`delete from LotOccupancyFees
|
||||
where recordDelete_timeMillis is not null
|
||||
and lotOccupancyId = ?
|
||||
and feeId = ?`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyFeeForm.lotOccupancyId,
|
||||
lotOccupancyFeeForm.feeId
|
||||
);
|
||||
} else if (
|
||||
record.feeAmount === feeAmount &&
|
||||
record.taxAmount === taxAmount
|
||||
) {
|
||||
.run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
|
||||
} else if (record.feeAmount === feeAmount && record.taxAmount === taxAmount) {
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupancyFees" +
|
||||
" set quantity = quantity + ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?"
|
||||
`update LotOccupancyFees
|
||||
set quantity = quantity + ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyFeeForm.quantity,
|
||||
|
|
@ -110,14 +100,14 @@ export const addLotOccupancyFee = (
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupancyFees" +
|
||||
" set feeAmount = (feeAmount * quantity) + ?," +
|
||||
" taxAmount = (taxAmount * quantity) + ?," +
|
||||
" quantity = 1," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and feeId = ?"
|
||||
`update LotOccupancyFees
|
||||
set feeAmount = (feeAmount * quantity) + ?,
|
||||
taxAmount = (taxAmount * quantity) + ?,
|
||||
quantity = 1,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where lotOccupancyId = ?
|
||||
and feeId = ?`
|
||||
)
|
||||
.run(
|
||||
feeAmount * quantity,
|
||||
|
|
@ -135,15 +125,14 @@ export const addLotOccupancyFee = (
|
|||
}
|
||||
|
||||
// Create new record
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotOccupancyFees (" +
|
||||
"lotOccupancyId, feeId," +
|
||||
" quantity, feeAmount, taxAmount," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyFees (
|
||||
lotOccupancyId, feeId,
|
||||
quantity, feeAmount, taxAmount,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyFeeForm.lotOccupancyId,
|
||||
|
|
@ -160,6 +149,6 @@ export const addLotOccupancyFee = (
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupancyFee;
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@ interface AddLotOccupancyOccupantForm {
|
|||
occupantEmailAddress: string;
|
||||
occupantComment?: string;
|
||||
}
|
||||
export declare const addLotOccupancyOccupant: (lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => number;
|
||||
export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number;
|
||||
export default addLotOccupancyOccupant;
|
||||
|
|
|
|||
|
|
@ -1,35 +1,35 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addLotOccupancyOccupant = (lotOccupancyOccupantForm, requestSession, connectedDatabase) => {
|
||||
export function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
let lotOccupantIndex = 0;
|
||||
const maxIndexResult = database
|
||||
.prepare("select lotOccupantIndex" +
|
||||
" from LotOccupancyOccupants" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" order by lotOccupantIndex desc" +
|
||||
" limit 1")
|
||||
.prepare(`select lotOccupantIndex
|
||||
from LotOccupancyOccupants
|
||||
where lotOccupancyId = ?
|
||||
order by lotOccupantIndex desc
|
||||
limit 1`)
|
||||
.get(lotOccupancyOccupantForm.lotOccupancyId);
|
||||
if (maxIndexResult) {
|
||||
lotOccupantIndex = maxIndexResult.lotOccupantIndex + 1;
|
||||
}
|
||||
const rightNowMillis = Date.now();
|
||||
database
|
||||
.prepare("insert into LotOccupancyOccupants (" +
|
||||
"lotOccupancyId, lotOccupantIndex," +
|
||||
" occupantName," +
|
||||
" occupantAddress1, occupantAddress2," +
|
||||
" occupantCity, occupantProvince, occupantPostalCode," +
|
||||
" occupantPhoneNumber, occupantEmailAddress," +
|
||||
" occupantComment," +
|
||||
" lotOccupantTypeId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyOccupants (
|
||||
lotOccupancyId, lotOccupantIndex,
|
||||
occupantName,
|
||||
occupantAddress1, occupantAddress2,
|
||||
occupantCity, occupantProvince, occupantPostalCode,
|
||||
occupantPhoneNumber, occupantEmailAddress,
|
||||
occupantComment,
|
||||
lotOccupantTypeId,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment || "", lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
if (!connectedDatabase) {
|
||||
database.close();
|
||||
}
|
||||
return lotOccupantIndex;
|
||||
};
|
||||
}
|
||||
export default addLotOccupancyOccupant;
|
||||
|
|
|
|||
|
|
@ -18,22 +18,22 @@ interface AddLotOccupancyOccupantForm {
|
|||
occupantComment?: string;
|
||||
}
|
||||
|
||||
export const addLotOccupancyOccupant = (
|
||||
export function addLotOccupancyOccupant(
|
||||
lotOccupancyOccupantForm: AddLotOccupancyOccupantForm,
|
||||
requestSession: recordTypes.PartialSession,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): number => {
|
||||
): number {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
let lotOccupantIndex = 0;
|
||||
|
||||
const maxIndexResult = database
|
||||
.prepare(
|
||||
"select lotOccupantIndex" +
|
||||
" from LotOccupancyOccupants" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" order by lotOccupantIndex desc" +
|
||||
" limit 1"
|
||||
`select lotOccupantIndex
|
||||
from LotOccupancyOccupants
|
||||
where lotOccupancyId = ?
|
||||
order by lotOccupantIndex desc
|
||||
limit 1`
|
||||
)
|
||||
.get(lotOccupancyOccupantForm.lotOccupancyId);
|
||||
|
||||
|
|
@ -45,17 +45,17 @@ export const addLotOccupancyOccupant = (
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"insert into LotOccupancyOccupants (" +
|
||||
"lotOccupancyId, lotOccupantIndex," +
|
||||
" occupantName," +
|
||||
" occupantAddress1, occupantAddress2," +
|
||||
" occupantCity, occupantProvince, occupantPostalCode," +
|
||||
" occupantPhoneNumber, occupantEmailAddress," +
|
||||
" occupantComment," +
|
||||
" lotOccupantTypeId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyOccupants (
|
||||
lotOccupancyId, lotOccupantIndex,
|
||||
occupantName,
|
||||
occupantAddress1, occupantAddress2,
|
||||
occupantCity, occupantProvince, occupantPostalCode,
|
||||
occupantPhoneNumber, occupantEmailAddress,
|
||||
occupantComment,
|
||||
lotOccupantTypeId,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyOccupantForm.lotOccupancyId,
|
||||
|
|
@ -81,6 +81,6 @@ export const addLotOccupancyOccupant = (
|
|||
}
|
||||
|
||||
return lotOccupantIndex;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupancyOccupant;
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ interface AddLotOccupancyTransactionForm {
|
|||
externalReceiptNumber: string;
|
||||
transactionNote: string;
|
||||
}
|
||||
export declare const addLotOccupancyTransaction: (lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotOccupancyTransaction;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestSession) => {
|
||||
export function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
let transactionIndex = 0;
|
||||
const maxIndexResult = database
|
||||
.prepare("select transactionIndex" +
|
||||
" from LotOccupancyTransactions" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" order by transactionIndex desc" +
|
||||
" limit 1")
|
||||
.prepare(`select transactionIndex
|
||||
from LotOccupancyTransactions
|
||||
where lotOccupancyId = ?
|
||||
order by transactionIndex desc
|
||||
limit 1`)
|
||||
.get(lotOccupancyTransactionForm.lotOccupancyId);
|
||||
if (maxIndexResult) {
|
||||
transactionIndex = maxIndexResult.transactionIndex + 1;
|
||||
|
|
@ -22,16 +22,15 @@ export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestS
|
|||
? timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString)
|
||||
: dateToTimeInteger(rightNow);
|
||||
database
|
||||
.prepare("insert into LotOccupancyTransactions (" +
|
||||
"lotOccupancyId, transactionIndex," +
|
||||
" transactionDate, transactionTime," +
|
||||
" transactionAmount, externalReceiptNumber," +
|
||||
" transactionNote," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyTransactions (
|
||||
lotOccupancyId, transactionIndex,
|
||||
transactionDate, transactionTime,
|
||||
transactionAmount, externalReceiptNumber, transactionNote,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupancyTransactionForm.lotOccupancyId, transactionIndex, transactionDate, transactionTime, lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
|
||||
database.close();
|
||||
return transactionIndex;
|
||||
};
|
||||
}
|
||||
export default addLotOccupancyTransaction;
|
||||
|
|
|
|||
|
|
@ -20,21 +20,21 @@ interface AddLotOccupancyTransactionForm {
|
|||
transactionNote: string;
|
||||
}
|
||||
|
||||
export const addLotOccupancyTransaction = (
|
||||
export function addLotOccupancyTransaction(
|
||||
lotOccupancyTransactionForm: AddLotOccupancyTransactionForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
let transactionIndex = 0;
|
||||
|
||||
const maxIndexResult = database
|
||||
.prepare(
|
||||
"select transactionIndex" +
|
||||
" from LotOccupancyTransactions" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" order by transactionIndex desc" +
|
||||
" limit 1"
|
||||
`select transactionIndex
|
||||
from LotOccupancyTransactions
|
||||
where lotOccupancyId = ?
|
||||
order by transactionIndex desc
|
||||
limit 1`
|
||||
)
|
||||
.get(lotOccupancyTransactionForm.lotOccupancyId);
|
||||
|
||||
|
|
@ -54,14 +54,13 @@ export const addLotOccupancyTransaction = (
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"insert into LotOccupancyTransactions (" +
|
||||
"lotOccupancyId, transactionIndex," +
|
||||
" transactionDate, transactionTime," +
|
||||
" transactionAmount, externalReceiptNumber," +
|
||||
" transactionNote," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyTransactions (
|
||||
lotOccupancyId, transactionIndex,
|
||||
transactionDate, transactionTime,
|
||||
transactionAmount, externalReceiptNumber, transactionNote,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyTransactionForm.lotOccupancyId,
|
||||
|
|
@ -80,6 +79,6 @@ export const addLotOccupancyTransaction = (
|
|||
database.close();
|
||||
|
||||
return transactionIndex;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupancyTransaction;
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ interface AddLotOccupantTypeForm {
|
|||
fontAwesomeIconClass?: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addLotOccupantType: (lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotOccupantType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotOccupantTypesCache } from "../functions.cache.js";
|
||||
export const addLotOccupantType = (lotOccupantTypeForm, requestSession) => {
|
||||
export function addLotOccupantType(lotOccupantTypeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into LotOccupantTypes (" +
|
||||
"lotOccupantType, fontAwesomeIconClass, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupantTypes (
|
||||
lotOccupantType, fontAwesomeIconClass, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass || "", lotOccupantTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearLotOccupantTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotOccupantType;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ interface AddLotOccupantTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addLotOccupantType = (
|
||||
export function addLotOccupantType(
|
||||
lotOccupantTypeForm: AddLotOccupantTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotOccupantTypes (" +
|
||||
"lotOccupantType, fontAwesomeIconClass, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupantTypes (
|
||||
lotOccupantType, fontAwesomeIconClass, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupantTypeForm.lotOccupantType,
|
||||
|
|
@ -42,6 +42,6 @@ export const addLotOccupantType = (
|
|||
clearLotOccupantTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotOccupantType;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddLotStatusForm {
|
|||
lotStatus: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addLotStatus: (lotStatusForm: AddLotStatusForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotStatus(lotStatusForm: AddLotStatusForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotStatus;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
export const addLotStatus = (lotStatusForm, requestSession) => {
|
||||
export function addLotStatus(lotStatusForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into LotStatuses (" +
|
||||
"lotStatus, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotStatuses (
|
||||
lotStatus, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotStatusForm.lotStatus, lotStatusForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearLotStatusesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotStatus;
|
||||
|
|
|
|||
|
|
@ -10,21 +10,21 @@ interface AddLotStatusForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addLotStatus = (
|
||||
export function addLotStatus(
|
||||
lotStatusForm: AddLotStatusForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotStatuses (" +
|
||||
"lotStatus, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotStatuses (
|
||||
lotStatus, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotStatusForm.lotStatus,
|
||||
|
|
@ -40,6 +40,6 @@ export const addLotStatus = (
|
|||
clearLotStatusesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotStatus;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddLotTypeForm {
|
|||
lotType: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addLotType: (lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotType(lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
export const addLotType = (lotTypeForm, requestSession) => {
|
||||
export function addLotType(lotTypeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into LotTypes (" +
|
||||
"lotType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotTypes (
|
||||
lotType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotTypeForm.lotType, lotTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearLotTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotType;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ interface AddLotTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addLotType = (
|
||||
export function addLotType(
|
||||
lotTypeForm: AddLotTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotTypes (" +
|
||||
"lotType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotTypes (
|
||||
lotType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotTypeForm.lotType,
|
||||
|
|
@ -41,6 +41,6 @@ export const addLotType = (
|
|||
clearLotTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotType;
|
||||
|
|
|
|||
|
|
@ -9,5 +9,5 @@ interface AddLotTypeFieldForm {
|
|||
maximumLength: string | number;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addLotTypeField: (lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addLotTypeField;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
export const addLotTypeField = (lotTypeFieldForm, requestSession) => {
|
||||
export function addLotTypeField(lotTypeFieldForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into LotTypeFields (" +
|
||||
"lotTypeId, lotTypeField," +
|
||||
" lotTypeFieldValues, isRequired, pattern," +
|
||||
" minimumLength, maximumLength," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotTypeFields (
|
||||
lotTypeId, lotTypeField, lotTypeFieldValues,
|
||||
isRequired, pattern,
|
||||
minimumLength, maximumLength,
|
||||
orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeField, lotTypeFieldForm.lotTypeFieldValues || "", lotTypeFieldForm.isRequired ? 1 : 0, lotTypeFieldForm.pattern || "", lotTypeFieldForm.minimumLength || 0, lotTypeFieldForm.maximumLength || 100, lotTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearLotTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addLotTypeField;
|
||||
|
|
|
|||
|
|
@ -16,24 +16,24 @@ interface AddLotTypeFieldForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addLotTypeField = (
|
||||
export function addLotTypeField(
|
||||
lotTypeFieldForm: AddLotTypeFieldForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into LotTypeFields (" +
|
||||
"lotTypeId, lotTypeField," +
|
||||
" lotTypeFieldValues, isRequired, pattern," +
|
||||
" minimumLength, maximumLength," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotTypeFields (
|
||||
lotTypeId, lotTypeField, lotTypeFieldValues,
|
||||
isRequired, pattern,
|
||||
minimumLength, maximumLength,
|
||||
orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotTypeFieldForm.lotTypeId,
|
||||
|
|
@ -55,6 +55,6 @@ export const addLotTypeField = (
|
|||
clearLotTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addLotTypeField;
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ interface AddMapForm {
|
|||
mapPostalCode: string;
|
||||
mapPhoneNumber: string;
|
||||
}
|
||||
export declare const addMap: (mapForm: AddMapForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addMap;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,20 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addMap = (mapForm, requestSession) => {
|
||||
export function addMap(mapForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into Maps (" +
|
||||
"mapName, mapDescription," +
|
||||
" mapSVG, mapLatitude, mapLongitude," +
|
||||
" mapAddress1, mapAddress2, mapCity, mapProvince, mapPostalCode, mapPhoneNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into Maps (
|
||||
mapName, mapDescription,
|
||||
mapSVG, mapLatitude, mapLongitude,
|
||||
mapAddress1, mapAddress2,
|
||||
mapCity, mapProvince, mapPostalCode,
|
||||
mapPhoneNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === "" ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === "" ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addMap;
|
||||
|
|
|
|||
|
|
@ -18,23 +18,22 @@ interface AddMapForm {
|
|||
mapPhoneNumber: string;
|
||||
}
|
||||
|
||||
export const addMap = (
|
||||
mapForm: AddMapForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
export function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into Maps (" +
|
||||
"mapName, mapDescription," +
|
||||
" mapSVG, mapLatitude, mapLongitude," +
|
||||
" mapAddress1, mapAddress2, mapCity, mapProvince, mapPostalCode, mapPhoneNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into Maps (
|
||||
mapName, mapDescription,
|
||||
mapSVG, mapLatitude, mapLongitude,
|
||||
mapAddress1, mapAddress2,
|
||||
mapCity, mapProvince, mapPostalCode,
|
||||
mapPhoneNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
mapForm.mapName,
|
||||
|
|
@ -57,6 +56,6 @@ export const addMap = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addMap;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddOccupancyTypeForm {
|
|||
occupancyType: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addOccupancyType: (occupancyTypeForm: AddOccupancyTypeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addOccupancyType(occupancyTypeForm: AddOccupancyTypeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addOccupancyType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
export const addOccupancyType = (occupancyTypeForm, requestSession) => {
|
||||
export function addOccupancyType(occupancyTypeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into OccupancyTypes (" +
|
||||
"occupancyType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into OccupancyTypes (
|
||||
occupancyType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearOccupancyTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addOccupancyType;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ interface AddOccupancyTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addOccupancyType = (
|
||||
export function addOccupancyType(
|
||||
occupancyTypeForm: AddOccupancyTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into OccupancyTypes (" +
|
||||
"occupancyType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into OccupancyTypes (
|
||||
occupancyType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
occupancyTypeForm.occupancyType,
|
||||
|
|
@ -41,6 +41,6 @@ export const addOccupancyType = (
|
|||
clearOccupancyTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addOccupancyType;
|
||||
|
|
|
|||
|
|
@ -9,5 +9,5 @@ interface AddOccupancyTypeFieldForm {
|
|||
maximumLength: string | number;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addOccupancyTypeField: (occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addOccupancyTypeField;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
export const addOccupancyTypeField = (occupancyTypeFieldForm, requestSession) => {
|
||||
export function addOccupancyTypeField(occupancyTypeFieldForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into OccupancyTypeFields (" +
|
||||
"occupancyTypeId, occupancyTypeField," +
|
||||
" occupancyTypeFieldValues, isRequired, pattern," +
|
||||
" minimumLength, maximumLength," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into OccupancyTypeFields (
|
||||
occupancyTypeId, occupancyTypeField,
|
||||
occupancyTypeFieldValues, isRequired, pattern,
|
||||
minimumLength, maximumLength,
|
||||
orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(occupancyTypeFieldForm.occupancyTypeId || undefined, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues || "", occupancyTypeFieldForm.isRequired ? 1 : 0, occupancyTypeFieldForm.pattern || "", occupancyTypeFieldForm.minimumLength || 0, occupancyTypeFieldForm.maximumLength || 100, occupancyTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearOccupancyTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addOccupancyTypeField;
|
||||
|
|
|
|||
|
|
@ -16,24 +16,24 @@ interface AddOccupancyTypeFieldForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addOccupancyTypeField = (
|
||||
export function addOccupancyTypeField(
|
||||
occupancyTypeFieldForm: AddOccupancyTypeFieldForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into OccupancyTypeFields (" +
|
||||
"occupancyTypeId, occupancyTypeField," +
|
||||
" occupancyTypeFieldValues, isRequired, pattern," +
|
||||
" minimumLength, maximumLength," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into OccupancyTypeFields (
|
||||
occupancyTypeId, occupancyTypeField,
|
||||
occupancyTypeFieldValues, isRequired, pattern,
|
||||
minimumLength, maximumLength,
|
||||
orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
occupancyTypeFieldForm.occupancyTypeId || undefined,
|
||||
|
|
@ -55,6 +55,6 @@ export const addOccupancyTypeField = (
|
|||
clearOccupancyTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addOccupancyTypeField;
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ interface OccupancyTypePrintForm {
|
|||
printEJS: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addOccupancyTypePrint: (occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default addOccupancyTypePrint;
|
||||
|
|
|
|||
|
|
@ -1,30 +1,29 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
export const addOccupancyTypePrint = (occupancyTypePrintForm, requestSession) => {
|
||||
export function addOccupancyTypePrint(occupancyTypePrintForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
let result = database
|
||||
.prepare("update OccupancyTypePrints" +
|
||||
" set recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where occupancyTypeId = ?" +
|
||||
" and printEJS = ?")
|
||||
.prepare(`update OccupancyTypePrints
|
||||
set recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where occupancyTypeId = ?
|
||||
and printEJS = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS);
|
||||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare("insert into OccupancyTypePrints (" +
|
||||
"occupancyTypeId, printEJS," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into OccupancyTypePrints (
|
||||
occupancyTypeId, printEJS, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
}
|
||||
database.close();
|
||||
clearOccupancyTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default addOccupancyTypePrint;
|
||||
|
|
|
|||
|
|
@ -12,23 +12,23 @@ interface OccupancyTypePrintForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addOccupancyTypePrint = (
|
||||
export function addOccupancyTypePrint(
|
||||
occupancyTypePrintForm: OccupancyTypePrintForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
let result = database
|
||||
.prepare(
|
||||
"update OccupancyTypePrints" +
|
||||
" set recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where occupancyTypeId = ?" +
|
||||
" and printEJS = ?"
|
||||
`update OccupancyTypePrints
|
||||
set recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where occupancyTypeId = ?
|
||||
and printEJS = ?`
|
||||
)
|
||||
.run(
|
||||
requestSession.user.userName,
|
||||
|
|
@ -40,12 +40,11 @@ export const addOccupancyTypePrint = (
|
|||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare(
|
||||
"insert into OccupancyTypePrints (" +
|
||||
"occupancyTypeId, printEJS," +
|
||||
" orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into OccupancyTypePrints (
|
||||
occupancyTypeId, printEJS, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
occupancyTypePrintForm.occupancyTypeId,
|
||||
|
|
@ -63,6 +62,6 @@ export const addOccupancyTypePrint = (
|
|||
clearOccupancyTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default addOccupancyTypePrint;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ interface LotFieldForm {
|
|||
lotTypeFieldId: string | number;
|
||||
lotFieldValue: string;
|
||||
}
|
||||
export declare const addOrUpdateLotField: (lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean;
|
||||
export declare function addOrUpdateLotField(lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
|
||||
export default addOrUpdateLotField;
|
||||
|
|
|
|||
|
|
@ -1,31 +1,30 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addOrUpdateLotField = (lotFieldForm, requestSession, connectedDatabase) => {
|
||||
export function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
let result = database
|
||||
.prepare("update LotFields" +
|
||||
" set lotFieldValue = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where lotId = ?" +
|
||||
" and lotTypeFieldId = ?")
|
||||
.prepare(`update LotFields
|
||||
set lotFieldValue = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where lotId = ?
|
||||
and lotTypeFieldId = ?`)
|
||||
.run(lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId);
|
||||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare("insert into LotFields (" +
|
||||
"lotId, lotTypeFieldId," +
|
||||
" lotFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotFields (
|
||||
lotId, lotTypeFieldId, lotFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
}
|
||||
if (!connectedDatabase) {
|
||||
database.close();
|
||||
}
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default addOrUpdateLotField;
|
||||
|
|
|
|||
|
|
@ -10,25 +10,25 @@ interface LotFieldForm {
|
|||
lotFieldValue: string;
|
||||
}
|
||||
|
||||
export const addOrUpdateLotField = (
|
||||
export function addOrUpdateLotField(
|
||||
lotFieldForm: LotFieldForm,
|
||||
requestSession: recordTypes.PartialSession,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
let result = database
|
||||
.prepare(
|
||||
"update LotFields" +
|
||||
" set lotFieldValue = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where lotId = ?" +
|
||||
" and lotTypeFieldId = ?"
|
||||
`update LotFields
|
||||
set lotFieldValue = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where lotId = ?
|
||||
and lotTypeFieldId = ?`
|
||||
)
|
||||
.run(
|
||||
lotFieldForm.lotFieldValue,
|
||||
|
|
@ -41,12 +41,11 @@ export const addOrUpdateLotField = (
|
|||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare(
|
||||
"insert into LotFields (" +
|
||||
"lotId, lotTypeFieldId," +
|
||||
" lotFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotFields (
|
||||
lotId, lotTypeFieldId, lotFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotFieldForm.lotId,
|
||||
|
|
@ -64,6 +63,6 @@ export const addOrUpdateLotField = (
|
|||
}
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default addOrUpdateLotField;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ interface LotOccupancyFieldForm {
|
|||
occupancyTypeFieldId: string | number;
|
||||
lotOccupancyFieldValue: string;
|
||||
}
|
||||
export declare const addOrUpdateLotOccupancyField: (lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean;
|
||||
export declare function addOrUpdateLotOccupancyField(lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
|
||||
export default addOrUpdateLotOccupancyField;
|
||||
|
|
|
|||
|
|
@ -1,31 +1,30 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addOrUpdateLotOccupancyField = (lotOccupancyFieldForm, requestSession, connectedDatabase) => {
|
||||
export function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSession, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
let result = database
|
||||
.prepare("update LotOccupancyFields" +
|
||||
" set lotOccupancyFieldValue = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and occupancyTypeFieldId = ?")
|
||||
.prepare(`update LotOccupancyFields
|
||||
set lotOccupancyFieldValue = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where lotOccupancyId = ?
|
||||
and occupancyTypeFieldId = ?`)
|
||||
.run(lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId);
|
||||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare("insert into LotOccupancyFields (" +
|
||||
"lotOccupancyId, occupancyTypeFieldId," +
|
||||
" lotOccupancyFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyFields (
|
||||
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
}
|
||||
if (!connectedDatabase) {
|
||||
database.close();
|
||||
}
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default addOrUpdateLotOccupancyField;
|
||||
|
|
|
|||
|
|
@ -10,25 +10,25 @@ interface LotOccupancyFieldForm {
|
|||
lotOccupancyFieldValue: string;
|
||||
}
|
||||
|
||||
export const addOrUpdateLotOccupancyField = (
|
||||
export function addOrUpdateLotOccupancyField(
|
||||
lotOccupancyFieldForm: LotOccupancyFieldForm,
|
||||
requestSession: recordTypes.PartialSession,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
let result = database
|
||||
.prepare(
|
||||
"update LotOccupancyFields" +
|
||||
" set lotOccupancyFieldValue = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where lotOccupancyId = ?" +
|
||||
" and occupancyTypeFieldId = ?"
|
||||
`update LotOccupancyFields
|
||||
set lotOccupancyFieldValue = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where lotOccupancyId = ?
|
||||
and occupancyTypeFieldId = ?`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyFieldForm.lotOccupancyFieldValue,
|
||||
|
|
@ -41,12 +41,11 @@ export const addOrUpdateLotOccupancyField = (
|
|||
if (result.changes === 0) {
|
||||
result = database
|
||||
.prepare(
|
||||
"insert into LotOccupancyFields (" +
|
||||
"lotOccupancyId, occupancyTypeFieldId," +
|
||||
" lotOccupancyFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyFields (
|
||||
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
lotOccupancyFieldForm.lotOccupancyId,
|
||||
|
|
@ -64,6 +63,6 @@ export const addOrUpdateLotOccupancyField = (
|
|||
}
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default addOrUpdateLotOccupancyField;
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ interface AddWorkOrderForm {
|
|||
workOrderCloseDateString?: string;
|
||||
lotOccupancyId?: string;
|
||||
}
|
||||
export declare const addWorkOrder: (workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addWorkOrder;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js";
|
||||
import { addWorkOrderLotOccupancy } from "./addWorkOrderLotOccupancy.js";
|
||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
import addWorkOrderLotOccupancy from "./addWorkOrderLotOccupancy.js";
|
||||
export const addWorkOrder = (workOrderForm, requestSession) => {
|
||||
export function addWorkOrder(workOrderForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNow = new Date();
|
||||
let workOrderNumber = workOrderForm.workOrderNumber;
|
||||
|
|
@ -11,12 +11,12 @@ export const addWorkOrder = (workOrderForm, requestSession) => {
|
|||
workOrderNumber = getNextWorkOrderNumber(database);
|
||||
}
|
||||
const result = database
|
||||
.prepare("insert into WorkOrders (" +
|
||||
"workOrderTypeId, workOrderNumber, workOrderDescription," +
|
||||
" workOrderOpenDate, workOrderCloseDate," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrders (
|
||||
workOrderTypeId, workOrderNumber, workOrderDescription,
|
||||
workOrderOpenDate, workOrderCloseDate,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderForm.workOrderTypeId, workOrderNumber, workOrderForm.workOrderDescription, workOrderForm.workOrderOpenDateString
|
||||
? dateStringToInteger(workOrderForm.workOrderOpenDateString)
|
||||
: dateToInteger(rightNow), workOrderForm.workOrderCloseDateString
|
||||
|
|
@ -31,5 +31,5 @@ export const addWorkOrder = (workOrderForm, requestSession) => {
|
|||
}
|
||||
database.close();
|
||||
return workOrderId;
|
||||
};
|
||||
}
|
||||
export default addWorkOrder;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ import sqlite from "better-sqlite3";
|
|||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js";
|
||||
import { addWorkOrderLotOccupancy } from "./addWorkOrderLotOccupancy.js";
|
||||
|
||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
import addWorkOrderLotOccupancy from "./addWorkOrderLotOccupancy.js";
|
||||
|
||||
interface AddWorkOrderForm {
|
||||
workOrderTypeId: number | string;
|
||||
|
|
@ -18,10 +18,10 @@ interface AddWorkOrderForm {
|
|||
lotOccupancyId?: string;
|
||||
}
|
||||
|
||||
export const addWorkOrder = (
|
||||
export function addWorkOrder(
|
||||
workOrderForm: AddWorkOrderForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNow = new Date();
|
||||
|
|
@ -34,12 +34,12 @@ export const addWorkOrder = (
|
|||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into WorkOrders (" +
|
||||
"workOrderTypeId, workOrderNumber, workOrderDescription," +
|
||||
" workOrderOpenDate, workOrderCloseDate," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrders (
|
||||
workOrderTypeId, workOrderNumber, workOrderDescription,
|
||||
workOrderOpenDate, workOrderCloseDate,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderForm.workOrderTypeId,
|
||||
|
|
@ -73,6 +73,6 @@ export const addWorkOrder = (
|
|||
database.close();
|
||||
|
||||
return workOrderId;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrder;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddWorkOrderCommentForm {
|
|||
workOrderId: string;
|
||||
workOrderComment: string;
|
||||
}
|
||||
export declare const addWorkOrderComment: (workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addWorkOrderComment;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const addWorkOrderComment = (workOrderCommentForm, requestSession) => {
|
||||
export function addWorkOrderComment(workOrderCommentForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNow = new Date();
|
||||
const result = database
|
||||
.prepare("insert into WorkOrderComments (" +
|
||||
"workOrderId, workOrderCommentDate, workOrderCommentTime, workOrderComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrderComments (
|
||||
workOrderId,
|
||||
workOrderCommentDate, workOrderCommentTime,
|
||||
workOrderComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderCommentForm.workOrderId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderComment;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,23 @@ interface AddWorkOrderCommentForm {
|
|||
workOrderComment: string;
|
||||
}
|
||||
|
||||
export const addWorkOrderComment = (
|
||||
export function addWorkOrderComment(
|
||||
workOrderCommentForm: AddWorkOrderCommentForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNow = new Date();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into WorkOrderComments (" +
|
||||
"workOrderId, workOrderCommentDate, workOrderCommentTime, workOrderComment," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderComments (
|
||||
workOrderId,
|
||||
workOrderCommentDate, workOrderCommentTime,
|
||||
workOrderComment,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderCommentForm.workOrderId,
|
||||
|
|
@ -41,6 +43,6 @@ export const addWorkOrderComment = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderComment;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddWorkOrderLotForm {
|
|||
workOrderId: number | string;
|
||||
lotId: number | string;
|
||||
}
|
||||
export declare const addWorkOrderLot: (workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default addWorkOrderLot;
|
||||
|
|
|
|||
|
|
@ -1,39 +1,39 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addWorkOrderLot = (workOrderLotForm, requestSession) => {
|
||||
export function addWorkOrderLot(workOrderLotForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const row = database
|
||||
.prepare("select recordDelete_timeMillis" +
|
||||
" from WorkOrderLots" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotId = ?")
|
||||
.prepare(`select recordDelete_timeMillis
|
||||
from WorkOrderLots
|
||||
where workOrderId = ?
|
||||
and lotId = ?`)
|
||||
.get(workOrderLotForm.workOrderId, workOrderLotForm.lotId);
|
||||
if (row) {
|
||||
if (row.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare("update WorkOrderLots" +
|
||||
" set recordCreate_userName = ?," +
|
||||
" recordCreate_timeMillis = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotId = ?")
|
||||
.prepare(`update WorkOrderLots
|
||||
set recordCreate_userName = ?,
|
||||
recordCreate_timeMillis = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where workOrderId = ?
|
||||
and lotId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId);
|
||||
}
|
||||
}
|
||||
else {
|
||||
database
|
||||
.prepare("insert into WorkOrderLots (" +
|
||||
"workOrderId, lotId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrderLots (
|
||||
workOrderId, lotId,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderLot;
|
||||
|
|
|
|||
|
|
@ -9,20 +9,20 @@ interface AddWorkOrderLotForm {
|
|||
lotId: number | string;
|
||||
}
|
||||
|
||||
export const addWorkOrderLot = (
|
||||
export function addWorkOrderLot(
|
||||
workOrderLotForm: AddWorkOrderLotForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const row: { recordDelete_timeMillis?: number } = database
|
||||
.prepare(
|
||||
"select recordDelete_timeMillis" +
|
||||
" from WorkOrderLots" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotId = ?"
|
||||
`select recordDelete_timeMillis
|
||||
from WorkOrderLots
|
||||
where workOrderId = ?
|
||||
and lotId = ?`
|
||||
)
|
||||
.get(workOrderLotForm.workOrderId, workOrderLotForm.lotId);
|
||||
|
||||
|
|
@ -30,15 +30,15 @@ export const addWorkOrderLot = (
|
|||
if (row.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderLots" +
|
||||
" set recordCreate_userName = ?," +
|
||||
" recordCreate_timeMillis = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotId = ?"
|
||||
`update WorkOrderLots
|
||||
set recordCreate_userName = ?,
|
||||
recordCreate_timeMillis = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where workOrderId = ?
|
||||
and lotId = ?`
|
||||
)
|
||||
.run(
|
||||
requestSession.user.userName,
|
||||
|
|
@ -52,11 +52,11 @@ export const addWorkOrderLot = (
|
|||
} else {
|
||||
database
|
||||
.prepare(
|
||||
"insert into WorkOrderLots (" +
|
||||
"workOrderId, lotId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderLots (
|
||||
workOrderId, lotId,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderLotForm.workOrderId,
|
||||
|
|
@ -71,6 +71,6 @@ export const addWorkOrderLot = (
|
|||
database.close();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderLot;
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ interface AddWorkOrderLotOccupancyForm {
|
|||
workOrderId: number | string;
|
||||
lotOccupancyId: number | string;
|
||||
}
|
||||
export declare const addWorkOrderLotOccupancy: (workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean;
|
||||
export declare function addWorkOrderLotOccupancy(workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
|
||||
export default addWorkOrderLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -1,41 +1,41 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const addWorkOrderLotOccupancy = (workOrderLotOccupancyForm, requestSession, connectedDatabase) => {
|
||||
export function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSession, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const row = database
|
||||
.prepare("select recordDelete_timeMillis" +
|
||||
" from WorkOrderLotOccupancies" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotOccupancyId = ?")
|
||||
.prepare(`select recordDelete_timeMillis
|
||||
from WorkOrderLotOccupancies
|
||||
where workOrderId = ?
|
||||
and lotOccupancyId = ?`)
|
||||
.get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
|
||||
if (row) {
|
||||
if (row.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare("update WorkOrderLotOccupancies" +
|
||||
" set recordCreate_userName = ?," +
|
||||
" recordCreate_timeMillis = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotOccupancyId = ?")
|
||||
.prepare(`update WorkOrderLotOccupancies
|
||||
set recordCreate_userName = ?,
|
||||
recordCreate_timeMillis = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where workOrderId = ?
|
||||
and lotOccupancyId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
|
||||
}
|
||||
}
|
||||
else {
|
||||
database
|
||||
.prepare("insert into WorkOrderLotOccupancies (" +
|
||||
"workOrderId, lotOccupancyId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.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);
|
||||
}
|
||||
if (!connectedDatabase) {
|
||||
database.close();
|
||||
}
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -9,21 +9,21 @@ interface AddWorkOrderLotOccupancyForm {
|
|||
lotOccupancyId: number | string;
|
||||
}
|
||||
|
||||
export const addWorkOrderLotOccupancy = (
|
||||
export function addWorkOrderLotOccupancy(
|
||||
workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm,
|
||||
requestSession: recordTypes.PartialSession,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const row: { recordDelete_timeMillis?: number } = database
|
||||
.prepare(
|
||||
"select recordDelete_timeMillis" +
|
||||
" from WorkOrderLotOccupancies" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotOccupancyId = ?"
|
||||
`select recordDelete_timeMillis
|
||||
from WorkOrderLotOccupancies
|
||||
where workOrderId = ?
|
||||
and lotOccupancyId = ?`
|
||||
)
|
||||
.get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
|
||||
|
||||
|
|
@ -31,15 +31,15 @@ export const addWorkOrderLotOccupancy = (
|
|||
if (row.recordDelete_timeMillis) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderLotOccupancies" +
|
||||
" set recordCreate_userName = ?," +
|
||||
" recordCreate_timeMillis = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?," +
|
||||
" recordDelete_userName = null," +
|
||||
" recordDelete_timeMillis = null" +
|
||||
" where workOrderId = ?" +
|
||||
" and lotOccupancyId = ?"
|
||||
`update WorkOrderLotOccupancies
|
||||
set recordCreate_userName = ?,
|
||||
recordCreate_timeMillis = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?,
|
||||
recordDelete_userName = null,
|
||||
recordDelete_timeMillis = null
|
||||
where workOrderId = ?
|
||||
and lotOccupancyId = ?`
|
||||
)
|
||||
.run(
|
||||
requestSession.user.userName,
|
||||
|
|
@ -53,11 +53,11 @@ export const addWorkOrderLotOccupancy = (
|
|||
} else {
|
||||
database
|
||||
.prepare(
|
||||
"insert into WorkOrderLotOccupancies (" +
|
||||
"workOrderId, lotOccupancyId," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderLotOccupancies (
|
||||
workOrderId, lotOccupancyId,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderLotOccupancyForm.workOrderId,
|
||||
|
|
@ -74,6 +74,6 @@ export const addWorkOrderLotOccupancy = (
|
|||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@ interface AddWorkOrderMilestoneForm {
|
|||
workOrderMilestoneCompletionDateString?: string;
|
||||
workOrderMilestoneCompletionTimeString?: string;
|
||||
}
|
||||
export declare const addWorkOrderMilestone: (milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateStringToInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const addWorkOrderMilestone = (milestoneForm, requestSession) => {
|
||||
export function addWorkOrderMilestone(milestoneForm, requestSession) {
|
||||
const rightNow = new Date();
|
||||
const database = sqlite(databasePath);
|
||||
const result = database
|
||||
.prepare("insert into WorkOrderMilestones (" +
|
||||
"workOrderId, workOrderMilestoneTypeId," +
|
||||
" workOrderMilestoneDate, workOrderMilestoneTime, workOrderMilestoneDescription," +
|
||||
" workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrderMilestones (
|
||||
workOrderId, workOrderMilestoneTypeId,
|
||||
workOrderMilestoneDate, workOrderMilestoneTime,
|
||||
workOrderMilestoneDescription,
|
||||
workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(milestoneForm.workOrderId, milestoneForm.workOrderMilestoneTypeId || undefined, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString
|
||||
? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
|
||||
: 0, milestoneForm.workOrderMilestoneDescription, milestoneForm.workOrderMilestoneCompletionDateString
|
||||
|
|
@ -21,5 +22,5 @@ export const addWorkOrderMilestone = (milestoneForm, requestSession) => {
|
|||
: undefined, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -19,43 +19,38 @@ interface AddWorkOrderMilestoneForm {
|
|||
workOrderMilestoneCompletionTimeString?: string;
|
||||
}
|
||||
|
||||
export const addWorkOrderMilestone = (
|
||||
export function addWorkOrderMilestone(
|
||||
milestoneForm: AddWorkOrderMilestoneForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const rightNow = new Date();
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into WorkOrderMilestones (" +
|
||||
"workOrderId, workOrderMilestoneTypeId," +
|
||||
" workOrderMilestoneDate, workOrderMilestoneTime, workOrderMilestoneDescription," +
|
||||
" workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderMilestones (
|
||||
workOrderId, workOrderMilestoneTypeId,
|
||||
workOrderMilestoneDate, workOrderMilestoneTime,
|
||||
workOrderMilestoneDescription,
|
||||
workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
milestoneForm.workOrderId,
|
||||
milestoneForm.workOrderMilestoneTypeId || undefined,
|
||||
dateStringToInteger(milestoneForm.workOrderMilestoneDateString),
|
||||
milestoneForm.workOrderMilestoneTimeString
|
||||
? timeStringToInteger(
|
||||
milestoneForm.workOrderMilestoneTimeString
|
||||
)
|
||||
? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
|
||||
: 0,
|
||||
milestoneForm.workOrderMilestoneDescription,
|
||||
milestoneForm.workOrderMilestoneCompletionDateString
|
||||
? dateStringToInteger(
|
||||
milestoneForm.workOrderMilestoneCompletionDateString
|
||||
)
|
||||
? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
|
||||
: undefined,
|
||||
milestoneForm.workOrderMilestoneCompletionTimeString
|
||||
? timeStringToInteger(
|
||||
milestoneForm.workOrderMilestoneCompletionTimeString
|
||||
)
|
||||
? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString)
|
||||
: undefined,
|
||||
requestSession.user.userName,
|
||||
rightNow.getTime(),
|
||||
|
|
@ -66,6 +61,6 @@ export const addWorkOrderMilestone = (
|
|||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddWorkOrderMilestoneTypeForm {
|
|||
workOrderMilestoneType: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addWorkOrderMilestoneType: (workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addWorkOrderMilestoneType(workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addWorkOrderMilestoneType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
export const addWorkOrderMilestoneType = (workOrderMilestoneTypeForm, requestSession) => {
|
||||
export function addWorkOrderMilestoneType(workOrderMilestoneTypeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into WorkOrderMilestoneTypes (" +
|
||||
"workOrderMilestoneType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrderMilestoneTypes (
|
||||
workOrderMilestoneType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderMilestoneType;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ interface AddWorkOrderMilestoneTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addWorkOrderMilestoneType = (
|
||||
export function addWorkOrderMilestoneType(
|
||||
workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into WorkOrderMilestoneTypes (" +
|
||||
"workOrderMilestoneType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderMilestoneTypes (
|
||||
workOrderMilestoneType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderMilestoneTypeForm.workOrderMilestoneType,
|
||||
|
|
@ -41,6 +41,6 @@ export const addWorkOrderMilestoneType = (
|
|||
clearWorkOrderMilestoneTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderMilestoneType;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddWorkOrderTypeForm {
|
|||
workOrderType: string;
|
||||
orderNumber?: number;
|
||||
}
|
||||
export declare const addWorkOrderType: (workOrderTypeForm: AddWorkOrderTypeForm, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function addWorkOrderType(workOrderTypeForm: AddWorkOrderTypeForm, requestSession: recordTypes.PartialSession): number;
|
||||
export default addWorkOrderType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
export const addWorkOrderType = (workOrderTypeForm, requestSession) => {
|
||||
export function addWorkOrderType(workOrderTypeForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("insert into WorkOrderTypes (" +
|
||||
"workOrderType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into WorkOrderTypes (
|
||||
workOrderType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderTypeForm.workOrderType, workOrderTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
clearWorkOrderTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
};
|
||||
}
|
||||
export default addWorkOrderType;
|
||||
|
|
|
|||
|
|
@ -11,21 +11,21 @@ interface AddWorkOrderTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export const addWorkOrderType = (
|
||||
export function addWorkOrderType(
|
||||
workOrderTypeForm: AddWorkOrderTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"insert into WorkOrderTypes (" +
|
||||
"workOrderType, orderNumber," +
|
||||
" recordCreate_userName, recordCreate_timeMillis," +
|
||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?)"
|
||||
`insert into WorkOrderTypes (
|
||||
workOrderType, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
workOrderTypeForm.workOrderType,
|
||||
|
|
@ -41,6 +41,6 @@ export const addWorkOrderType = (
|
|||
clearWorkOrderTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
};
|
||||
}
|
||||
|
||||
export default addWorkOrderType;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const cleanupDatabase: (requestSession: recordTypes.PartialSession) => {
|
||||
export declare function cleanupDatabase(requestSession: recordTypes.PartialSession): {
|
||||
inactivedRecordCount: number;
|
||||
purgedRecordCount: number;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import * as configFunctions from "../functions.config.js";
|
||||
export const cleanupDatabase = (requestSession) => {
|
||||
export function cleanupDatabase(requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const recordDelete_timeMillisMin = rightNowMillis -
|
||||
|
|
@ -9,86 +9,95 @@ export const cleanupDatabase = (requestSession) => {
|
|||
let inactivedRecordCount = 0;
|
||||
let purgedRecordCount = 0;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update WorkOrderComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update WorkOrderComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update WorkOrderLotOccupancies" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update WorkOrderLotOccupancies
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update WorkOrderLots" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update WorkOrderLots
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update WorkOrderMilestones" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update WorkOrderMilestones
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrders where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderComments)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderLots)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderMilestones)")
|
||||
.prepare(`delete from WorkOrders
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderId not in (select workOrderId from WorkOrderComments)
|
||||
and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)
|
||||
and workOrderId not in (select workOrderId from WorkOrderLots)
|
||||
and workOrderId not in (select workOrderId from WorkOrderMilestones)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderMilestoneTypes where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderMilestoneTypeId not in (select workOrderMilestoneTypeId from WorkOrderMilestones)")
|
||||
.prepare(`delete from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderMilestoneTypeId not in (
|
||||
select workOrderMilestoneTypeId from WorkOrderMilestones)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from WorkOrderTypes where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderTypeId not in (select workOrderTypeId from WorkOrders)")
|
||||
.prepare(`delete from WorkOrderTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderTypeId not in (select workOrderTypeId from WorkOrders)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotOccupancyComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotOccupancyComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (
|
||||
select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotOccupancyFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotOccupancyFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotOccupancyOccupants" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotOccupancyOccupants
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?")
|
||||
|
|
@ -100,118 +109,128 @@ export const cleanupDatabase = (requestSession) => {
|
|||
.prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupancies where recordDelete_timeMillis <= ?" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)")
|
||||
.prepare(`delete from LotOccupancies
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)
|
||||
and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from Fees where recordDelete_timeMillis <= ?" +
|
||||
" and feeId not in (select feeId from LotOccupancyFees)")
|
||||
.prepare(`delete from Fees
|
||||
where recordDelete_timeMillis <= ?
|
||||
and feeId not in (select feeId from LotOccupancyFees)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from FeeCategories where recordDelete_timeMillis <= ?" +
|
||||
" and feeCategoryId not in (select feeCategoryId from Fees)")
|
||||
.prepare(`delete from FeeCategories
|
||||
where recordDelete_timeMillis <= ?
|
||||
and feeCategoryId not in (select feeCategoryId from Fees)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update OccupancyTypeFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update OccupancyTypeFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from OccupancyTypeFields where recordDelete_timeMillis <= ?" +
|
||||
" and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)")
|
||||
.prepare(`delete from OccupancyTypeFields
|
||||
where recordDelete_timeMillis <= ?
|
||||
and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update OccupancyTypePrints" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update OccupancyTypePrints
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from OccupancyTypes where recordDelete_timeMillis <= ?" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from Fees)")
|
||||
.prepare(`delete from OccupancyTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)
|
||||
and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)
|
||||
and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)
|
||||
and occupancyTypeId not in (select occupancyTypeId from Fees)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupantTypes where recordDelete_timeMillis <= ?" +
|
||||
" and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)")
|
||||
.prepare(`delete from LotOccupantTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotFields where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update Lots" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update Lots
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from Lots where recordDelete_timeMillis <= ?" +
|
||||
" and lotId not in (select lotId from LotComments)" +
|
||||
" and lotId not in (select lotId from LotFields)" +
|
||||
" and lotId not in (select lotId from LotOccupancies)" +
|
||||
" and lotId not in (select lotId from WorkOrderLots)")
|
||||
.prepare(`delete from Lots
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotId not in (select lotId from LotComments)
|
||||
and lotId not in (select lotId from LotFields)
|
||||
and lotId not in (select lotId from LotOccupancies)
|
||||
and lotId not in (select lotId from WorkOrderLots)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotStatuses where recordDelete_timeMillis <= ?" +
|
||||
" and lotStatusId not in (select lotStatusId from Lots)")
|
||||
.prepare(`delete from LotStatuses
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotStatusId not in (select lotStatusId from Lots)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
inactivedRecordCount += database
|
||||
.prepare("update LotTypeFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)")
|
||||
.prepare(`update LotTypeFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)`)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotTypeFields where recordDelete_timeMillis <= ?" +
|
||||
" and lotTypeFieldId not in (select lotTypeFieldId from LotFields)")
|
||||
.prepare(`delete from LotTypeFields
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotTypeFieldId not in (select lotTypeFieldId from LotFields)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotTypes where recordDelete_timeMillis <= ?" +
|
||||
" and lotTypeId not in (select lotTypeId from Lots)")
|
||||
.prepare(`delete from LotTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotTypeId not in (select lotTypeId from Lots)`)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
database.close();
|
||||
return {
|
||||
inactivedRecordCount,
|
||||
purgedRecordCount
|
||||
};
|
||||
};
|
||||
}
|
||||
export default cleanupDatabase;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import * as configFunctions from "../functions.config.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
||||
export function cleanupDatabase(requestSession: recordTypes.PartialSession) {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
|
@ -17,15 +17,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
let inactivedRecordCount = 0;
|
||||
let purgedRecordCount = 0;
|
||||
|
||||
// Work Order Comments
|
||||
/*
|
||||
* Work Order Comments
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update WorkOrderComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)"
|
||||
`update WorkOrderComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -33,15 +36,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Order Lot Occupancies
|
||||
/*
|
||||
* Work Order Lot Occupancies
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update WorkOrderLotOccupancies" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)"
|
||||
`update WorkOrderLotOccupancies
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -49,15 +55,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Order Lots
|
||||
/*
|
||||
* Work Order Lots
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update WorkOrderLots" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)"
|
||||
`update WorkOrderLots
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -65,15 +74,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Order Milestones
|
||||
/*
|
||||
* Work Order Milestones
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update WorkOrderMilestones" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)"
|
||||
`update WorkOrderMilestones
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId in (
|
||||
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -81,45 +93,58 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Orders
|
||||
/*
|
||||
* Work Orders
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from WorkOrders where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderComments)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderLots)" +
|
||||
" and workOrderId not in (select workOrderId from WorkOrderMilestones)"
|
||||
`delete from WorkOrders
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderId not in (select workOrderId from WorkOrderComments)
|
||||
and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)
|
||||
and workOrderId not in (select workOrderId from WorkOrderLots)
|
||||
and workOrderId not in (select workOrderId from WorkOrderMilestones)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Order Milestone Types
|
||||
/*
|
||||
* Work Order Milestone Types
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from WorkOrderMilestoneTypes where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderMilestoneTypeId not in (select workOrderMilestoneTypeId from WorkOrderMilestones)"
|
||||
`delete from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderMilestoneTypeId not in (
|
||||
select workOrderMilestoneTypeId from WorkOrderMilestones)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Work Order Types
|
||||
/*
|
||||
* Work Order Types
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from WorkOrderTypes where recordDelete_timeMillis <= ?" +
|
||||
" and workOrderTypeId not in (select workOrderTypeId from WorkOrders)"
|
||||
`delete from WorkOrderTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and workOrderTypeId not in (select workOrderTypeId from WorkOrders)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupancy Comments
|
||||
/*
|
||||
* Lot Occupancy Comments
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotOccupancyComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)"
|
||||
`update LotOccupancyComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (
|
||||
select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -127,15 +152,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupancy Fields
|
||||
/*
|
||||
* Lot Occupancy Fields
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotOccupancyFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)"
|
||||
`update LotOccupancyFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -143,15 +170,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupancy Occupants
|
||||
/*
|
||||
* Lot Occupancy Occupants
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotOccupancyOccupants" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)"
|
||||
`update LotOccupancyOccupants
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -159,8 +188,10 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupancy Fees/Transactions
|
||||
// - Maintain financials, do not delete related.
|
||||
/*
|
||||
* Lot Occupancy Fees/Transactions
|
||||
* - Maintain financials, do not delete related.
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare("delete from LotOccupancyFees where recordDelete_timeMillis <= ?")
|
||||
|
|
@ -170,76 +201,90 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupancies
|
||||
/*
|
||||
* Lot Occupancies
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from LotOccupancies where recordDelete_timeMillis <= ?" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)" +
|
||||
" and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)"
|
||||
`delete from LotOccupancies
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)
|
||||
and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)
|
||||
and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Fees
|
||||
/*
|
||||
* Fees
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)"
|
||||
`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from Fees where recordDelete_timeMillis <= ?" +
|
||||
" and feeId not in (select feeId from LotOccupancyFees)"
|
||||
`delete from Fees
|
||||
where recordDelete_timeMillis <= ?
|
||||
and feeId not in (select feeId from LotOccupancyFees)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Fee Categories
|
||||
/*
|
||||
* Fee Categories
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from FeeCategories where recordDelete_timeMillis <= ?" +
|
||||
" and feeCategoryId not in (select feeCategoryId from Fees)"
|
||||
`delete from FeeCategories
|
||||
where recordDelete_timeMillis <= ?
|
||||
and feeCategoryId not in (select feeCategoryId from Fees)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Occupancy Type Fields
|
||||
/*
|
||||
* Occupancy Type Fields
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update OccupancyTypeFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)"
|
||||
`update OccupancyTypeFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from OccupancyTypeFields where recordDelete_timeMillis <= ?" +
|
||||
" and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)"
|
||||
`delete from OccupancyTypeFields
|
||||
where recordDelete_timeMillis <= ?
|
||||
and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Occupancy Type Prints
|
||||
/*
|
||||
* Occupancy Type Prints
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update OccupancyTypePrints" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)"
|
||||
`update OccupancyTypePrints
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -247,36 +292,44 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Occupancy Types
|
||||
/*
|
||||
* Occupancy Types
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from OccupancyTypes where recordDelete_timeMillis <= ?" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)" +
|
||||
" and occupancyTypeId not in (select occupancyTypeId from Fees)"
|
||||
`delete from OccupancyTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)
|
||||
and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)
|
||||
and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)
|
||||
and occupancyTypeId not in (select occupancyTypeId from Fees)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Occupant Types
|
||||
/*
|
||||
* Lot Occupant Types
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from LotOccupantTypes where recordDelete_timeMillis <= ?" +
|
||||
" and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)"
|
||||
`delete from LotOccupantTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Comments
|
||||
/*
|
||||
* Lot Comments
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)"
|
||||
`update LotComments
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -284,15 +337,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotComments where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Fields
|
||||
/*
|
||||
* Lot Fields
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)"
|
||||
`update LotFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
|
|
@ -300,62 +355,74 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
.prepare("delete from LotFields where recordDelete_timeMillis <= ?")
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lots
|
||||
/*
|
||||
* Lots
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update Lots" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)"
|
||||
`update Lots
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from Lots where recordDelete_timeMillis <= ?" +
|
||||
" and lotId not in (select lotId from LotComments)" +
|
||||
" and lotId not in (select lotId from LotFields)" +
|
||||
" and lotId not in (select lotId from LotOccupancies)" +
|
||||
" and lotId not in (select lotId from WorkOrderLots)"
|
||||
`delete from Lots
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotId not in (select lotId from LotComments)
|
||||
and lotId not in (select lotId from LotFields)
|
||||
and lotId not in (select lotId from LotOccupancies)
|
||||
and lotId not in (select lotId from WorkOrderLots)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Statuses
|
||||
/*
|
||||
* Lot Statuses
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from LotStatuses where recordDelete_timeMillis <= ?" +
|
||||
" and lotStatusId not in (select lotStatusId from Lots)"
|
||||
`delete from LotStatuses
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotStatusId not in (select lotStatusId from Lots)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Type Fields
|
||||
/*
|
||||
* Lot Type Fields
|
||||
*/
|
||||
|
||||
inactivedRecordCount += database
|
||||
.prepare(
|
||||
"update LotTypeFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)"
|
||||
`update LotTypeFields
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis).changes;
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from LotTypeFields where recordDelete_timeMillis <= ?" +
|
||||
" and lotTypeFieldId not in (select lotTypeFieldId from LotFields)"
|
||||
`delete from LotTypeFields
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotTypeFieldId not in (select lotTypeFieldId from LotFields)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
// Lot Types
|
||||
/*
|
||||
* Lot Types
|
||||
*/
|
||||
|
||||
purgedRecordCount += database
|
||||
.prepare(
|
||||
"delete from LotTypes where recordDelete_timeMillis <= ?" +
|
||||
" and lotTypeId not in (select lotTypeId from Lots)"
|
||||
`delete from LotTypes
|
||||
where recordDelete_timeMillis <= ?
|
||||
and lotTypeId not in (select lotTypeId from Lots)`
|
||||
)
|
||||
.run(recordDelete_timeMillisMin).changes;
|
||||
|
||||
|
|
@ -365,6 +432,6 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
|
|||
inactivedRecordCount,
|
||||
purgedRecordCount
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export default cleanupDatabase;
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ interface AddWorkOrderForm {
|
|||
workOrderId: number | string;
|
||||
workOrderCloseDateString?: string;
|
||||
}
|
||||
export declare const closeWorkOrder: (workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default closeWorkOrder;
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const closeWorkOrder = (workOrderForm, requestSession) => {
|
||||
export function closeWorkOrder(workOrderForm, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNow = new Date();
|
||||
const result = database
|
||||
.prepare("update WorkOrders" +
|
||||
" set workOrderCloseDate = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where workOrderId = ?")
|
||||
.prepare(`update WorkOrders
|
||||
set workOrderCloseDate = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where workOrderId = ?`)
|
||||
.run(workOrderForm.workOrderCloseDateString
|
||||
? dateStringToInteger(workOrderForm.workOrderCloseDateString)
|
||||
: dateToInteger(new Date()), requestSession.user.userName, rightNow.getTime(), workOrderForm.workOrderId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default closeWorkOrder;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@ import sqlite from "better-sqlite3";
|
|||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import {
|
||||
dateStringToInteger,
|
||||
dateToInteger
|
||||
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -14,21 +11,21 @@ interface AddWorkOrderForm {
|
|||
workOrderCloseDateString?: string;
|
||||
}
|
||||
|
||||
export const closeWorkOrder = (
|
||||
export function closeWorkOrder(
|
||||
workOrderForm: AddWorkOrderForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNow = new Date();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update WorkOrders" +
|
||||
" set workOrderCloseDate = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where workOrderId = ?"
|
||||
`update WorkOrders
|
||||
set workOrderCloseDate = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where workOrderId = ?`
|
||||
)
|
||||
.run(
|
||||
workOrderForm.workOrderCloseDateString
|
||||
|
|
@ -42,6 +39,6 @@ export const closeWorkOrder = (
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default closeWorkOrder;
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ interface CompleteWorkOrderMilestoneForm {
|
|||
workOrderMilestoneCompletionDateString?: string;
|
||||
workOrderMilestoneCompletionTimeString?: string;
|
||||
}
|
||||
export declare const completeWorkOrderMilestone: (milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default completeWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const completeWorkOrderMilestone = (milestoneForm, requestSession) => {
|
||||
export function completeWorkOrderMilestone(milestoneForm, requestSession) {
|
||||
const rightNow = new Date();
|
||||
const database = sqlite(databasePath);
|
||||
const result = database
|
||||
.prepare("update WorkOrderMilestones" +
|
||||
" set workOrderMilestoneCompletionDate = ?," +
|
||||
" workOrderMilestoneCompletionTime = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where workOrderMilestoneId = ?")
|
||||
.prepare(`update WorkOrderMilestones
|
||||
set workOrderMilestoneCompletionDate = ?,
|
||||
workOrderMilestoneCompletionTime = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where workOrderMilestoneId = ?`)
|
||||
.run(milestoneForm.workOrderMilestoneCompletionDateString
|
||||
? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
|
||||
: dateToInteger(rightNow), milestoneForm.workOrderMilestoneCompletionTimeString
|
||||
|
|
@ -18,5 +18,5 @@ export const completeWorkOrderMilestone = (milestoneForm, requestSession) => {
|
|||
: dateToTimeInteger(rightNow), requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default completeWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -17,33 +17,29 @@ interface CompleteWorkOrderMilestoneForm {
|
|||
workOrderMilestoneCompletionTimeString?: string;
|
||||
}
|
||||
|
||||
export const completeWorkOrderMilestone = (
|
||||
export function completeWorkOrderMilestone(
|
||||
milestoneForm: CompleteWorkOrderMilestoneForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const rightNow = new Date();
|
||||
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update WorkOrderMilestones" +
|
||||
" set workOrderMilestoneCompletionDate = ?," +
|
||||
" workOrderMilestoneCompletionTime = ?," +
|
||||
" recordUpdate_userName = ?," +
|
||||
" recordUpdate_timeMillis = ?" +
|
||||
" where workOrderMilestoneId = ?"
|
||||
`update WorkOrderMilestones
|
||||
set workOrderMilestoneCompletionDate = ?,
|
||||
workOrderMilestoneCompletionTime = ?,
|
||||
recordUpdate_userName = ?,
|
||||
recordUpdate_timeMillis = ?
|
||||
where workOrderMilestoneId = ?`
|
||||
)
|
||||
.run(
|
||||
milestoneForm.workOrderMilestoneCompletionDateString
|
||||
? dateStringToInteger(
|
||||
milestoneForm.workOrderMilestoneCompletionDateString
|
||||
)
|
||||
? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
|
||||
: dateToInteger(rightNow),
|
||||
milestoneForm.workOrderMilestoneCompletionTimeString
|
||||
? timeStringToInteger(
|
||||
milestoneForm.workOrderMilestoneCompletionTimeString
|
||||
)
|
||||
? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString)
|
||||
: dateToTimeInteger(rightNow),
|
||||
requestSession.user.userName,
|
||||
rightNow.getTime(),
|
||||
|
|
@ -53,6 +49,6 @@ export const completeWorkOrderMilestone = (
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default completeWorkOrderMilestone;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const copyLotOccupancy: (oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession) => number;
|
||||
export declare function copyLotOccupancy(oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession): number;
|
||||
export default copyLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { getLotOccupancy } from "./getLotOccupancy.js";
|
|||
import { addLotOccupancy } from "./addLotOccupancy.js";
|
||||
import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js";
|
||||
import { dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
|
||||
export function copyLotOccupancy(oldLotOccupancyId, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
|
||||
const newLotOccupancyId = addLotOccupancy({
|
||||
|
|
@ -16,10 +16,11 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
|
|||
const rightNowMillis = Date.now();
|
||||
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
|
||||
database
|
||||
.prepare("insert into LotOccupancyFields" +
|
||||
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)")
|
||||
.prepare(`insert into LotOccupancyFields (
|
||||
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
}
|
||||
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
|
||||
|
|
@ -38,5 +39,5 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
|
|||
}
|
||||
database.close();
|
||||
return newLotOccupancyId;
|
||||
};
|
||||
}
|
||||
export default copyLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ import { dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const copyLotOccupancy = (
|
||||
export function copyLotOccupancy(
|
||||
oldLotOccupancyId: number | string,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number => {
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
|
||||
|
|
@ -29,17 +29,20 @@ export const copyLotOccupancy = (
|
|||
database
|
||||
);
|
||||
|
||||
// Copy Fields
|
||||
/*
|
||||
* Copy Fields
|
||||
*/
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
|
||||
database
|
||||
.prepare(
|
||||
"insert into LotOccupancyFields" +
|
||||
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," +
|
||||
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||
" values (?, ?, ?, ?, ?, ?, ?)"
|
||||
`insert into LotOccupancyFields (
|
||||
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
newLotOccupancyId,
|
||||
|
|
@ -52,7 +55,9 @@ export const copyLotOccupancy = (
|
|||
);
|
||||
}
|
||||
|
||||
// Copy Occupants
|
||||
/*
|
||||
* Copy Occupants
|
||||
*/
|
||||
|
||||
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
|
||||
addLotOccupancyOccupant(
|
||||
|
|
@ -76,6 +81,6 @@ export const copyLotOccupancy = (
|
|||
database.close();
|
||||
|
||||
return newLotOccupancyId;
|
||||
};
|
||||
}
|
||||
|
||||
export default copyLotOccupancy;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const deleteFee: (feeId: number | string, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function deleteFee(feeId: number | string, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default deleteFee;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const deleteFee = (feeId, requestSession) => {
|
||||
export function deleteFee(feeId, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeId = ?")
|
||||
.prepare(`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default deleteFee;
|
||||
|
|
|
|||
|
|
@ -4,26 +4,26 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const deleteFee = (
|
||||
export function deleteFee(
|
||||
feeId: number | string,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeId = ?"
|
||||
`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeId = ?`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeId);
|
||||
|
||||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default deleteFee;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const deleteFeeCategory: (feeCategoryId: number | string, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function deleteFeeCategory(feeCategoryId: number | string, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default deleteFeeCategory;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const deleteFeeCategory = (feeCategoryId, requestSession) => {
|
||||
export function deleteFeeCategory(feeCategoryId, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("update FeeCategories" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeCategoryId = ?")
|
||||
.prepare(`update FeeCategories
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeCategoryId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeCategoryId);
|
||||
database
|
||||
.prepare("update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeCategoryId = ?")
|
||||
.prepare(`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeCategoryId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeCategoryId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default deleteFeeCategory;
|
||||
|
|
|
|||
|
|
@ -4,35 +4,35 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const deleteFeeCategory = (
|
||||
export function deleteFeeCategory(
|
||||
feeCategoryId: number | string,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): boolean => {
|
||||
): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update FeeCategories" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeCategoryId = ?"
|
||||
`update FeeCategories
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeCategoryId = ?`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeCategoryId);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where feeCategoryId = ?"
|
||||
`update Fees
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where feeCategoryId = ?`
|
||||
)
|
||||
.run(requestSession.user.userName, rightNowMillis, feeCategoryId);
|
||||
|
||||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export default deleteFeeCategory;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const deleteLot: (lotId: number | string, requestSession: recordTypes.PartialSession) => boolean;
|
||||
export declare function deleteLot(lotId: number | string, requestSession: recordTypes.PartialSession): boolean;
|
||||
export default deleteLot;
|
||||
|
|
|
|||
|
|
@ -1,27 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const deleteLot = (lotId, requestSession) => {
|
||||
export function deleteLot(lotId, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare("update Lots" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where lotId = ?")
|
||||
.run(requestSession.user.userName, rightNowMillis, lotId);
|
||||
database
|
||||
.prepare("update LotComments" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where lotId = ?")
|
||||
.run(requestSession.user.userName, rightNowMillis, lotId);
|
||||
database
|
||||
.prepare("update LotFields" +
|
||||
" set recordDelete_userName = ?," +
|
||||
" recordDelete_timeMillis = ?" +
|
||||
" where lotId = ?")
|
||||
let result;
|
||||
for (const tableName of ["LotFields", "LotComments", "Lots"]) {
|
||||
result = database
|
||||
.prepare(`update ${tableName}
|
||||
set recordDelete_userName = ?,
|
||||
recordDelete_timeMillis = ?
|
||||
where lotId = ?`)
|
||||
.run(requestSession.user.userName, rightNowMillis, lotId);
|
||||
}
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
export default deleteLot;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue