sigo-entities 1.2.299 → 1.2.300

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/index.d.mts CHANGED
@@ -7602,7 +7602,6 @@ declare class Peru9112WinENTITYDB {
7602
7602
  EECC: EECCDBWINDTO;
7603
7603
  boletin: FilesDocDTO;
7604
7604
  codigo_de_seguimiento: string;
7605
- n_de_orden: string;
7606
7605
  numero_de_documento: string;
7607
7606
  producto: string;
7608
7607
  }
@@ -7640,7 +7639,6 @@ declare class Peru9112WinENTITY {
7640
7639
  EECC: EECCDBWINDTO;
7641
7640
  boletin: FilesDocDTO;
7642
7641
  codigo_de_seguimiento: string;
7643
- n_de_orden: string;
7644
7642
  numero_de_documento: string;
7645
7643
  producto: string;
7646
7644
  }
package/dist/index.d.ts CHANGED
@@ -7602,7 +7602,6 @@ declare class Peru9112WinENTITYDB {
7602
7602
  EECC: EECCDBWINDTO;
7603
7603
  boletin: FilesDocDTO;
7604
7604
  codigo_de_seguimiento: string;
7605
- n_de_orden: string;
7606
7605
  numero_de_documento: string;
7607
7606
  producto: string;
7608
7607
  }
@@ -7640,7 +7639,6 @@ declare class Peru9112WinENTITY {
7640
7639
  EECC: EECCDBWINDTO;
7641
7640
  boletin: FilesDocDTO;
7642
7641
  codigo_de_seguimiento: string;
7643
- n_de_orden: string;
7644
7642
  numero_de_documento: string;
7645
7643
  producto: string;
7646
7644
  }
package/dist/index.js CHANGED
@@ -40001,7 +40001,6 @@ var Peru9112WinENTITYDB = class {
40001
40001
  EECC = new EECCDBWINDTO();
40002
40002
  boletin = new FilesDocDTO();
40003
40003
  codigo_de_seguimiento = "";
40004
- n_de_orden = "";
40005
40004
  numero_de_documento = "";
40006
40005
  producto = "";
40007
40006
  };
@@ -40166,11 +40165,6 @@ __decorateClass([
40166
40165
  (0, import_class_validator662.IsDefined)({ message: "El campo codigo_de_seguimiento es obligatorio." }),
40167
40166
  (0, import_class_validator662.IsString)()
40168
40167
  ], Peru9112WinENTITYDB.prototype, "codigo_de_seguimiento", 2);
40169
- __decorateClass([
40170
- (0, import_class_transformer684.Expose)(),
40171
- (0, import_class_validator662.IsDefined)({ message: "El campo n_de_orden es obligatorio." }),
40172
- (0, import_class_validator662.IsString)()
40173
- ], Peru9112WinENTITYDB.prototype, "n_de_orden", 2);
40174
40168
  __decorateClass([
40175
40169
  (0, import_class_transformer684.Expose)(),
40176
40170
  (0, import_class_validator662.IsDefined)({ message: "El campo numero_de_documento es obligatorio." }),
@@ -40216,7 +40210,6 @@ var Peru9112WinENTITY = class {
40216
40210
  EECC = new EECCDBWINDTO();
40217
40211
  boletin = new FilesDocDTO();
40218
40212
  codigo_de_seguimiento = "";
40219
- n_de_orden = "";
40220
40213
  numero_de_documento = "";
40221
40214
  producto = "";
40222
40215
  };
@@ -40246,8 +40239,8 @@ __decorateClass([
40246
40239
  (0, import_class_validator663.IsString)()
40247
40240
  ], Peru9112WinENTITY.prototype, "tipo_orden", 2);
40248
40241
  __decorateClass([
40249
- (0, import_class_transformer685.Expose)({ name: "Cod Seguimiento Cliente" }),
40250
- (0, import_class_validator663.IsDefined)({ message: "El campo Cod Seguimiento Cliente es obligatorio." }),
40242
+ (0, import_class_transformer685.Expose)({ name: "N\xBA" }),
40243
+ (0, import_class_validator663.IsDefined)({ message: "El campo N\xBA es obligatorio." }),
40251
40244
  (0, import_class_validator663.IsString)()
40252
40245
  ], Peru9112WinENTITY.prototype, "numero_de_peticion", 2);
40253
40246
  __decorateClass([
@@ -40384,15 +40377,10 @@ __decorateClass([
40384
40377
  (0, import_class_transformer685.Type)(() => FilesDocDTO)
40385
40378
  ], Peru9112WinENTITY.prototype, "boletin", 2);
40386
40379
  __decorateClass([
40387
- (0, import_class_transformer685.Expose)({ name: "C\xF3digo De Seguimiento" }),
40388
- (0, import_class_validator663.IsDefined)({ message: "El campo C\xF3digo De Seguimiento es obligatorio." }),
40380
+ (0, import_class_transformer685.Expose)({ name: "Cod Seguimiento Cliente" }),
40381
+ (0, import_class_validator663.IsDefined)({ message: "El campo Cod Seguimiento Cliente es obligatorio." }),
40389
40382
  (0, import_class_validator663.IsString)()
40390
40383
  ], Peru9112WinENTITY.prototype, "codigo_de_seguimiento", 2);
40391
- __decorateClass([
40392
- (0, import_class_transformer685.Expose)({ name: "N\xBA" }),
40393
- (0, import_class_validator663.IsDefined)({ message: "El campo N\xBA es obligatorio." }),
40394
- (0, import_class_validator663.IsString)()
40395
- ], Peru9112WinENTITY.prototype, "n_de_orden", 2);
40396
40384
  __decorateClass([
40397
40385
  (0, import_class_transformer685.Expose)({ name: "N\xFAmero Documento" }),
40398
40386
  (0, import_class_validator663.IsDefined)({ message: "El campo N\xFAmero Documento es obligatorio." }),
package/dist/index.mjs CHANGED
@@ -39491,7 +39491,6 @@ var Peru9112WinENTITYDB = class {
39491
39491
  EECC = new EECCDBWINDTO();
39492
39492
  boletin = new FilesDocDTO();
39493
39493
  codigo_de_seguimiento = "";
39494
- n_de_orden = "";
39495
39494
  numero_de_documento = "";
39496
39495
  producto = "";
39497
39496
  };
@@ -39656,11 +39655,6 @@ __decorateClass([
39656
39655
  IsDefined189({ message: "El campo codigo_de_seguimiento es obligatorio." }),
39657
39656
  IsString543()
39658
39657
  ], Peru9112WinENTITYDB.prototype, "codigo_de_seguimiento", 2);
39659
- __decorateClass([
39660
- Expose659(),
39661
- IsDefined189({ message: "El campo n_de_orden es obligatorio." }),
39662
- IsString543()
39663
- ], Peru9112WinENTITYDB.prototype, "n_de_orden", 2);
39664
39658
  __decorateClass([
39665
39659
  Expose659(),
39666
39660
  IsDefined189({ message: "El campo numero_de_documento es obligatorio." }),
@@ -39706,7 +39700,6 @@ var Peru9112WinENTITY = class {
39706
39700
  EECC = new EECCDBWINDTO();
39707
39701
  boletin = new FilesDocDTO();
39708
39702
  codigo_de_seguimiento = "";
39709
- n_de_orden = "";
39710
39703
  numero_de_documento = "";
39711
39704
  producto = "";
39712
39705
  };
@@ -39736,8 +39729,8 @@ __decorateClass([
39736
39729
  IsString544()
39737
39730
  ], Peru9112WinENTITY.prototype, "tipo_orden", 2);
39738
39731
  __decorateClass([
39739
- Expose660({ name: "Cod Seguimiento Cliente" }),
39740
- IsDefined190({ message: "El campo Cod Seguimiento Cliente es obligatorio." }),
39732
+ Expose660({ name: "N\xBA" }),
39733
+ IsDefined190({ message: "El campo N\xBA es obligatorio." }),
39741
39734
  IsString544()
39742
39735
  ], Peru9112WinENTITY.prototype, "numero_de_peticion", 2);
39743
39736
  __decorateClass([
@@ -39874,15 +39867,10 @@ __decorateClass([
39874
39867
  Type414(() => FilesDocDTO)
39875
39868
  ], Peru9112WinENTITY.prototype, "boletin", 2);
39876
39869
  __decorateClass([
39877
- Expose660({ name: "C\xF3digo De Seguimiento" }),
39878
- IsDefined190({ message: "El campo C\xF3digo De Seguimiento es obligatorio." }),
39870
+ Expose660({ name: "Cod Seguimiento Cliente" }),
39871
+ IsDefined190({ message: "El campo Cod Seguimiento Cliente es obligatorio." }),
39879
39872
  IsString544()
39880
39873
  ], Peru9112WinENTITY.prototype, "codigo_de_seguimiento", 2);
39881
- __decorateClass([
39882
- Expose660({ name: "N\xBA" }),
39883
- IsDefined190({ message: "El campo N\xBA es obligatorio." }),
39884
- IsString544()
39885
- ], Peru9112WinENTITY.prototype, "n_de_orden", 2);
39886
39874
  __decorateClass([
39887
39875
  Expose660({ name: "N\xFAmero Documento" }),
39888
39876
  IsDefined190({ message: "El campo N\xFAmero Documento es obligatorio." }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigo-entities",
3
- "version": "1.2.299",
3
+ "version": "1.2.300",
4
4
  "description": "Desarrollo de modelos de datos SIGO",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/.claude/CLAUDE.md DELETED
@@ -1,70 +0,0 @@
1
- # CLAUDE.md
2
-
3
- Frontend: C:\Users\USER\Desktop\Michael\5_cobra\1_workspace\1_projects\SIGO\Frontend\sigo-frontend-2
4
- Backend: C:\Users\USER\Desktop\Michael\5_cobra\1_workspace\1_projects\SIGO\Backend\sigo-backend
5
- Sigo-entities: C:\Users\USER\Desktop\Michael\5_cobra\1_workspace\1_projects\SIGO\npm\sigo-entities
6
-
7
- ## Descripción
8
- Paquete NPM interno — contrato compartido de tipos, validación y transformación entre `sigo-frontend` y `sigo-backend`.
9
-
10
- ## Comandos
11
-
12
- ```bash
13
- npm run build # Compila con tsup (CJS + ESM) y resuelve path aliases con tsc-alias
14
- ```
15
-
16
- ## Arquitectura
17
-
18
- El paquete exporta todo desde `src/index.ts`, que re-exporta por dominio:
19
-
20
- ```
21
- src/
22
- administracion/ — asistencia, personal, etc.
23
- configuracion/ — usuarios, perfiles
24
- logistica/ — bodega, items, almacen
25
- operativa/ — mantenimientos, procesos
26
- programados/ — tareas programadas
27
- shared/ — DTOs, enums, types y utils reutilizables
28
- v2/ — versión 2 de entidades/DTOs
29
- ```
30
-
31
- Cada dominio tiene su propio `index.ts` que agrega exports de sus submódulos. El entry point es `dist/index.js` (CJS) / `dist/index.mjs` (ESM) con tipos en `dist/index.d.ts`.
32
-
33
- ## Patrón de entidades y DTOs
34
-
35
- **ENTITY**: Representa un documento completo de una colección MongoDB.
36
- **DTO**: Representa una sub-estructura reutilizable o forma de datos anidados.
37
-
38
- Ejemplo de propiedad con el patrón completo:
39
-
40
- ```ts
41
- @Expose()
42
- @IsDefined({ message: "El campo X es obligatorio" })
43
- @IsString()
44
- @Length(0, 75)
45
- @Transform(({ value }) => value?.toUpperCase().trim())
46
- Codigo: string = ''
47
- ```
48
-
49
- Patrones clave:
50
-
51
- - Todas las propiedades se inicializan con valores por defecto (strings vacíos, `0`, `new Class()`)
52
- - Objetos anidados usan `@Type(() => DtoClass)` + `@ValidateNested()`
53
- - Arrays usan `@IsArray()` + `@ValidateNested({ each: true })`
54
- - Texto normalmente se transforma con `.toUpperCase().trim()`
55
-
56
- ## Path aliases (tsconfig)
57
-
58
- ```json
59
- "@shared-dto/*" → "src/shared/dto/*"
60
- "@shared-types/*" → "src/shared/types/*"
61
- "@shared-enums/*" → "src/shared/enums/*"
62
- ```
63
-
64
- ## Convenciones importantes
65
-
66
- - Cada colección MongoDB tiene exactamente una `ENTITY`
67
- - Naming: `[Nombre]ENTITY` y `[Nombre]DTO`
68
- - Este paquete es la única fuente de verdad para los tipos — no duplicar en front ni back
69
- - Cualquier cambio en una entidad impacta ambos proyectos — cuidado con breaking changes
70
- - `reflect-metadata` se importa en el `src/index.ts` raíz (requerido por class-validator/transformer)
@@ -1,21 +0,0 @@
1
- {
2
- "allow": [
3
- "Read(//c/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/Frontend/sigo-frontend-2/**)",
4
- "Read(//c/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/Backend/sigo-backend/**)",
5
- "Read(//c/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/npm/sigo-entities/**)",
6
- "Read(//c/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/npm/sigo-package/**)",
7
- "Read(.env)",
8
- "Read(.env.*)"
9
- ],
10
- "env": {
11
- "SIGO_FRONTEND": "C:/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/Frontend/sigo-frontend-2",
12
- "SIGO_BACKEND": "C:/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/Backend/sigo-backend",
13
- "SIGO_ENTITIES": "C:/Users/USER/Desktop/Michael/5_cobra/1_workspace/1_projects/SIGO/npm/sigo-entities"
14
- },
15
- "permissions": {
16
- "deny": [
17
- "Read(node_modules/**)",
18
- "Read(dist/**)"
19
- ]
20
- }
21
- }
@@ -1,60 +0,0 @@
1
- ---
2
- name: mdl-administracion
3
- description: >
4
- Dominio administracion/ — base de datos MDL_ADMINISTRACION. Usar cuando se trabaje con
5
- órdenes de trabajo (OT), asistencia, mano de obra, precios, baremos, documentación PEX,
6
- zonas de trabajo, o cualquier entidad/DTO dentro de src/administracion/.
7
- ---
8
-
9
- # Skill: MDL_ADMINISTRACION
10
-
11
- Carpeta: `src/administracion/`
12
- Base de datos MongoDB: **MDL_ADMINISTRACION**
13
-
14
- También contiene parte de **MDL_CATALOGO** — datos de referencia como precios, tipos y unidades.
15
-
16
- ## Sub-dominios principales
17
-
18
- | Carpeta | Contenido |
19
- |---|---|
20
- | `ot/` | Órdenes de Trabajo — vigencia, estado |
21
- | `otglobal/` | OT globales |
22
- | `asistencia/` | Registro de asistencia y resumen |
23
- | `mano-obra-unidad-obra/` | Relación mano de obra ↔ unidad de obra |
24
- | `mano_obra_mtto/` | Mano de obra en mantenimiento |
25
- | `precio-mano-obra/` | Precios de MO (global, empresa, precio actual) — **MDL_CATALOGO** |
26
- | `precio material/` | Precios de materiales — **MDL_CATALOGO** |
27
- | `precio especialidad/` | Precios por especialidad y agencia — **MDL_CATALOGO** |
28
- | `unidad_obra/` | Catálogo de unidades de obra — **MDL_CATALOGO** |
29
- | `unidad obra material/` | Materiales por unidad de obra — **MDL_CATALOGO** |
30
- | `zona trabajo/` | Zonas de trabajo y contratos OT |
31
- | `documentacion-pex/` | Documentación de procesos PEX |
32
- | `documentacion-baremo-pex/` | Baremos para documentación PEX |
33
- | `tipo movil/` | Tipos de vehículo/móvil — **MDL_CATALOGO** |
34
- | `tipo_clave/` | Tipos de clave — **MDL_CATALOGO** |
35
- | `rm_zona_actividad/` | Relación RM zona-actividad |
36
- | `ItemExtra/` | Ítems extra (SKU, proveedor) |
37
- | `EstadoInterno/` | Estados internos de OT |
38
- | `permisos-app/` | Permisos de la app |
39
- | `mail structure/` | Estructura de destinatarios de mail |
40
- | `key integracion/` | Claves de integración externa |
41
- | `PrecioAgencia_mam_onnet/` | Precios de agencia MAM/Onnet |
42
- | `chile 9512 paquetizado mano obra/` | Chile: MO paquetizada contrato 9512 |
43
- | `chile 9512 paquetizado material/` | Chile: material paquetizado contrato 9512 |
44
-
45
- ## Naming
46
-
47
- - Entidades: `[Nombre]ENTITY` — representan una colección MongoDB completa
48
- - DTOs: `[Nombre]DTO` — sub-estructuras anidadas o reutilizables
49
- - Ejemplo: `OtENTITY`, `VigenciaOtDTO`, `PrecioManoObraENTITY`, `PrecioEmpresaDTO`
50
-
51
- ## Ubicación de archivos
52
-
53
- ```
54
- src/administracion/
55
- └── [nombre-modulo]/
56
- └── shared/
57
- ├── [nombre].entity.ts ← ENTITY principal
58
- └── dto/
59
- └── [nombre]-dto.ts ← DTOs anidados
60
- ```
@@ -1,49 +0,0 @@
1
- ---
2
- name: mdl-configuracion
3
- description: >
4
- Dominio configuracion/ — base de datos MDL_CONFIGURACION. Usar cuando se trabaje con
5
- usuarios, perfiles, empresas, sistema, notificaciones, cargos, contratos OT,
6
- o cualquier entidad/DTO dentro de src/configuracion/.
7
- ---
8
-
9
- # Skill: MDL_CONFIGURACION
10
-
11
- Carpeta: `src/configuracion/`
12
- Base de datos MongoDB: **MDL_CONFIGURACION**
13
-
14
- ## Sub-dominios principales
15
-
16
- | Carpeta | Contenido |
17
- |---|---|
18
- | `usuarios/` | Usuarios del sistema |
19
- | `usuarios autoinventario/` | Usuarios del módulo autoinventario |
20
- | `perfiles/` | Perfiles de acceso y sistemas asociados |
21
- | `personal/` | Datos del personal |
22
- | `cargo personal/` | Cargos/roles del personal |
23
- | `empresa/` | Empresas (datos generales, GIA, grupo empresa, representante legal, tipo) |
24
- | `sistema/` | Configuración general del sistema |
25
- | `opcion sistema/` | Opciones del sistema |
26
- | `tipo opcion sistema/` | Tipos de opciones del sistema |
27
- | `tipo especialidad mo/` | Tipos de especialidad de mano de obra |
28
- | `tipo clave/` | Tipos de clave de configuración |
29
- | `contrato ot/` | Contratos de órdenes de trabajo |
30
- | `notificaciones/` | Notificaciones (data adicional) |
31
- | `scraping credential/` | Credenciales para scraping |
32
- | `theme config country/` | Configuración de tema por país |
33
-
34
- ## Naming
35
-
36
- - Entidades: `[Nombre]ENTITY`
37
- - DTOs: `[Nombre]DTO`
38
- - Ejemplo: `UsuarioENTITY`, `EmpresaENTITY`, `DatosGeneralesDTO`, `SistemaDTO`, `PerfilENTITY`
39
-
40
- ## Ubicación de archivos
41
-
42
- ```
43
- src/configuracion/
44
- └── [nombre-modulo]/
45
- └── shared/
46
- ├── [nombre].entity.ts
47
- └── dto/
48
- └── [nombre]-dto.ts
49
- ```
@@ -1,71 +0,0 @@
1
- ---
2
- name: ope-im
3
- description: >
4
- Dominio operativa/ — base de datos OPE_IM. Usar cuando se trabaje con
5
- mantenimientos, procesos de integración externa (TOA, WAOO, WIN, Fibramas, Onnet,
6
- Movistar, Somacyl, Tuves, TDC), órdenes de liquidación, order stock,
7
- o cualquier entidad/DTO dentro de src/operativa/.
8
- ---
9
-
10
- # Skill: OPE_IM
11
-
12
- Carpeta: `src/operativa/`
13
- Base de datos MongoDB: **OPE_IM**
14
-
15
- Contiene integraciones con sistemas externos de operadores de telecomunicaciones y procesos de mantenimiento.
16
-
17
- ## Sub-dominios principales
18
-
19
- ### `mantenimientos/`
20
- Entidades de mantenimiento operativo.
21
-
22
- ### `procesos/`
23
- Integraciones con sistemas externos por operador:
24
-
25
- | Carpeta | Operador / Sistema |
26
- |---|---|
27
- | `TOA orden liquidacion/` | TOA — órdenes de liquidación |
28
- | `TOA orden liquidacion_db/` | TOA — órdenes de liquidación (versión BD) |
29
- | `TOA Claro order stock/` | TOA Claro — order stock |
30
- | `TOA order stock/` | TOA — order stock genérico |
31
- | `toa_claro/` | TOA Claro (scraper + shared) |
32
- | `toa_movistar/` | TOA Movistar |
33
- | `toa_movistar_db/` | TOA Movistar (versión BD) |
34
- | `baremos_toa/` | Baremos TOA (Chile + shared) |
35
- | `liquidadas_toa/` | Órdenes TOA liquidadas |
36
- | `valorizadas_toa/` | Órdenes TOA valorizadas |
37
- | `onnet_fibra/` | Onnet Fibra (DTOs + utils) |
38
- | `fibramas_order/` | Fibramas — órdenes |
39
- | `fibramas_order_db/` | Fibramas — órdenes (versión BD) |
40
- | `win_order/` | WIN — órdenes |
41
- | `win_order_db/` | WIN — órdenes (versión BD) |
42
- | `waoo_order_stock/` | WAOO — order stock |
43
- | `cliente_waoo/` | WAOO — clientes |
44
- | `somacyl_order/` | Somacyl — órdenes |
45
- | `tuves/` | Tuves |
46
- | `tuves_order_stock/` | Tuves — order stock |
47
- | `tdc/` | TDC (Chile — DTOs + interfaces) |
48
- | `stb_dth_toaperu/` | STB DTH TOA Perú |
49
- | `order stock/` | Order stock genérico |
50
- | `request number TTL/` | Request number TTL |
51
-
52
- ## Naming
53
-
54
- - Entidades: `[Nombre]ENTITY`
55
- - DTOs: `[Nombre]DTO`
56
- - Ejemplo: `ToaOrdenLiquidacionENTITY`, `BaremoToaENTITY`, `OnnetFibraENTITY`
57
-
58
- ## Ubicación de archivos
59
-
60
- ```
61
- src/operativa/
62
- ├── mantenimientos/
63
- │ └── shared/
64
- │ └── [nombre].entity.ts
65
- └── procesos/
66
- └── [nombre-operador]/
67
- └── shared/
68
- ├── [nombre].entity.ts
69
- └── dto/
70
- └── [nombre]-dto.ts
71
- ```
@@ -1,60 +0,0 @@
1
- ---
2
- name: ope-logistica
3
- description: >
4
- Dominio logistica/ — base de datos OPE_LOGISTICA. Usar cuando se trabaje con
5
- almacenes, bodega, stock, inventario, movimientos de almacén, consumo de material,
6
- devoluciones, ítems, kits, o cualquier entidad/DTO dentro de src/logistica/.
7
- ---
8
-
9
- # Skill: OPE_LOGISTICA
10
-
11
- Carpeta: `src/logistica/`
12
- Base de datos MongoDB: **OPE_LOGISTICA**
13
-
14
- También contiene parte de **MDL_CATALOGO** — catálogo de ítems, tipos de almacén, unidades de medida.
15
-
16
- ## Sub-dominios principales
17
-
18
- | Carpeta | Contenido |
19
- |---|---|
20
- | `almacen/` | Almacenes |
21
- | `almacen extra/` | Almacenes extra |
22
- | `bodega/` | Bodegas |
23
- | `stock almacen/` | Stock en almacén |
24
- | `stock almacen equipos/` | Stock de equipos en almacén |
25
- | `stock personal/` | Stock asignado a personal |
26
- | `stock personal equipos/` | Stock de equipos del personal |
27
- | `movimiento almacen/` | Movimientos de almacén |
28
- | `ingreso almacen/` | Ingresos a almacén |
29
- | `salida almacen/` | Salidas de almacén |
30
- | `devolucion almacen/` | Devoluciones de almacén |
31
- | `consumo material/` | Consumo de material (incluye variante Alemania) |
32
- | `consumos P117/` | Consumos protocolo P117 |
33
- | `kitconsumo/` | Kits de consumo |
34
- | `autoinventario/` | Autoinventario |
35
- | `transaccion folios/` | Transacciones con folios |
36
- | `atencion ordenes liquidadas/` | Atención de órdenes liquidadas |
37
- | `items/` | Catálogo de ítems (incluye variante Alemania) — **MDL_CATALOGO** |
38
- | `gran familia item/` | Gran familia de ítems — **MDL_CATALOGO** |
39
- | `tipo almacen/` | Tipos de almacén — **MDL_CATALOGO** |
40
- | `tipo movimiento almacen/` | Tipos de movimiento de almacén — **MDL_CATALOGO** |
41
- | `tipo stock/` | Tipos de stock — **MDL_CATALOGO** |
42
- | `unidad medida/` | Unidades de medida — **MDL_CATALOGO** |
43
- | `procesos/navisionpreorden/` | Pre-órdenes Navision (DTOs, enums, requestDtos) |
44
-
45
- ## Naming
46
-
47
- - Entidades: `[Nombre]ENTITY`
48
- - DTOs: `[Nombre]DTO`
49
- - Ejemplo: `AlmacenENTITY`, `AlmacenDTO`, `StockAlmacenENTITY`, `MovimientoAlmacenENTITY`
50
-
51
- ## Ubicación de archivos
52
-
53
- ```
54
- src/logistica/
55
- └── [nombre-modulo]/
56
- └── shared/
57
- ├── [nombre].entity.ts
58
- └── dto/
59
- └── [nombre]-dto.ts
60
- ```
@@ -1,106 +0,0 @@
1
- ---
2
- name: ope-pex
3
- description: >
4
- Dominio programados/ — base de datos OPE_PEX. Usar cuando se trabaje con
5
- procesos programados de ejecución: obra, trabajo, cubicación, macroobra,
6
- reservas (MO y material), reportes de producción, liberación de pagos,
7
- mantenimientos de catálogos (agencia, cuadrilla, periodo, presupuesto),
8
- o cualquier entidad/DTO dentro de src/programados/.
9
- ---
10
-
11
- # Skill: OPE_PEX
12
-
13
- Carpeta: `src/programados/`
14
- Base de datos MongoDB: **OPE_PEX**
15
-
16
- Procesos programados de ejecución — el dominio más grande del paquete.
17
-
18
- ## Sub-dominios principales
19
-
20
- ### `Reportes/`
21
-
22
- | Carpeta | Contenido |
23
- |---|---|
24
- | `LiberacionDePagos/` | Reporte de liberación de pagos (DTOs + requestDtos) |
25
- | `ReporteProduccion/` | Reporte de producción (Alemania, Chile, Colombia — baremos y resumen) |
26
- | `RptProduccionCurso_Baremos_Fases/` | Reporte producción en curso con baremos y fases |
27
-
28
- ### `mantenimientos/`
29
- Catálogos y configuraciones base de OPE_PEX:
30
-
31
- | Carpeta | Contenido |
32
- |---|---|
33
- | `agencia/` | Agencias |
34
- | `area_gom/` | Áreas GOM |
35
- | `centro costos/` | Centros de costo |
36
- | `contrato-pagos/` | Contratos de pago (Alemania) |
37
- | `cuadrilla/` | Cuadrillas de trabajo |
38
- | `mano obra global/` | Mano de obra global |
39
- | `mano-obra-baremo/` | Mano de obra × baremo |
40
- | `periodo/` | Períodos |
41
- | `presupuesto-ot/` | Presupuesto de OT |
42
- | `rm actividad/` | RM actividad |
43
- | `rm comuna/` | RM comuna |
44
- | `rm mano obra/` | RM mano de obra |
45
- | `rm paquetizado/` | RM paquetizado |
46
- | `rm-material/` | RM material |
47
- | `rm-zonas-actividad/` | RM zonas de actividad |
48
- | `tipo actividad mo/` | Tipos de actividad MO |
49
- | `tipo obra/` | Tipos de obra |
50
-
51
- ### `procesos/`
52
- Procesos de ejecución programada:
53
-
54
- | Carpeta | Contenido |
55
- |---|---|
56
- | `obra/` | Obra (Alemania AL02/AL04, Chile 9512, Colombia 9612, Perú 9112, shared) |
57
- | `trabajo/` | Trabajo (Alemania + shared) |
58
- | `macroobra/` | Macro-obra (Chile, Perú, shared) |
59
- | `trabajoMacroObra/` | Trabajo en macro-obra (Alemania + shared) |
60
- | `cubicacion/` | Cubicación (Alemania, Chile, Colombia, Perú, shared) |
61
- | `reservaManoObra/` | Reserva de mano de obra (Alemania + shared) |
62
- | `reservaManoObraRegularizacion/` | Regularización de reserva MO |
63
- | `reservaMaterial/` | Reserva de material |
64
- | `precioContratistaIssue/` | Precio contratista — issues (Alemania AL02 + shared) |
65
- | `precioContratistaMO/` | Precio contratista MO (Alemania AL02/AL04 + shared) |
66
- | `precioContratistaMaterial/` | Precio contratista material |
67
- | `gom/` | GOM (Colombia + shared) |
68
- | `Issue/` | Issues generales |
69
- | `addressList_AL04/` | Lista de direcciones AL04 (Alemania) |
70
- | `data-migrations/` | Migraciones de datos |
71
- | `model mo sql/` | Modelo MO SQL (Perú) |
72
- | `model obra sql/` | Modelo obra SQL (Perú) |
73
-
74
- ## Naming
75
-
76
- - Entidades: `[Nombre]ENTITY`
77
- - DTOs: `[Nombre]DTO`
78
- - Ejemplo: `ObraENTITY`, `TrabajoENTITY`, `CubicacionENTITY`, `ReservaManoObraENTITY`
79
-
80
- ## Patrón por país
81
-
82
- Muchos módulos tienen variantes por país dentro del mismo proceso:
83
-
84
- ```
85
- procesos/obra/
86
- ├── alemania/AL02/ ← contrato alemán AL02
87
- ├── alemania/AL04/ ← contrato alemán AL04
88
- ├── chile/9512/ ← contrato chileno 9512
89
- ├── colombia/9612/ ← contrato colombiano 9612
90
- ├── peru/9112/ ← contrato peruano 9112
91
- └── shared/ ← estructura base compartida
92
- ```
93
-
94
- ## Ubicación de archivos
95
-
96
- ```
97
- src/programados/
98
- ├── Reportes/[nombre]/shared/(dto|request_dto)/
99
- ├── mantenimientos/[nombre]/shared/(entity|dto)/
100
- └── procesos/[nombre]/
101
- ├── shared/
102
- │ ├── [nombre].entity.ts
103
- │ ├── dto/
104
- │ └── requestDto/
105
- └── [pais]/dto/
106
- ```
@@ -1,76 +0,0 @@
1
- ---
2
- name: shared-dtos
3
- description: >
4
- Dominio shared/ — DTOs, enums, types y utils reutilizables en todos los dominios.
5
- Usar cuando se necesite un DTO transversal como CodigoNombre, UsuarioDTO, o cualquier
6
- estructura que se repite en múltiples colecciones/módulos. También contiene enums
7
- globales, tipos TypeScript y utilidades de transformación.
8
- ---
9
-
10
- # Skill: Shared DTOs
11
-
12
- Carpeta: `src/shared/`
13
- **No tiene base de datos propia** — es código reutilizado por todos los dominios.
14
-
15
- ## Sub-carpetas
16
-
17
- ### `dto/`
18
- DTOs transversales usados en múltiples entidades y dominios.
19
-
20
- Ejemplos clave:
21
-
22
- | DTO | Forma | Uso |
23
- |---|---|---|
24
- | `CodigoNombre` | `{ Codigo: string, Nombre: string }` | Referencia genérica a catálogos |
25
- | `UsuarioDTO` | datos del usuario | Auditoría, asignaciones |
26
- | `AlmacenDTO` | datos de almacén | Referencia a almacenes en otros módulos |
27
- | `AutoinventarioDTO` | — | Inventario en múltiples dominios |
28
- | `ZonasDTO` | — | Zonas de trabajo transversales |
29
-
30
- > Si una estructura `{ Codigo, Nombre }` aparece en varios módulos, usar `CodigoNombre` de shared en vez de redefinirla.
31
-
32
- ### `enums/`
33
- Enums globales del sistema:
34
-
35
- | Archivo | Contenido |
36
- |---|---|
37
- | `RequeridoEnum.ts` | Enum de campos requeridos |
38
- | `StateInternalOrder.ts` | Estados de órdenes internas |
39
- | `StateInternalOrderTOA.ts` | Estados de órdenes TOA |
40
-
41
- ### `types/`
42
- Tipos TypeScript globales:
43
-
44
- | Archivo | Contenido |
45
- |---|---|
46
- | `sistema-recurso.ts` | Tipo de recurso del sistema |
47
- | `state-inventory.ts` | Tipo de estado de inventario |
48
-
49
- ### `utils/`
50
- Utilidades de transformación usadas en decoradores `@Transform`:
51
-
52
- | Utilidad | Función |
53
- |---|---|
54
- | `trimAndUpperCaseString` | `.trim().toUpperCase()` — la más usada |
55
- | `smartDateTransformer` | Transforma strings a Date de forma segura |
56
- | `convertStringsToDates` | Convierte strings ISO a Date en objetos |
57
- | `convertTypeNumber` | Fuerza conversión a número |
58
- | `forceString` | Fuerza conversión a string |
59
- | `transformToDateIfEmpty` | Date con fallback si vacío |
60
- | `enumToArray` | Convierte enum a array |
61
- | `entity_generator` | Genera instancias de entidad con defaults |
62
- | `entity_generator_under_hyphen` | Variante con naming hyphen |
63
- | `validarYFormatearDatos` | Valida y formatea datos |
64
- | `validateArrayBody` | Valida arrays en body |
65
-
66
- ## Path aliases
67
-
68
- ```ts
69
- import { ... } from '@shared-dto/nombre-dto' // src/shared/dto/
70
- import { ... } from '@shared-types/nombre-type' // src/shared/types/
71
- import { ... } from '@shared-enums/nombre-enum' // src/shared/enums/
72
- ```
73
-
74
- ## Regla
75
-
76
- Antes de crear un DTO nuevo, revisar si ya existe en `shared/dto/`. Si la misma forma de datos aparece en ≥2 módulos distintos, pertenece a `shared/`.