gemcap-be-common 1.0.8 → 1.0.9
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/package.json +1 -1
- package/src/db/inventory-availability.d.ts +2 -0
- package/src/db/inventory-availability.js +51 -0
- package/src/enums/collaterals.enum.d.ts +8 -0
- package/src/enums/collaterals.enum.js +12 -0
- package/src/enums/data-types.enum.d.ts +5 -0
- package/src/enums/data-types.enum.js +9 -0
- package/src/enums/equipment-types.enum.d.ts +6 -0
- package/src/enums/equipment-types.enum.js +10 -0
- package/src/enums/inventory-availability-results.enum.d.ts +5 -0
- package/src/enums/inventory-availability-results.enum.js +9 -0
- package/src/enums/item-progress-status.enum.d.ts +5 -0
- package/src/enums/item-progress-status.enum.js +9 -0
- package/src/enums/loan-charge-type.enum.d.ts +8 -0
- package/src/enums/loan-charge-type.enum.js +12 -0
- package/src/enums/loan-types.enum.d.ts +18 -0
- package/src/enums/loan-types.enum.js +24 -0
- package/src/enums/modules.enum.d.ts +12 -0
- package/src/enums/modules.enum.js +16 -0
- package/src/enums/reserve-types.enum.d.ts +10 -0
- package/src/enums/reserve-types.enum.js +14 -0
- package/src/enums/upload-types.enum.d.ts +4 -0
- package/src/enums/upload-types.enum.js +8 -0
- package/src/enums/user-types.enum.d.ts +7 -0
- package/src/enums/user-types.enum.js +11 -0
- package/src/enums/validators.enums.d.ts +7 -0
- package/src/enums/validators.enums.js +11 -0
- package/src/interfaces/collaterals.interface.d.ts +24 -0
- package/src/interfaces/collaterals.interface.js +7 -0
- package/src/interfaces/custom-row.interface.d.ts +12 -0
- package/src/interfaces/custom-row.interface.js +2 -0
- package/src/interfaces/cync-loan-data.interface.d.ts +22 -0
- package/src/interfaces/cync-loan-data.interface.js +2 -0
- package/src/interfaces/email-addresses.interface.d.ts +10 -0
- package/src/interfaces/email-addresses.interface.js +2 -0
- package/src/interfaces/email.interface.d.ts +6 -0
- package/src/interfaces/email.interface.js +2 -0
- package/src/interfaces/group.interface.d.ts +9 -0
- package/src/interfaces/group.interface.js +2 -0
- package/src/interfaces/keycloak-role.interface.d.ts +14 -0
- package/src/interfaces/keycloak-role.interface.js +2 -0
- package/src/interfaces/keycloak-user.interface.d.ts +28 -0
- package/src/interfaces/keycloak-user.interface.js +2 -0
- package/src/interfaces/multer.interface.d.ts +18 -0
- package/src/interfaces/multer.interface.js +2 -0
- package/src/interfaces/plaid-data.interface.d.ts +61 -0
- package/src/interfaces/plaid-data.interface.js +2 -0
- package/src/interfaces/query.interface.d.ts +11 -0
- package/src/interfaces/query.interface.js +2 -0
- package/src/interfaces/result.interface.d.ts +4 -0
- package/src/interfaces/result.interface.js +2 -0
- package/src/interfaces/upload-data.interface.d.ts +14 -0
- package/src/interfaces/upload-data.interface.js +2 -0
- package/src/models/AccountPayableItem.model.d.ts +17 -0
- package/src/models/AccountPayableItem.model.js +60 -0
- package/src/models/BBCDate.model.d.ts +9 -0
- package/src/models/BBCDate.model.js +21 -0
- package/src/models/BBCSheet.model.d.ts +18 -0
- package/src/models/BBCSheet.model.js +51 -0
- package/src/models/ComplianceItem.model.d.ts +43 -0
- package/src/models/ComplianceItem.model.js +29 -0
- package/src/models/InventoryAvailability.model.d.ts +53 -0
- package/src/models/InventoryAvailability.model.js +107 -0
- package/src/models/InventoryItem.model.d.ts +35 -0
- package/src/models/InventoryItem.model.js +100 -0
- package/src/models/ReceiavableItem.model.d.ts +24 -0
- package/src/models/ReceiavableItem.model.js +71 -0
- package/src/plugins/id.plugin.d.ts +2 -0
- package/src/plugins/id.plugin.js +53 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IPaginatorOptions } from './collaterals.interface';
|
|
2
|
+
export interface IUploadData {
|
|
3
|
+
borrowerId: string;
|
|
4
|
+
bbcDate: Date;
|
|
5
|
+
uploadUser: string;
|
|
6
|
+
fileHash: string;
|
|
7
|
+
fileName: string;
|
|
8
|
+
sheetName: string;
|
|
9
|
+
}
|
|
10
|
+
export interface IUploadedDataView {
|
|
11
|
+
totalItems: number;
|
|
12
|
+
items: {}[];
|
|
13
|
+
paginatorOptions: IPaginatorOptions;
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
import { ICollateralItem } from '../interfaces/collaterals.interface';
|
|
3
|
+
export declare const ACCOUNT_PAYABLE_FIELDS: string[];
|
|
4
|
+
export interface IAccountPayableItem extends ICollateralItem {
|
|
5
|
+
bbcDate: Date;
|
|
6
|
+
apDate: Date;
|
|
7
|
+
poNumber: string;
|
|
8
|
+
customerName: string;
|
|
9
|
+
amount: number;
|
|
10
|
+
otherInformation1: string;
|
|
11
|
+
otherInformation2: string;
|
|
12
|
+
otherInformation3: string;
|
|
13
|
+
}
|
|
14
|
+
export interface IAccountPayableItemDoc extends Document, IAccountPayableItem {
|
|
15
|
+
}
|
|
16
|
+
declare const _default: mongoose.Model<IAccountPayableItemDoc, {}, {}, {}, any>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
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.ACCOUNT_PAYABLE_FIELDS = void 0;
|
|
7
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
9
|
+
exports.ACCOUNT_PAYABLE_FIELDS = [
|
|
10
|
+
'_id',
|
|
11
|
+
'apDate',
|
|
12
|
+
'poNumber',
|
|
13
|
+
'customerName',
|
|
14
|
+
'amount',
|
|
15
|
+
'otherInformation1',
|
|
16
|
+
'otherInformation2',
|
|
17
|
+
'otherInformation3',
|
|
18
|
+
];
|
|
19
|
+
var AccountPayableItemSchema = new mongoose_1.default.Schema({
|
|
20
|
+
bbcSheetId: {
|
|
21
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
22
|
+
ref: 'BBCSheets',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
order: {
|
|
26
|
+
type: Number,
|
|
27
|
+
required: true,
|
|
28
|
+
},
|
|
29
|
+
apDate: {
|
|
30
|
+
type: Date,
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
poNumber: {
|
|
34
|
+
type: String,
|
|
35
|
+
trim: true,
|
|
36
|
+
},
|
|
37
|
+
customerName: {
|
|
38
|
+
type: String,
|
|
39
|
+
trim: true,
|
|
40
|
+
},
|
|
41
|
+
amount: {
|
|
42
|
+
type: Number,
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
45
|
+
otherInformation1: {
|
|
46
|
+
type: String,
|
|
47
|
+
trim: true,
|
|
48
|
+
},
|
|
49
|
+
otherInformation2: {
|
|
50
|
+
type: String,
|
|
51
|
+
trim: true,
|
|
52
|
+
},
|
|
53
|
+
otherInformation3: {
|
|
54
|
+
type: String,
|
|
55
|
+
trim: true,
|
|
56
|
+
},
|
|
57
|
+
__v: { type: Number, select: false },
|
|
58
|
+
}, { timestamps: true });
|
|
59
|
+
AccountPayableItemSchema.plugin(mongooseLeanId);
|
|
60
|
+
exports.default = mongoose_1.default.model('AccountPayableItem', AccountPayableItemSchema);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
export interface IBBCDate {
|
|
3
|
+
borrowerId: mongoose.Types.ObjectId;
|
|
4
|
+
bbcDate: Date;
|
|
5
|
+
}
|
|
6
|
+
export interface IBBCDateDoc extends IBBCDate, Document {
|
|
7
|
+
}
|
|
8
|
+
declare const _default: mongoose.Model<IBBCDateDoc, {}, {}, {}, any>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
8
|
+
var BBCDateSchema = new mongoose_1.default.Schema({
|
|
9
|
+
borrowerId: {
|
|
10
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
11
|
+
ref: 'borrowers',
|
|
12
|
+
required: true,
|
|
13
|
+
},
|
|
14
|
+
bbcDate: {
|
|
15
|
+
type: Date,
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
__v: { type: Number, select: false },
|
|
19
|
+
}, { timestamps: true });
|
|
20
|
+
BBCDateSchema.plugin(mongooseLeanId);
|
|
21
|
+
exports.default = mongoose_1.default.model('BBCDate', BBCDateSchema);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
import { IBBCDate } from './BBCDate.model';
|
|
3
|
+
export interface IBBCSheet {
|
|
4
|
+
bbcDateId: mongoose.Types.ObjectId;
|
|
5
|
+
dataType: string;
|
|
6
|
+
uploadUser: mongoose.Types.ObjectId;
|
|
7
|
+
fileHash: string;
|
|
8
|
+
fileName: string;
|
|
9
|
+
sheetName: string;
|
|
10
|
+
comment: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IBBCSheetDoc extends IBBCSheet, Document {
|
|
13
|
+
}
|
|
14
|
+
export interface IBBCSheetWithBBCDate extends IBBCSheetDoc {
|
|
15
|
+
bbcDate: IBBCDate;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: mongoose.Model<IBBCSheetDoc, {}, {}, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
var InventoryItem_model_1 = __importDefault(require("./InventoryItem.model"));
|
|
8
|
+
var ReceiavableItem_model_1 = __importDefault(require("./ReceiavableItem.model"));
|
|
9
|
+
var AccountPayableItem_model_1 = __importDefault(require("./AccountPayableItem.model"));
|
|
10
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
11
|
+
var BBCSheetSchema = new mongoose_1.default.Schema({
|
|
12
|
+
bbcDateId: {
|
|
13
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
14
|
+
ref: 'bbcDates',
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
dataType: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true,
|
|
20
|
+
trim: true,
|
|
21
|
+
},
|
|
22
|
+
uploadUser: {
|
|
23
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
24
|
+
ref: 'users',
|
|
25
|
+
},
|
|
26
|
+
fileHash: {
|
|
27
|
+
type: String,
|
|
28
|
+
trim: true,
|
|
29
|
+
},
|
|
30
|
+
fileName: {
|
|
31
|
+
type: String,
|
|
32
|
+
trim: true,
|
|
33
|
+
},
|
|
34
|
+
sheetName: {
|
|
35
|
+
type: String,
|
|
36
|
+
trim: true,
|
|
37
|
+
},
|
|
38
|
+
comment: {
|
|
39
|
+
type: String,
|
|
40
|
+
trim: true,
|
|
41
|
+
},
|
|
42
|
+
__v: { type: Number, select: false },
|
|
43
|
+
}, { timestamps: true });
|
|
44
|
+
BBCSheetSchema.plugin(mongooseLeanId);
|
|
45
|
+
BBCSheetSchema.pre('findOneAndDelete', function (next) {
|
|
46
|
+
var bbcSheetId = this.getQuery()['_id'];
|
|
47
|
+
InventoryItem_model_1.default.deleteMany({ bbcSheetId: bbcSheetId }, next);
|
|
48
|
+
ReceiavableItem_model_1.default.deleteMany({ bbcSheetId: bbcSheetId }, next);
|
|
49
|
+
AccountPayableItem_model_1.default.deleteMany({ bbcSheetId: bbcSheetId }, next);
|
|
50
|
+
});
|
|
51
|
+
exports.default = mongoose_1.default.model('BBCSheet', BBCSheetSchema);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
export interface IEmailRecipient {
|
|
3
|
+
email: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
isActive: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface IEmailRecipientDocument extends IEmailRecipient, Document {
|
|
8
|
+
}
|
|
9
|
+
export interface IComplianceItem {
|
|
10
|
+
name: string;
|
|
11
|
+
importanceScore: number;
|
|
12
|
+
notificationDays: number;
|
|
13
|
+
multiplier: number;
|
|
14
|
+
}
|
|
15
|
+
export interface IBorrowerItem {
|
|
16
|
+
item: IComplianceItemDocument;
|
|
17
|
+
startDate: Date;
|
|
18
|
+
frequency: string;
|
|
19
|
+
instances: IBorrowerItemInstanceDocument[];
|
|
20
|
+
emailAddresses: IEmailRecipientDocument[];
|
|
21
|
+
}
|
|
22
|
+
export interface IComplianceFile {
|
|
23
|
+
_id?: string;
|
|
24
|
+
fileId: string;
|
|
25
|
+
name: string;
|
|
26
|
+
isFileNew?: boolean;
|
|
27
|
+
uploadedAt?: Date;
|
|
28
|
+
uploadedBy?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface IBorrowerItemInstance {
|
|
31
|
+
nextDate: Date;
|
|
32
|
+
submittedDate: Date;
|
|
33
|
+
status: string;
|
|
34
|
+
files?: IComplianceFile[];
|
|
35
|
+
}
|
|
36
|
+
export interface IBorrowerItemInstanceDocument extends IBorrowerItemInstance, Document {
|
|
37
|
+
}
|
|
38
|
+
export interface IComplianceItemDocument extends IComplianceItem, Document {
|
|
39
|
+
}
|
|
40
|
+
export interface IBorrowerItemDocument extends IBorrowerItem, Document {
|
|
41
|
+
}
|
|
42
|
+
declare const _default: mongoose.Model<IComplianceItemDocument, {}, {}, {}, any>;
|
|
43
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
8
|
+
var ComplianceItemSchema = new mongoose_1.default.Schema({
|
|
9
|
+
name: {
|
|
10
|
+
type: String,
|
|
11
|
+
trim: true,
|
|
12
|
+
required: true,
|
|
13
|
+
},
|
|
14
|
+
importanceScore: {
|
|
15
|
+
type: Number,
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
notificationDays: {
|
|
19
|
+
type: Number,
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
multiplier: {
|
|
23
|
+
type: Number,
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
__v: { type: Number, select: false },
|
|
27
|
+
}, { timestamps: true });
|
|
28
|
+
ComplianceItemSchema.plugin(mongooseLeanId);
|
|
29
|
+
exports.default = mongoose_1.default.model('complianceItems', ComplianceItemSchema);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
import { IInventoryItemDocWithCalculation } from './InventoryItem.model';
|
|
3
|
+
import { EInventoryAvailabilityResults } from '../enums/inventory-availability-results.enum';
|
|
4
|
+
import { IPaginatorOptions } from '../interfaces/collaterals.interface';
|
|
5
|
+
export interface IInventoryQuery {
|
|
6
|
+
conjunction: string;
|
|
7
|
+
field: string;
|
|
8
|
+
filter: string;
|
|
9
|
+
filterValue: string | number | Date;
|
|
10
|
+
}
|
|
11
|
+
export interface IInventoryFilter {
|
|
12
|
+
active: boolean;
|
|
13
|
+
inventoryName: string;
|
|
14
|
+
advanceRate: number;
|
|
15
|
+
queries: IInventoryQuery[];
|
|
16
|
+
valid: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface IInventoryAvailabilitySummary {
|
|
19
|
+
order: number;
|
|
20
|
+
isGroup: boolean;
|
|
21
|
+
inventoryName: string;
|
|
22
|
+
totalQty: number;
|
|
23
|
+
totalValue: number;
|
|
24
|
+
advanceRate: number;
|
|
25
|
+
availability: number;
|
|
26
|
+
}
|
|
27
|
+
export interface IInventoryAvailabilityResultsView {
|
|
28
|
+
items: IInventoryItemDocWithCalculation[];
|
|
29
|
+
totalItems: number;
|
|
30
|
+
paginatorOptions?: IPaginatorOptions;
|
|
31
|
+
}
|
|
32
|
+
export type InventoryAvailabilityPaginators = {
|
|
33
|
+
[key in EInventoryAvailabilityResults]: IPaginatorOptions;
|
|
34
|
+
};
|
|
35
|
+
export interface IInventoryAvailabilityResults {
|
|
36
|
+
[EInventoryAvailabilityResults.UNIQ_ITEMS]: IInventoryAvailabilityResultsView;
|
|
37
|
+
[EInventoryAvailabilityResults.NON_UNIQ_ITEMS]: IInventoryAvailabilityResultsView;
|
|
38
|
+
[EInventoryAvailabilityResults.NOT_MATCHED_ITEMS]: IInventoryAvailabilityResultsView;
|
|
39
|
+
}
|
|
40
|
+
export interface IInventoryAvailability {
|
|
41
|
+
bbcDateId: mongoose.Types.ObjectId;
|
|
42
|
+
borrowerId: mongoose.Types.ObjectId;
|
|
43
|
+
options: {
|
|
44
|
+
maxAdvanceRatePriority: boolean;
|
|
45
|
+
};
|
|
46
|
+
filters: IInventoryFilter[];
|
|
47
|
+
summary: IInventoryAvailabilitySummary[];
|
|
48
|
+
results?: IInventoryAvailabilityResults;
|
|
49
|
+
}
|
|
50
|
+
export interface IInventoryAvailabilityDocument extends IInventoryAvailability, mongoose.Document {
|
|
51
|
+
}
|
|
52
|
+
declare const _default: mongoose.Model<IInventoryAvailabilityDocument, {}, {}, {}, any>;
|
|
53
|
+
export default _default;
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
var inventory_availability_results_enum_1 = require("../enums/inventory-availability-results.enum");
|
|
8
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
9
|
+
var InventoryAvailabilityScheme = new mongoose_1.default.Schema({
|
|
10
|
+
borrowerId: {
|
|
11
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
12
|
+
ref: 'borrowers',
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
bbcDateId: {
|
|
16
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
17
|
+
ref: 'inventories',
|
|
18
|
+
required: true,
|
|
19
|
+
},
|
|
20
|
+
options: {
|
|
21
|
+
maxAdvanceRatePriority: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
filters: [
|
|
27
|
+
{
|
|
28
|
+
active: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
required: true,
|
|
31
|
+
default: true,
|
|
32
|
+
},
|
|
33
|
+
inventoryName: {
|
|
34
|
+
type: String,
|
|
35
|
+
required: true,
|
|
36
|
+
trim: true,
|
|
37
|
+
},
|
|
38
|
+
advanceRate: {
|
|
39
|
+
type: Number,
|
|
40
|
+
required: true,
|
|
41
|
+
},
|
|
42
|
+
valid: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
required: true,
|
|
45
|
+
},
|
|
46
|
+
queries: [
|
|
47
|
+
{
|
|
48
|
+
conjunction: {
|
|
49
|
+
type: String,
|
|
50
|
+
required: true,
|
|
51
|
+
trim: true,
|
|
52
|
+
},
|
|
53
|
+
field: {
|
|
54
|
+
type: String,
|
|
55
|
+
required: true,
|
|
56
|
+
trim: true,
|
|
57
|
+
},
|
|
58
|
+
filter: {
|
|
59
|
+
type: String,
|
|
60
|
+
required: true,
|
|
61
|
+
trim: true,
|
|
62
|
+
},
|
|
63
|
+
filterValue: {
|
|
64
|
+
type: mongoose_1.default.Schema.Types.Mixed,
|
|
65
|
+
required: true,
|
|
66
|
+
trim: true,
|
|
67
|
+
},
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
summary: [
|
|
73
|
+
{
|
|
74
|
+
order: {
|
|
75
|
+
type: Number,
|
|
76
|
+
required: true,
|
|
77
|
+
},
|
|
78
|
+
isGroup: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
required: true,
|
|
81
|
+
},
|
|
82
|
+
inventoryName: {
|
|
83
|
+
type: String,
|
|
84
|
+
required: true,
|
|
85
|
+
},
|
|
86
|
+
totalQty: {
|
|
87
|
+
type: Number,
|
|
88
|
+
required: true,
|
|
89
|
+
},
|
|
90
|
+
totalValue: {
|
|
91
|
+
type: Number,
|
|
92
|
+
required: true,
|
|
93
|
+
},
|
|
94
|
+
advanceRate: {
|
|
95
|
+
type: Number,
|
|
96
|
+
required: true,
|
|
97
|
+
},
|
|
98
|
+
availability: {
|
|
99
|
+
type: Number,
|
|
100
|
+
required: true,
|
|
101
|
+
},
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
__v: { type: Number, select: false },
|
|
105
|
+
}, { timestamps: true });
|
|
106
|
+
InventoryAvailabilityScheme.plugin(mongooseLeanId);
|
|
107
|
+
exports.default = mongoose_1.default.model('inventoryAvailability', InventoryAvailabilityScheme);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
import { ICollateralItem } from '../interfaces/collaterals.interface';
|
|
3
|
+
import { IBBCSheetDoc } from './BBCSheet.model';
|
|
4
|
+
import { IBBCDateDoc } from './BBCDate.model';
|
|
5
|
+
export declare const INVENTORY_FIELDS: string[];
|
|
6
|
+
export interface IInventoryItem extends ICollateralItem {
|
|
7
|
+
skuDate: Date;
|
|
8
|
+
category: string;
|
|
9
|
+
sku: string;
|
|
10
|
+
qty: number;
|
|
11
|
+
value: number;
|
|
12
|
+
expiryDate: Date;
|
|
13
|
+
location: string;
|
|
14
|
+
unitCost: number;
|
|
15
|
+
skuDescription1: string;
|
|
16
|
+
skuDescription2: string;
|
|
17
|
+
skuDescription3: string;
|
|
18
|
+
detail1: string;
|
|
19
|
+
detail2: string;
|
|
20
|
+
detail3: string;
|
|
21
|
+
}
|
|
22
|
+
export interface IInventoryItemDoc extends Document, IInventoryItem {
|
|
23
|
+
}
|
|
24
|
+
export interface IInventoryItemDocWithCalculation extends IInventoryItemDoc {
|
|
25
|
+
bbcSheet: IBBCSheetDoc;
|
|
26
|
+
bbc: IBBCDateDoc;
|
|
27
|
+
expireDays: number;
|
|
28
|
+
skuDays: number;
|
|
29
|
+
sheetName: string;
|
|
30
|
+
inventoryName: string;
|
|
31
|
+
advanceRate: number;
|
|
32
|
+
availability: number;
|
|
33
|
+
}
|
|
34
|
+
declare const _default: mongoose.Model<IInventoryItemDoc, {}, {}, {}, any>;
|
|
35
|
+
export default _default;
|
|
@@ -0,0 +1,100 @@
|
|
|
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.INVENTORY_FIELDS = void 0;
|
|
7
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
9
|
+
exports.INVENTORY_FIELDS = [
|
|
10
|
+
'_id',
|
|
11
|
+
'skuDate',
|
|
12
|
+
'category',
|
|
13
|
+
'sku',
|
|
14
|
+
'qty',
|
|
15
|
+
'value',
|
|
16
|
+
'expiryDate',
|
|
17
|
+
'location',
|
|
18
|
+
'unitCost',
|
|
19
|
+
'skuDescription1',
|
|
20
|
+
'skuDescription2',
|
|
21
|
+
'skuDescription3',
|
|
22
|
+
'detail1',
|
|
23
|
+
'detail2',
|
|
24
|
+
'detail3',
|
|
25
|
+
];
|
|
26
|
+
var InventoryItemSchema = new mongoose_1.default.Schema({
|
|
27
|
+
bbcSheetId: {
|
|
28
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
29
|
+
ref: 'BBCSheets',
|
|
30
|
+
required: true,
|
|
31
|
+
},
|
|
32
|
+
order: {
|
|
33
|
+
type: Number,
|
|
34
|
+
required: true,
|
|
35
|
+
},
|
|
36
|
+
skuDate: {
|
|
37
|
+
type: Date,
|
|
38
|
+
required: true,
|
|
39
|
+
},
|
|
40
|
+
category: {
|
|
41
|
+
type: String,
|
|
42
|
+
trim: true,
|
|
43
|
+
default: 'NO CATEGORY',
|
|
44
|
+
},
|
|
45
|
+
sku: {
|
|
46
|
+
type: String,
|
|
47
|
+
trim: true,
|
|
48
|
+
required: true,
|
|
49
|
+
},
|
|
50
|
+
lotNumber: {
|
|
51
|
+
type: String,
|
|
52
|
+
trim: true,
|
|
53
|
+
required: false,
|
|
54
|
+
},
|
|
55
|
+
qty: {
|
|
56
|
+
type: Number,
|
|
57
|
+
required: true,
|
|
58
|
+
},
|
|
59
|
+
value: {
|
|
60
|
+
type: Number,
|
|
61
|
+
required: true,
|
|
62
|
+
},
|
|
63
|
+
expiryDate: {
|
|
64
|
+
type: Date,
|
|
65
|
+
},
|
|
66
|
+
location: {
|
|
67
|
+
type: String,
|
|
68
|
+
trim: true,
|
|
69
|
+
},
|
|
70
|
+
unitCost: {
|
|
71
|
+
type: Number,
|
|
72
|
+
},
|
|
73
|
+
skuDescription1: {
|
|
74
|
+
type: String,
|
|
75
|
+
trim: true,
|
|
76
|
+
},
|
|
77
|
+
skuDescription2: {
|
|
78
|
+
type: String,
|
|
79
|
+
trim: true,
|
|
80
|
+
},
|
|
81
|
+
skuDescription3: {
|
|
82
|
+
type: String,
|
|
83
|
+
trim: true,
|
|
84
|
+
},
|
|
85
|
+
detail1: {
|
|
86
|
+
type: String,
|
|
87
|
+
trim: true,
|
|
88
|
+
},
|
|
89
|
+
detail2: {
|
|
90
|
+
type: String,
|
|
91
|
+
trim: true,
|
|
92
|
+
},
|
|
93
|
+
detail3: {
|
|
94
|
+
type: String,
|
|
95
|
+
trim: true,
|
|
96
|
+
},
|
|
97
|
+
__v: { type: Number, select: false },
|
|
98
|
+
}, { timestamps: true });
|
|
99
|
+
InventoryItemSchema.plugin(mongooseLeanId);
|
|
100
|
+
exports.default = mongoose_1.default.model('InventoryItem', InventoryItemSchema);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import mongoose, { Document } from 'mongoose';
|
|
2
|
+
import { ICollateralItem } from '../interfaces/collaterals.interface';
|
|
3
|
+
import { IBBCDateDoc } from './BBCDate.model';
|
|
4
|
+
import { IBBCSheetDoc } from './BBCSheet.model';
|
|
5
|
+
export declare const RECEIVABLE_FIELDS: string[];
|
|
6
|
+
export interface IReceivableItem extends ICollateralItem {
|
|
7
|
+
invoiceDate: Date;
|
|
8
|
+
invoiceNumber: string;
|
|
9
|
+
customerTitle: string;
|
|
10
|
+
dueDate: number;
|
|
11
|
+
invoiceAmount: number;
|
|
12
|
+
originalAmount: number;
|
|
13
|
+
invoiceDetail1: string;
|
|
14
|
+
invoiceDetail2: string;
|
|
15
|
+
invoiceDetail3: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IReceivableItemDoc extends IReceivableItem, Document {
|
|
18
|
+
}
|
|
19
|
+
export interface IReceivableItemDocPopulated extends IReceivableItemDoc {
|
|
20
|
+
bbc: IBBCDateDoc;
|
|
21
|
+
bbcSheet: IBBCSheetDoc;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: mongoose.Model<IReceivableItemDoc, {}, {}, {}, any>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,71 @@
|
|
|
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.RECEIVABLE_FIELDS = void 0;
|
|
7
|
+
var mongoose_1 = __importDefault(require("mongoose"));
|
|
8
|
+
var mongooseLeanId = require('../plugins/id.plugin');
|
|
9
|
+
exports.RECEIVABLE_FIELDS = [
|
|
10
|
+
'_id',
|
|
11
|
+
'invoiceDate',
|
|
12
|
+
'invoiceNumber',
|
|
13
|
+
'customerTitle',
|
|
14
|
+
'dueDate',
|
|
15
|
+
'invoiceAmount',
|
|
16
|
+
'originalAmount',
|
|
17
|
+
'invoiceDetail1',
|
|
18
|
+
'invoiceDetail2',
|
|
19
|
+
'invoiceDetail3',
|
|
20
|
+
];
|
|
21
|
+
var ReceivableItemSchema = new mongoose_1.default.Schema({
|
|
22
|
+
bbcSheetId: {
|
|
23
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
24
|
+
ref: 'BBCSheets',
|
|
25
|
+
required: true,
|
|
26
|
+
},
|
|
27
|
+
order: {
|
|
28
|
+
type: Number,
|
|
29
|
+
required: true,
|
|
30
|
+
},
|
|
31
|
+
invoiceNumber: {
|
|
32
|
+
type: String,
|
|
33
|
+
trim: true,
|
|
34
|
+
required: true,
|
|
35
|
+
},
|
|
36
|
+
invoiceDate: {
|
|
37
|
+
type: Date,
|
|
38
|
+
required: true,
|
|
39
|
+
},
|
|
40
|
+
customerTitle: {
|
|
41
|
+
type: String,
|
|
42
|
+
trim: true,
|
|
43
|
+
default: 'No Title',
|
|
44
|
+
},
|
|
45
|
+
invoiceAmount: {
|
|
46
|
+
type: Number,
|
|
47
|
+
required: true,
|
|
48
|
+
},
|
|
49
|
+
originalAmount: {
|
|
50
|
+
type: Number,
|
|
51
|
+
required: false,
|
|
52
|
+
},
|
|
53
|
+
dueDate: {
|
|
54
|
+
type: Date,
|
|
55
|
+
},
|
|
56
|
+
invoiceDetail1: {
|
|
57
|
+
type: String,
|
|
58
|
+
trim: true,
|
|
59
|
+
},
|
|
60
|
+
invoiceDetail2: {
|
|
61
|
+
type: String,
|
|
62
|
+
trim: true,
|
|
63
|
+
},
|
|
64
|
+
invoiceDetail3: {
|
|
65
|
+
type: String,
|
|
66
|
+
trim: true,
|
|
67
|
+
},
|
|
68
|
+
__v: { type: Number, select: false },
|
|
69
|
+
}, { timestamps: true });
|
|
70
|
+
ReceivableItemSchema.plugin(mongooseLeanId);
|
|
71
|
+
exports.default = mongoose_1.default.model('ReceivableItem', ReceivableItemSchema);
|