gemcap-be-common 1.5.74 → 1.5.76
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/classes/sales-item.d.ts +5 -1
- package/classes/sales-item.js +11 -1
- package/classes/sales-item.ts +12 -1
- package/db/collaterals.db.d.ts +1 -1
- package/helpers/column-desciptions.helper.js +2 -2
- package/helpers/column-desciptions.helper.ts +2 -2
- package/models/SalesItem.model.d.ts +4 -0
- package/models/SalesItem.model.js +4 -0
- package/models/SalesItem.model.ts +6 -1
- package/models/_index.d.ts +6 -6
- package/package.json +1 -1
- package/services/borrowers.service.d.ts +2 -2
- package/services/uploads.service.js +1 -1
- package/services/uploads.service.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/classes/sales-item.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ interface ISalesLocal {
|
|
|
7
7
|
unitSalePrice?: number;
|
|
8
8
|
salesPeriodStart?: Date;
|
|
9
9
|
salesPeriodEnd?: Date;
|
|
10
|
+
salesPerDay?: number;
|
|
10
11
|
}
|
|
11
12
|
export declare class SalesItem implements ISalesLocal {
|
|
12
13
|
bbcDate: Date;
|
|
@@ -17,6 +18,9 @@ export declare class SalesItem implements ISalesLocal {
|
|
|
17
18
|
unitSalePrice: number;
|
|
18
19
|
salesPeriodStart: Date | null;
|
|
19
20
|
salesPeriodEnd: Date | null;
|
|
20
|
-
|
|
21
|
+
salesPerDay?: number;
|
|
22
|
+
constructor(item: Partial<SalesItem>, bbcDate: any, options: {
|
|
23
|
+
[extraOption: string]: string;
|
|
24
|
+
});
|
|
21
25
|
}
|
|
22
26
|
export {};
|
package/classes/sales-item.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SalesItem = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
9
|
const column_desciptions_helper_1 = require("../helpers/column-desciptions.helper");
|
|
9
10
|
const collaterals_enum_1 = require("../enums/collaterals.enum");
|
|
10
11
|
class SalesItem {
|
|
@@ -16,7 +17,16 @@ class SalesItem {
|
|
|
16
17
|
unitSalePrice = 0;
|
|
17
18
|
salesPeriodStart = null;
|
|
18
19
|
salesPeriodEnd = null;
|
|
19
|
-
|
|
20
|
+
salesPerDay = 0;
|
|
21
|
+
constructor(item, bbcDate = null, options) {
|
|
22
|
+
if (options && options.salesPeriodStart) {
|
|
23
|
+
item.salesPeriodStart = dayjs_1.default.utc(options.salesPeriodStart).toDate();
|
|
24
|
+
}
|
|
25
|
+
if (options && options.salesPeriodEnd) {
|
|
26
|
+
item.salesPeriodEnd = dayjs_1.default.utc(options.salesPeriodEnd).toDate();
|
|
27
|
+
}
|
|
28
|
+
const salesPeriod = dayjs_1.default.utc(item.salesPeriodStart).diff(dayjs_1.default.utc(options.salesPeriodEnd), 'day');
|
|
29
|
+
this.salesPerDay = salesPeriod > 0 ? item.unitsSold / salesPeriod : 0;
|
|
20
30
|
const itemWithDates = (0, column_desciptions_helper_1.convertIntoDates)(item, collaterals_enum_1.ECollaterals.SALES);
|
|
21
31
|
const itemWithoutNulls = lodash_1.default.omitBy(itemWithDates, (value) => value === null);
|
|
22
32
|
Object.assign(this, itemWithoutNulls);
|
package/classes/sales-item.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
2
3
|
|
|
3
4
|
import { convertIntoDates } from '../helpers/column-desciptions.helper';
|
|
4
5
|
import { ECollaterals } from '../enums/collaterals.enum';
|
|
@@ -12,6 +13,7 @@ interface ISalesLocal {
|
|
|
12
13
|
unitSalePrice?: number;
|
|
13
14
|
salesPeriodStart?: Date;
|
|
14
15
|
salesPeriodEnd?: Date;
|
|
16
|
+
salesPerDay?: number;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
export class SalesItem implements ISalesLocal {
|
|
@@ -24,8 +26,17 @@ export class SalesItem implements ISalesLocal {
|
|
|
24
26
|
unitSalePrice: number = 0;
|
|
25
27
|
salesPeriodStart: Date | null = null;
|
|
26
28
|
salesPeriodEnd: Date | null = null;
|
|
29
|
+
salesPerDay?: number = 0;
|
|
27
30
|
|
|
28
|
-
constructor(item: Partial<SalesItem>, bbcDate = null) {
|
|
31
|
+
constructor(item: Partial<SalesItem>, bbcDate = null, options: { [extraOption: string]: string }) {
|
|
32
|
+
if (options && options.salesPeriodStart) {
|
|
33
|
+
item.salesPeriodStart = dayjs.utc(options.salesPeriodStart).toDate();
|
|
34
|
+
}
|
|
35
|
+
if (options && options.salesPeriodEnd) {
|
|
36
|
+
item.salesPeriodEnd = dayjs.utc(options.salesPeriodEnd).toDate();
|
|
37
|
+
}
|
|
38
|
+
const salesPeriod = dayjs.utc(item.salesPeriodStart).diff(dayjs.utc(options.salesPeriodEnd), 'day');
|
|
39
|
+
this.salesPerDay = salesPeriod > 0 ? item.unitsSold / salesPeriod : 0;
|
|
29
40
|
const itemWithDates = convertIntoDates(item, ECollaterals.SALES);
|
|
30
41
|
const itemWithoutNulls = _.omitBy(itemWithDates, (value) => value === null);
|
|
31
42
|
Object.assign(this, itemWithoutNulls);
|
package/db/collaterals.db.d.ts
CHANGED
|
@@ -81,7 +81,7 @@ export declare const createQuery: (groupFields: {
|
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
83
|
itemQueries: any;
|
|
84
|
-
enumKey: "INVENTORY" | "RECEIVABLE" | "ACCOUNT_PAYABLE" | "SALES" | "
|
|
84
|
+
enumKey: "INVENTORY" | "RECEIVABLE" | "ACCOUNT_PAYABLE" | "SALES" | "OTHER" | "CASH" | "LOAN_TRANSACTIONS" | "QUICKBOOKS" | "UPLOADED_BANK_TRANSACTIONS";
|
|
85
85
|
};
|
|
86
86
|
export declare const ITEMS_PAGINATION: (paginatorOptions: IPaginatorOptions) => ({
|
|
87
87
|
$skip: number;
|
|
@@ -260,14 +260,14 @@ exports.COLLATERALS = {
|
|
|
260
260
|
title: 'Sales period start',
|
|
261
261
|
required: true,
|
|
262
262
|
items: [],
|
|
263
|
-
validators: [validators_enums_1.EValidators.
|
|
263
|
+
validators: [validators_enums_1.EValidators.IS_DATE],
|
|
264
264
|
},
|
|
265
265
|
{
|
|
266
266
|
db_title: 'salesPeriodEnd',
|
|
267
267
|
title: 'Sales period end',
|
|
268
268
|
required: true,
|
|
269
269
|
items: [],
|
|
270
|
-
validators: [validators_enums_1.EValidators.
|
|
270
|
+
validators: [validators_enums_1.EValidators.IS_DATE],
|
|
271
271
|
},
|
|
272
272
|
],
|
|
273
273
|
[collaterals_enum_1.ECollaterals.LOAN_TRANSACTIONS]: [
|
|
@@ -260,14 +260,14 @@ COLLATERALS = {
|
|
|
260
260
|
title: 'Sales period start',
|
|
261
261
|
required: true,
|
|
262
262
|
items: [],
|
|
263
|
-
validators: [EValidators.
|
|
263
|
+
validators: [EValidators.IS_DATE],
|
|
264
264
|
},
|
|
265
265
|
{
|
|
266
266
|
db_title: 'salesPeriodEnd',
|
|
267
267
|
title: 'Sales period end',
|
|
268
268
|
required: true,
|
|
269
269
|
items: [],
|
|
270
|
-
validators: [EValidators.
|
|
270
|
+
validators: [EValidators.IS_DATE],
|
|
271
271
|
},
|
|
272
272
|
],
|
|
273
273
|
[ECollaterals.LOAN_TRANSACTIONS]: [
|
|
@@ -37,6 +37,7 @@ export interface ISalesItem extends ICollateralItem {
|
|
|
37
37
|
unitSalePrice?: number;
|
|
38
38
|
salesPeriodStart: Date;
|
|
39
39
|
salesPeriodEnd: Date;
|
|
40
|
+
salesPerDay: number;
|
|
40
41
|
}
|
|
41
42
|
export interface ISalesItemLean extends ISalesItem {
|
|
42
43
|
_id: mongoose.Types.ObjectId;
|
|
@@ -66,6 +67,7 @@ export declare const SalesItemSchema: mongoose.Schema<any, mongoose.Model<any, a
|
|
|
66
67
|
unitSalePrice?: number;
|
|
67
68
|
salesPeriodStart?: Date;
|
|
68
69
|
salesPeriodEnd?: Date;
|
|
70
|
+
salesPerDay?: number;
|
|
69
71
|
__v?: number;
|
|
70
72
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
71
73
|
createdAt: NativeDate;
|
|
@@ -80,6 +82,7 @@ export declare const SalesItemSchema: mongoose.Schema<any, mongoose.Model<any, a
|
|
|
80
82
|
unitSalePrice?: number;
|
|
81
83
|
salesPeriodStart?: Date;
|
|
82
84
|
salesPeriodEnd?: Date;
|
|
85
|
+
salesPerDay?: number;
|
|
83
86
|
__v?: number;
|
|
84
87
|
}>> & mongoose.FlatRecord<{
|
|
85
88
|
createdAt: NativeDate;
|
|
@@ -94,6 +97,7 @@ export declare const SalesItemSchema: mongoose.Schema<any, mongoose.Model<any, a
|
|
|
94
97
|
unitSalePrice?: number;
|
|
95
98
|
salesPeriodStart?: Date;
|
|
96
99
|
salesPeriodEnd?: Date;
|
|
100
|
+
salesPerDay?: number;
|
|
97
101
|
__v?: number;
|
|
98
102
|
}> & {
|
|
99
103
|
_id: mongoose.Types.ObjectId;
|
|
@@ -15,6 +15,7 @@ exports.SALES_FIELDS = [
|
|
|
15
15
|
'unitSalePrice',
|
|
16
16
|
'salesPeriodStart',
|
|
17
17
|
'salesPeriodEnd',
|
|
18
|
+
'salesPerDay',
|
|
18
19
|
];
|
|
19
20
|
exports.SalesItemSchema = new mongoose_1.default.Schema({
|
|
20
21
|
bbcSheetId: {
|
|
@@ -54,6 +55,9 @@ exports.SalesItemSchema = new mongoose_1.default.Schema({
|
|
|
54
55
|
salesPeriodEnd: {
|
|
55
56
|
type: Date,
|
|
56
57
|
},
|
|
58
|
+
salesPerDay: {
|
|
59
|
+
type: Number,
|
|
60
|
+
},
|
|
57
61
|
__v: { type: Number, select: false },
|
|
58
62
|
}, { timestamps: true });
|
|
59
63
|
exports.SalesItem = mongoose_1.default.model(_models_1.MODEL_NAMES.salesItem, exports.SalesItemSchema);
|
|
@@ -12,6 +12,7 @@ export const SALES_FIELDS = [
|
|
|
12
12
|
'unitSalePrice',
|
|
13
13
|
'salesPeriodStart',
|
|
14
14
|
'salesPeriodEnd',
|
|
15
|
+
'salesPerDay',
|
|
15
16
|
];
|
|
16
17
|
|
|
17
18
|
export interface ISalesItem extends ICollateralItem {
|
|
@@ -22,6 +23,7 @@ export interface ISalesItem extends ICollateralItem {
|
|
|
22
23
|
unitSalePrice?: number;
|
|
23
24
|
salesPeriodStart: Date;
|
|
24
25
|
salesPeriodEnd: Date;
|
|
26
|
+
salesPerDay: number;
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
export interface ISalesItemLean extends ISalesItem {
|
|
@@ -80,9 +82,12 @@ export const SalesItemSchema = new mongoose.Schema(
|
|
|
80
82
|
salesPeriodEnd: {
|
|
81
83
|
type: Date,
|
|
82
84
|
},
|
|
85
|
+
salesPerDay: {
|
|
86
|
+
type: Number,
|
|
87
|
+
},
|
|
83
88
|
__v: { type: Number, select: false },
|
|
84
89
|
},
|
|
85
90
|
{ timestamps: true }
|
|
86
91
|
);
|
|
87
92
|
|
|
88
|
-
export const SalesItem = mongoose.model<
|
|
93
|
+
export const SalesItem = mongoose.model<ISalesItem, TSalesItemModel>(MODEL_NAMES.salesItem, SalesItemSchema);
|
package/models/_index.d.ts
CHANGED
|
@@ -35,10 +35,10 @@ export declare const allSchemas: {
|
|
|
35
35
|
createdAt: NativeDate;
|
|
36
36
|
updatedAt: NativeDate;
|
|
37
37
|
} & {
|
|
38
|
-
order: number;
|
|
39
|
-
amount: number;
|
|
40
38
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
39
|
+
order: number;
|
|
41
40
|
apDate: Date;
|
|
41
|
+
amount: number;
|
|
42
42
|
__v?: number;
|
|
43
43
|
poNumber?: string;
|
|
44
44
|
customerName?: string;
|
|
@@ -49,10 +49,10 @@ export declare const allSchemas: {
|
|
|
49
49
|
createdAt: NativeDate;
|
|
50
50
|
updatedAt: NativeDate;
|
|
51
51
|
} & {
|
|
52
|
-
order: number;
|
|
53
|
-
amount: number;
|
|
54
52
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
53
|
+
order: number;
|
|
55
54
|
apDate: Date;
|
|
55
|
+
amount: number;
|
|
56
56
|
__v?: number;
|
|
57
57
|
poNumber?: string;
|
|
58
58
|
customerName?: string;
|
|
@@ -63,10 +63,10 @@ export declare const allSchemas: {
|
|
|
63
63
|
createdAt: NativeDate;
|
|
64
64
|
updatedAt: NativeDate;
|
|
65
65
|
} & {
|
|
66
|
-
order: number;
|
|
67
|
-
amount: number;
|
|
68
66
|
bbcSheetId: import("mongoose").Types.ObjectId;
|
|
67
|
+
order: number;
|
|
69
68
|
apDate: Date;
|
|
69
|
+
amount: number;
|
|
70
70
|
__v?: number;
|
|
71
71
|
poNumber?: string;
|
|
72
72
|
customerName?: string;
|
package/package.json
CHANGED
|
@@ -86,10 +86,10 @@ export declare class BorrowerService {
|
|
|
86
86
|
getBorrowerCodesMap(): Promise<Map<string, string>>;
|
|
87
87
|
getBorrowerStatementDetails(borrowers: IBorrowerDoc[]): Promise<{
|
|
88
88
|
[x: string]: {
|
|
89
|
-
LAST_MONTH?: boolean;
|
|
90
|
-
CURRENT_MONTH?: boolean;
|
|
91
89
|
ENTIRE_LOAN?: boolean;
|
|
92
90
|
SELECTED_PERIOD?: boolean;
|
|
91
|
+
CURRENT_MONTH?: boolean;
|
|
92
|
+
LAST_MONTH?: boolean;
|
|
93
93
|
TERM_LOAN?: boolean;
|
|
94
94
|
};
|
|
95
95
|
}>;
|
|
@@ -458,7 +458,7 @@ class UploadsService {
|
|
|
458
458
|
[collaterals_enum_1.ECollaterals.INVENTORY]: () => new inventory_item_1.InventoryItem(row, bbcDate, skuDates),
|
|
459
459
|
[collaterals_enum_1.ECollaterals.RECEIVABLE]: () => new receivable_item_1.ReceivableItem(row, bbcDate),
|
|
460
460
|
[collaterals_enum_1.ECollaterals.ACCOUNT_PAYABLE]: () => new payable_account_item_1.PayableAccountItem(row, bbcDate),
|
|
461
|
-
[collaterals_enum_1.ECollaterals.SALES]: () => new sales_item_1.SalesItem(row, bbcDate),
|
|
461
|
+
[collaterals_enum_1.ECollaterals.SALES]: () => new sales_item_1.SalesItem(row, bbcDate, mapData.extraOptions),
|
|
462
462
|
[collaterals_enum_1.ECollaterals.LOAN_TRANSACTIONS]: async () => {
|
|
463
463
|
const newItem = new bank_transaction_item_1.LoanTransactionItem(row, this.borrowersDB);
|
|
464
464
|
const classErrors = await newItem.initialize();
|
|
@@ -515,7 +515,7 @@ export class UploadsService {
|
|
|
515
515
|
[ECollaterals.INVENTORY]: () => new InventoryItem(row, bbcDate, skuDates),
|
|
516
516
|
[ECollaterals.RECEIVABLE]: () => new ReceivableItem(row, bbcDate),
|
|
517
517
|
[ECollaterals.ACCOUNT_PAYABLE]: () => new PayableAccountItem(row, bbcDate),
|
|
518
|
-
[ECollaterals.SALES]: () => new SalesItem(row, bbcDate),
|
|
518
|
+
[ECollaterals.SALES]: () => new SalesItem(row, bbcDate, mapData.extraOptions),
|
|
519
519
|
[ECollaterals.LOAN_TRANSACTIONS]: async () => {
|
|
520
520
|
const newItem = new LoanTransactionItem(row, this.borrowersDB);
|
|
521
521
|
const classErrors = await newItem.initialize();
|