fix(inventory): count only installation and subinstallation instances
This commit is contained in:
@@ -15,7 +15,7 @@ export class F5InventoryPhysicalInstance1790087100000 implements MigrationInterf
|
|||||||
`);
|
`);
|
||||||
await queryRunner.query(`
|
await queryRunner.query(`
|
||||||
COMMENT ON COLUMN assets.is_inventory_instance IS
|
COMMENT ON COLUMN assets.is_inventory_instance IS
|
||||||
'True only for a concrete Inventory instance. Company, Area, Yacimiento and historical/context records remain structural.'
|
'True only for a concrete Instalacion/Subinstalacion instance. Empresa, Area and Yacimiento are structural/context masters.'
|
||||||
`);
|
`);
|
||||||
|
|
||||||
await queryRunner.query(`
|
await queryRunner.query(`
|
||||||
@@ -24,24 +24,21 @@ export class F5InventoryPhysicalInstance1790087100000 implements MigrationInterf
|
|||||||
LANGUAGE plpgsql
|
LANGUAGE plpgsql
|
||||||
AS $$
|
AS $$
|
||||||
DECLARE
|
DECLARE
|
||||||
role_value varchar;
|
|
||||||
type_code varchar;
|
type_code varchar;
|
||||||
BEGIN
|
BEGIN
|
||||||
SELECT operational_role, lower(code)
|
SELECT lower(code)
|
||||||
INTO role_value, type_code
|
INTO type_code
|
||||||
FROM asset_types
|
FROM asset_types
|
||||||
WHERE id = NEW.asset_type_id;
|
WHERE id = NEW.asset_type_id;
|
||||||
|
|
||||||
NEW.is_inventory_instance :=
|
NEW.is_inventory_instance := COALESCE(type_code, '') IN ('instalacion', 'subinstalacion');
|
||||||
role_value = 'GENERIC'
|
|
||||||
AND COALESCE(type_code, '') NOT IN ('area', 'yacimiento', 'empresa', 'company');
|
|
||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
`);
|
`);
|
||||||
await queryRunner.query(`
|
await queryRunner.query(`
|
||||||
CREATE TRIGGER trg_assets_classify_inventory_instance
|
CREATE TRIGGER trg_assets_classify_inventory_instance
|
||||||
BEFORE INSERT ON assets
|
BEFORE INSERT OR UPDATE OF asset_type_id ON assets
|
||||||
FOR EACH ROW EXECUTE FUNCTION classify_new_asset_inventory_instance()
|
FOR EACH ROW EXECUTE FUNCTION classify_new_asset_inventory_instance()
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user