uaxi-shared-entities 1.0.92 → 1.0.94
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/dist/entities/admin-earnings.entity.d.ts +27 -0
- package/dist/entities/admin-earnings.entity.d.ts.map +1 -1
- package/dist/entities/admin-earnings.entity.js +81 -1
- package/dist/entities/admin-earnings.entity.js.map +1 -1
- package/dist/entities/beneficiary.entity.d.ts +3 -3
- package/dist/entities/beneficiary.entity.d.ts.map +1 -1
- package/dist/entities/beneficiary.entity.js +4 -9
- package/dist/entities/beneficiary.entity.js.map +1 -1
- package/dist/entities/driver-earnings.entity.d.ts +0 -7
- package/dist/entities/driver-earnings.entity.d.ts.map +1 -1
- package/dist/entities/driver-earnings.entity.js +0 -16
- package/dist/entities/driver-earnings.entity.js.map +1 -1
- package/dist/entities/driver-transfers.entity.d.ts +18 -0
- package/dist/entities/driver-transfers.entity.d.ts.map +1 -1
- package/dist/entities/driver-transfers.entity.js +53 -0
- package/dist/entities/driver-transfers.entity.js.map +1 -1
- package/dist/entities/system-configuration.entity.d.ts +3 -0
- package/dist/entities/system-configuration.entity.d.ts.map +1 -1
- package/dist/entities/system-configuration.entity.js +8 -0
- package/dist/entities/system-configuration.entity.js.map +1 -1
- package/package.json +1 -1
- package/src/entities/admin-earnings.entity.ts +101 -0
- package/src/entities/beneficiary.entity.ts +5 -10
- package/src/entities/driver-earnings.entity.ts +0 -18
- package/src/entities/driver-transfers.entity.ts +68 -0
- package/src/entities/system-configuration.entity.ts +9 -0
|
@@ -4,6 +4,10 @@ import { Trip } from "./trips.entity";
|
|
|
4
4
|
import { Package } from "./package.entity";
|
|
5
5
|
import { User } from "./user.entity";
|
|
6
6
|
import { Coupon } from "./coupon.entity";
|
|
7
|
+
export declare enum AdminEarningsType {
|
|
8
|
+
GANANCIA = "ganancia",// Ganancias normales de viajes/paquetes
|
|
9
|
+
DESCUENTO = "descuento"
|
|
10
|
+
}
|
|
7
11
|
export interface AdminEarningsAttributes {
|
|
8
12
|
id: string;
|
|
9
13
|
paymentId: string;
|
|
@@ -27,6 +31,12 @@ export interface AdminEarningsAttributes {
|
|
|
27
31
|
isTransferred: boolean;
|
|
28
32
|
transferredAt: Date;
|
|
29
33
|
transferId: string;
|
|
34
|
+
earningsType: AdminEarningsType;
|
|
35
|
+
isBonusPayment: boolean;
|
|
36
|
+
bonusAmountPaid: number;
|
|
37
|
+
bonusGrossAmount: number;
|
|
38
|
+
bonusPercentage: number;
|
|
39
|
+
bonusCategory: string;
|
|
30
40
|
createdAt: Date;
|
|
31
41
|
updatedAt: Date;
|
|
32
42
|
deletedAt: Date;
|
|
@@ -53,6 +63,12 @@ export interface CreateAdminEarningsData {
|
|
|
53
63
|
isTransferred?: boolean;
|
|
54
64
|
transferredAt?: Date;
|
|
55
65
|
transferId?: string;
|
|
66
|
+
earningsType?: AdminEarningsType;
|
|
67
|
+
isBonusPayment?: boolean;
|
|
68
|
+
bonusAmountPaid?: number;
|
|
69
|
+
bonusGrossAmount?: number;
|
|
70
|
+
bonusPercentage?: number;
|
|
71
|
+
bonusCategory?: string;
|
|
56
72
|
}
|
|
57
73
|
export declare class AdminEarnings extends Model<AdminEarningsAttributes, CreateAdminEarningsData> {
|
|
58
74
|
id: string;
|
|
@@ -77,6 +93,12 @@ export declare class AdminEarnings extends Model<AdminEarningsAttributes, Create
|
|
|
77
93
|
isTransferred: boolean;
|
|
78
94
|
transferredAt: Date;
|
|
79
95
|
transferId: string;
|
|
96
|
+
earningsType?: AdminEarningsType;
|
|
97
|
+
isBonusPayment?: boolean;
|
|
98
|
+
bonusAmountPaid?: number;
|
|
99
|
+
bonusGrossAmount?: number;
|
|
100
|
+
bonusPercentage?: number;
|
|
101
|
+
bonusCategory?: string;
|
|
80
102
|
deletedAt: Date;
|
|
81
103
|
payment: Payment;
|
|
82
104
|
trip?: Trip;
|
|
@@ -91,5 +113,10 @@ export declare class AdminEarnings extends Model<AdminEarningsAttributes, Create
|
|
|
91
113
|
get platformLossFromCoupon(): number;
|
|
92
114
|
get adminEarningsBeforeDiscount(): number;
|
|
93
115
|
get adminLossFromCoupon(): number;
|
|
116
|
+
get isNormalEarning(): boolean;
|
|
117
|
+
get isBonusEarning(): boolean;
|
|
118
|
+
get earningsTypeDescription(): string;
|
|
119
|
+
get bonusDeductionFromEarnings(): number;
|
|
120
|
+
get totalBonusPaidToDriver(): number;
|
|
94
121
|
}
|
|
95
122
|
//# sourceMappingURL=admin-earnings.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-earnings.entity.d.ts","sourceRoot":"","sources":["../../src/entities/admin-earnings.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B,EAAE,MAAM,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-earnings.entity.d.ts","sourceRoot":"","sources":["../../src/entities/admin-earnings.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AdminEarnings = void 0;
|
|
12
|
+
exports.AdminEarnings = exports.AdminEarningsType = void 0;
|
|
13
13
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
14
14
|
const payments_entity_1 = require("./payments.entity");
|
|
15
15
|
const trips_entity_1 = require("./trips.entity");
|
|
16
16
|
const package_entity_1 = require("./package.entity");
|
|
17
17
|
const user_entity_1 = require("./user.entity");
|
|
18
18
|
const coupon_entity_1 = require("./coupon.entity");
|
|
19
|
+
// Enum para el tipo de registro de ganancias del admin
|
|
20
|
+
var AdminEarningsType;
|
|
21
|
+
(function (AdminEarningsType) {
|
|
22
|
+
AdminEarningsType["GANANCIA"] = "ganancia";
|
|
23
|
+
AdminEarningsType["DESCUENTO"] = "descuento";
|
|
24
|
+
})(AdminEarningsType || (exports.AdminEarningsType = AdminEarningsType = {}));
|
|
19
25
|
let AdminEarnings = class AdminEarnings extends sequelize_typescript_1.Model {
|
|
20
26
|
// Métodos de conveniencia
|
|
21
27
|
get commissionRate() {
|
|
@@ -44,6 +50,28 @@ let AdminEarnings = class AdminEarnings extends sequelize_typescript_1.Model {
|
|
|
44
50
|
// Pérdida del admin por el cupón
|
|
45
51
|
return this.adminEarningsWithoutDiscount - this.adminEarnings;
|
|
46
52
|
}
|
|
53
|
+
// Métodos de conveniencia para bonos
|
|
54
|
+
get isNormalEarning() {
|
|
55
|
+
return this.isBonusPayment === false || this.isBonusPayment === undefined;
|
|
56
|
+
}
|
|
57
|
+
get isBonusEarning() {
|
|
58
|
+
return this.isBonusPayment === true;
|
|
59
|
+
}
|
|
60
|
+
get earningsTypeDescription() {
|
|
61
|
+
return (this.earningsType ||
|
|
62
|
+
(this.isBonusPayment
|
|
63
|
+
? AdminEarningsType.DESCUENTO
|
|
64
|
+
: AdminEarningsType.GANANCIA));
|
|
65
|
+
}
|
|
66
|
+
get bonusDeductionFromEarnings() {
|
|
67
|
+
// Monto que se descuenta de las ganancias del admin por el pago del bono
|
|
68
|
+
// Es el monto bruto del bono (lo que se paga al conductor antes de retenciones)
|
|
69
|
+
return this.bonusGrossAmount || 0;
|
|
70
|
+
}
|
|
71
|
+
get totalBonusPaidToDriver() {
|
|
72
|
+
// Monto total del bono pagado al conductor (neto después de retenciones)
|
|
73
|
+
return this.bonusAmountPaid || 0;
|
|
74
|
+
}
|
|
47
75
|
};
|
|
48
76
|
exports.AdminEarnings = AdminEarnings;
|
|
49
77
|
__decorate([
|
|
@@ -227,6 +255,58 @@ __decorate([
|
|
|
227
255
|
}),
|
|
228
256
|
__metadata("design:type", String)
|
|
229
257
|
], AdminEarnings.prototype, "transferId", void 0);
|
|
258
|
+
__decorate([
|
|
259
|
+
(0, sequelize_typescript_1.Column)({
|
|
260
|
+
type: sequelize_typescript_1.DataType.ENUM(...Object.values(AdminEarningsType)),
|
|
261
|
+
allowNull: true,
|
|
262
|
+
defaultValue: AdminEarningsType.GANANCIA,
|
|
263
|
+
comment: "Tipo de registro: 'ganancia' para ganancias normales de viajes/paquetes, 'descuento' para pagos de bonos semanales al conductor (que son descuentos de las ganancias). Por defecto siempre es 'ganancia'",
|
|
264
|
+
}),
|
|
265
|
+
__metadata("design:type", String)
|
|
266
|
+
], AdminEarnings.prototype, "earningsType", void 0);
|
|
267
|
+
__decorate([
|
|
268
|
+
(0, sequelize_typescript_1.Column)({
|
|
269
|
+
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
270
|
+
defaultValue: false,
|
|
271
|
+
allowNull: true,
|
|
272
|
+
comment: "Indica si este registro es un pago de bono semanal al conductor (true) o una ganancia normal de un viaje/paquete (false). Por defecto siempre es false (ganancia normal)",
|
|
273
|
+
}),
|
|
274
|
+
__metadata("design:type", Boolean)
|
|
275
|
+
], AdminEarnings.prototype, "isBonusPayment", void 0);
|
|
276
|
+
__decorate([
|
|
277
|
+
(0, sequelize_typescript_1.Column)({
|
|
278
|
+
type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
|
|
279
|
+
allowNull: true,
|
|
280
|
+
defaultValue: 0.0,
|
|
281
|
+
comment: "Monto neto del bono pagado al conductor después de aplicar todas las retenciones (IVA 8%, ISR 2.1%, IMSS Obrero 2.5%). Solo tiene valor cuando isBonusPayment es true",
|
|
282
|
+
}),
|
|
283
|
+
__metadata("design:type", Number)
|
|
284
|
+
], AdminEarnings.prototype, "bonusAmountPaid", void 0);
|
|
285
|
+
__decorate([
|
|
286
|
+
(0, sequelize_typescript_1.Column)({
|
|
287
|
+
type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
|
|
288
|
+
allowNull: true,
|
|
289
|
+
defaultValue: 0.0,
|
|
290
|
+
comment: "Monto bruto del bono antes de aplicar retenciones. Se calcula como: GananciasBrutasSemana * PorcentajeBono. Solo tiene valor cuando isBonusPayment es true",
|
|
291
|
+
}),
|
|
292
|
+
__metadata("design:type", Number)
|
|
293
|
+
], AdminEarnings.prototype, "bonusGrossAmount", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
(0, sequelize_typescript_1.Column)({
|
|
296
|
+
type: sequelize_typescript_1.DataType.DECIMAL(5, 2),
|
|
297
|
+
allowNull: true,
|
|
298
|
+
comment: "Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C. Solo tiene valor cuando isBonusPayment es true",
|
|
299
|
+
}),
|
|
300
|
+
__metadata("design:type", Number)
|
|
301
|
+
], AdminEarnings.prototype, "bonusPercentage", void 0);
|
|
302
|
+
__decorate([
|
|
303
|
+
(0, sequelize_typescript_1.Column)({
|
|
304
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
305
|
+
allowNull: true,
|
|
306
|
+
comment: "Categoría del conductor que determina el porcentaje del bono: 'A' (13% de bono), 'B' (7% de bono) o 'C' (0% de bono). Solo tiene valor cuando isBonusPayment es true",
|
|
307
|
+
}),
|
|
308
|
+
__metadata("design:type", String)
|
|
309
|
+
], AdminEarnings.prototype, "bonusCategory", void 0);
|
|
230
310
|
__decorate([
|
|
231
311
|
sequelize_typescript_1.DeletedAt,
|
|
232
312
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-earnings.entity.js","sourceRoot":"","sources":["../../src/entities/admin-earnings.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;AAC9B,uDAA4C;AAC5C,iDAAsC;AACtC,qDAA2C;AAC3C,+CAAqC;AACrC,mDAAyC;
|
|
1
|
+
{"version":3,"file":"admin-earnings.entity.js","sourceRoot":"","sources":["../../src/entities/admin-earnings.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;AAC9B,uDAA4C;AAC5C,iDAAsC;AACtC,qDAA2C;AAC3C,+CAAqC;AACrC,mDAAyC;AAEzC,uDAAuD;AACvD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;AACzB,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AA2EM,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,4BAGlC;IAwOC,0BAA0B;IAC1B,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;IAC9C,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACpE,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,0CAA0C;IACxE,CAAC;IAED,IAAI,2BAA2B;QAC7B,oDAAoD;QACpD,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAED,IAAI,mBAAmB;QACrB,iCAAiC;QACjC,OAAO,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC;IAChE,CAAC;IAED,qCAAqC;IACrC,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,CACL,IAAI,CAAC,YAAY;YACjB,CAAC,IAAI,CAAC,cAAc;gBAClB,CAAC,CAAC,iBAAiB,CAAC,SAAS;gBAC7B,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,0BAA0B;QAC5B,yEAAyE;QACzE,gFAAgF;QAChF,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,sBAAsB;QACxB,yEAAyE;QACzE,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AA1SY,sCAAa;AAShB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;yCACiB;AAQnB;IANC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,yBAAO,CAAC;IACzB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI,EAAE,6DAA6D;KAC5E,CAAC;;gDACgB;AAQlB;IANC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;IACtB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,yBAAyB;KACnC,CAAC;;6CACc;AAQhB;IANC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACzB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,2BAA2B;KACrC,CAAC;;gDACiB;AAQnB;IANC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACtB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,6BAA6B;KACvC,CAAC;;6CACa;AAOf;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,uCAAuC;KACjD,CAAC;;+CACgB;AAOlB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,4CAA4C;KACtD,CAAC;;iDACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,qBAAqB;KAC/B,CAAC;;gDACgB;AAQlB;IANC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,sBAAM,CAAC;IACxB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,mCAAmC;KAC7C,CAAC;;+CACgB;AAOlB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,4DAA4D;KACtE,CAAC;;qDACqB;AAOvB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,sCAAsC;KAChD,CAAC;;0DAC0B;AAO5B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,yDAAyD;KACnE,CAAC;;yDACyB;AAO3B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,uDAAuD;KACjE,CAAC;;gEACgC;AAQlC;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EACL,yEAAyE;KAC5E,CAAC;;oDACoB;AAOtB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,gEAAgE;KAC1E,CAAC;;mEACmC;AAOrC;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,oCAAoC;KAC9C,CAAC;;qDACqB;AAOvB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,0BAA0B;KACpC,CAAC;;oDACoB;AAOtB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,iBAAiB;KAC3B,CAAC;;oDACoB;AAOtB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,wCAAwC;KAClD,CAAC;8BACW,IAAI;kDAAC;AAOlB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,4DAA4D;KACtE,CAAC;;oDACqB;AAOvB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,iDAAiD;KAC3D,CAAC;8BACa,IAAI;oDAAC;AAOpB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,uDAAuD;KACjE,CAAC;;iDACiB;AASnB;IAPC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxD,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,iBAAiB,CAAC,QAAQ;QACxC,OAAO,EACL,0MAA0M;KAC7M,CAAC;;mDAC+B;AASjC;IAPC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EACL,0KAA0K;KAC7K,CAAC;;qDACuB;AASzB;IAPC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,OAAO,EACL,uKAAuK;KAC1K,CAAC;;sDACuB;AASzB;IAPC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;QACjB,OAAO,EACL,4JAA4J;KAC/J,CAAC;;uDACwB;AAQ1B;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,IAAI;QACf,OAAO,EACL,qLAAqL;KACxL,CAAC;;sDACuB;AAQzB;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,IAAI;QACf,OAAO,EACL,sKAAsK;KACzK,CAAC;;oDACqB;AAGf;IADP,gCAAS;8BACS,IAAI;gDAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,yBAAO,CAAC;8BAChB,yBAAO;8CAAC;AAGjB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,mBAAI,CAAC;8BACf,mBAAI;2CAAC;AAGZ;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;8BACf,wBAAO;8CAAC;AAGlB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;8BAChB,kBAAI;2CAAC;AAGX;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,sBAAM,CAAC;8BACf,sBAAM;6CAAC;wBAzOL,aAAa;IALzB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,uBAAuB;KACxC,CAAC;GACW,aAAa,CA0SzB"}
|
|
@@ -6,7 +6,7 @@ export interface CreateBeneficiaryData {
|
|
|
6
6
|
userId: string;
|
|
7
7
|
name: string;
|
|
8
8
|
lastName: string;
|
|
9
|
-
|
|
9
|
+
dateOfBirth?: Date | null;
|
|
10
10
|
relationship: RelationshipType;
|
|
11
11
|
gender?: Gender;
|
|
12
12
|
percentage: number;
|
|
@@ -16,7 +16,7 @@ export interface BeneficiaryAttributes {
|
|
|
16
16
|
userId: string;
|
|
17
17
|
name: string;
|
|
18
18
|
lastName: string;
|
|
19
|
-
|
|
19
|
+
dateOfBirth?: Date | null;
|
|
20
20
|
relationship: RelationshipType;
|
|
21
21
|
gender?: Gender | null;
|
|
22
22
|
percentage: number;
|
|
@@ -30,7 +30,7 @@ export declare class Beneficiary extends Model<BeneficiaryAttributes, CreateBene
|
|
|
30
30
|
userId: string;
|
|
31
31
|
name: string;
|
|
32
32
|
lastName: string;
|
|
33
|
-
|
|
33
|
+
dateOfBirth: Date | null;
|
|
34
34
|
relationship: RelationshipType;
|
|
35
35
|
gender: Gender | null;
|
|
36
36
|
percentage: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beneficiary.entity.d.ts","sourceRoot":"","sources":["../../src/entities/beneficiary.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAON,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"beneficiary.entity.d.ts","sourceRoot":"","sources":["../../src/entities/beneficiary.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAON,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,qBAKa,WAAY,SAAQ,KAAK,CACpC,qBAAqB,EACrB,qBAAqB,CACtB;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,MAAM,EAAE,MAAM,CAAC;IAMf,IAAI,EAAE,MAAM,CAAC;IAMb,QAAQ,EAAE,MAAM,CAAC;IAMjB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAMzB,YAAY,EAAE,gBAAgB,CAAC;IAM/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAUtB,UAAU,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIxB,IAAI,EAAE,IAAI,CAAC;CACZ"}
|
|
@@ -49,15 +49,11 @@ __decorate([
|
|
|
49
49
|
], Beneficiary.prototype, "lastName", void 0);
|
|
50
50
|
__decorate([
|
|
51
51
|
(0, sequelize_typescript_1.Column)({
|
|
52
|
-
type: sequelize_typescript_1.DataType.
|
|
53
|
-
allowNull:
|
|
54
|
-
validate: {
|
|
55
|
-
min: 0,
|
|
56
|
-
max: 150,
|
|
57
|
-
},
|
|
52
|
+
type: sequelize_typescript_1.DataType.DATEONLY,
|
|
53
|
+
allowNull: true,
|
|
58
54
|
}),
|
|
59
|
-
__metadata("design:type",
|
|
60
|
-
], Beneficiary.prototype, "
|
|
55
|
+
__metadata("design:type", Object)
|
|
56
|
+
], Beneficiary.prototype, "dateOfBirth", void 0);
|
|
61
57
|
__decorate([
|
|
62
58
|
(0, sequelize_typescript_1.Column)({
|
|
63
59
|
type: sequelize_typescript_1.DataType.ENUM(...Object.values(beneficiary_enum_1.RelationshipType)),
|
|
@@ -80,7 +76,6 @@ __decorate([
|
|
|
80
76
|
min: 0,
|
|
81
77
|
max: 100,
|
|
82
78
|
},
|
|
83
|
-
comment: "Porcentaje del beneficiario (0-100)",
|
|
84
79
|
}),
|
|
85
80
|
__metadata("design:type", Number)
|
|
86
81
|
], Beneficiary.prototype, "percentage", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beneficiary.entity.js","sourceRoot":"","sources":["../../src/entities/beneficiary.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAU8B;AAC9B,+CAAqC;AACrC,gEAA6D;AAC7D,kDAA4C;AAkCrC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,4BAGhC;
|
|
1
|
+
{"version":3,"file":"beneficiary.entity.js","sourceRoot":"","sources":["../../src/entities/beneficiary.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAU8B;AAC9B,+CAAqC;AACrC,gEAA6D;AAC7D,kDAA4C;AAkCrC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,4BAGhC;CAmEA,CAAA;AAtEY,kCAAW;AASd;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;uCACiB;AAOnB;IALC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACtB,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;2CACa;AAMf;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;yCACW;AAMb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;KACjB,CAAC;;6CACe;AAMjB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI;KAChB,CAAC;;gDACuB;AAMzB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mCAAgB,CAAC,CAAC;QACvD,SAAS,EAAE,KAAK;KACjB,CAAC;;iDAC6B;AAM/B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC;QAC7C,SAAS,EAAE,IAAI;KAChB,CAAC;;2CACoB;AAUtB;IARC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE;YACR,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,GAAG;SACT;KACF,CAAC;;+CACiB;AAGX;IADP,gCAAS;8BACS,IAAI;8CAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;8CAAC;AAGhB;IADP,gCAAS;8BACS,IAAI;8CAAC;AAIxB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;8BAChB,kBAAI;yCAAC;sBArEA,WAAW;IALvB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,eAAe;KAChC,CAAC;GACW,WAAW,CAsEvB"}
|
|
@@ -3,7 +3,6 @@ import { DriverProfile } from "./driver.entity";
|
|
|
3
3
|
import { Trip } from "./trips.entity";
|
|
4
4
|
import { Package } from "./package.entity";
|
|
5
5
|
import { DriverDeductions } from "./driver-deductions.entity";
|
|
6
|
-
import { DriverClassification } from "../enums";
|
|
7
6
|
export interface DriverEarningsAttributes {
|
|
8
7
|
id: string;
|
|
9
8
|
driverId: string;
|
|
@@ -12,8 +11,6 @@ export interface DriverEarningsAttributes {
|
|
|
12
11
|
grossEarnings: number;
|
|
13
12
|
netEarnings: number;
|
|
14
13
|
totalDeductions: number;
|
|
15
|
-
bono: number;
|
|
16
|
-
driverClassification: DriverClassification | null;
|
|
17
14
|
isProcessed: boolean;
|
|
18
15
|
processedAt: Date;
|
|
19
16
|
stripeTransferId: string;
|
|
@@ -29,8 +26,6 @@ export interface CreateDriverEarningsData {
|
|
|
29
26
|
grossEarnings: number;
|
|
30
27
|
netEarnings?: number;
|
|
31
28
|
totalDeductions?: number;
|
|
32
|
-
bono?: number;
|
|
33
|
-
driverClassification?: DriverClassification | null;
|
|
34
29
|
isProcessed?: boolean;
|
|
35
30
|
processedAt?: Date;
|
|
36
31
|
stripeTransferId?: string;
|
|
@@ -44,8 +39,6 @@ export declare class DriverEarnings extends Model<DriverEarningsAttributes, Crea
|
|
|
44
39
|
grossEarnings: number;
|
|
45
40
|
netEarnings: number;
|
|
46
41
|
totalDeductions: number;
|
|
47
|
-
bono: number;
|
|
48
|
-
driverClassification: DriverClassification | null;
|
|
49
42
|
isProcessed: boolean;
|
|
50
43
|
processedAt: Date;
|
|
51
44
|
stripeTransferId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-earnings.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-earnings.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"driver-earnings.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-earnings.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAKa,cAAe,SAAQ,KAAK,CACvC,wBAAwB,EACxB,wBAAwB,CACzB;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,MAAM,CAAC;IAOjB,MAAM,EAAE,MAAM,CAAC;IAOf,SAAS,EAAE,MAAM,CAAC;IAOlB,aAAa,EAAE,MAAM,CAAC;IAOtB,WAAW,EAAE,MAAM,CAAC;IAOpB,eAAe,EAAE,MAAM,CAAC;IAOxB,WAAW,EAAE,OAAO,CAAC;IAOrB,WAAW,EAAE,IAAI,CAAC;IAQlB,gBAAgB,EAAE,MAAM,CAAC;IAOzB,UAAU,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,IAAI,CAAC;IAIxB,MAAM,EAAE,aAAa,CAAC;IAGtB,IAAI,EAAE,IAAI,CAAC;IAGX,OAAO,EAAE,OAAO,CAAC;IAGjB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC"}
|
|
@@ -15,7 +15,6 @@ const driver_entity_1 = require("./driver.entity");
|
|
|
15
15
|
const trips_entity_1 = require("./trips.entity");
|
|
16
16
|
const package_entity_1 = require("./package.entity");
|
|
17
17
|
const driver_deductions_entity_1 = require("./driver-deductions.entity");
|
|
18
|
-
const enums_1 = require("../enums");
|
|
19
18
|
let DriverEarnings = class DriverEarnings extends sequelize_typescript_1.Model {
|
|
20
19
|
};
|
|
21
20
|
exports.DriverEarnings = DriverEarnings;
|
|
@@ -75,21 +74,6 @@ __decorate([
|
|
|
75
74
|
}),
|
|
76
75
|
__metadata("design:type", Number)
|
|
77
76
|
], DriverEarnings.prototype, "totalDeductions", void 0);
|
|
78
|
-
__decorate([
|
|
79
|
-
(0, sequelize_typescript_1.Column)({
|
|
80
|
-
type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
|
|
81
|
-
defaultValue: 0.0,
|
|
82
|
-
allowNull: true,
|
|
83
|
-
}),
|
|
84
|
-
__metadata("design:type", Number)
|
|
85
|
-
], DriverEarnings.prototype, "bono", void 0);
|
|
86
|
-
__decorate([
|
|
87
|
-
(0, sequelize_typescript_1.Column)({
|
|
88
|
-
type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.DriverClassification)),
|
|
89
|
-
allowNull: true,
|
|
90
|
-
}),
|
|
91
|
-
__metadata("design:type", Object)
|
|
92
|
-
], DriverEarnings.prototype, "driverClassification", void 0);
|
|
93
77
|
__decorate([
|
|
94
78
|
(0, sequelize_typescript_1.Column)({
|
|
95
79
|
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-earnings.entity.js","sourceRoot":"","sources":["../../src/entities/driver-earnings.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAS8B;AAC9B,mDAAgD;AAChD,iDAAsC;AACtC,qDAA2C;AAC3C,yEAA8D;
|
|
1
|
+
{"version":3,"file":"driver-earnings.entity.js","sourceRoot":"","sources":["../../src/entities/driver-earnings.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,11 @@ export interface DriverTransfersAttributes {
|
|
|
14
14
|
status: DriverTransferStatus;
|
|
15
15
|
failureReason: string;
|
|
16
16
|
processedAt: Date;
|
|
17
|
+
hasBonus: boolean;
|
|
18
|
+
bonusGrossAmount: number;
|
|
19
|
+
bonusNetAmount: number;
|
|
20
|
+
bonusPercentage: number;
|
|
21
|
+
bonusCategory: string;
|
|
17
22
|
createdAt: Date;
|
|
18
23
|
updatedAt: Date;
|
|
19
24
|
deletedAt: Date;
|
|
@@ -29,6 +34,11 @@ export interface CreateDriverTransfersData {
|
|
|
29
34
|
status?: DriverTransferStatus;
|
|
30
35
|
failureReason?: string;
|
|
31
36
|
processedAt?: Date;
|
|
37
|
+
hasBonus?: boolean;
|
|
38
|
+
bonusGrossAmount?: number;
|
|
39
|
+
bonusNetAmount?: number;
|
|
40
|
+
bonusPercentage?: number;
|
|
41
|
+
bonusCategory?: string;
|
|
32
42
|
}
|
|
33
43
|
export declare class DriverTransfers extends Model<DriverTransfersAttributes, CreateDriverTransfersData> {
|
|
34
44
|
id: string;
|
|
@@ -42,8 +52,16 @@ export declare class DriverTransfers extends Model<DriverTransfersAttributes, Cr
|
|
|
42
52
|
status: DriverTransferStatus;
|
|
43
53
|
failureReason: string;
|
|
44
54
|
processedAt: Date;
|
|
55
|
+
hasBonus?: boolean;
|
|
56
|
+
bonusGrossAmount?: number;
|
|
57
|
+
bonusNetAmount?: number;
|
|
58
|
+
bonusPercentage?: number;
|
|
59
|
+
bonusCategory?: string;
|
|
45
60
|
deletedAt: Date;
|
|
46
61
|
driver: DriverProfile;
|
|
47
62
|
earnings: DriverEarnings;
|
|
63
|
+
get includesBonus(): boolean;
|
|
64
|
+
get totalBonusDeductions(): number;
|
|
65
|
+
get bonusDescription(): string;
|
|
48
66
|
}
|
|
49
67
|
//# sourceMappingURL=driver-transfers.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-transfers.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-transfers.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG9D,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"driver-transfers.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-transfers.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG9D,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAKa,eAAgB,SAAQ,KAAK,CACxC,yBAAyB,EACzB,yBAAyB,CAC1B;IAMS,EAAE,EAAE,MAAM,CAAC;IAQnB,QAAQ,EAAE,MAAM,CAAC;IAOjB,UAAU,EAAE,MAAM,CAAC;IAOnB,MAAM,EAAE,MAAM,CAAC;IAOf,gBAAgB,EAAE,MAAM,CAAC;IAMzB,cAAc,EAAE,MAAM,CAAC;IAOvB,eAAe,EAAE,MAAM,CAAC;IAMxB,YAAY,EAAE,YAAY,CAAC;IAM3B,MAAM,EAAE,oBAAoB,CAAC;IAO7B,aAAa,EAAE,MAAM,CAAC;IAOtB,WAAW,EAAE,IAAI,CAAC;IASlB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAOnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAO1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,IAAI,CAAC;IAIxB,MAAM,EAAE,aAAa,CAAC;IAGtB,QAAQ,EAAE,cAAc,CAAC;IAGzB,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAGjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAS7B;CACF"}
|
|
@@ -15,6 +15,20 @@ const driver_entity_1 = require("./driver.entity");
|
|
|
15
15
|
const driver_earnings_entity_1 = require("./driver-earnings.entity");
|
|
16
16
|
const enums_1 = require("../enums");
|
|
17
17
|
let DriverTransfers = class DriverTransfers extends sequelize_typescript_1.Model {
|
|
18
|
+
// Métodos de conveniencia para bono
|
|
19
|
+
get includesBonus() {
|
|
20
|
+
return this.hasBonus === true;
|
|
21
|
+
}
|
|
22
|
+
get totalBonusDeductions() {
|
|
23
|
+
// Total de retenciones aplicadas al bono
|
|
24
|
+
return (this.bonusGrossAmount || 0) - (this.bonusNetAmount || 0);
|
|
25
|
+
}
|
|
26
|
+
get bonusDescription() {
|
|
27
|
+
if (!this.hasBonus) {
|
|
28
|
+
return "Sin bono";
|
|
29
|
+
}
|
|
30
|
+
return `Bono ${this.bonusCategory || "N/A"} (${this.bonusPercentage || 0}%) - Bruto: $${this.bonusGrossAmount || 0}, Neto: $${this.bonusNetAmount || 0}`;
|
|
31
|
+
}
|
|
18
32
|
};
|
|
19
33
|
exports.DriverTransfers = DriverTransfers;
|
|
20
34
|
__decorate([
|
|
@@ -103,6 +117,45 @@ __decorate([
|
|
|
103
117
|
}),
|
|
104
118
|
__metadata("design:type", Date)
|
|
105
119
|
], DriverTransfers.prototype, "processedAt", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
(0, sequelize_typescript_1.Column)({
|
|
122
|
+
type: sequelize_typescript_1.DataType.BOOLEAN,
|
|
123
|
+
defaultValue: false,
|
|
124
|
+
allowNull: true,
|
|
125
|
+
comment: "Indica si esta transferencia incluye un bono semanal pagado al conductor. Por defecto es false",
|
|
126
|
+
}),
|
|
127
|
+
__metadata("design:type", Boolean)
|
|
128
|
+
], DriverTransfers.prototype, "hasBonus", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, sequelize_typescript_1.Column)({
|
|
131
|
+
type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
|
|
132
|
+
allowNull: true,
|
|
133
|
+
defaultValue: 0.0,
|
|
134
|
+
}),
|
|
135
|
+
__metadata("design:type", Number)
|
|
136
|
+
], DriverTransfers.prototype, "bonusGrossAmount", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, sequelize_typescript_1.Column)({
|
|
139
|
+
type: sequelize_typescript_1.DataType.DECIMAL(10, 2),
|
|
140
|
+
allowNull: true,
|
|
141
|
+
defaultValue: 0.0,
|
|
142
|
+
}),
|
|
143
|
+
__metadata("design:type", Number)
|
|
144
|
+
], DriverTransfers.prototype, "bonusNetAmount", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
(0, sequelize_typescript_1.Column)({
|
|
147
|
+
type: sequelize_typescript_1.DataType.DECIMAL(5, 2),
|
|
148
|
+
allowNull: true,
|
|
149
|
+
}),
|
|
150
|
+
__metadata("design:type", Number)
|
|
151
|
+
], DriverTransfers.prototype, "bonusPercentage", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
(0, sequelize_typescript_1.Column)({
|
|
154
|
+
type: sequelize_typescript_1.DataType.STRING,
|
|
155
|
+
allowNull: true,
|
|
156
|
+
}),
|
|
157
|
+
__metadata("design:type", String)
|
|
158
|
+
], DriverTransfers.prototype, "bonusCategory", void 0);
|
|
106
159
|
__decorate([
|
|
107
160
|
sequelize_typescript_1.DeletedAt,
|
|
108
161
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-transfers.entity.js","sourceRoot":"","sources":["../../src/entities/driver-transfers.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;AAC9B,mDAAgD;AAChD,qEAA0D;AAC1D,oCAA8D;
|
|
1
|
+
{"version":3,"file":"driver-transfers.entity.js","sourceRoot":"","sources":["../../src/entities/driver-transfers.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface SystemConfigurationAttributes {
|
|
|
6
6
|
driverCancelWithoutPenaltyMinutes?: number;
|
|
7
7
|
autoCancelTimeoutMinutes?: number;
|
|
8
8
|
maxSearchRadiusKm?: number;
|
|
9
|
+
baseMultiplier?: number;
|
|
9
10
|
priceService?: any;
|
|
10
11
|
createdAt: Date;
|
|
11
12
|
updatedAt: Date;
|
|
@@ -18,6 +19,7 @@ export interface CreateSystemConfigurationData {
|
|
|
18
19
|
driverCancelWithoutPenaltyMinutes?: number;
|
|
19
20
|
autoCancelTimeoutMinutes?: number;
|
|
20
21
|
maxSearchRadiusKm?: number;
|
|
22
|
+
baseMultiplier?: number;
|
|
21
23
|
priceService?: any;
|
|
22
24
|
}
|
|
23
25
|
export declare class SystemConfiguration extends Model<SystemConfigurationAttributes, CreateSystemConfigurationData> {
|
|
@@ -27,6 +29,7 @@ export declare class SystemConfiguration extends Model<SystemConfigurationAttrib
|
|
|
27
29
|
driverCancelWithoutPenaltyMinutes?: number;
|
|
28
30
|
autoCancelTimeoutMinutes?: number;
|
|
29
31
|
maxSearchRadiusKm?: number;
|
|
32
|
+
baseMultiplier?: number;
|
|
30
33
|
priceService?: any;
|
|
31
34
|
createdAt: Date;
|
|
32
35
|
updatedAt: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-configuration.entity.d.ts","sourceRoot":"","sources":["../../src/entities/system-configuration.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAKN,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,qBAWa,mBAAoB,SAAQ,KAAK,CAC5C,6BAA6B,EAC7B,6BAA6B,CAC9B;IAMS,EAAE,EAAE,MAAM,CAAC;IAMnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAM3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAMrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAM3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAMlC,iBAAiB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"system-configuration.entity.d.ts","sourceRoot":"","sources":["../../src/entities/system-configuration.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAKN,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,qBAWa,mBAAoB,SAAQ,KAAK,CAC5C,6BAA6B,EAC7B,6BAA6B,CAC9B;IAMS,EAAE,EAAE,MAAM,CAAC;IAMnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAM3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAMrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAM3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAMlC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAO3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,YAAY,CAAC,EAAE,GAAG,CAAC;IAGnB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB"}
|
|
@@ -57,6 +57,14 @@ __decorate([
|
|
|
57
57
|
}),
|
|
58
58
|
__metadata("design:type", Number)
|
|
59
59
|
], SystemConfiguration.prototype, "maxSearchRadiusKm", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, sequelize_typescript_1.Column)({
|
|
62
|
+
type: sequelize_typescript_1.DataType.DECIMAL(5, 2),
|
|
63
|
+
allowNull: true,
|
|
64
|
+
defaultValue: 1.3,
|
|
65
|
+
}),
|
|
66
|
+
__metadata("design:type", Number)
|
|
67
|
+
], SystemConfiguration.prototype, "baseMultiplier", void 0);
|
|
60
68
|
__decorate([
|
|
61
69
|
(0, sequelize_typescript_1.Column)({
|
|
62
70
|
type: sequelize_typescript_1.DataType.JSON,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-configuration.entity.js","sourceRoot":"","sources":["../../src/entities/system-configuration.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;
|
|
1
|
+
{"version":3,"file":"system-configuration.entity.js","sourceRoot":"","sources":["../../src/entities/system-configuration.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAQ8B;AAsCvB,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,4BAGxC;CA2DA,CAAA;AA9DY,kDAAmB;AAStB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;+CACiB;AAMnB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,IAAI;KAChB,CAAC;;8DACyB;AAM3B;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;;wEACmC;AAMrC;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;;8EACyC;AAM3C;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC;;qEACgC;AAMlC;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,IAAI;KAChB,CAAC;;8DACyB;AAO3B;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG;KAClB,CAAC;;2DACsB;AAMxB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;yDACiB;AAGnB;IADC,gCAAS;8BACC,IAAI;sDAAC;AAGhB;IADC,gCAAS;8BACC,IAAI;sDAAC;AAGhB;IADC,gCAAS;;sDACc;8BA7Db,mBAAmB;IAX/B,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,uBAAuB;QAClC,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,CAAC,WAAW,CAAC;gBACrB,IAAI,EAAE,sCAAsC;aAC7C;SACF;KACF,CAAC;GACW,mBAAmB,CA8D/B"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,12 @@ import { Package } from "./package.entity";
|
|
|
13
13
|
import { User } from "./user.entity";
|
|
14
14
|
import { Coupon } from "./coupon.entity";
|
|
15
15
|
|
|
16
|
+
// Enum para el tipo de registro de ganancias del admin
|
|
17
|
+
export enum AdminEarningsType {
|
|
18
|
+
GANANCIA = "ganancia", // Ganancias normales de viajes/paquetes
|
|
19
|
+
DESCUENTO = "descuento", // Descuentos por pagos de bonos al conductor
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
// Interface para los atributos de la entidad
|
|
17
23
|
export interface AdminEarningsAttributes {
|
|
18
24
|
id: string;
|
|
@@ -37,6 +43,13 @@ export interface AdminEarningsAttributes {
|
|
|
37
43
|
isTransferred: boolean; // Si ya se transfirió a la cuenta del admin
|
|
38
44
|
transferredAt: Date; // Fecha de transferencia
|
|
39
45
|
transferId: string; // ID de la transferencia bancaria
|
|
46
|
+
// Campos para registro de bonos pagados al conductor
|
|
47
|
+
earningsType: AdminEarningsType; // Tipo de registro: "ganancia" (por defecto) o "descuento" (para bonos)
|
|
48
|
+
isBonusPayment: boolean; // Indica si este registro es un pago de bono al conductor (true) o una ganancia normal (false, por defecto)
|
|
49
|
+
bonusAmountPaid: number; // Monto neto del bono pagado al conductor después de aplicar retenciones (IVA, ISR, IMSS Obrero)
|
|
50
|
+
bonusGrossAmount: number; // Monto bruto del bono antes de aplicar retenciones (GananciasBrutasSemana * PorcentajeBono)
|
|
51
|
+
bonusPercentage: number; // Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C
|
|
52
|
+
bonusCategory: string; // Categoría del conductor que determina el porcentaje del bono: "A" (13%), "B" (7%) o "C" (0%)
|
|
40
53
|
createdAt: Date;
|
|
41
54
|
updatedAt: Date;
|
|
42
55
|
deletedAt: Date;
|
|
@@ -65,6 +78,13 @@ export interface CreateAdminEarningsData {
|
|
|
65
78
|
isTransferred?: boolean;
|
|
66
79
|
transferredAt?: Date;
|
|
67
80
|
transferId?: string;
|
|
81
|
+
// Campos para registro de bonos pagados al conductor
|
|
82
|
+
earningsType?: AdminEarningsType; // Tipo de registro: "ganancia" (por defecto) o "descuento" (para bonos)
|
|
83
|
+
isBonusPayment?: boolean; // Indica si este registro es un pago de bono al conductor (true) o una ganancia normal (false, por defecto)
|
|
84
|
+
bonusAmountPaid?: number; // Monto neto del bono pagado al conductor después de aplicar retenciones (IVA, ISR, IMSS Obrero)
|
|
85
|
+
bonusGrossAmount?: number; // Monto bruto del bono antes de aplicar retenciones (GananciasBrutasSemana * PorcentajeBono)
|
|
86
|
+
bonusPercentage?: number; // Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C
|
|
87
|
+
bonusCategory?: string; // Categoría del conductor que determina el porcentaje del bono: "A" (13%), "B" (7%) o "C" (0%)
|
|
68
88
|
}
|
|
69
89
|
|
|
70
90
|
@Table({
|
|
@@ -236,6 +256,58 @@ export class AdminEarnings extends Model<
|
|
|
236
256
|
})
|
|
237
257
|
transferId: string;
|
|
238
258
|
|
|
259
|
+
@Column({
|
|
260
|
+
type: DataType.ENUM(...Object.values(AdminEarningsType)),
|
|
261
|
+
allowNull: true,
|
|
262
|
+
defaultValue: AdminEarningsType.GANANCIA,
|
|
263
|
+
comment:
|
|
264
|
+
"Tipo de registro: 'ganancia' para ganancias normales de viajes/paquetes, 'descuento' para pagos de bonos semanales al conductor (que son descuentos de las ganancias). Por defecto siempre es 'ganancia'",
|
|
265
|
+
})
|
|
266
|
+
earningsType?: AdminEarningsType;
|
|
267
|
+
|
|
268
|
+
@Column({
|
|
269
|
+
type: DataType.BOOLEAN,
|
|
270
|
+
defaultValue: false,
|
|
271
|
+
allowNull: true,
|
|
272
|
+
comment:
|
|
273
|
+
"Indica si este registro es un pago de bono semanal al conductor (true) o una ganancia normal de un viaje/paquete (false). Por defecto siempre es false (ganancia normal)",
|
|
274
|
+
})
|
|
275
|
+
isBonusPayment?: boolean;
|
|
276
|
+
|
|
277
|
+
@Column({
|
|
278
|
+
type: DataType.DECIMAL(10, 2),
|
|
279
|
+
allowNull: true,
|
|
280
|
+
defaultValue: 0.0,
|
|
281
|
+
comment:
|
|
282
|
+
"Monto neto del bono pagado al conductor después de aplicar todas las retenciones (IVA 8%, ISR 2.1%, IMSS Obrero 2.5%). Solo tiene valor cuando isBonusPayment es true",
|
|
283
|
+
})
|
|
284
|
+
bonusAmountPaid?: number;
|
|
285
|
+
|
|
286
|
+
@Column({
|
|
287
|
+
type: DataType.DECIMAL(10, 2),
|
|
288
|
+
allowNull: true,
|
|
289
|
+
defaultValue: 0.0,
|
|
290
|
+
comment:
|
|
291
|
+
"Monto bruto del bono antes de aplicar retenciones. Se calcula como: GananciasBrutasSemana * PorcentajeBono. Solo tiene valor cuando isBonusPayment es true",
|
|
292
|
+
})
|
|
293
|
+
bonusGrossAmount?: number;
|
|
294
|
+
|
|
295
|
+
@Column({
|
|
296
|
+
type: DataType.DECIMAL(5, 2),
|
|
297
|
+
allowNull: true,
|
|
298
|
+
comment:
|
|
299
|
+
"Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C. Solo tiene valor cuando isBonusPayment es true",
|
|
300
|
+
})
|
|
301
|
+
bonusPercentage?: number;
|
|
302
|
+
|
|
303
|
+
@Column({
|
|
304
|
+
type: DataType.STRING,
|
|
305
|
+
allowNull: true,
|
|
306
|
+
comment:
|
|
307
|
+
"Categoría del conductor que determina el porcentaje del bono: 'A' (13% de bono), 'B' (7% de bono) o 'C' (0% de bono). Solo tiene valor cuando isBonusPayment es true",
|
|
308
|
+
})
|
|
309
|
+
bonusCategory?: string;
|
|
310
|
+
|
|
239
311
|
@DeletedAt
|
|
240
312
|
declare deletedAt: Date;
|
|
241
313
|
|
|
@@ -289,4 +361,33 @@ export class AdminEarnings extends Model<
|
|
|
289
361
|
// Pérdida del admin por el cupón
|
|
290
362
|
return this.adminEarningsWithoutDiscount - this.adminEarnings;
|
|
291
363
|
}
|
|
364
|
+
|
|
365
|
+
// Métodos de conveniencia para bonos
|
|
366
|
+
get isNormalEarning(): boolean {
|
|
367
|
+
return this.isBonusPayment === false || this.isBonusPayment === undefined;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
get isBonusEarning(): boolean {
|
|
371
|
+
return this.isBonusPayment === true;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
get earningsTypeDescription(): string {
|
|
375
|
+
return (
|
|
376
|
+
this.earningsType ||
|
|
377
|
+
(this.isBonusPayment
|
|
378
|
+
? AdminEarningsType.DESCUENTO
|
|
379
|
+
: AdminEarningsType.GANANCIA)
|
|
380
|
+
);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
get bonusDeductionFromEarnings(): number {
|
|
384
|
+
// Monto que se descuenta de las ganancias del admin por el pago del bono
|
|
385
|
+
// Es el monto bruto del bono (lo que se paga al conductor antes de retenciones)
|
|
386
|
+
return this.bonusGrossAmount || 0;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
get totalBonusPaidToDriver(): number {
|
|
390
|
+
// Monto total del bono pagado al conductor (neto después de retenciones)
|
|
391
|
+
return this.bonusAmountPaid || 0;
|
|
392
|
+
}
|
|
292
393
|
}
|
|
@@ -18,7 +18,7 @@ export interface CreateBeneficiaryData {
|
|
|
18
18
|
userId: string;
|
|
19
19
|
name: string;
|
|
20
20
|
lastName: string;
|
|
21
|
-
|
|
21
|
+
dateOfBirth?: Date | null;
|
|
22
22
|
relationship: RelationshipType;
|
|
23
23
|
gender?: Gender;
|
|
24
24
|
percentage: number;
|
|
@@ -30,7 +30,7 @@ export interface BeneficiaryAttributes {
|
|
|
30
30
|
userId: string;
|
|
31
31
|
name: string;
|
|
32
32
|
lastName: string;
|
|
33
|
-
|
|
33
|
+
dateOfBirth?: Date | null;
|
|
34
34
|
relationship: RelationshipType;
|
|
35
35
|
gender?: Gender | null;
|
|
36
36
|
percentage: number;
|
|
@@ -76,14 +76,10 @@ export class Beneficiary extends Model<
|
|
|
76
76
|
lastName: string;
|
|
77
77
|
|
|
78
78
|
@Column({
|
|
79
|
-
type: DataType.
|
|
80
|
-
allowNull:
|
|
81
|
-
validate: {
|
|
82
|
-
min: 0,
|
|
83
|
-
max: 150,
|
|
84
|
-
},
|
|
79
|
+
type: DataType.DATEONLY,
|
|
80
|
+
allowNull: true,
|
|
85
81
|
})
|
|
86
|
-
|
|
82
|
+
dateOfBirth: Date | null;
|
|
87
83
|
|
|
88
84
|
@Column({
|
|
89
85
|
type: DataType.ENUM(...Object.values(RelationshipType)),
|
|
@@ -104,7 +100,6 @@ export class Beneficiary extends Model<
|
|
|
104
100
|
min: 0,
|
|
105
101
|
max: 100,
|
|
106
102
|
},
|
|
107
|
-
comment: "Porcentaje del beneficiario (0-100)",
|
|
108
103
|
})
|
|
109
104
|
percentage: number;
|
|
110
105
|
|
|
@@ -12,7 +12,6 @@ import { DriverProfile } from "./driver.entity";
|
|
|
12
12
|
import { Trip } from "./trips.entity";
|
|
13
13
|
import { Package } from "./package.entity";
|
|
14
14
|
import { DriverDeductions } from "./driver-deductions.entity";
|
|
15
|
-
import { DriverClassification } from "../enums";
|
|
16
15
|
|
|
17
16
|
// Interface para los atributos de la entidad
|
|
18
17
|
export interface DriverEarningsAttributes {
|
|
@@ -23,8 +22,6 @@ export interface DriverEarningsAttributes {
|
|
|
23
22
|
grossEarnings: number; // Ingresos brutos del viaje/paquete
|
|
24
23
|
netEarnings: number; // Ingresos netos después de descuentos
|
|
25
24
|
totalDeductions: number; // Total de descuentos aplicados
|
|
26
|
-
bono: number; // Bono otorgado al conductor según su clasificación
|
|
27
|
-
driverClassification: DriverClassification | null; // Clasificación del conductor al momento de calcular las ganancias
|
|
28
25
|
isProcessed: boolean; // Si ya se procesó el pago
|
|
29
26
|
processedAt: Date; // Fecha de procesamiento
|
|
30
27
|
stripeTransferId: string; // ID de la transferencia en Stripe (deprecated - usar DriverTransfers)
|
|
@@ -42,8 +39,6 @@ export interface CreateDriverEarningsData {
|
|
|
42
39
|
grossEarnings: number;
|
|
43
40
|
netEarnings?: number;
|
|
44
41
|
totalDeductions?: number;
|
|
45
|
-
bono?: number;
|
|
46
|
-
driverClassification?: DriverClassification | null;
|
|
47
42
|
isProcessed?: boolean;
|
|
48
43
|
processedAt?: Date;
|
|
49
44
|
stripeTransferId?: string;
|
|
@@ -108,19 +103,6 @@ export class DriverEarnings extends Model<
|
|
|
108
103
|
})
|
|
109
104
|
totalDeductions: number;
|
|
110
105
|
|
|
111
|
-
@Column({
|
|
112
|
-
type: DataType.DECIMAL(10, 2),
|
|
113
|
-
defaultValue: 0.0,
|
|
114
|
-
allowNull: true,
|
|
115
|
-
})
|
|
116
|
-
bono: number;
|
|
117
|
-
|
|
118
|
-
@Column({
|
|
119
|
-
type: DataType.ENUM(...Object.values(DriverClassification)),
|
|
120
|
-
allowNull: true,
|
|
121
|
-
})
|
|
122
|
-
driverClassification: DriverClassification | null;
|
|
123
|
-
|
|
124
106
|
@Column({
|
|
125
107
|
type: DataType.BOOLEAN,
|
|
126
108
|
defaultValue: false,
|
|
@@ -24,6 +24,12 @@ export interface DriverTransfersAttributes {
|
|
|
24
24
|
status: DriverTransferStatus; // Estado de la transferencia
|
|
25
25
|
failureReason: string; // Razón del fallo si aplica
|
|
26
26
|
processedAt: Date; // Fecha de procesamiento
|
|
27
|
+
// Campos para bono semanal
|
|
28
|
+
hasBonus: boolean; // Indica si esta transferencia incluye un bono semanal
|
|
29
|
+
bonusGrossAmount: number; // Monto bruto del bono antes de aplicar retenciones (GananciasBrutasSemana * PorcentajeBono)
|
|
30
|
+
bonusNetAmount: number; // Monto neto del bono después de aplicar retenciones (IVA, ISR, IMSS Obrero)
|
|
31
|
+
bonusPercentage: number; // Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C
|
|
32
|
+
bonusCategory: string; // Categoría del conductor que determina el porcentaje del bono: "A" (13%), "B" (7%) o "C" (0%)
|
|
27
33
|
createdAt: Date;
|
|
28
34
|
updatedAt: Date;
|
|
29
35
|
deletedAt: Date;
|
|
@@ -41,6 +47,12 @@ export interface CreateDriverTransfersData {
|
|
|
41
47
|
status?: DriverTransferStatus;
|
|
42
48
|
failureReason?: string;
|
|
43
49
|
processedAt?: Date;
|
|
50
|
+
// Campos para bono semanal
|
|
51
|
+
hasBonus?: boolean; // Indica si esta transferencia incluye un bono semanal
|
|
52
|
+
bonusGrossAmount?: number; // Monto bruto del bono antes de aplicar retenciones (GananciasBrutasSemana * PorcentajeBono)
|
|
53
|
+
bonusNetAmount?: number; // Monto neto del bono después de aplicar retenciones (IVA, ISR, IMSS Obrero)
|
|
54
|
+
bonusPercentage?: number; // Porcentaje del bono aplicado según la categoría del conductor: 13.00 para categoría A, 7.00 para categoría B, 0.00 para categoría C
|
|
55
|
+
bonusCategory?: string; // Categoría del conductor que determina el porcentaje del bono: "A" (13%), "B" (7%) o "C" (0%)
|
|
44
56
|
}
|
|
45
57
|
|
|
46
58
|
@Table({
|
|
@@ -127,6 +139,41 @@ export class DriverTransfers extends Model<
|
|
|
127
139
|
})
|
|
128
140
|
processedAt: Date;
|
|
129
141
|
|
|
142
|
+
@Column({
|
|
143
|
+
type: DataType.BOOLEAN,
|
|
144
|
+
defaultValue: false,
|
|
145
|
+
allowNull: true,
|
|
146
|
+
comment:
|
|
147
|
+
"Indica si esta transferencia incluye un bono semanal pagado al conductor. Por defecto es false",
|
|
148
|
+
})
|
|
149
|
+
hasBonus?: boolean;
|
|
150
|
+
|
|
151
|
+
@Column({
|
|
152
|
+
type: DataType.DECIMAL(10, 2),
|
|
153
|
+
allowNull: true,
|
|
154
|
+
defaultValue: 0.0,
|
|
155
|
+
})
|
|
156
|
+
bonusGrossAmount?: number;
|
|
157
|
+
|
|
158
|
+
@Column({
|
|
159
|
+
type: DataType.DECIMAL(10, 2),
|
|
160
|
+
allowNull: true,
|
|
161
|
+
defaultValue: 0.0,
|
|
162
|
+
})
|
|
163
|
+
bonusNetAmount?: number;
|
|
164
|
+
|
|
165
|
+
@Column({
|
|
166
|
+
type: DataType.DECIMAL(5, 2),
|
|
167
|
+
allowNull: true,
|
|
168
|
+
})
|
|
169
|
+
bonusPercentage?: number;
|
|
170
|
+
|
|
171
|
+
@Column({
|
|
172
|
+
type: DataType.STRING,
|
|
173
|
+
allowNull: true,
|
|
174
|
+
})
|
|
175
|
+
bonusCategory?: string;
|
|
176
|
+
|
|
130
177
|
@DeletedAt
|
|
131
178
|
declare deletedAt: Date;
|
|
132
179
|
|
|
@@ -136,4 +183,25 @@ export class DriverTransfers extends Model<
|
|
|
136
183
|
|
|
137
184
|
@BelongsTo(() => DriverEarnings)
|
|
138
185
|
earnings: DriverEarnings;
|
|
186
|
+
|
|
187
|
+
// Métodos de conveniencia para bono
|
|
188
|
+
get includesBonus(): boolean {
|
|
189
|
+
return this.hasBonus === true;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
get totalBonusDeductions(): number {
|
|
193
|
+
// Total de retenciones aplicadas al bono
|
|
194
|
+
return (this.bonusGrossAmount || 0) - (this.bonusNetAmount || 0);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
get bonusDescription(): string {
|
|
198
|
+
if (!this.hasBonus) {
|
|
199
|
+
return "Sin bono";
|
|
200
|
+
}
|
|
201
|
+
return `Bono ${this.bonusCategory || "N/A"} (${
|
|
202
|
+
this.bonusPercentage || 0
|
|
203
|
+
}%) - Bruto: $${this.bonusGrossAmount || 0}, Neto: $${
|
|
204
|
+
this.bonusNetAmount || 0
|
|
205
|
+
}`;
|
|
206
|
+
}
|
|
139
207
|
}
|
|
@@ -15,6 +15,7 @@ export interface SystemConfigurationAttributes {
|
|
|
15
15
|
driverCancelWithoutPenaltyMinutes?: number;
|
|
16
16
|
autoCancelTimeoutMinutes?: number;
|
|
17
17
|
maxSearchRadiusKm?: number;
|
|
18
|
+
baseMultiplier?: number; // Factor R: Multiplicador base aplicado a todas las tarifas (por defecto 1.30)
|
|
18
19
|
priceService?: any;
|
|
19
20
|
createdAt: Date;
|
|
20
21
|
updatedAt: Date;
|
|
@@ -28,6 +29,7 @@ export interface CreateSystemConfigurationData {
|
|
|
28
29
|
driverCancelWithoutPenaltyMinutes?: number;
|
|
29
30
|
autoCancelTimeoutMinutes?: number;
|
|
30
31
|
maxSearchRadiusKm?: number;
|
|
32
|
+
baseMultiplier?: number; // Factor R: Multiplicador base aplicado a todas las tarifas (por defecto 1.30)
|
|
31
33
|
priceService?: any;
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -83,6 +85,13 @@ export class SystemConfiguration extends Model<
|
|
|
83
85
|
})
|
|
84
86
|
maxSearchRadiusKm?: number;
|
|
85
87
|
|
|
88
|
+
@Column({
|
|
89
|
+
type: DataType.DECIMAL(5, 2),
|
|
90
|
+
allowNull: true,
|
|
91
|
+
defaultValue: 1.3,
|
|
92
|
+
})
|
|
93
|
+
baseMultiplier?: number;
|
|
94
|
+
|
|
86
95
|
@Column({
|
|
87
96
|
type: DataType.JSON,
|
|
88
97
|
allowNull: true,
|