scheduler-node-models 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/general/emailer.d.ts +1 -0
- package/general/emailer.js +31 -0
- package/general/general.d.ts +12 -0
- package/general/general.js +2 -0
- package/general/index.d.ts +5 -0
- package/general/index.js +21 -0
- package/general/logger.d.ts +10 -0
- package/general/logger.js +90 -0
- package/general/report.d.ts +25 -0
- package/general/report.js +76 -0
- package/general/viewstate.d.ts +5 -0
- package/general/viewstate.js +9 -0
- package/index.d.ts +0 -0
- package/index.js +1 -0
- package/metrics/images.d.ts +22 -0
- package/metrics/images.js +33 -0
- package/metrics/index.d.ts +5 -0
- package/metrics/index.js +21 -0
- package/metrics/mission.d.ts +47 -0
- package/metrics/mission.js +81 -0
- package/metrics/missionSensorOutage.d.ts +11 -0
- package/metrics/missionSensorOutage.js +14 -0
- package/metrics/missionsensor.d.ts +67 -0
- package/metrics/missionsensor.js +128 -0
- package/metrics/outage.d.ts +43 -0
- package/metrics/outage.js +55 -0
- package/metrics/systemdata/classifications.d.ts +18 -0
- package/metrics/systemdata/classifications.js +23 -0
- package/metrics/systemdata/communications.d.ts +21 -0
- package/metrics/systemdata/communications.js +40 -0
- package/metrics/systemdata/dcgs.d.ts +19 -0
- package/metrics/systemdata/dcgs.js +29 -0
- package/metrics/systemdata/exploitations.d.ts +18 -0
- package/metrics/systemdata/exploitations.js +23 -0
- package/metrics/systemdata/groundSystems.d.ts +86 -0
- package/metrics/systemdata/groundSystems.js +143 -0
- package/metrics/systemdata/index.d.ts +7 -0
- package/metrics/systemdata/index.js +23 -0
- package/metrics/systemdata/platform.d.ts +124 -0
- package/metrics/systemdata/platform.js +176 -0
- package/metrics/systemdata/systeminfo.d.ts +28 -0
- package/metrics/systemdata/systeminfo.js +64 -0
- package/package.json +4 -4
- package/scheduler/employees/assignment.d.ts +139 -0
- package/scheduler/employees/assignment.js +304 -0
- package/scheduler/employees/balance.d.ts +35 -0
- package/scheduler/employees/balance.js +39 -0
- package/scheduler/employees/companyinfo.d.ts +16 -0
- package/scheduler/employees/companyinfo.js +6 -0
- package/scheduler/employees/contact.d.ts +36 -0
- package/scheduler/employees/contact.js +40 -0
- package/scheduler/employees/employee.d.ts +427 -0
- package/scheduler/employees/employee.js +1887 -0
- package/scheduler/employees/employeename.d.ts +48 -0
- package/scheduler/employees/employeename.js +97 -0
- package/scheduler/employees/index.d.ts +14 -0
- package/scheduler/employees/index.js +30 -0
- package/scheduler/employees/labor.d.ts +31 -0
- package/scheduler/employees/labor.js +39 -0
- package/scheduler/employees/leave.d.ts +58 -0
- package/scheduler/employees/leave.js +73 -0
- package/scheduler/employees/leaverequest.d.ts +105 -0
- package/scheduler/employees/leaverequest.js +226 -0
- package/scheduler/employees/specialty.d.ts +35 -0
- package/scheduler/employees/specialty.js +40 -0
- package/scheduler/employees/variation.d.ts +80 -0
- package/scheduler/employees/variation.js +132 -0
- package/scheduler/employees/web.d.ts +6 -0
- package/scheduler/employees/web.js +2 -0
- package/scheduler/employees/work.d.ts +96 -0
- package/scheduler/employees/work.js +133 -0
- package/scheduler/employees/workday.d.ts +91 -0
- package/scheduler/employees/workday.js +170 -0
- package/scheduler/labor/index.d.ts +2 -0
- package/scheduler/labor/index.js +18 -0
- package/scheduler/labor/laborcode.d.ts +33 -0
- package/scheduler/labor/laborcode.js +55 -0
- package/scheduler/labor/workcode.d.ts +28 -0
- package/scheduler/labor/workcode.js +35 -0
- package/scheduler/sites/index.d.ts +1 -0
- package/scheduler/sites/index.js +17 -0
- package/scheduler/sites/reports/cofsReport.d.ts +41 -0
- package/scheduler/sites/reports/cofsReport.js +104 -0
- package/scheduler/sites/reports/forecast.d.ts +57 -0
- package/scheduler/sites/reports/forecast.js +205 -0
- package/scheduler/sites/reports/index.d.ts +4 -0
- package/scheduler/sites/reports/index.js +20 -0
- package/scheduler/sites/reports/period.d.ts +11 -0
- package/scheduler/sites/reports/period.js +27 -0
- package/scheduler/sites/reports/section.d.ts +63 -0
- package/scheduler/sites/reports/section.js +186 -0
- package/scheduler/sites/site.d.ts +39 -0
- package/scheduler/sites/site.js +68 -0
- package/scheduler/sites/workcenters/index.d.ts +3 -0
- package/scheduler/sites/workcenters/index.js +19 -0
- package/scheduler/sites/workcenters/position.d.ts +27 -0
- package/scheduler/sites/workcenters/position.js +36 -0
- package/scheduler/sites/workcenters/shift.d.ts +32 -0
- package/scheduler/sites/workcenters/shift.js +47 -0
- package/scheduler/sites/workcenters/workcenter.d.ts +43 -0
- package/scheduler/sites/workcenters/workcenter.js +123 -0
- package/scheduler/teams/company/company.d.ts +99 -0
- package/scheduler/teams/company/company.js +256 -0
- package/scheduler/teams/company/holiday.d.ts +61 -0
- package/scheduler/teams/company/holiday.js +116 -0
- package/scheduler/teams/company/index.d.ts +3 -0
- package/scheduler/teams/company/index.js +19 -0
- package/scheduler/teams/company/modperiod.d.ts +21 -0
- package/scheduler/teams/company/modperiod.js +24 -0
- package/scheduler/teams/contact.d.ts +18 -0
- package/scheduler/teams/contact.js +23 -0
- package/scheduler/teams/index.d.ts +3 -0
- package/scheduler/teams/index.js +19 -0
- package/scheduler/teams/specialty.d.ts +18 -0
- package/scheduler/teams/specialty.js +23 -0
- package/scheduler/teams/team.d.ts +95 -0
- package/scheduler/teams/team.js +351 -0
- package/users/index.d.ts +2 -0
- package/users/index.js +18 -0
- package/users/question.d.ts +47 -0
- package/users/question.js +68 -0
- package/users/user.d.ts +150 -0
- package/users/user.js +304 -0
- package/users/web.d.ts +48 -0
- package/users/web.js +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sendMail: (to: string, subject: string, html: string) => Promise<void>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sendMail = void 0;
|
|
7
|
+
const nodemailer_1 = __importDefault(require("nodemailer"));
|
|
8
|
+
const sendMail = async (to, subject, html) => {
|
|
9
|
+
const transporter = nodemailer_1.default.createTransport({
|
|
10
|
+
service: 'gmail',
|
|
11
|
+
auth: {
|
|
12
|
+
user: process.env.SMTP_USER,
|
|
13
|
+
pass: process.env.SMTP_PASSWORD
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const mailOptions = {
|
|
17
|
+
from: process.env.SMTP_USER,
|
|
18
|
+
to: to,
|
|
19
|
+
subject: subject,
|
|
20
|
+
html: html
|
|
21
|
+
};
|
|
22
|
+
transporter.sendMail(mailOptions, (error, info) => {
|
|
23
|
+
if (error) {
|
|
24
|
+
console.error(error);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.log('Email sent: ' + info.response);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.sendMail = sendMail;
|
package/general/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./general"), exports);
|
|
18
|
+
__exportStar(require("./viewstate"), exports);
|
|
19
|
+
__exportStar(require("./emailer"), exports);
|
|
20
|
+
__exportStar(require("./report"), exports);
|
|
21
|
+
__exportStar(require("./logger"), exports);
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Logger = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
class Logger {
|
|
39
|
+
logFile;
|
|
40
|
+
flushInterval;
|
|
41
|
+
buffer = [];
|
|
42
|
+
interval;
|
|
43
|
+
constructor(logFile, flushInterval = 100) {
|
|
44
|
+
this.logFile = logFile;
|
|
45
|
+
this.flushInterval = flushInterval;
|
|
46
|
+
this.interval = setInterval(() => this.flush(), flushInterval);
|
|
47
|
+
}
|
|
48
|
+
log(message) {
|
|
49
|
+
this.buffer.push(message);
|
|
50
|
+
}
|
|
51
|
+
flush() {
|
|
52
|
+
if (this.buffer.length > 0) {
|
|
53
|
+
const logLines = this.buffer.join('\n') + '\n';
|
|
54
|
+
this.logFile = this.logFile.replaceAll(' ', '_');
|
|
55
|
+
try {
|
|
56
|
+
const tf = fs.open(this.logFile, (err) => {
|
|
57
|
+
if (err) {
|
|
58
|
+
const dirIndex = this.logFile.lastIndexOf('/');
|
|
59
|
+
const logDir = this.logFile.substring(0, dirIndex);
|
|
60
|
+
fs.mkdir(logDir, { recursive: true, }, (err) => {
|
|
61
|
+
if (err) {
|
|
62
|
+
console.log(err);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
const dirIndex = this.logFile.lastIndexOf('/');
|
|
70
|
+
const logDir = this.logFile.substring(0, dirIndex);
|
|
71
|
+
fs.mkdir(logDir, { recursive: true }, (err) => {
|
|
72
|
+
if (err) {
|
|
73
|
+
console.log(err);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
fs.appendFile(this.logFile, logLines, (err) => {
|
|
78
|
+
if (err) {
|
|
79
|
+
console.error(`Error writing to log file: ${err}`);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
this.buffer = [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
stop() {
|
|
86
|
+
clearInterval(this.interval);
|
|
87
|
+
this.flush();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.Logger = Logger;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RichText, Style, Worksheet } from "exceljs";
|
|
2
|
+
export declare class Formula {
|
|
3
|
+
formula: string;
|
|
4
|
+
constructor(formula: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class Report {
|
|
7
|
+
getCellID(col: string | number, row: number): string;
|
|
8
|
+
setCell(sheet: Worksheet, begin: string, end: string, style: Partial<Style>, value: string | number | Formula | RichText[] | undefined, numFmt?: string): void;
|
|
9
|
+
getDateString(date: Date): string;
|
|
10
|
+
getTimeString(minutes: number): string;
|
|
11
|
+
getNumberString(value: number, decimal: number): string;
|
|
12
|
+
}
|
|
13
|
+
export interface ReportRequest {
|
|
14
|
+
reportType: string;
|
|
15
|
+
period?: string;
|
|
16
|
+
subreport?: string;
|
|
17
|
+
teamid?: string;
|
|
18
|
+
siteid?: string;
|
|
19
|
+
companyid?: string;
|
|
20
|
+
password?: string;
|
|
21
|
+
startDate?: string;
|
|
22
|
+
endDate?: string;
|
|
23
|
+
userid?: string;
|
|
24
|
+
includeDaily: boolean;
|
|
25
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Report = exports.Formula = void 0;
|
|
4
|
+
class Formula {
|
|
5
|
+
formula = "";
|
|
6
|
+
constructor(formula) {
|
|
7
|
+
this.formula = formula;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.Formula = Formula;
|
|
11
|
+
class Report {
|
|
12
|
+
getCellID(col, row) {
|
|
13
|
+
if (typeof col === 'string') {
|
|
14
|
+
return `${col}${row}`;
|
|
15
|
+
}
|
|
16
|
+
const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
17
|
+
if (col < letters.length) {
|
|
18
|
+
return `${letters.substring(col, col + 1)}${row}`;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const first = Math.floor(col / letters.length) - 1;
|
|
22
|
+
const next = col % letters.length;
|
|
23
|
+
return `${letters.substring(first, first + 1)}${letters.substring(next, next + 1)}${row}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
setCell(sheet, begin, end, style, value, numFmt) {
|
|
27
|
+
if (begin !== end) {
|
|
28
|
+
sheet.mergeCells(`${begin}:${end}`);
|
|
29
|
+
}
|
|
30
|
+
if (style.fill) {
|
|
31
|
+
sheet.getCell(begin).fill = style.fill;
|
|
32
|
+
}
|
|
33
|
+
if (style.font) {
|
|
34
|
+
sheet.getCell(begin).font = style.font;
|
|
35
|
+
}
|
|
36
|
+
if (style.alignment) {
|
|
37
|
+
sheet.getCell(begin).alignment = style.alignment;
|
|
38
|
+
}
|
|
39
|
+
if (style.border) {
|
|
40
|
+
sheet.getCell(begin).border = style.border;
|
|
41
|
+
}
|
|
42
|
+
if (style.numFmt) {
|
|
43
|
+
sheet.getCell(begin).numFmt = style.numFmt;
|
|
44
|
+
}
|
|
45
|
+
if (numFmt && numFmt !== '') {
|
|
46
|
+
sheet.getCell(begin).numFmt = numFmt;
|
|
47
|
+
}
|
|
48
|
+
if (!value && !(typeof value === 'number')) {
|
|
49
|
+
sheet.getCell(begin).value = '';
|
|
50
|
+
}
|
|
51
|
+
else if (value instanceof Formula) {
|
|
52
|
+
sheet.getCell(begin).value = { formula: value.formula };
|
|
53
|
+
}
|
|
54
|
+
else if (typeof value === 'string' || typeof value === 'number') {
|
|
55
|
+
sheet.getCell(begin).value = value;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
sheet.getCell(begin).value = { 'richText': value };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
getDateString(date) {
|
|
62
|
+
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
|
|
63
|
+
'Oct', 'Nov', 'Dec'];
|
|
64
|
+
return `${months[date.getMonth()]} ${date.getDate()}`;
|
|
65
|
+
}
|
|
66
|
+
getTimeString(minutes) {
|
|
67
|
+
const hours = Math.floor(minutes / 60);
|
|
68
|
+
const mins = minutes - (hours * 60);
|
|
69
|
+
return ((hours < 10) ? `0${hours}:` : `${hours}:`)
|
|
70
|
+
+ ((mins < 10) ? `0${mins}` : `${mins}`);
|
|
71
|
+
}
|
|
72
|
+
getNumberString(value, decimal) {
|
|
73
|
+
return value.toFixed(decimal);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.Report = Report;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ViewState = void 0;
|
|
4
|
+
var ViewState;
|
|
5
|
+
(function (ViewState) {
|
|
6
|
+
ViewState[ViewState["Mobile"] = 1] = "Mobile";
|
|
7
|
+
ViewState[ViewState["Tablet"] = 2] = "Tablet";
|
|
8
|
+
ViewState[ViewState["Desktop"] = 3] = "Desktop";
|
|
9
|
+
})(ViewState || (exports.ViewState = ViewState = {}));
|
package/index.d.ts
ADDED
|
File without changes
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This interface defines the data members for an image type
|
|
3
|
+
*/
|
|
4
|
+
export interface IImageType {
|
|
5
|
+
id: string;
|
|
6
|
+
collected?: number;
|
|
7
|
+
notcollected?: number;
|
|
8
|
+
sortID: number;
|
|
9
|
+
subtypes?: IImageType[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* this class implements the data members for an image type, plus actions for use
|
|
13
|
+
*/
|
|
14
|
+
export declare class ImageType implements IImageType {
|
|
15
|
+
id: string;
|
|
16
|
+
collected?: number;
|
|
17
|
+
notcollected?: number;
|
|
18
|
+
sortID: number;
|
|
19
|
+
subtypes?: ImageType[];
|
|
20
|
+
constructor(it?: IImageType);
|
|
21
|
+
compareTo(other?: ImageType): number;
|
|
22
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* this class implements the data members for an image type, plus actions for use
|
|
6
|
+
*/
|
|
7
|
+
class ImageType {
|
|
8
|
+
id;
|
|
9
|
+
collected;
|
|
10
|
+
notcollected;
|
|
11
|
+
sortID;
|
|
12
|
+
subtypes;
|
|
13
|
+
constructor(it) {
|
|
14
|
+
this.id = (it) ? it.id : '';
|
|
15
|
+
this.collected = (it && it.collected) ? it.collected : undefined;
|
|
16
|
+
this.notcollected = (it && it.notcollected) ? it.notcollected : undefined;
|
|
17
|
+
this.sortID = (it && it.sortID) ? it.sortID : 0;
|
|
18
|
+
if (it && it.subtypes) {
|
|
19
|
+
this.subtypes = [];
|
|
20
|
+
it.subtypes.forEach(st => {
|
|
21
|
+
this.subtypes?.push(new ImageType(st));
|
|
22
|
+
});
|
|
23
|
+
this.subtypes.sort((a, b) => a.compareTo(b));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
compareTo(other) {
|
|
27
|
+
if (other) {
|
|
28
|
+
return (this.sortID < other.sortID) ? -1 : 1;
|
|
29
|
+
}
|
|
30
|
+
return -1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ImageType = ImageType;
|
package/metrics/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./outage"), exports);
|
|
18
|
+
__exportStar(require("./images"), exports);
|
|
19
|
+
__exportStar(require("./mission"), exports);
|
|
20
|
+
__exportStar(require("./missionSensorOutage"), exports);
|
|
21
|
+
__exportStar(require("./missionsensor"), exports);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ObjectId } from "mongodb";
|
|
2
|
+
import { IMissionSensor, MissionSensor } from "./missionsensor";
|
|
3
|
+
/**
|
|
4
|
+
* This interfcae defines the data members for a mission.
|
|
5
|
+
*/
|
|
6
|
+
export interface IMission {
|
|
7
|
+
_id?: ObjectId;
|
|
8
|
+
id?: string;
|
|
9
|
+
missionDate: Date;
|
|
10
|
+
platformID: string;
|
|
11
|
+
sortieID: number;
|
|
12
|
+
exploitation: string;
|
|
13
|
+
tailNumber: string;
|
|
14
|
+
communications: string;
|
|
15
|
+
primaryDCGS: string;
|
|
16
|
+
cancelled: boolean;
|
|
17
|
+
executed?: boolean;
|
|
18
|
+
aborted: boolean;
|
|
19
|
+
indefDelay: boolean;
|
|
20
|
+
missionOverlap: number;
|
|
21
|
+
comments: string;
|
|
22
|
+
sensors?: IMissionSensor[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* This class implements the mission interface data members plus actions.
|
|
26
|
+
*/
|
|
27
|
+
export declare class Mission implements IMission {
|
|
28
|
+
id: string;
|
|
29
|
+
missionDate: Date;
|
|
30
|
+
platformID: string;
|
|
31
|
+
sortieID: number;
|
|
32
|
+
exploitation: string;
|
|
33
|
+
tailNumber: string;
|
|
34
|
+
communications: string;
|
|
35
|
+
primaryDCGS: string;
|
|
36
|
+
cancelled: boolean;
|
|
37
|
+
executed: boolean;
|
|
38
|
+
aborted: boolean;
|
|
39
|
+
indefDelay: boolean;
|
|
40
|
+
missionOverlap: number;
|
|
41
|
+
comments: string;
|
|
42
|
+
sensors: MissionSensor[];
|
|
43
|
+
constructor(msn?: IMission);
|
|
44
|
+
compareTo(other?: Mission): number;
|
|
45
|
+
equipmentInUse(sid: string): boolean;
|
|
46
|
+
useMission(start: Date, end: Date): boolean;
|
|
47
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mission = void 0;
|
|
4
|
+
const missionsensor_1 = require("./missionsensor");
|
|
5
|
+
/**
|
|
6
|
+
* This class implements the mission interface data members plus actions.
|
|
7
|
+
*/
|
|
8
|
+
class Mission {
|
|
9
|
+
id;
|
|
10
|
+
missionDate;
|
|
11
|
+
platformID;
|
|
12
|
+
sortieID;
|
|
13
|
+
exploitation;
|
|
14
|
+
tailNumber;
|
|
15
|
+
communications;
|
|
16
|
+
primaryDCGS;
|
|
17
|
+
cancelled;
|
|
18
|
+
executed;
|
|
19
|
+
aborted;
|
|
20
|
+
indefDelay;
|
|
21
|
+
missionOverlap;
|
|
22
|
+
comments;
|
|
23
|
+
sensors;
|
|
24
|
+
constructor(msn) {
|
|
25
|
+
this.id = (msn && msn.id) ? msn.id : '';
|
|
26
|
+
if (this.id === '') {
|
|
27
|
+
this.id = (msn && msn._id) ? msn._id.toString() : '';
|
|
28
|
+
}
|
|
29
|
+
this.missionDate = (msn) ? new Date(msn.missionDate) : new Date(0);
|
|
30
|
+
this.platformID = (msn) ? msn.platformID : '';
|
|
31
|
+
this.sortieID = (msn) ? msn.sortieID : 0;
|
|
32
|
+
this.exploitation = (msn) ? msn.exploitation : 'PRIMARY';
|
|
33
|
+
this.tailNumber = (msn) ? msn.tailNumber : 'A';
|
|
34
|
+
this.communications = (msn) ? msn.communications : 'LOS';
|
|
35
|
+
this.primaryDCGS = (msn) ? msn.primaryDCGS : 'C';
|
|
36
|
+
this.cancelled = (msn) ? msn.cancelled : false;
|
|
37
|
+
this.executed = (msn && msn.executed) ? msn.executed : false;
|
|
38
|
+
this.aborted = (msn) ? msn.aborted : false;
|
|
39
|
+
this.indefDelay = (msn) ? msn.indefDelay : false;
|
|
40
|
+
this.missionOverlap = (msn) ? msn.missionOverlap : 0;
|
|
41
|
+
this.comments = (msn) ? msn.comments : '';
|
|
42
|
+
this.sensors = [];
|
|
43
|
+
if (msn && msn.sensors && msn.sensors.length > 0) {
|
|
44
|
+
msn.sensors.forEach(sen => {
|
|
45
|
+
this.sensors.push(new missionsensor_1.MissionSensor(sen));
|
|
46
|
+
});
|
|
47
|
+
this.sensors.sort((a, b) => a.compareTo(b));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
compareTo(other) {
|
|
51
|
+
if (other) {
|
|
52
|
+
if (this.missionDate.getTime() === other.missionDate.getTime()) {
|
|
53
|
+
if (this.platformID.toLowerCase() === other.platformID.toLowerCase()) {
|
|
54
|
+
return (this.sortieID < other.sortieID) ? -1 : 1;
|
|
55
|
+
}
|
|
56
|
+
return (this.platformID.toLowerCase() < other.platformID.toLowerCase()) ? -1 : 1;
|
|
57
|
+
}
|
|
58
|
+
return (this.missionDate.getTime() < other.missionDate.getTime()) ? -1 : 1;
|
|
59
|
+
}
|
|
60
|
+
return -1;
|
|
61
|
+
}
|
|
62
|
+
equipmentInUse(sid) {
|
|
63
|
+
let answer = false;
|
|
64
|
+
if (this.sensors.length > 0) {
|
|
65
|
+
this.sensors.forEach(sen => {
|
|
66
|
+
if (sen.equipmentInUse(sid)) {
|
|
67
|
+
answer = true;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
answer = true;
|
|
73
|
+
}
|
|
74
|
+
return answer;
|
|
75
|
+
}
|
|
76
|
+
useMission(start, end) {
|
|
77
|
+
return (this.missionDate.getTime() >= start.getTime()
|
|
78
|
+
&& this.missionDate.getTime() < end.getTime());
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.Mission = Mission;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface IMissionSensorOutage {
|
|
2
|
+
totalOutageMinutes: number;
|
|
3
|
+
partialLBOutageMinutes: number;
|
|
4
|
+
partialHBOutageMinutes: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class MissionSensorOutage implements IMissionSensorOutage {
|
|
7
|
+
totalOutageMinutes: number;
|
|
8
|
+
partialHBOutageMinutes: number;
|
|
9
|
+
partialLBOutageMinutes: number;
|
|
10
|
+
constructor(mso?: IMissionSensorOutage);
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MissionSensorOutage = void 0;
|
|
4
|
+
class MissionSensorOutage {
|
|
5
|
+
totalOutageMinutes;
|
|
6
|
+
partialHBOutageMinutes;
|
|
7
|
+
partialLBOutageMinutes;
|
|
8
|
+
constructor(mso) {
|
|
9
|
+
this.totalOutageMinutes = (mso) ? mso.totalOutageMinutes : 0;
|
|
10
|
+
this.partialHBOutageMinutes = (mso) ? mso.partialHBOutageMinutes : 0;
|
|
11
|
+
this.partialLBOutageMinutes = (mso) ? mso.partialLBOutageMinutes : 0;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.MissionSensorOutage = MissionSensorOutage;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { IImageType, ImageType } from "./images";
|
|
2
|
+
import { IMissionSensorOutage } from "./missionSensorOutage";
|
|
3
|
+
import { GeneralTypes } from "./systemdata";
|
|
4
|
+
/**
|
|
5
|
+
* This interface defines a mission sensor data members
|
|
6
|
+
*/
|
|
7
|
+
export interface IMissionSensor {
|
|
8
|
+
sensorID: string;
|
|
9
|
+
sensorType: GeneralTypes;
|
|
10
|
+
preflightMinutes: number;
|
|
11
|
+
scheduledMinutes: number;
|
|
12
|
+
executedMinutes: number;
|
|
13
|
+
postflightMinutes: number;
|
|
14
|
+
additionalMinutes: number;
|
|
15
|
+
finalCode: number;
|
|
16
|
+
kitNumber: string;
|
|
17
|
+
sensorOutage: IMissionSensorOutage;
|
|
18
|
+
groundOutage: number;
|
|
19
|
+
hasHap: boolean;
|
|
20
|
+
towerID: number;
|
|
21
|
+
sortID: number;
|
|
22
|
+
comments: string;
|
|
23
|
+
equipment?: string[];
|
|
24
|
+
images?: IImageType[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* this class implements the mission sensor data members and actions.
|
|
28
|
+
*/
|
|
29
|
+
export declare class MissionSensor implements IMissionSensor {
|
|
30
|
+
sensorID: string;
|
|
31
|
+
sensorType: GeneralTypes;
|
|
32
|
+
preflightMinutes: number;
|
|
33
|
+
scheduledMinutes: number;
|
|
34
|
+
executedMinutes: number;
|
|
35
|
+
postflightMinutes: number;
|
|
36
|
+
additionalMinutes: number;
|
|
37
|
+
finalCode: number;
|
|
38
|
+
kitNumber: string;
|
|
39
|
+
sensorOutage: IMissionSensorOutage;
|
|
40
|
+
groundOutage: number;
|
|
41
|
+
hasHap: boolean;
|
|
42
|
+
towerID: number;
|
|
43
|
+
sortID: number;
|
|
44
|
+
comments: string;
|
|
45
|
+
equipment?: string[] | undefined;
|
|
46
|
+
images?: ImageType[];
|
|
47
|
+
constructor(ms: IMissionSensor);
|
|
48
|
+
/**
|
|
49
|
+
* This function is used in sorting this mission sensor from another.
|
|
50
|
+
* @param other The mission sensor object used for comparison.
|
|
51
|
+
* @returns numeric value for the relative position of this to another.
|
|
52
|
+
*/
|
|
53
|
+
compareTo(other?: MissionSensor): number;
|
|
54
|
+
/**
|
|
55
|
+
* This function will check to ensure the requested equipment is present in the
|
|
56
|
+
* equipment list.
|
|
57
|
+
* @param sid The string value for the equipment to check for.
|
|
58
|
+
* @returns boolean value for whether or not the equipment is in the list.
|
|
59
|
+
*/
|
|
60
|
+
equipmentInUse(sid: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* This function will modify the equipment list, adding or removing equipment.
|
|
63
|
+
* @param item The string value for the equipment to add/remove.
|
|
64
|
+
* @param value A string value for a boolean value, true to add, false to remove.
|
|
65
|
+
*/
|
|
66
|
+
modifyEquipment(item: string, value: string): void;
|
|
67
|
+
}
|