-- Restaura las variables, cálculos y fórmulas de cantidad del paquete ACM (id 8)
-- desde la semilla 2026-10-14 (sistema anterior). Mismos 38 materiales, por clave.
START TRANSACTION;
DELETE FROM paquete_variable WHERE id_paquete = 8;
DELETE FROM paquete_formula  WHERE id_paquete = 8;
INSERT INTO `paquete_variable` (`id`, `id_paquete`, `nombre`, `etiqueta`, `tipo`, `unidad`, `opciones`, `valor_default`, `requerido`, `en_titulo`, `comentario`, `orden`) VALUES (582,8,'orientacion','orientación','selector',NULL,'[\"horizontal\",\"vertical\"]','horizontal',1,1,NULL,0),(583,8,'color','Color ACM','selector',NULL,'[\"plomo\",\"silver\",\"amarillo\",\"anaranjado\",\"azul-navy\",\"azul-sky\",\"negro-mate\",\"negro-brillante\",\"blanco-mate\",\"blanco-brillante\",\"rojo-mate\",\"rojo-brillante\",\"verde-puma\",\"madera\",\"beige\",\"bronce\"]','plomo',1,1,NULL,1),(584,8,'anchoFrente','Ancho de pantalla','numero','m',NULL,NULL,1,0,'Ancho de pantalla de frente en metros',2),(585,8,'altoFrente','Alto de pantalla','numero','m',NULL,NULL,1,0,'Alto de pantalla de frente en metros',3),(586,8,'anchoInferior','Ancho de remate inferior','numero','m',NULL,NULL,1,0,'Ancho de remate inferior en metros',4),(587,8,'altoInferior','Alto de remate inferior','numero','m',NULL,NULL,1,0,'Alto de remate inferior en metros',5),(588,8,'anchoSuperior','Ancho de remate superior','numero','m',NULL,NULL,1,0,'Ancho de remate superior en metros',6),(589,8,'altoSuperior','Alto de remate superior','numero','m',NULL,NULL,1,0,'Alto de remate superior en metros',7),(590,8,'anchoDerecho','Ancho de remate derecho','numero','m',NULL,NULL,1,0,'Ancho de remate de lado derecho en metros',8),(591,8,'altoDerecho','Alto de remate derecho','numero','m',NULL,NULL,1,0,'Alto del remate del lado derecho en metros',9),(592,8,'anchoIzquierdo','Ancho de remate izquierdo','numero','m',NULL,NULL,1,0,'Ancho de remate de lado izquierdo en metros',10),(593,8,'altoIzquierdo','Alto de remate izquierdo','numero','m',NULL,NULL,1,0,'Alto del remate del lado izquierdo en metros',11),(594,8,'estructura','¿Estructura?','selector',NULL,'[\"si\",\"no\"]',NULL,1,1,NULL,12);
INSERT INTO `paquete_formula` (`id`, `id_paquete`, `nombre`, `formula`, `comentario`, `orden`) VALUES (1113,8,'ancho_lamina','orientacion === \'horizontal\' ? 2.39 : 1.17','Dimensión horizontal de la lámina según orientación',0),(1114,8,'altura_lamina','orientacion === \'horizontal\' ? 1.17 : 2.39','Dimensión vertical de la lámina según orientación',1),(1115,8,'ancho_total','Number(anchoIzquierdo) + Number(anchoFrente) + Number(anchoDerecho)','Suma de los tres anchos',2),(1116,8,'alto_total','Number(altoFrente) + Number(altoSuperior) + Number(altoInferior)','Alto total incluyendo parte inferior',3),(1117,8,'lado_alto','Math.max(Number(altoDerecho), Number(altoIzquierdo), Number(altoFrente))','El lado con mayor altura',4),(1118,8,'m2_fascia','ancho_total * alto_total','Metros cuadrados totales',5),(1119,8,'cols_primarias','Math.max(    1,    Math.ceil(ancho_total / ancho_lamina))','Columnas de láminas primarias',6),(1120,8,'filas_primarias','lado_alto <= altura_lamina ? 1 : Math.ceil(lado_alto / altura_lamina)','Filas de láminas primarias',7),(1121,8,'modulo_ancho','Math.ceil(ancho_total / ancho_lamina)','Ancho de la modulacion',8),(1122,8,'resto_vertical','Math.max(    0,    alto_total - ((filas_primarias - 1) * altura_lamina))','Altura sobrante después de las primarias',9),(1123,8,'lam_ancho','cols_primarias <= 0 ? 0 : (ancho_total / cols_primarias)','Ancho real de cada columna',10),(1124,8,'cols_secundarias','resto_vertical === 0 ? 0 : Math.ceil(Number(anchoInferior) / lam_ancho)','Columnas en zona inferior',11),(1125,8,'modulo_alto','Math.ceil(alto_total / altura_lamina)','Total modulos alto',12),(1126,8,'filas_secundarias','resto_vertical === 0 ? 0 : (resto_vertical <= altura_lamina ? 1 : Math.ceil(resto_vertical / altura_lamina))','Filas en zona inferior',13),(1127,8,'laminas_totales','modulo_alto * modulo_ancho','Suma total de láminas',14),(1128,8,'RI_r','Math.max(    0,    Math.floor(Number(anchoIzquierdo) / lam_ancho))','Columnas ocupadas por lado izquierdo',15),(1129,8,'RD_r','Math.max(    0,    Math.floor(Number(anchoDerecho) / lam_ancho))','Columnas ocupadas por lado derecho',16),(1130,8,'RC','cols_primarias - (RI_r + RD_r)','Columnas del centro',17),(1131,8,'total_rieles','(lado_alto * (cols_primarias - 1)) + (Number(altoSuperior) * (RC - 1)) + (ancho_total * (filas_primarias - 1)) + (Number(anchoInferior) * filas_secundarias)','Metros lineales de rieles internos',18),(1132,8,'perimetro','(ancho_total * 2) + (alto_total * 2) + total_rieles','Perímetro exterior + rieles para silicón y tirro',19),(1133,8,'ct_rieles','Math.ceil(total_rieles / 6)','Tubos de riel de 6m',20),(1134,8,'ct_moldura','Math.ceil(total_rieles / 2.44)','Molduras de 2.44m',21),(1135,8,'ct_silicon','Math.ceil(((ancho_total*2)+(alto_total*2)+(ct_rieles*6))/6)','Tubos de silicón (rinde 4.8m)',22),(1136,8,'ct_tirro','Math.ceil((perimetro * 2) / 22)','Rollos de tirro de 22m (doble cara)',23),(1137,8,'base_tornillos','Math.ceil((ct_rieles * 6) / 0.30)','Tornillos para riel omega cada 0.30m usando tubos de 6m',24),(1138,8,'ct_estructura','estructura === \'si\' ? Math.ceil((total_rieles + (ancho_total * 2) + (Number(altoSuperior) > 0 ? Number(anchoInferior) : 0) + Number(altoDerecho) + Number(altoIzquierdo)) / 6) : 0','Tubos 2x1 de 6m para estructura',25),(1139,8,'ct_electrodo','estructura === \'si\' ? Math.ceil(m2_fascia / 2) : 0','Electrodos (estructura)',26),(1140,8,'ct_disco_ets','estructura === \'si\' ? Math.ceil(m2_fascia / 10) : 0','Discos de corte (estructura)',27),(1141,8,'ct_ancla','estructura === \'si\' ? 4 + (RC - 1) : 0','Anclas expansoras (estructura)',28),(1142,8,'ct_angulo','estructura === \'si\' ? Math.ceil(ct_ancla * 0.10) : 0','Ángulos (estructura)',29),(1143,8,'ct_brochas','estructura === \'si\' ? Math.ceil(m2_fascia / 45) : 0','Brochas (estructura)',30),(1144,8,'ct_pintura','estructura === \'si\' ? Math.ceil(m2_fascia / 45) : 0','Galones de pintura anticorrosiva',31),(1145,8,'ct_thinner','estructura === \'si\' ? Math.ceil(ct_pintura / 2) : 0','Thinner (estructura)',32);
UPDATE paquete_material SET formula_cantidad = 'color === \'plomo\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-plomo';
UPDATE paquete_material SET formula_cantidad = 'color === \'silver\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-silver';
UPDATE paquete_material SET formula_cantidad = 'color === \'amarillo\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-amarillo';
UPDATE paquete_material SET formula_cantidad = 'color === \'anaranjado\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-anaranjado';
UPDATE paquete_material SET formula_cantidad = 'color === \'azul-navy\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-azuln';
UPDATE paquete_material SET formula_cantidad = 'color === \'azul-sky\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-azuls';
UPDATE paquete_material SET formula_cantidad = 'color === \'negro-mate\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-negrom';
UPDATE paquete_material SET formula_cantidad = 'color === \'negro-brillante\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-negrobr';
UPDATE paquete_material SET formula_cantidad = 'color === \'blanco-mate\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-blancom';
UPDATE paquete_material SET formula_cantidad = 'color === \'blanco-brillante\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-blancobr';
UPDATE paquete_material SET formula_cantidad = 'color === \'rojo-mate\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-rojom';
UPDATE paquete_material SET formula_cantidad = 'color === \'rojo-brillante\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-rojobr';
UPDATE paquete_material SET formula_cantidad = 'color === \'verde-puma\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-verde';
UPDATE paquete_material SET formula_cantidad = 'color === \'madera\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-madera';
UPDATE paquete_material SET formula_cantidad = 'ct_rieles', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'riel';
UPDATE paquete_material SET formula_cantidad = 'ct_moldura', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'moldura';
UPDATE paquete_material SET formula_cantidad = 'ct_silicon', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'silicn';
UPDATE paquete_material SET formula_cantidad = 'ct_tirro', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'tirro';
UPDATE paquete_material SET formula_cantidad = 'base_tornillos', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'tornillof';
UPDATE paquete_material SET formula_cantidad = 'base_tornillos', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'tornillob';
UPDATE paquete_material SET formula_cantidad = 'base_tornillos', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'separador4';
UPDATE paquete_material SET formula_cantidad = 'base_tornillos', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'separador8';
UPDATE paquete_material SET formula_cantidad = 'base_tornillos', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'separador16';
UPDATE paquete_material SET formula_cantidad = 'ct_estructura', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'tubo';
UPDATE paquete_material SET formula_cantidad = 'ct_electrodo', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'electrodo';
UPDATE paquete_material SET formula_cantidad = 'ct_disco_ets', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'disco';
UPDATE paquete_material SET formula_cantidad = 'ct_ancla', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'ancla';
UPDATE paquete_material SET formula_cantidad = 'ct_angulo', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'ngulo';
UPDATE paquete_material SET formula_cantidad = 'ct_brochas', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'brocha';
UPDATE paquete_material SET formula_cantidad = 'ct_pintura', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'pintura';
UPDATE paquete_material SET formula_cantidad = 'ct_thinner', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'thinner';
UPDATE paquete_material SET formula_cantidad = 'estructura === \'si\' ? m2_fascia : 0', cantidad_editable = 0, precio_manual = 1 WHERE id_paquete = 8 AND clave = 'instalacion-es';
UPDATE paquete_material SET formula_cantidad = 'estructura === \'si\' ? 1 : 0', cantidad_editable = 0, precio_manual = 1 WHERE id_paquete = 8 AND clave = 'transporte-es';
UPDATE paquete_material SET formula_cantidad = 'm2_fascia', cantidad_editable = 0, precio_manual = 1 WHERE id_paquete = 8 AND clave = 'instalacionacm';
UPDATE paquete_material SET formula_cantidad = '1', cantidad_editable = 0, precio_manual = 1 WHERE id_paquete = 8 AND clave = 'transporte';
UPDATE paquete_material SET formula_cantidad = '1', cantidad_editable = 0, precio_manual = 1 WHERE id_paquete = 8 AND clave = 'andamio';
UPDATE paquete_material SET formula_cantidad = 'color === \'beige\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'lmina';
UPDATE paquete_material SET formula_cantidad = 'color === \'bronce\' ? laminas_totales : 0', cantidad_editable = 0, precio_manual = 0 WHERE id_paquete = 8 AND clave = 'acm-bronce';
UPDATE paquete SET tipo = 'automatizado' WHERE id = 8;
COMMIT;
