Simplifica el flujo operativo móvil, corrige el alta desde el Yacimiento congelado, permite crear Actas antes de seleccionar Inventario y precarga Marca, Modelo, Capacidad, Número de serie y Función en Instalaciones/Subinstalaciones. Android 0.16.0.
58 lines
2.1 KiB
TypeScript
58 lines
2.1 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
export class F63MobileFieldCommonAttributes1790099100000 implements MigrationInterface {
|
|
name = 'F63MobileFieldCommonAttributes1790099100000';
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
WITH target_types AS (
|
|
SELECT id
|
|
FROM asset_types
|
|
WHERE lower(code) IN ('instalacion','subinstalacion')
|
|
), fields(code,name,sort_order) AS (
|
|
VALUES
|
|
('campo_marca','Marca',10),
|
|
('campo_modelo','Modelo',20),
|
|
('campo_capacidad','Capacidad',30),
|
|
('campo_numero_serie','Número de serie',40),
|
|
('campo_funcion','Función',50)
|
|
)
|
|
INSERT INTO asset_attribute_definitions (
|
|
asset_type_id, code, name, data_type, is_required, is_active, sort_order
|
|
)
|
|
SELECT target.id, fields.code, fields.name, 'TEXT'::asset_attribute_data_type,
|
|
false, true, fields.sort_order
|
|
FROM target_types target
|
|
CROSS JOIN fields
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM asset_attribute_definitions existing
|
|
WHERE existing.asset_type_id=target.id
|
|
AND lower(existing.code)=lower(fields.code)
|
|
)
|
|
`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
DELETE FROM asset_attribute_values value
|
|
USING asset_attribute_definitions definition, asset_types type
|
|
WHERE value.definition_id=definition.id
|
|
AND definition.asset_type_id=type.id
|
|
AND lower(type.code) IN ('instalacion','subinstalacion')
|
|
AND definition.code IN (
|
|
'campo_marca','campo_modelo','campo_capacidad','campo_numero_serie','campo_funcion'
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
DELETE FROM asset_attribute_definitions definition
|
|
USING asset_types type
|
|
WHERE definition.asset_type_id=type.id
|
|
AND lower(type.code) IN ('instalacion','subinstalacion')
|
|
AND definition.code IN (
|
|
'campo_marca','campo_modelo','campo_capacidad','campo_numero_serie','campo_funcion'
|
|
)
|
|
`);
|
|
}
|
|
}
|