gemcap-be-common 1.5.41 → 1.5.42

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.
Files changed (62) hide show
  1. package/classes/sales-item.d.ts +16 -0
  2. package/classes/sales-item.js +23 -0
  3. package/classes/sales-item.ts +28 -0
  4. package/db/collaterals.db.d.ts +5 -1
  5. package/db/collaterals.db.js +3 -0
  6. package/db/collaterals.db.ts +3 -0
  7. package/enums/collaterals.enum.d.ts +1 -0
  8. package/enums/collaterals.enum.js +1 -0
  9. package/enums/collaterals.enum.ts +1 -0
  10. package/helpers/column-desciptions.helper.js +29 -0
  11. package/helpers/column-desciptions.helper.ts +29 -0
  12. package/models/AccountPayableItem.model.d.ts +6 -6
  13. package/models/BBCSheet.model.js +2 -0
  14. package/models/BBCSheet.model.ts +2 -0
  15. package/models/Borrower.model.d.ts +3 -3
  16. package/models/BorrowerCompliance.model.d.ts +12 -12
  17. package/models/BorrowerDataContact.model.d.ts +3 -3
  18. package/models/BorrowerDataInsurance.model.d.ts +3 -3
  19. package/models/BorrowerSettings.model.d.ts +24 -24
  20. package/models/Equipment.model.d.ts +9 -9
  21. package/models/FinancialCompliance.model.d.ts +12 -12
  22. package/models/FinancialComplianceBorrower.model.d.ts +6 -6
  23. package/models/Inventory.model.d.ts +9 -9
  24. package/models/InventoryAvailability.model.d.ts +21 -21
  25. package/models/InventoryAvailabilityItem.model.d.ts +3 -3
  26. package/models/InventoryItem.model.d.ts +12 -12
  27. package/models/InventoryManualEntry.model.d.ts +9 -9
  28. package/models/InventorySeasonalRates.model.d.ts +3 -3
  29. package/models/LoanBroker.model.d.ts +6 -6
  30. package/models/LoanCharges.model.d.ts +12 -12
  31. package/models/LoanPayment.model.d.ts +3 -3
  32. package/models/LoanProducts.model.d.ts +9 -9
  33. package/models/LoanStatementStatus.model.d.ts +6 -6
  34. package/models/LoanStatementTransaction.model.d.ts +9 -9
  35. package/models/LoanTransactionFile.model.d.ts +3 -3
  36. package/models/MicroserviceTask.model.d.ts +3 -3
  37. package/models/PostponedTransactions.model.d.ts +3 -3
  38. package/models/ProductBroker.model.d.ts +12 -12
  39. package/models/Receivable.model.d.ts +3 -3
  40. package/models/ReceivableAvailability.model.d.ts +27 -27
  41. package/models/ReceivableAvailabilityItem.model.d.ts +57 -57
  42. package/models/ReceivableItem.model.d.ts +6 -6
  43. package/models/Reserve.model.d.ts +9 -9
  44. package/models/Sales.model.d.ts +106 -0
  45. package/models/Sales.model.js +66 -0
  46. package/models/Sales.model.ts +85 -0
  47. package/models/SalesItem.model.d.ts +97 -0
  48. package/models/SalesItem.model.js +45 -0
  49. package/models/SalesItem.model.ts +84 -0
  50. package/models/TermLoan.model.d.ts +3 -3
  51. package/models/TermLoanCalculated.model.d.ts +18 -18
  52. package/models/UploadedFile.model.d.ts +3 -3
  53. package/models/UploadedSheet.model.d.ts +3 -3
  54. package/models/_index.d.ts +6 -6
  55. package/models/_models.d.ts +2 -0
  56. package/models/_models.js +2 -0
  57. package/models/_models.ts +2 -0
  58. package/package.json +1 -1
  59. package/services/compliance-borrowers.service.d.ts +1 -1
  60. package/services/uploads.service.js +2 -0
  61. package/services/uploads.service.ts +2 -0
  62. package/tsconfig.tsbuildinfo +1 -1
@@ -78,121 +78,121 @@ export declare const ReceivableAvailabilityItemSchema: mongoose.Schema<any, mong
78
78
  updatedAt: NativeDate;
79
79
  } & {
80
80
  order: number;
81
- availabilityId: mongoose.Types.ObjectId;
82
81
  invoiceId: mongoose.Types.ObjectId;
82
+ availabilityId: mongoose.Types.ObjectId;
83
83
  __v?: number;
84
84
  creditNotes?: number;
85
85
  excludedCustomerDeduction?: number;
86
- grossAR?: number;
87
86
  permittedOver?: number;
88
- preliminaryEligibleBalance?: number;
89
87
  deduction?: number;
90
88
  partiallyPaidDeduction?: number;
91
89
  contraDeduction?: number;
92
90
  crossAgeDeduction?: number;
93
91
  waivedDeduction?: number;
92
+ actualDays?: number;
93
+ balanceAfterContra?: number;
94
94
  balanceAfterCrossAge?: number;
95
- finalResult?: number;
96
- insuredComponent?: number;
97
- uninsuredComponent?: number;
98
- bucketCurrent?: number;
95
+ balanceAfterDeduction?: number;
96
+ balanceAfterExclusion?: number;
97
+ balanceAfterPartially?: number;
99
98
  bucket30?: number;
100
99
  bucket60?: number;
101
- actualDays?: number;
102
- permittedDays?: number;
103
- permitted60?: number;
104
- permittedCustomerConcentration?: number;
100
+ bucketCurrent?: number;
101
+ contra?: number;
102
+ crossAge?: number;
105
103
  customerConcentration?: number;
104
+ customerGroupId?: mongoose.Types.ObjectId;
106
105
  deductionPercent?: number;
107
- balanceAfterDeduction?: number;
108
- partiallyPaidDifference?: boolean;
109
- balanceAfterPartially?: number;
110
106
  excludedCustomer?: boolean;
111
- balanceAfterExclusion?: number;
112
- customerGroupId?: mongoose.Types.ObjectId;
113
- contra?: number;
114
- balanceAfterContra?: number;
115
- crossAge?: number;
107
+ finalResult?: number;
108
+ grossAR?: number;
109
+ insuredComponent?: number;
110
+ partiallyPaidDifference?: boolean;
111
+ permitted60?: number;
112
+ permittedCustomerConcentration?: number;
113
+ permittedDays?: number;
114
+ preliminaryEligibleBalance?: number;
115
+ uninsuredComponent?: number;
116
116
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
117
117
  createdAt: NativeDate;
118
118
  updatedAt: NativeDate;
119
119
  } & {
120
120
  order: number;
121
- availabilityId: mongoose.Types.ObjectId;
122
121
  invoiceId: mongoose.Types.ObjectId;
122
+ availabilityId: mongoose.Types.ObjectId;
123
123
  __v?: number;
124
124
  creditNotes?: number;
125
125
  excludedCustomerDeduction?: number;
126
- grossAR?: number;
127
126
  permittedOver?: number;
128
- preliminaryEligibleBalance?: number;
129
127
  deduction?: number;
130
128
  partiallyPaidDeduction?: number;
131
129
  contraDeduction?: number;
132
130
  crossAgeDeduction?: number;
133
131
  waivedDeduction?: number;
132
+ actualDays?: number;
133
+ balanceAfterContra?: number;
134
134
  balanceAfterCrossAge?: number;
135
- finalResult?: number;
136
- insuredComponent?: number;
137
- uninsuredComponent?: number;
138
- bucketCurrent?: number;
135
+ balanceAfterDeduction?: number;
136
+ balanceAfterExclusion?: number;
137
+ balanceAfterPartially?: number;
139
138
  bucket30?: number;
140
139
  bucket60?: number;
141
- actualDays?: number;
142
- permittedDays?: number;
143
- permitted60?: number;
144
- permittedCustomerConcentration?: number;
140
+ bucketCurrent?: number;
141
+ contra?: number;
142
+ crossAge?: number;
145
143
  customerConcentration?: number;
144
+ customerGroupId?: mongoose.Types.ObjectId;
146
145
  deductionPercent?: number;
147
- balanceAfterDeduction?: number;
148
- partiallyPaidDifference?: boolean;
149
- balanceAfterPartially?: number;
150
146
  excludedCustomer?: boolean;
151
- balanceAfterExclusion?: number;
152
- customerGroupId?: mongoose.Types.ObjectId;
153
- contra?: number;
154
- balanceAfterContra?: number;
155
- crossAge?: number;
147
+ finalResult?: number;
148
+ grossAR?: number;
149
+ insuredComponent?: number;
150
+ partiallyPaidDifference?: boolean;
151
+ permitted60?: number;
152
+ permittedCustomerConcentration?: number;
153
+ permittedDays?: number;
154
+ preliminaryEligibleBalance?: number;
155
+ uninsuredComponent?: number;
156
156
  }>> & mongoose.FlatRecord<{
157
157
  createdAt: NativeDate;
158
158
  updatedAt: NativeDate;
159
159
  } & {
160
160
  order: number;
161
- availabilityId: mongoose.Types.ObjectId;
162
161
  invoiceId: mongoose.Types.ObjectId;
162
+ availabilityId: mongoose.Types.ObjectId;
163
163
  __v?: number;
164
164
  creditNotes?: number;
165
165
  excludedCustomerDeduction?: number;
166
- grossAR?: number;
167
166
  permittedOver?: number;
168
- preliminaryEligibleBalance?: number;
169
167
  deduction?: number;
170
168
  partiallyPaidDeduction?: number;
171
169
  contraDeduction?: number;
172
170
  crossAgeDeduction?: number;
173
171
  waivedDeduction?: number;
172
+ actualDays?: number;
173
+ balanceAfterContra?: number;
174
174
  balanceAfterCrossAge?: number;
175
- finalResult?: number;
176
- insuredComponent?: number;
177
- uninsuredComponent?: number;
178
- bucketCurrent?: number;
175
+ balanceAfterDeduction?: number;
176
+ balanceAfterExclusion?: number;
177
+ balanceAfterPartially?: number;
179
178
  bucket30?: number;
180
179
  bucket60?: number;
181
- actualDays?: number;
182
- permittedDays?: number;
183
- permitted60?: number;
184
- permittedCustomerConcentration?: number;
180
+ bucketCurrent?: number;
181
+ contra?: number;
182
+ crossAge?: number;
185
183
  customerConcentration?: number;
184
+ customerGroupId?: mongoose.Types.ObjectId;
186
185
  deductionPercent?: number;
187
- balanceAfterDeduction?: number;
188
- partiallyPaidDifference?: boolean;
189
- balanceAfterPartially?: number;
190
186
  excludedCustomer?: boolean;
191
- balanceAfterExclusion?: number;
192
- customerGroupId?: mongoose.Types.ObjectId;
193
- contra?: number;
194
- balanceAfterContra?: number;
195
- crossAge?: number;
187
+ finalResult?: number;
188
+ grossAR?: number;
189
+ insuredComponent?: number;
190
+ partiallyPaidDifference?: boolean;
191
+ permitted60?: number;
192
+ permittedCustomerConcentration?: number;
193
+ permittedDays?: number;
194
+ preliminaryEligibleBalance?: number;
195
+ uninsuredComponent?: number;
196
196
  }> & {
197
197
  _id: mongoose.Types.ObjectId;
198
198
  }>;
@@ -50,10 +50,10 @@ export declare const ReceivableItemSchema: mongoose.Schema<any, mongoose.Model<a
50
50
  createdAt: NativeDate;
51
51
  updatedAt: NativeDate;
52
52
  } & {
53
- bbcSheetId: mongoose.Types.ObjectId;
54
53
  order: number;
55
- invoiceNumber: string;
54
+ bbcSheetId: mongoose.Types.ObjectId;
56
55
  invoiceDate: Date;
56
+ invoiceNumber: string;
57
57
  customerTitle: string;
58
58
  invoiceAmount: number;
59
59
  __v?: number;
@@ -66,10 +66,10 @@ export declare const ReceivableItemSchema: mongoose.Schema<any, mongoose.Model<a
66
66
  createdAt: NativeDate;
67
67
  updatedAt: NativeDate;
68
68
  } & {
69
- bbcSheetId: mongoose.Types.ObjectId;
70
69
  order: number;
71
- invoiceNumber: string;
70
+ bbcSheetId: mongoose.Types.ObjectId;
72
71
  invoiceDate: Date;
72
+ invoiceNumber: string;
73
73
  customerTitle: string;
74
74
  invoiceAmount: number;
75
75
  __v?: number;
@@ -82,10 +82,10 @@ export declare const ReceivableItemSchema: mongoose.Schema<any, mongoose.Model<a
82
82
  createdAt: NativeDate;
83
83
  updatedAt: NativeDate;
84
84
  } & {
85
- bbcSheetId: mongoose.Types.ObjectId;
86
85
  order: number;
87
- invoiceNumber: string;
86
+ bbcSheetId: mongoose.Types.ObjectId;
88
87
  invoiceDate: Date;
88
+ invoiceNumber: string;
89
89
  customerTitle: string;
90
90
  invoiceAmount: number;
91
91
  __v?: number;
@@ -51,15 +51,14 @@ export declare const ReserveSchema: mongoose.Schema<any, mongoose.Model<any, any
51
51
  createdAt: NativeDate;
52
52
  updatedAt: NativeDate;
53
53
  } & {
54
- bbcDateId: mongoose.Types.ObjectId;
55
54
  items: mongoose.Types.DocumentArray<{
56
- active: boolean;
57
55
  type: string;
56
+ active: boolean;
58
57
  amount: number;
59
58
  reserveName: string;
60
59
  }>;
60
+ bbcDateId: mongoose.Types.ObjectId;
61
61
  __v?: number;
62
- notes?: string;
63
62
  summary?: {
64
63
  RENT?: {
65
64
  amount: number;
@@ -86,19 +85,19 @@ export declare const ReserveSchema: mongoose.Schema<any, mongoose.Model<any, any
86
85
  amount: number;
87
86
  };
88
87
  };
88
+ notes?: string;
89
89
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
90
90
  createdAt: NativeDate;
91
91
  updatedAt: NativeDate;
92
92
  } & {
93
- bbcDateId: mongoose.Types.ObjectId;
94
93
  items: mongoose.Types.DocumentArray<{
95
- active: boolean;
96
94
  type: string;
95
+ active: boolean;
97
96
  amount: number;
98
97
  reserveName: string;
99
98
  }>;
99
+ bbcDateId: mongoose.Types.ObjectId;
100
100
  __v?: number;
101
- notes?: string;
102
101
  summary?: {
103
102
  RENT?: {
104
103
  amount: number;
@@ -125,19 +124,19 @@ export declare const ReserveSchema: mongoose.Schema<any, mongoose.Model<any, any
125
124
  amount: number;
126
125
  };
127
126
  };
127
+ notes?: string;
128
128
  }>> & mongoose.FlatRecord<{
129
129
  createdAt: NativeDate;
130
130
  updatedAt: NativeDate;
131
131
  } & {
132
- bbcDateId: mongoose.Types.ObjectId;
133
132
  items: mongoose.Types.DocumentArray<{
134
- active: boolean;
135
133
  type: string;
134
+ active: boolean;
136
135
  amount: number;
137
136
  reserveName: string;
138
137
  }>;
138
+ bbcDateId: mongoose.Types.ObjectId;
139
139
  __v?: number;
140
- notes?: string;
141
140
  summary?: {
142
141
  RENT?: {
143
142
  amount: number;
@@ -164,6 +163,7 @@ export declare const ReserveSchema: mongoose.Schema<any, mongoose.Model<any, any
164
163
  amount: number;
165
164
  };
166
165
  };
166
+ notes?: string;
167
167
  }> & {
168
168
  _id: mongoose.Types.ObjectId;
169
169
  }>;
@@ -0,0 +1,106 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ import mongoose, { Document } from 'mongoose';
26
+ interface ISalesItemInner {
27
+ bbcDate: Date;
28
+ sku: string;
29
+ skuName?: string;
30
+ unitsSold: number;
31
+ unitSalePrice: number;
32
+ }
33
+ export interface SalesDocument extends Document {
34
+ borrowerId: string;
35
+ bbcDate: Date;
36
+ uploadUser: string;
37
+ fileHash: string;
38
+ fileName: string;
39
+ sheetName: string;
40
+ comment: string;
41
+ items: ISalesItemInner[];
42
+ }
43
+ export declare const SalesSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
44
+ timestamps: true;
45
+ }, {
46
+ createdAt: NativeDate;
47
+ updatedAt: NativeDate;
48
+ } & {
49
+ borrowerId: string;
50
+ bbcDate: Date;
51
+ items: mongoose.Types.DocumentArray<{
52
+ bbcDate: Date;
53
+ sku: string;
54
+ unitsSold: number;
55
+ unitSalePrice: number;
56
+ skuName?: string;
57
+ }>;
58
+ __v?: number;
59
+ comment?: string;
60
+ uploadUser?: string;
61
+ fileHash?: string;
62
+ fileName?: string;
63
+ sheetName?: string;
64
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
65
+ createdAt: NativeDate;
66
+ updatedAt: NativeDate;
67
+ } & {
68
+ borrowerId: string;
69
+ bbcDate: Date;
70
+ items: mongoose.Types.DocumentArray<{
71
+ bbcDate: Date;
72
+ sku: string;
73
+ unitsSold: number;
74
+ unitSalePrice: number;
75
+ skuName?: string;
76
+ }>;
77
+ __v?: number;
78
+ comment?: string;
79
+ uploadUser?: string;
80
+ fileHash?: string;
81
+ fileName?: string;
82
+ sheetName?: string;
83
+ }>> & mongoose.FlatRecord<{
84
+ createdAt: NativeDate;
85
+ updatedAt: NativeDate;
86
+ } & {
87
+ borrowerId: string;
88
+ bbcDate: Date;
89
+ items: mongoose.Types.DocumentArray<{
90
+ bbcDate: Date;
91
+ sku: string;
92
+ unitsSold: number;
93
+ unitSalePrice: number;
94
+ skuName?: string;
95
+ }>;
96
+ __v?: number;
97
+ comment?: string;
98
+ uploadUser?: string;
99
+ fileHash?: string;
100
+ fileName?: string;
101
+ sheetName?: string;
102
+ }> & {
103
+ _id: mongoose.Types.ObjectId;
104
+ }>;
105
+ export declare const SalesModel: mongoose.Model<SalesDocument>;
106
+ export {};
@@ -0,0 +1,66 @@
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.SalesModel = exports.SalesSchema = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ exports.SalesSchema = new mongoose_1.default.Schema({
10
+ borrowerId: {
11
+ type: String,
12
+ trim: true,
13
+ required: true,
14
+ },
15
+ bbcDate: {
16
+ type: Date,
17
+ required: true,
18
+ },
19
+ uploadUser: {
20
+ type: String,
21
+ trim: true,
22
+ },
23
+ fileHash: {
24
+ type: String,
25
+ trim: true,
26
+ },
27
+ fileName: {
28
+ type: String,
29
+ trim: true,
30
+ },
31
+ sheetName: {
32
+ type: String,
33
+ trim: true,
34
+ },
35
+ comment: {
36
+ type: String,
37
+ trim: true,
38
+ },
39
+ items: [
40
+ {
41
+ bbcDate: {
42
+ type: Date,
43
+ required: true,
44
+ },
45
+ sku: {
46
+ type: String,
47
+ trim: true,
48
+ required: true,
49
+ },
50
+ skuName: {
51
+ type: String,
52
+ trim: true,
53
+ },
54
+ unitsSold: {
55
+ type: Number,
56
+ required: true,
57
+ },
58
+ unitSalePrice: {
59
+ type: Number,
60
+ required: true,
61
+ },
62
+ },
63
+ ],
64
+ __v: { type: Number, select: false },
65
+ }, { timestamps: true });
66
+ exports.SalesModel = mongoose_1.default.model(_models_1.MODEL_NAMES.sales, exports.SalesSchema);
@@ -0,0 +1,85 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+
3
+ import { MODEL_NAMES } from './_models';
4
+
5
+ interface ISalesItemInner {
6
+ bbcDate: Date;
7
+ sku: string;
8
+ skuName?: string;
9
+ unitsSold: number;
10
+ unitSalePrice: number;
11
+ }
12
+
13
+ export interface SalesDocument extends Document {
14
+ borrowerId: string;
15
+ bbcDate: Date;
16
+ uploadUser: string;
17
+ fileHash: string;
18
+ fileName: string;
19
+ sheetName: string;
20
+ comment: string;
21
+ items: ISalesItemInner[];
22
+ }
23
+
24
+ export const SalesSchema = new mongoose.Schema(
25
+ {
26
+ borrowerId: {
27
+ type: String,
28
+ trim: true,
29
+ required: true,
30
+ },
31
+ bbcDate: {
32
+ type: Date,
33
+ required: true,
34
+ },
35
+ uploadUser: {
36
+ type: String,
37
+ trim: true,
38
+ },
39
+ fileHash: {
40
+ type: String,
41
+ trim: true,
42
+ },
43
+ fileName: {
44
+ type: String,
45
+ trim: true,
46
+ },
47
+ sheetName: {
48
+ type: String,
49
+ trim: true,
50
+ },
51
+ comment: {
52
+ type: String,
53
+ trim: true,
54
+ },
55
+ items: [
56
+ {
57
+ bbcDate: {
58
+ type: Date,
59
+ required: true,
60
+ },
61
+ sku: {
62
+ type: String,
63
+ trim: true,
64
+ required: true,
65
+ },
66
+ skuName: {
67
+ type: String,
68
+ trim: true,
69
+ },
70
+ unitsSold: {
71
+ type: Number,
72
+ required: true,
73
+ },
74
+ unitSalePrice: {
75
+ type: Number,
76
+ required: true,
77
+ },
78
+ },
79
+ ],
80
+ __v: { type: Number, select: false },
81
+ },
82
+ { timestamps: true }
83
+ );
84
+
85
+ export const SalesModel: mongoose.Model<SalesDocument> = mongoose.model<SalesDocument>(MODEL_NAMES.sales, SalesSchema);
@@ -0,0 +1,97 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ import mongoose, { Document } from 'mongoose';
26
+ import { ICollateralItem } from '../interfaces/collaterals.interface';
27
+ import { IBBCSheetDoc } from './BBCSheet.model';
28
+ import { IBBCDateDoc } from './BBCDate.model';
29
+ export declare const SALES_FIELDS: string[];
30
+ export interface ISalesItem extends ICollateralItem {
31
+ sku: string;
32
+ skuName?: string;
33
+ unitsSold: number;
34
+ unitSalePrice: number;
35
+ }
36
+ export interface ISalesItemDoc extends Document, ISalesItem {
37
+ }
38
+ export interface ISalesItemDocWithCalculation extends ISalesItemDoc {
39
+ bbcSheet: IBBCSheetDoc;
40
+ bbc: IBBCDateDoc;
41
+ expireDays: number;
42
+ skuDays: number;
43
+ sheetName: string;
44
+ inventoryName: string;
45
+ advanceRate: number;
46
+ availability: number;
47
+ }
48
+ export interface ISalesItemAvailabilityWithGroups extends ISalesItemDocWithCalculation {
49
+ groups: string[];
50
+ }
51
+ interface IMatchedGroup {
52
+ groups: string[];
53
+ items: ISalesItemAvailabilityWithGroups[];
54
+ }
55
+ export interface IMatchedGroups {
56
+ [groupName: string]: IMatchedGroup;
57
+ }
58
+ export declare const SalesItemSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
59
+ timestamps: true;
60
+ }, {
61
+ createdAt: NativeDate;
62
+ updatedAt: NativeDate;
63
+ } & {
64
+ order: number;
65
+ bbcSheetId: mongoose.Types.ObjectId;
66
+ sku: string;
67
+ unitsSold: number;
68
+ unitSalePrice: number;
69
+ __v?: number;
70
+ skuName?: string;
71
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
72
+ createdAt: NativeDate;
73
+ updatedAt: NativeDate;
74
+ } & {
75
+ order: number;
76
+ bbcSheetId: mongoose.Types.ObjectId;
77
+ sku: string;
78
+ unitsSold: number;
79
+ unitSalePrice: number;
80
+ __v?: number;
81
+ skuName?: string;
82
+ }>> & mongoose.FlatRecord<{
83
+ createdAt: NativeDate;
84
+ updatedAt: NativeDate;
85
+ } & {
86
+ order: number;
87
+ bbcSheetId: mongoose.Types.ObjectId;
88
+ sku: string;
89
+ unitsSold: number;
90
+ unitSalePrice: number;
91
+ __v?: number;
92
+ skuName?: string;
93
+ }> & {
94
+ _id: mongoose.Types.ObjectId;
95
+ }>;
96
+ export declare const SalesItemModel: mongoose.Model<ISalesItemDoc>;
97
+ export {};
@@ -0,0 +1,45 @@
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.SalesItemModel = exports.SalesItemSchema = exports.SALES_FIELDS = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ exports.SALES_FIELDS = [
10
+ '_id',
11
+ 'sku',
12
+ 'skuName',
13
+ 'unitsSold',
14
+ 'unitSalePrice',
15
+ ];
16
+ exports.SalesItemSchema = new mongoose_1.default.Schema({
17
+ bbcSheetId: {
18
+ type: mongoose_1.default.Schema.Types.ObjectId,
19
+ ref: _models_1.MODEL_NAMES.BBCSheets,
20
+ required: true,
21
+ },
22
+ order: {
23
+ type: Number,
24
+ required: true,
25
+ },
26
+ sku: {
27
+ type: String,
28
+ trim: true,
29
+ required: true,
30
+ },
31
+ skuName: {
32
+ type: String,
33
+ trim: true,
34
+ },
35
+ unitsSold: {
36
+ type: Number,
37
+ required: true,
38
+ },
39
+ unitSalePrice: {
40
+ type: Number,
41
+ required: true,
42
+ },
43
+ __v: { type: Number, select: false },
44
+ }, { timestamps: true });
45
+ exports.SalesItemModel = mongoose_1.default.model(_models_1.MODEL_NAMES.salesItem, exports.SalesItemSchema);