uaxi-shared-entities 1.0.86 → 1.0.88

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.
@@ -1,10 +1,12 @@
1
1
  import { Model } from "sequelize-typescript";
2
2
  import { DriverDeductions } from "./driver-deductions.entity";
3
+ import { DriverDeductionCategory } from "../enums/driver-deduction-category.enum";
3
4
  export interface DriverDeductionTypesAttributes {
4
5
  id: string;
5
6
  name: string;
6
7
  code: string;
7
8
  percentage: number;
9
+ category: DriverDeductionCategory;
8
10
  isActive: boolean;
9
11
  description: string;
10
12
  createdAt: Date;
@@ -15,6 +17,7 @@ export interface CreateDriverDeductionTypesData {
15
17
  name: string;
16
18
  code: string;
17
19
  percentage: number;
20
+ category: DriverDeductionCategory;
18
21
  isActive?: boolean;
19
22
  description?: string;
20
23
  }
@@ -23,6 +26,7 @@ export declare class DriverDeductionTypes extends Model<DriverDeductionTypesAttr
23
26
  name: string;
24
27
  code: string;
25
28
  percentage: number;
29
+ category: DriverDeductionCategory;
26
30
  isActive: boolean;
27
31
  description: string;
28
32
  deletedAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"driver-deduction-types.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-deduction-types.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAKa,oBAAqB,SAAQ,KAAK,CAC7C,8BAA8B,EAC9B,8BAA8B,CAC/B;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,IAAI,EAAE,MAAM,CAAC;IAOb,IAAI,EAAE,MAAM,CAAC;IAOb,UAAU,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,OAAO,CAAC;IAOlB,WAAW,EAAE,MAAM,CAAC;IAGZ,SAAS,EAAE,IAAI,CAAC;IAIxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"driver-deduction-types.entity.d.ts","sourceRoot":"","sources":["../../src/entities/driver-deduction-types.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAGlF,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAKa,oBAAqB,SAAQ,KAAK,CAC7C,8BAA8B,EAC9B,8BAA8B,CAC/B;IAMS,EAAE,EAAE,MAAM,CAAC;IAOnB,IAAI,EAAE,MAAM,CAAC;IAOb,IAAI,EAAE,MAAM,CAAC;IAOb,UAAU,EAAE,MAAM,CAAC;IAOnB,QAAQ,EAAE,uBAAuB,CAAC;IAOlC,QAAQ,EAAE,OAAO,CAAC;IAOlB,WAAW,EAAE,MAAM,CAAC;IAGZ,SAAS,EAAE,IAAI,CAAC;IAIxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DriverDeductionTypes = void 0;
13
13
  const sequelize_typescript_1 = require("sequelize-typescript");
14
14
  const driver_deductions_entity_1 = require("./driver-deductions.entity");
15
+ const driver_deduction_category_enum_1 = require("../enums/driver-deduction-category.enum");
15
16
  let DriverDeductionTypes = class DriverDeductionTypes extends sequelize_typescript_1.Model {
16
17
  };
17
18
  exports.DriverDeductionTypes = DriverDeductionTypes;
@@ -43,15 +44,20 @@ __decorate([
43
44
  (0, sequelize_typescript_1.Column)({
44
45
  type: sequelize_typescript_1.DataType.DECIMAL(5, 2),
45
46
  allowNull: false,
46
- comment: "Porcentaje del descuento (ej: 8.00 para 8%)",
47
47
  }),
48
48
  __metadata("design:type", Number)
49
49
  ], DriverDeductionTypes.prototype, "percentage", void 0);
50
+ __decorate([
51
+ (0, sequelize_typescript_1.Column)({
52
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(driver_deduction_category_enum_1.DriverDeductionCategory)),
53
+ allowNull: false,
54
+ }),
55
+ __metadata("design:type", String)
56
+ ], DriverDeductionTypes.prototype, "category", void 0);
50
57
  __decorate([
51
58
  (0, sequelize_typescript_1.Column)({
52
59
  type: sequelize_typescript_1.DataType.BOOLEAN,
53
60
  defaultValue: true,
54
- comment: "Indica si el descuento está activo",
55
61
  }),
56
62
  __metadata("design:type", Boolean)
57
63
  ], DriverDeductionTypes.prototype, "isActive", void 0);
@@ -59,7 +65,6 @@ __decorate([
59
65
  (0, sequelize_typescript_1.Column)({
60
66
  type: sequelize_typescript_1.DataType.TEXT,
61
67
  allowNull: true,
62
- comment: "Descripción detallada del descuento",
63
68
  }),
64
69
  __metadata("design:type", String)
65
70
  ], DriverDeductionTypes.prototype, "description", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"driver-deduction-types.entity.js","sourceRoot":"","sources":["../../src/entities/driver-deduction-types.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAO8B;AAC9B,yEAA8D;AA6BvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4BAGzC;CAiDA,CAAA;AApDY,oDAAoB;AASvB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;gDACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;kDACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;kDACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,6CAA6C;KACvD,CAAC;;wDACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,oCAAoC;KAC9C,CAAC;;sDACgB;AAOlB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,qCAAqC;KAC/C,CAAC;;yDACkB;AAGZ;IADP,gCAAS;8BACS,IAAI;uDAAC;AAIxB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,iBAAiB,CAAC;;wDACpB;+BAnDpB,oBAAoB;IALhC,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,uBAAuB;KACxC,CAAC;GACW,oBAAoB,CAoDhC"}
1
+ {"version":3,"file":"driver-deduction-types.entity.js","sourceRoot":"","sources":["../../src/entities/driver-deduction-types.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAO8B;AAC9B,yEAA8D;AAC9D,4FAAkF;AA+B3E,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4BAGzC;CAwDA,CAAA;AA3DY,oDAAoB;AASvB;IALP,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,+BAAQ,CAAC,MAAM;QAC7B,UAAU,EAAE,IAAI;KACjB,CAAC;;gDACiB;AAOnB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;kDACW;AAOb;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACb,CAAC;;kDACW;AAOb;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;;wDACiB;AAOnB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,wDAAuB,CAAC,CAAC;QAC9D,SAAS,EAAE,KAAK;KACjB,CAAC;;sDACgC;AAOlC;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;KACnB,CAAC;;sDACgB;AAOlB;IAJC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI;KAChB,CAAC;;yDACkB;AAGZ;IADP,gCAAS;8BACS,IAAI;uDAAC;AAIxB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,2CAAgB,EAAE,iBAAiB,CAAC;;wDACpB;+BA1DpB,oBAAoB;IALhC,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI,EAAE,uBAAuB;KACxC,CAAC;GACW,oBAAoB,CA2DhC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Enum para categorizar los tipos de deducciones y parámetros de cálculo
3
+ */
4
+ export declare enum DriverDeductionCategory {
5
+ /**
6
+ * Retenciones reales del conductor (se deducen de su ganancia bruta)
7
+ * Ejemplos: IVA, ISR, IMSS Obrero
8
+ */
9
+ RETENTION = "RETENTION",
10
+ /**
11
+ * Costos del administrador/empresa (no se deducen del conductor)
12
+ * Ejemplos: IMSS Patron, SEMOVI
13
+ */
14
+ ADMIN_COST = "ADMIN_COST",
15
+ /**
16
+ * Parámetros de cálculo (porcentajes usados para calcular ganancias, no son deducciones)
17
+ * Ejemplos: PORC_PAGO_BASE, PORC_BONO_A, PORC_BONO_B, PORC_BONO_C
18
+ */
19
+ CALCULATION_PARAMETER = "CALCULATION_PARAMETER"
20
+ }
21
+ //# sourceMappingURL=driver-deduction-category.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-deduction-category.enum.d.ts","sourceRoot":"","sources":["../../src/enums/driver-deduction-category.enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,uBAAuB;IACjC;;;OAGG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;OAGG;IACH,qBAAqB,0BAA0B;CAChD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DriverDeductionCategory = void 0;
4
+ /**
5
+ * Enum para categorizar los tipos de deducciones y parámetros de cálculo
6
+ */
7
+ var DriverDeductionCategory;
8
+ (function (DriverDeductionCategory) {
9
+ /**
10
+ * Retenciones reales del conductor (se deducen de su ganancia bruta)
11
+ * Ejemplos: IVA, ISR, IMSS Obrero
12
+ */
13
+ DriverDeductionCategory["RETENTION"] = "RETENTION";
14
+ /**
15
+ * Costos del administrador/empresa (no se deducen del conductor)
16
+ * Ejemplos: IMSS Patron, SEMOVI
17
+ */
18
+ DriverDeductionCategory["ADMIN_COST"] = "ADMIN_COST";
19
+ /**
20
+ * Parámetros de cálculo (porcentajes usados para calcular ganancias, no son deducciones)
21
+ * Ejemplos: PORC_PAGO_BASE, PORC_BONO_A, PORC_BONO_B, PORC_BONO_C
22
+ */
23
+ DriverDeductionCategory["CALCULATION_PARAMETER"] = "CALCULATION_PARAMETER";
24
+ })(DriverDeductionCategory || (exports.DriverDeductionCategory = DriverDeductionCategory = {}));
25
+ //# sourceMappingURL=driver-deduction-category.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-deduction-category.enum.js","sourceRoot":"","sources":["../../src/enums/driver-deduction-category.enum.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,uBAkBX;AAlBD,WAAY,uBAAuB;IACjC;;;OAGG;IACH,kDAAuB,CAAA;IAEvB;;;OAGG;IACH,oDAAyB,CAAA;IAEzB;;;OAGG;IACH,0EAA+C,CAAA;AACjD,CAAC,EAlBW,uBAAuB,uCAAvB,uBAAuB,QAkBlC"}
@@ -14,6 +14,7 @@ export * from "./driver-documents.enum";
14
14
  export * from "./vehicle-documents.enum";
15
15
  export * from "./document-status.enum";
16
16
  export * from "./driver-transfer.enum";
17
+ export * from "./driver-deduction-category.enum";
17
18
  export * from "./sos-alert.enum";
18
19
  export * from "./inspection-status.enum";
19
20
  export * from "./semovi.enum";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
@@ -33,6 +33,7 @@ __exportStar(require("./driver-documents.enum"), exports);
33
33
  __exportStar(require("./vehicle-documents.enum"), exports);
34
34
  __exportStar(require("./document-status.enum"), exports);
35
35
  __exportStar(require("./driver-transfer.enum"), exports);
36
+ __exportStar(require("./driver-deduction-category.enum"), exports);
36
37
  __exportStar(require("./sos-alert.enum"), exports);
37
38
  __exportStar(require("./inspection-status.enum"), exports);
38
39
  __exportStar(require("./semovi.enum"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,yBAAyB;AACzB,gDAAgD;;;;;;;;;;;;;;;;AAEhD,8CAA4B;AAC5B,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,sDAAoC;AACpC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,yBAAyB;AACzB,gDAAgD;;;;;;;;;;;;;;;;AAEhD,8CAA4B;AAC5B,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,sDAAoC;AACpC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AACrC,0DAAwC;AACxC,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,mDAAiC;AACjC,2DAAyC;AACzC,gDAA8B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uaxi-shared-entities",
3
- "version": "1.0.86",
3
+ "version": "1.0.88",
4
4
  "description": "Entidades compartidas para microservicios UAXI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,6 +7,7 @@ import {
7
7
  Table,
8
8
  } from "sequelize-typescript";
9
9
  import { DriverDeductions } from "./driver-deductions.entity";
10
+ import { DriverDeductionCategory } from "../enums/driver-deduction-category.enum";
10
11
 
11
12
  // Interface para los atributos de la entidad
12
13
  export interface DriverDeductionTypesAttributes {
@@ -14,6 +15,7 @@ export interface DriverDeductionTypesAttributes {
14
15
  name: string; // Nombre del descuento (IVA, ISR, NUEVA REFORMA, etc.)
15
16
  code: string; // Código único del descuento
16
17
  percentage: number; // Porcentaje del descuento
18
+ category: DriverDeductionCategory; // Categoría: RETENTION, ADMIN_COST, o CALCULATION_PARAMETER
17
19
  isActive: boolean; // Si el descuento está activo
18
20
  description: string; // Descripción del descuento
19
21
  createdAt: Date;
@@ -26,6 +28,7 @@ export interface CreateDriverDeductionTypesData {
26
28
  name: string;
27
29
  code: string;
28
30
  percentage: number;
31
+ category: DriverDeductionCategory;
29
32
  isActive?: boolean;
30
33
  description?: string;
31
34
  }
@@ -60,24 +63,31 @@ export class DriverDeductionTypes extends Model<
60
63
  })
61
64
  code: string;
62
65
 
66
+ // Porcentaje del descuento (ej: 8.00 para 8%)
63
67
  @Column({
64
68
  type: DataType.DECIMAL(5, 2),
65
69
  allowNull: false,
66
- comment: "Porcentaje del descuento (ej: 8.00 para 8%)",
67
70
  })
68
71
  percentage: number;
69
72
 
73
+ // Categoría: RETENTION (retención del conductor), ADMIN_COST (costo del admin), CALCULATION_PARAMETER (parámetro de cálculo)
74
+ @Column({
75
+ type: DataType.ENUM(...Object.values(DriverDeductionCategory)),
76
+ allowNull: false,
77
+ })
78
+ category: DriverDeductionCategory;
79
+
80
+ // Indica si el descuento está activo
70
81
  @Column({
71
82
  type: DataType.BOOLEAN,
72
83
  defaultValue: true,
73
- comment: "Indica si el descuento está activo",
74
84
  })
75
85
  isActive: boolean;
76
86
 
87
+ // Descripción detallada del descuento
77
88
  @Column({
78
89
  type: DataType.TEXT,
79
90
  allowNull: true,
80
- comment: "Descripción detallada del descuento",
81
91
  })
82
92
  description: string;
83
93
 
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Enum para categorizar los tipos de deducciones y parámetros de cálculo
3
+ */
4
+ export enum DriverDeductionCategory {
5
+ /**
6
+ * Retenciones reales del conductor (se deducen de su ganancia bruta)
7
+ * Ejemplos: IVA, ISR, IMSS Obrero
8
+ */
9
+ RETENTION = "RETENTION",
10
+
11
+ /**
12
+ * Costos del administrador/empresa (no se deducen del conductor)
13
+ * Ejemplos: IMSS Patron, SEMOVI
14
+ */
15
+ ADMIN_COST = "ADMIN_COST",
16
+
17
+ /**
18
+ * Parámetros de cálculo (porcentajes usados para calcular ganancias, no son deducciones)
19
+ * Ejemplos: PORC_PAGO_BASE, PORC_BONO_A, PORC_BONO_B, PORC_BONO_C
20
+ */
21
+ CALCULATION_PARAMETER = "CALCULATION_PARAMETER",
22
+ }
@@ -18,6 +18,7 @@ export * from "./driver-documents.enum";
18
18
  export * from "./vehicle-documents.enum";
19
19
  export * from "./document-status.enum";
20
20
  export * from "./driver-transfer.enum";
21
+ export * from "./driver-deduction-category.enum";
21
22
  export * from "./sos-alert.enum";
22
23
  export * from "./inspection-status.enum";
23
24
  export * from "./semovi.enum";