sigo-package 1.1.21 → 1.1.22
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/Programados/{dtos → Dtos}/ItemDto.d.ts +2 -2
- package/dist/Programados/{dtos → Dtos}/MaterialesUtiRetDto.d.ts +2 -1
- package/dist/sigo-package.cjs.development.js +1 -1
- package/dist/sigo-package.cjs.development.js.map +1 -1
- package/dist/sigo-package.cjs.production.min.js +1 -1
- package/dist/sigo-package.cjs.production.min.js.map +1 -1
- package/dist/sigo-package.esm.js +1 -1
- package/dist/sigo-package.esm.js.map +1 -1
- package/package.json +19 -18
- package/readme.md +32 -32
- package/src/Programados/ActualizarDataManoObra.ts +36 -36
- package/src/Programados/ActualizarDataReserva.ts +8 -8
- package/src/Programados/ActualizarDataResumenLiquidaciones.ts +51 -51
- package/src/Programados/ActualizarDataTrabajos.ts +38 -38
- package/src/Programados/Alemania/ActualizarDataResumenLiquidacionesAlemania.ts +52 -52
- package/src/Programados/Alemania/CalcularResumenHPMOLiquidado/index.ts +45 -45
- package/src/Programados/Alemania/CalcularResumenValorizacionesAlemania.ts +147 -147
- package/src/Programados/Alemania/CodigosMaterialSoplado.ts +8 -8
- package/src/Programados/Alemania/CodsMapeoMOMaterial.ts +40 -40
- package/src/Programados/Alemania/Models/DataFlujosHomePass.ts +37 -37
- package/src/Programados/Alemania/Models/DocumentacionHPBussines.ts +379 -379
- package/src/Programados/Alemania/Models/DocumentacionHPResidential.ts +456 -456
- package/src/Programados/Alemania/Models/index.ts +8 -8
- package/src/Programados/Alemania/ObtenerMONoReservada/filtrarMONoReservada.ts +15 -15
- package/src/Programados/Alemania/ObtenerMONoReservada/generarModeloAmap.md +6 -6
- package/src/Programados/Alemania/ObtenerMONoReservada/generarModeloAmap.ts +89 -89
- package/src/Programados/Alemania/ObtenerMONoReservada/index.ts +76 -76
- package/src/Programados/Alemania/UpdateNodosDocDP/index.ts +45 -45
- package/src/Programados/Alemania/UpdateNodosDocDP/updateNodoAsfaltoRecursivo.ts +42 -42
- package/src/Programados/Alemania/UpdateNodosDocDP/updateNodoZanjaRecursivo.ts +42 -42
- package/src/Programados/Alemania/UpdateNodosDocDP/updateNodosPorEspecialidad.ts +4 -4
- package/src/Programados/Alemania/codMOTroncal_ReglaLiquidacion1.ts +73 -70
- package/src/Programados/Alemania/codigosMOHP.ts +33 -33
- package/src/Programados/Alemania/codigosMaterialDuctos.ts +17 -17
- package/src/Programados/Alemania/codigosMaterialUGG.ts +25 -25
- package/src/Programados/Alemania/index.ts +40 -40
- package/src/Programados/BuscarZonaContratista.ts +27 -27
- package/src/Programados/CalcularResumenLiquidaciones.ts +115 -115
- package/src/Programados/ObtenerZonaAsignada.ts +19 -19
- package/src/Programados/PaisMapping.ts +10 -10
- package/src/Programados/Procesos/Modelos/DocumentacionReplanteo.ts +53 -53
- package/src/Programados/Procesos/Modelos/ModelDataFlujosDocumentacionReplanteo.ts +51 -51
- package/src/Programados/Procesos/Modelos/index.ts +6 -6
- package/src/Programados/Procesos/Preliquidar/ObtenerPrecioContratistaVigente.ts +24 -24
- package/src/Programados/Procesos/Preliquidar/index.ts +4 -4
- package/src/Programados/Procesos/index.ts +10 -10
- package/src/Programados/Procesos/parteDiario/CompararFechas.ts +7 -7
- package/src/Programados/Procesos/parteDiario/GetCodigoFechaActual.ts +10 -10
- package/src/Programados/Procesos/parteDiario/index.ts +6 -6
- package/src/Programados/dtos/AmapCantidadesDto.ts +5 -5
- package/src/Programados/dtos/AmapDto.ts +30 -30
- package/src/Programados/dtos/AsignacionValorizacionDto.ts +17 -17
- package/src/Programados/dtos/CentroCostosDto.ts +9 -9
- package/src/Programados/dtos/CertificacionDto.ts +10 -10
- package/src/Programados/dtos/ContrataDto.ts +6 -6
- package/src/Programados/dtos/ContratoOTDto.ts +8 -8
- package/src/Programados/dtos/DatosCatalogoItemDto.ts +6 -6
- package/src/Programados/dtos/DatosCatalogoMODto.ts +8 -8
- package/src/Programados/dtos/DatosItemDto.ts +5 -5
- package/src/Programados/dtos/DatosManoObraGlobalDto.ts +8 -8
- package/src/Programados/dtos/DatosPrecioEspecialidadDto.ts +9 -9
- package/src/Programados/dtos/DatosPrecioMaterialDto.ts +10 -10
- package/src/Programados/dtos/DatosUnidadObraMaterialDto.ts +6 -6
- package/src/Programados/dtos/DetalleChileReservaMODto.ts +29 -29
- package/src/Programados/dtos/DetalleManoObraChileDto.ts +4 -4
- package/src/Programados/dtos/FlujoDocDto.ts +12 -12
- package/src/Programados/dtos/HomePassDto.ts +13 -13
- package/src/Programados/dtos/ItemCantidadesDto.ts +4 -4
- package/src/Programados/dtos/ItemDto.ts +30 -30
- package/src/Programados/dtos/ManoObraBaremoDto.ts +7 -7
- package/src/Programados/dtos/MaterialAmapDto.ts +15 -15
- package/src/Programados/dtos/MaterialLogisticaDto.ts +9 -9
- package/src/Programados/dtos/MaterialesUtiRetDto.ts +19 -19
- package/src/Programados/dtos/OTGlobalDto.ts +5 -5
- package/src/Programados/dtos/PeriodoDto.ts +8 -8
- package/src/Programados/dtos/PrecioActividadDto.ts +11 -11
- package/src/Programados/dtos/PreciosAgenciaDto.ts +10 -10
- package/src/Programados/dtos/PreciosContrataDto.ts +8 -8
- package/src/Programados/dtos/PreciosVigentesDto.ts +8 -8
- package/src/Programados/dtos/PreciosZonasDto.ts +9 -9
- package/src/Programados/dtos/ProduccionDto.ts +12 -12
- package/src/Programados/dtos/ValorizacionDto.ts +44 -44
- package/src/Programados/dtos/VarianteDto.ts +3 -3
- package/src/Programados/dtos/VigenciaDto.ts +3 -3
- package/src/Programados/dtos/WBEDto.ts +4 -4
- package/src/Programados/dtos/index.ts +10 -10
- package/src/Programados/entitys/DocumentacionPEXEntity.ts +20 -20
- package/src/Programados/entitys/EstadoInternoEntity.ts +22 -22
- package/src/Programados/entitys/ManoDeObraEntity.ts +20 -20
- package/src/Programados/entitys/ManoObraGlobalEntity.ts +19 -19
- package/src/Programados/entitys/ObraEntity.ts +4 -4
- package/src/Programados/entitys/ReservaEntity.ts +20 -20
- package/src/Programados/entitys/TrabajoEntity.ts +76 -76
- package/src/Programados/index.ts +74 -74
- package/src/index.ts +78 -78
- package/src/shared/Utils/CurrencyFormat.ts +79 -79
- package/src/shared/Utils/IsValidDate.ts +2 -2
- package/src/shared/Utils/index.ts +6 -6
- package/src/shared/dtos/AnexoDto.ts +9 -9
- package/src/shared/dtos/BitacoraDto.ts +7 -7
- package/src/shared/dtos/CodigoDescripcionDto.ts +3 -3
- package/src/shared/dtos/CoordenadasDto.ts +3 -3
- package/src/shared/dtos/DelegacionDto.ts +3 -3
- package/src/shared/dtos/EmpresaDto.ts +3 -3
- package/src/shared/dtos/EmpresaUsuarioDto.ts +6 -6
- package/src/shared/dtos/EstadoDto.ts +3 -3
- package/src/shared/dtos/EstadoInternoDto.ts +15 -15
- package/src/shared/dtos/FilesDocDto.ts +19 -19
- package/src/shared/dtos/GeneralCodigoNombreDto.ts +3 -3
- package/src/shared/dtos/GeneralCodigoNombreUnidadDto.ts +4 -4
- package/src/shared/dtos/NodoDocDto.ts +18 -18
- package/src/shared/dtos/PaisDto.ts +3 -3
- package/src/shared/dtos/PersonalDto.ts +7 -7
- package/src/shared/dtos/SizeDto.ts +3 -3
- package/src/shared/dtos/UnidadMedidaDto.ts +3 -3
- package/src/shared/dtos/UsuarioDto.ts +5 -5
- package/src/shared/dtos/UsuarioEdicionDto.ts +4 -4
- package/src/shared/dtos/index.ts +20 -20
- package/src/shared/index.ts +26 -26
- package/tsconfig.json +18 -18
- /package/dist/Programados/{dtos → Dtos}/AmapCantidadesDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/AmapDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/AsignacionValorizacionDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/CentroCostosDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/CertificacionDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ContrataDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ContratoOTDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosCatalogoItemDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosCatalogoMODto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosItemDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosManoObraGlobalDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosPrecioEspecialidadDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosPrecioMaterialDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DatosUnidadObraMaterialDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DetalleChileReservaMODto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/DetalleManoObraChileDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/FlujoDocDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/HomePassDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ItemCantidadesDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ManoObraBaremoDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/MaterialAmapDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/MaterialLogisticaDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/OTGlobalDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PeriodoDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PrecioActividadDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PreciosAgenciaDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PreciosContrataDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PreciosVigentesDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/PreciosZonasDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ProduccionDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/ValorizacionDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/VarianteDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/VigenciaDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/WBEDto.d.ts +0 -0
- /package/dist/Programados/{dtos → Dtos}/index.d.ts +0 -0
- /package/dist/{shared → Shared}/Utils/CurrencyFormat.d.ts +0 -0
- /package/dist/{shared → Shared}/Utils/IsValidDate.d.ts +0 -0
- /package/dist/{shared → Shared}/Utils/index.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/AnexoDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/BitacoraDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/CodigoDescripcionDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/CoordenadasDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/DelegacionDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/EmpresaDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/EmpresaUsuarioDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/EstadoDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/EstadoInternoDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/FilesDocDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/GeneralCodigoNombreDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/GeneralCodigoNombreUnidadDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/NodoDocDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/PaisDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/PersonalDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/SizeDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/UnidadMedidaDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/UsuarioDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/UsuarioEdicionDto.d.ts +0 -0
- /package/dist/{shared → Shared}/dtos/index.d.ts +0 -0
- /package/dist/{shared → Shared}/index.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sigo-package",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Funciones compartidas sigo",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.esm.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"build": "tsdx build"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "sigo-package",
|
|
3
|
+
"version": "1.1.22",
|
|
4
|
+
"description": "Funciones compartidas sigo",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.esm.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsdx build",
|
|
10
|
+
"prepare": "npm run build"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [],
|
|
13
|
+
"author": "Antonio Mejia",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"tsdx": "^0.14.1",
|
|
17
|
+
"typescript": "^3.9.10"
|
|
18
|
+
}
|
|
19
|
+
}
|
package/readme.md
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# sigo-package
|
|
2
|
-
|
|
3
|
-
`sigo-package` es un conjunto de funciones diseñadas para ser reutilizadas en diversos proyectos.
|
|
4
|
-
|
|
5
|
-
## Comandos
|
|
6
|
-
|
|
7
|
-
Aquí se presentan algunos comandos que podrías encontrar útiles:
|
|
8
|
-
|
|
9
|
-
### Autenticarte
|
|
10
|
-
|
|
11
|
-
Antes de poder publicar o actualizar el paquete, necesitarás autenticarte con npm con el comando:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm adduser
|
|
15
|
-
```
|
|
16
|
-
Se te proporcionará un enlace único para autenticarte a través de un navegador web. Abre este enlace en tu navegador web.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
### Publicar una nueva versión del paquete
|
|
20
|
-
|
|
21
|
-
Primero, asegúrate de incrementar el número de versión en tu archivo `package.json`. Luego, puedes publicar la nueva versión con el siguiente comando:
|
|
22
|
-
|
|
23
|
-
```shell
|
|
24
|
-
npm publish
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Actualizar a la última versión del paquete
|
|
28
|
-
|
|
29
|
-
Si has publicado una nueva versión de tu paquete y quieres actualizar a esa versión en tu proyecto, puedes hacerlo con el siguiente comando:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npm i sigo-package@latest
|
|
1
|
+
# sigo-package
|
|
2
|
+
|
|
3
|
+
`sigo-package` es un conjunto de funciones diseñadas para ser reutilizadas en diversos proyectos.
|
|
4
|
+
|
|
5
|
+
## Comandos
|
|
6
|
+
|
|
7
|
+
Aquí se presentan algunos comandos que podrías encontrar útiles:
|
|
8
|
+
|
|
9
|
+
### Autenticarte
|
|
10
|
+
|
|
11
|
+
Antes de poder publicar o actualizar el paquete, necesitarás autenticarte con npm con el comando:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm adduser
|
|
15
|
+
```
|
|
16
|
+
Se te proporcionará un enlace único para autenticarte a través de un navegador web. Abre este enlace en tu navegador web.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Publicar una nueva versión del paquete
|
|
20
|
+
|
|
21
|
+
Primero, asegúrate de incrementar el número de versión en tu archivo `package.json`. Luego, puedes publicar la nueva versión con el siguiente comando:
|
|
22
|
+
|
|
23
|
+
```shell
|
|
24
|
+
npm publish
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Actualizar a la última versión del paquete
|
|
28
|
+
|
|
29
|
+
Si has publicado una nueva versión de tu paquete y quieres actualizar a esa versión en tu proyecto, puedes hacerlo con el siguiente comando:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm i sigo-package@latest
|
|
33
33
|
```
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'
|
|
2
|
-
|
|
3
|
-
interface IenvSIGO {
|
|
4
|
-
SISTEMAS_VALORIZACION_MANO_OBRA: string[]
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
interface IProps {
|
|
8
|
-
manoObra: ManoDeObraEntity
|
|
9
|
-
ContratoOT: any
|
|
10
|
-
envSIGO: IenvSIGO
|
|
11
|
-
obra: { ContratoOT: { Sistema: string } }
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const ActualizarDataManoObra = ({ manoObra, ContratoOT, envSIGO, obra }: IProps): void => {
|
|
15
|
-
|
|
16
|
-
let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'
|
|
17
|
-
|
|
18
|
-
if (Sistema == 'default') Sistema = !ContratoOT.CheckPrecioMO ? 'default' : 'onNet'
|
|
19
|
-
|
|
20
|
-
for (const valorizacion of manoObra.Valorizacion) {
|
|
21
|
-
const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacion.DatosCatalogoMO
|
|
22
|
-
if (!!!Agencias.length) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)
|
|
23
|
-
const agencia = Agencias.find((e: any) => e.Estado.ID_Estado === 1)
|
|
24
|
-
if (!!!agencia) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)
|
|
25
|
-
valorizacion.Precio = Number(agencia.Ultimo_Precio.Precio)
|
|
26
|
-
if (!!!ManoObraBaremo.length) throw Error(`¡No se pudo obtener Punto Baremo! Comunícate con Soporte`)
|
|
27
|
-
valorizacion.DetalleChile.PuntoBaremo = ManoObraBaremo[0].PuntoBaremo
|
|
28
|
-
|
|
29
|
-
const sistema: any = {
|
|
30
|
-
onNet: { PuntoBaremo: valorizacion.Precio, Precio: valorizacion.DetalleChile.PuntoBaremo },
|
|
31
|
-
default: { PuntoBaremo: valorizacion.DetalleChile.PuntoBaremo, Precio: valorizacion.Precio }
|
|
32
|
-
}
|
|
33
|
-
valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo
|
|
34
|
-
valorizacion.Precio = sistema[Sistema].Precio
|
|
35
|
-
}
|
|
36
|
-
|
|
1
|
+
import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'
|
|
2
|
+
|
|
3
|
+
interface IenvSIGO {
|
|
4
|
+
SISTEMAS_VALORIZACION_MANO_OBRA: string[]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
interface IProps {
|
|
8
|
+
manoObra: ManoDeObraEntity
|
|
9
|
+
ContratoOT: any
|
|
10
|
+
envSIGO: IenvSIGO
|
|
11
|
+
obra: { ContratoOT: { Sistema: string } }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const ActualizarDataManoObra = ({ manoObra, ContratoOT, envSIGO, obra }: IProps): void => {
|
|
15
|
+
|
|
16
|
+
let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'
|
|
17
|
+
|
|
18
|
+
if (Sistema == 'default') Sistema = !ContratoOT.CheckPrecioMO ? 'default' : 'onNet'
|
|
19
|
+
|
|
20
|
+
for (const valorizacion of manoObra.Valorizacion) {
|
|
21
|
+
const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacion.DatosCatalogoMO
|
|
22
|
+
if (!!!Agencias.length) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)
|
|
23
|
+
const agencia = Agencias.find((e: any) => e.Estado.ID_Estado === 1)
|
|
24
|
+
if (!!!agencia) throw Error(`¡No se pudo obtener Precio! Comunícate con Soporte`)
|
|
25
|
+
valorizacion.Precio = Number(agencia.Ultimo_Precio.Precio)
|
|
26
|
+
if (!!!ManoObraBaremo.length) throw Error(`¡No se pudo obtener Punto Baremo! Comunícate con Soporte`)
|
|
27
|
+
valorizacion.DetalleChile.PuntoBaremo = ManoObraBaremo[0].PuntoBaremo
|
|
28
|
+
|
|
29
|
+
const sistema: any = {
|
|
30
|
+
onNet: { PuntoBaremo: valorizacion.Precio, Precio: valorizacion.DetalleChile.PuntoBaremo },
|
|
31
|
+
default: { PuntoBaremo: valorizacion.DetalleChile.PuntoBaremo, Precio: valorizacion.Precio }
|
|
32
|
+
}
|
|
33
|
+
valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo
|
|
34
|
+
valorizacion.Precio = sistema[Sistema].Precio
|
|
35
|
+
}
|
|
36
|
+
|
|
37
37
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ReservaEntity } from './entitys/ReservaEntity'
|
|
2
|
-
|
|
3
|
-
export const ActualizarDataReserva = (reserva: ReservaEntity): void => {
|
|
4
|
-
for (const item of reserva.Item) {
|
|
5
|
-
const tipo = item?.DatosCatalogoItem?.DatosItem?.Tipo || ''
|
|
6
|
-
const precio = Number(item?.DatosCatalogoItem?.DatosPrecioMaterial?.Precio) || 0
|
|
7
|
-
item.Valor = tipo.trim() === 'AP Valorado' ? precio : 0
|
|
8
|
-
}
|
|
1
|
+
import { ReservaEntity } from './entitys/ReservaEntity'
|
|
2
|
+
|
|
3
|
+
export const ActualizarDataReserva = (reserva: ReservaEntity): void => {
|
|
4
|
+
for (const item of reserva.Item) {
|
|
5
|
+
const tipo = item?.DatosCatalogoItem?.DatosItem?.Tipo || ''
|
|
6
|
+
const precio = Number(item?.DatosCatalogoItem?.DatosPrecioMaterial?.Precio) || 0
|
|
7
|
+
item.Valor = tipo.trim() === 'AP Valorado' ? precio : 0
|
|
8
|
+
}
|
|
9
9
|
}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { ResumenLiquidacionesType } from "./CalcularResumenLiquidaciones";
|
|
2
|
-
|
|
3
|
-
export const ActualizarDataResumenLiquidaciones: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
|
|
4
|
-
|
|
5
|
-
if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
|
|
6
|
-
|
|
7
|
-
for (const valorizacion of ManoObra.Valorizacion) {
|
|
8
|
-
valorizacion.CantidadUsado = 0;
|
|
9
|
-
const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
|
|
10
|
-
if (val) valorizacion.CantidadUsado = val.Cantidad;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
|
|
16
|
-
|
|
17
|
-
for (const item of Reserva.Item) {
|
|
18
|
-
item.CantidadUsados = 0;
|
|
19
|
-
const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);
|
|
20
|
-
if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (StockPersonal && Array.isArray(StockPersonal)) {
|
|
26
|
-
|
|
27
|
-
for (const stockPersonal of StockPersonal) {
|
|
28
|
-
|
|
29
|
-
stockPersonal.Liquidacion = 0
|
|
30
|
-
|
|
31
|
-
const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo
|
|
32
|
-
&& e.Identificacion === stockPersonal.Personal.Identificacion
|
|
33
|
-
&& e.Codigo === stockPersonal.Reserva)
|
|
34
|
-
|
|
35
|
-
if (stock) {
|
|
36
|
-
if (stock.Cantidad > stockPersonal.Despacho) {
|
|
37
|
-
stockPersonal.Liquidacion = stockPersonal.Despacho
|
|
38
|
-
stock.Cantidad = stock.Cantidad - stockPersonal.Despacho
|
|
39
|
-
} else {
|
|
40
|
-
stockPersonal.Liquidacion = stock.Cantidad
|
|
41
|
-
stock.Cantidad = 0
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
interface Funcion {
|
|
51
|
-
(ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
|
|
1
|
+
import { ResumenLiquidacionesType } from "./CalcularResumenLiquidaciones";
|
|
2
|
+
|
|
3
|
+
export const ActualizarDataResumenLiquidaciones: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
|
|
4
|
+
|
|
5
|
+
if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
|
|
6
|
+
|
|
7
|
+
for (const valorizacion of ManoObra.Valorizacion) {
|
|
8
|
+
valorizacion.CantidadUsado = 0;
|
|
9
|
+
const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
|
|
10
|
+
if (val) valorizacion.CantidadUsado = val.Cantidad;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
|
|
16
|
+
|
|
17
|
+
for (const item of Reserva.Item) {
|
|
18
|
+
item.CantidadUsados = 0;
|
|
19
|
+
const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);
|
|
20
|
+
if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (StockPersonal && Array.isArray(StockPersonal)) {
|
|
26
|
+
|
|
27
|
+
for (const stockPersonal of StockPersonal) {
|
|
28
|
+
|
|
29
|
+
stockPersonal.Liquidacion = 0
|
|
30
|
+
|
|
31
|
+
const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo
|
|
32
|
+
&& e.Identificacion === stockPersonal.Personal.Identificacion
|
|
33
|
+
&& e.Codigo === stockPersonal.Reserva)
|
|
34
|
+
|
|
35
|
+
if (stock) {
|
|
36
|
+
if (stock.Cantidad > stockPersonal.Despacho) {
|
|
37
|
+
stockPersonal.Liquidacion = stockPersonal.Despacho
|
|
38
|
+
stock.Cantidad = stock.Cantidad - stockPersonal.Despacho
|
|
39
|
+
} else {
|
|
40
|
+
stockPersonal.Liquidacion = stock.Cantidad
|
|
41
|
+
stock.Cantidad = 0
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface Funcion {
|
|
51
|
+
(ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
|
|
52
52
|
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'
|
|
2
|
-
import { ObraEntity } from './entitys/ObraEntity'
|
|
3
|
-
import { TrabajoEntity } from './entitys/TrabajoEntity'
|
|
4
|
-
|
|
5
|
-
interface IParams {
|
|
6
|
-
manoObra: ManoDeObraEntity
|
|
7
|
-
trabajos: TrabajoEntity[]
|
|
8
|
-
obra: ObraEntity
|
|
9
|
-
ContratoOT: any
|
|
10
|
-
envSIGO: IenvSIGO
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
interface IenvSIGO {
|
|
14
|
-
SISTEMAS_VALORIZACION_MANO_OBRA: string[]
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const ActualizarDataTrabajos = ({ manoObra, trabajos, obra, ContratoOT, envSIGO }: IParams): void => {
|
|
18
|
-
let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'
|
|
19
|
-
if (Sistema === 'default') {
|
|
20
|
-
const CheckPrecioMO = ContratoOT.CheckPrecioMO
|
|
21
|
-
Sistema = !CheckPrecioMO ? 'default' : 'onNet'
|
|
22
|
-
}
|
|
23
|
-
for (const trabajo of trabajos) {
|
|
24
|
-
for (const valorizacion of trabajo.Ultima_PreLiquidacion.Valorizacion) {
|
|
25
|
-
const valorizacionMO = manoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub)
|
|
26
|
-
if (valorizacionMO) {
|
|
27
|
-
const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacionMO.DatosCatalogoMO
|
|
28
|
-
const sistema: any = {
|
|
29
|
-
onNet: { PuntoBaremo: Agencias[0].Ultimo_Precio.Precio, Precio: ManoObraBaremo[0].PuntoBaremo },
|
|
30
|
-
default: { PuntoBaremo: ManoObraBaremo[0].PuntoBaremo, Precio: Agencias[0].Ultimo_Precio.Precio }
|
|
31
|
-
}
|
|
32
|
-
valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo
|
|
33
|
-
valorizacion.Precio = sistema[Sistema].Precio
|
|
34
|
-
} else {
|
|
35
|
-
console.error(`¡No se encontró Valorizacion con LineaCodigoCub: ${valorizacion.DetalleChile.LineaCodigoCub} en la Mano de Obra!`)
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
import { ManoDeObraEntity } from './entitys/ManoDeObraEntity'
|
|
2
|
+
import { ObraEntity } from './entitys/ObraEntity'
|
|
3
|
+
import { TrabajoEntity } from './entitys/TrabajoEntity'
|
|
4
|
+
|
|
5
|
+
interface IParams {
|
|
6
|
+
manoObra: ManoDeObraEntity
|
|
7
|
+
trabajos: TrabajoEntity[]
|
|
8
|
+
obra: ObraEntity
|
|
9
|
+
ContratoOT: any
|
|
10
|
+
envSIGO: IenvSIGO
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface IenvSIGO {
|
|
14
|
+
SISTEMAS_VALORIZACION_MANO_OBRA: string[]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const ActualizarDataTrabajos = ({ manoObra, trabajos, obra, ContratoOT, envSIGO }: IParams): void => {
|
|
18
|
+
let Sistema: string = envSIGO.SISTEMAS_VALORIZACION_MANO_OBRA.includes(obra.ContratoOT.Sistema) ? 'onNet' : 'default'
|
|
19
|
+
if (Sistema === 'default') {
|
|
20
|
+
const CheckPrecioMO = ContratoOT.CheckPrecioMO
|
|
21
|
+
Sistema = !CheckPrecioMO ? 'default' : 'onNet'
|
|
22
|
+
}
|
|
23
|
+
for (const trabajo of trabajos) {
|
|
24
|
+
for (const valorizacion of trabajo.Ultima_PreLiquidacion.Valorizacion) {
|
|
25
|
+
const valorizacionMO = manoObra.Valorizacion.find(e => e.DetalleChile.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub)
|
|
26
|
+
if (valorizacionMO) {
|
|
27
|
+
const { DatosManoObraGlobal: { DetalleChile: { ManoObraBaremo } }, DatosPrecioEspecialidad: { Agencias } } = valorizacionMO.DatosCatalogoMO
|
|
28
|
+
const sistema: any = {
|
|
29
|
+
onNet: { PuntoBaremo: Agencias[0].Ultimo_Precio.Precio, Precio: ManoObraBaremo[0].PuntoBaremo },
|
|
30
|
+
default: { PuntoBaremo: ManoObraBaremo[0].PuntoBaremo, Precio: Agencias[0].Ultimo_Precio.Precio }
|
|
31
|
+
}
|
|
32
|
+
valorizacion.DetalleChile.PuntoBaremo = sistema[Sistema].PuntoBaremo
|
|
33
|
+
valorizacion.Precio = sistema[Sistema].Precio
|
|
34
|
+
} else {
|
|
35
|
+
console.error(`¡No se encontró Valorizacion con LineaCodigoCub: ${valorizacion.DetalleChile.LineaCodigoCub} en la Mano de Obra!`)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
39
|
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { ResumenLiquidacionesType } from "./CalcularResumenValorizacionesAlemania"
|
|
2
|
-
|
|
3
|
-
export const ActualizarDataResumenValorizacionesAlemania: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
|
|
4
|
-
|
|
5
|
-
if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
|
|
6
|
-
|
|
7
|
-
for (const valorizacion of ManoObra.Valorizacion) {
|
|
8
|
-
valorizacion.CantidadUsado = 0;
|
|
9
|
-
const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
|
|
10
|
-
if (val) valorizacion.CantidadUsado = val.Cantidad;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
|
|
16
|
-
|
|
17
|
-
for (const item of Reserva.Item) {
|
|
18
|
-
item.CantidadUsados = 0;
|
|
19
|
-
const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);
|
|
20
|
-
if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (StockPersonal && Array.isArray(StockPersonal)) {
|
|
26
|
-
|
|
27
|
-
for (const stockPersonal of StockPersonal) {
|
|
28
|
-
|
|
29
|
-
stockPersonal.Liquidacion = 0
|
|
30
|
-
|
|
31
|
-
const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo
|
|
32
|
-
&& e.Identificacion === stockPersonal.Personal.Identificacion
|
|
33
|
-
&& e.Codigo === stockPersonal.Reserva
|
|
34
|
-
&& e.CodigoLlave === stockPersonal.CodigoLlave)
|
|
35
|
-
|
|
36
|
-
if (stock) {
|
|
37
|
-
if (stock.Cantidad > stockPersonal.Despacho) {
|
|
38
|
-
stockPersonal.Liquidacion = stockPersonal.Despacho
|
|
39
|
-
stock.Cantidad = stock.Cantidad - stockPersonal.Despacho
|
|
40
|
-
} else {
|
|
41
|
-
stockPersonal.Liquidacion = stock.Cantidad
|
|
42
|
-
stock.Cantidad = 0
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
interface Funcion {
|
|
52
|
-
(ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
|
|
1
|
+
import { ResumenLiquidacionesType } from "./CalcularResumenValorizacionesAlemania"
|
|
2
|
+
|
|
3
|
+
export const ActualizarDataResumenValorizacionesAlemania: Funcion = (ManoObra, Reserva, StockPersonal, ResumenPreLiquidado) => {
|
|
4
|
+
|
|
5
|
+
if (ManoObra && ManoObra.Valorizacion && Array.isArray(ManoObra.Valorizacion)) {
|
|
6
|
+
|
|
7
|
+
for (const valorizacion of ManoObra.Valorizacion) {
|
|
8
|
+
valorizacion.CantidadUsado = 0;
|
|
9
|
+
const val = ResumenPreLiquidado.MoUo.find(e => e.LineaCodigoCub === valorizacion.DetalleChile.LineaCodigoCub);
|
|
10
|
+
if (val) valorizacion.CantidadUsado = val.Cantidad;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (Reserva && Reserva.Item && Array.isArray(Reserva.Item)) {
|
|
16
|
+
|
|
17
|
+
for (const item of Reserva.Item) {
|
|
18
|
+
item.CantidadUsados = 0;
|
|
19
|
+
const itemAUX = ResumenPreLiquidado.MatUtilizados.find(e => e.Codigo === item.Codigo);
|
|
20
|
+
if (itemAUX) item.CantidadUsados = itemAUX.Cantidad;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (StockPersonal && Array.isArray(StockPersonal)) {
|
|
26
|
+
|
|
27
|
+
for (const stockPersonal of StockPersonal) {
|
|
28
|
+
|
|
29
|
+
stockPersonal.Liquidacion = 0
|
|
30
|
+
|
|
31
|
+
const stock = ResumenPreLiquidado.MatStockPersonal.find(e => e.ID_Trabajo === stockPersonal.ID_Trabajo
|
|
32
|
+
&& e.Identificacion === stockPersonal.Personal.Identificacion
|
|
33
|
+
&& e.Codigo === stockPersonal.Reserva
|
|
34
|
+
&& e.CodigoLlave === stockPersonal.CodigoLlave)
|
|
35
|
+
|
|
36
|
+
if (stock) {
|
|
37
|
+
if (stock.Cantidad > stockPersonal.Despacho) {
|
|
38
|
+
stockPersonal.Liquidacion = stockPersonal.Despacho
|
|
39
|
+
stock.Cantidad = stock.Cantidad - stockPersonal.Despacho
|
|
40
|
+
} else {
|
|
41
|
+
stockPersonal.Liquidacion = stock.Cantidad
|
|
42
|
+
stock.Cantidad = 0
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface Funcion {
|
|
52
|
+
(ManoObra: any, Reserva: any, StockPersonal: any[], ResumenPreLiquidado: ResumenLiquidacionesType): void;
|
|
53
53
|
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { HomePassDto } from '../../dtos/HomePassDto'
|
|
2
|
-
|
|
3
|
-
interface typeHPMOUtilizado {
|
|
4
|
-
ID_HPListMO: number
|
|
5
|
-
CantidadUtilizado: number
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
interface typeTrabajo {
|
|
9
|
-
Ultima_PreLiquidacion: PreLiquidacion
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface PreLiquidacion {
|
|
13
|
-
Valorizacion: ValorizacionDto[]
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
interface ValorizacionDto {
|
|
17
|
-
Ultimo_Estado_Interno: EstadoInternoDto
|
|
18
|
-
HomePass: HomePassDto[]
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
interface EstadoInternoDto {
|
|
22
|
-
Descripcion: string
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const CalcularResumenHPMOLiquidado = (trabajo: typeTrabajo): typeHPMOUtilizado[] => {
|
|
26
|
-
return trabajo.Ultima_PreLiquidacion.Valorizacion.reduce((acc: typeHPMOUtilizado[], valorizacion) => {
|
|
27
|
-
if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {
|
|
28
|
-
for (const hpmo of valorizacion.HomePass) {
|
|
29
|
-
const hpmoAux = acc.find(e => e.ID_HPListMO === hpmo.ID_HPListMO)
|
|
30
|
-
if (hpmoAux) {
|
|
31
|
-
hpmoAux.CantidadUtilizado += hpmo.Cantidad
|
|
32
|
-
return acc
|
|
33
|
-
}
|
|
34
|
-
return [
|
|
35
|
-
...acc
|
|
36
|
-
,
|
|
37
|
-
{
|
|
38
|
-
ID_HPListMO: hpmo.ID_HPListMO,
|
|
39
|
-
CantidadUtilizado: hpmo.Cantidad
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return acc
|
|
45
|
-
}, [])
|
|
1
|
+
import { HomePassDto } from '../../dtos/HomePassDto'
|
|
2
|
+
|
|
3
|
+
interface typeHPMOUtilizado {
|
|
4
|
+
ID_HPListMO: number
|
|
5
|
+
CantidadUtilizado: number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface typeTrabajo {
|
|
9
|
+
Ultima_PreLiquidacion: PreLiquidacion
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface PreLiquidacion {
|
|
13
|
+
Valorizacion: ValorizacionDto[]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface ValorizacionDto {
|
|
17
|
+
Ultimo_Estado_Interno: EstadoInternoDto
|
|
18
|
+
HomePass: HomePassDto[]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface EstadoInternoDto {
|
|
22
|
+
Descripcion: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const CalcularResumenHPMOLiquidado = (trabajo: typeTrabajo): typeHPMOUtilizado[] => {
|
|
26
|
+
return trabajo.Ultima_PreLiquidacion.Valorizacion.reduce((acc: typeHPMOUtilizado[], valorizacion) => {
|
|
27
|
+
if (['PRODUCCION', 'CERTIFICADA', 'PRELIQUIDADA', 'LIQUIDADA'].includes(valorizacion.Ultimo_Estado_Interno.Descripcion.trim())) {
|
|
28
|
+
for (const hpmo of valorizacion.HomePass) {
|
|
29
|
+
const hpmoAux = acc.find(e => e.ID_HPListMO === hpmo.ID_HPListMO)
|
|
30
|
+
if (hpmoAux) {
|
|
31
|
+
hpmoAux.CantidadUtilizado += hpmo.Cantidad
|
|
32
|
+
return acc
|
|
33
|
+
}
|
|
34
|
+
return [
|
|
35
|
+
...acc
|
|
36
|
+
,
|
|
37
|
+
{
|
|
38
|
+
ID_HPListMO: hpmo.ID_HPListMO,
|
|
39
|
+
CantidadUtilizado: hpmo.Cantidad
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return acc
|
|
45
|
+
}, [])
|
|
46
46
|
}
|