From d0ab91eb516056e0d6d3b2afb942ae102ce7d22e Mon Sep 17 00:00:00 2001 From: Marco Gallegos Date: Tue, 20 Jan 2026 11:16:44 -0600 Subject: [PATCH] Apply collapsible answer formatting to Medium and Advanced assessments, update n8n workflow schema, fix Basic assessment formatting errors, and validate all components --- add_marks_advanced.py | 35 + add_marks_medium.py | 35 + n8n/evaluador.json | 4777 ++++++++++++++++++++++ n8n/evaluador_v2.json | 4077 ++++++++++++++++++ questions/markdown/Advanced_assesment.md | 382 +- questions/markdown/Medium_assesment.md | 537 ++- questions/modify_md.py | 3 +- 7 files changed, 9744 insertions(+), 102 deletions(-) create mode 100644 add_marks_advanced.py create mode 100644 add_marks_medium.py create mode 100644 n8n/evaluador.json create mode 100644 n8n/evaluador_v2.json diff --git a/add_marks_advanced.py b/add_marks_advanced.py new file mode 100644 index 0000000..438a051 --- /dev/null +++ b/add_marks_advanced.py @@ -0,0 +1,35 @@ +import re + +correct_indices = [3,2,2,2,1,1,1,1,2,1,2,2,2,2,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1] + +with open('questions/markdown/Advanced_assesment.md', 'r', encoding='utf-8') as f: + content = f.read() + +questions = re.split(r'(?=### \d+\.)', content) + +new_questions = [] + +q_num = 0 + +for q in questions: + if not q.strip(): + continue + lines = q.split('\n') + options = [] + in_options = False + for i, line in enumerate(lines): + if line.startswith('- '): + if not in_options: + in_options = True + options.append(i) + if q_num < len(correct_indices): + correct_idx = correct_indices[q_num] - 1 # 0-based + if correct_idx < len(options): + lines[options[correct_idx]] += ' ✅' + new_questions.append('\n'.join(lines)) + q_num += 1 + +new_content = ''.join(new_questions) + +with open('questions/markdown/Advanced_assesment.md', 'w', encoding='utf-8') as f: + f.write(new_content) diff --git a/add_marks_medium.py b/add_marks_medium.py new file mode 100644 index 0000000..67e253a --- /dev/null +++ b/add_marks_medium.py @@ -0,0 +1,35 @@ +import re + +correct_indices = [2,3,2,2,1,3,3,2,2,1,3,2,2,2,3,2,2,2,2,1,1,2,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] + +with open('questions/markdown/Medium_assesment.md', 'r', encoding='utf-8') as f: + content = f.read() + +questions = re.split(r'(?=### \d+\.)', content) + +new_questions = [] + +q_num = 0 + +for q in questions: + if not q.strip(): + continue + lines = q.split('\n') + options = [] + in_options = False + for i, line in enumerate(lines): + if line.startswith('- '): + if not in_options: + in_options = True + options.append(i) + if q_num < len(correct_indices): + correct_idx = correct_indices[q_num] - 1 # 0-based + if correct_idx < len(options): + lines[options[correct_idx]] += ' ✅' + new_questions.append('\n'.join(lines)) + q_num += 1 + +new_content = ''.join(new_questions) + +with open('questions/markdown/Medium_assesment.md', 'w', encoding='utf-8') as f: + f.write(new_content) diff --git a/n8n/evaluador.json b/n8n/evaluador.json new file mode 100644 index 0000000..74abd9d --- /dev/null +++ b/n8n/evaluador.json @@ -0,0 +1,4777 @@ +{ + "name": "evaluador", + "nodes": [ + { + "parameters": { + "rules": { + "values": [ + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "5d3bc604-f7cd-436c-9a3e-695517ad61d1", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L0", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Funnel" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L1", + "operator": { + "type": "string", + "operation": "contains" + }, + "id": "ae4b7487-783c-4301-8157-9c610d2b603b" + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Basic" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "ba7f9c42-1d66-4a05-9b2c-0bcdf2a6d267", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L2", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Medium" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "8bfcaec3-0f50-4955-b780-206de4aaabb5", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L3", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Advanced" + } + ] + }, + "options": {} + }, + "type": "n8n-nodes-base.switch", + "typeVersion": 3.4, + "position": [ + 224, + -400 + ], + "id": "818f217a-0059-489c-93e0-605516a88881", + "name": "level_check" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n\n // 1. Configuración de fecha nativa\n const dateObj = new Date(payload.createdAt);\n const timeZone = 'America/Monterrey';\n\n // 2. Extraer FECHA (YYYY-MM-DD) ajustada a Monterrey\n const submission_date = dateObj.toLocaleDateString('en-CA', { \n timeZone: timeZone \n });\n\n // 3. Extraer HORA (HH:mm:ss) ajustada a Monterrey\n const submission_time = dateObj.toLocaleTimeString('en-GB', { \n timeZone: timeZone,\n hour12: false \n });\n\n return {\n json: {\n full_name: answers.full_name,\n employee_id: answers.employee_id,\n department: answers.department,\n job_role: answers.job_role,\n years_experience: answers.years_experience,\n self_evaluation: answers.self_evaluation,\n \n submission_date: submission_date,\n submission_time: submission_time\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -656 + ], + "id": "965ac4f1-e028-4e05-b611-751e9696f51f", + "name": "funnel_data" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "full_name", + "displayName": "full_name", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "department", + "displayName": "department", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "job_role", + "displayName": "job_role", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "years_experience", + "displayName": "years_experience", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "self_evaluation", + "displayName": "self_evaluation", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_time", + "displayName": "submission_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -656 + ], + "id": "c9b7bcc4-2d46-4af3-bf05-ed03fe52d044", + "name": "storage_funnel", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- CONFIGURACIÓN DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n const startObj = new Date(payload.createdAt); // Fecha de creación (Inicio)\n const endObj = new Date(payload.updatedAt); // Fecha de actualización (Fin)\n\n // 1. Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // 2. Hora Inicio (HH:mm:ss)\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // 3. Hora Fin (HH:mm:ss)\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- CÁLCULO DE DURACIÓN ---\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- CONSTRUCCIÓN DEL OBJETO FINAL ---\n // Definimos el orden exacto de los encabezados principales\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- AGREGAR PREGUNTAS DINÁMICAMENTE ---\n // Excluimos campos que ya usamos o que no sirven\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -464 + ], + "id": "95e08326-acba-4a68-8f19-adfcbdd40d37", + "name": "basic_processing" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- 1. CONFIGURACIÓN DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n \n // Convertimos las fechas ISO a objetos Date\n const startObj = new Date(payload.createdAt); // Fecha de creación (Inicio)\n const endObj = new Date(payload.updatedAt); // Fecha de actualización (Fin)\n\n // A. Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // B. Hora Inicio (HH:mm:ss) - Formato 24h\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // C. Hora Fin (HH:mm:ss) - Formato 24h\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- 2. CÁLCULO DE DURACIÓN ---\n // El valor metrics._total viene en milisegundos\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n \n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- 3. CONSTRUCCIÓN DEL OBJETO FINAL ---\n // Definimos el orden exacto de los encabezados principales\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- 4. AGREGAR PREGUNTAS DINÁMICAMENTE ---\n // Excluimos campos técnicos que no queremos en el reporte\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n // Recorremos todas las respuestas que vienen en 'answers'\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -272 + ], + "id": "9ffb41b3-efe5-41df-b4ef-a97ceb7a1b6d", + "name": "medium_processing" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- 1. CONFIGURACIÓN DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n \n const startObj = new Date(payload.createdAt);\n const endObj = new Date(payload.updatedAt);\n\n // Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // Hora Inicio (HH:mm:ss)\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // Hora Fin (HH:mm:ss)\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- 2. CÁLCULO DE DURACIÓN ---\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n \n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- 3. CONSTRUCCIÓN DEL OBJETO FINAL ---\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- 4. AGREGAR PREGUNTAS DINÁMICAMENTE ---\n // Excluimos campos no relevantes\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -80 + ], + "id": "8931d1c7-5672-47ca-b66a-f493c6a4daa0", + "name": "advanced_processing" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1757095379, + "mode": "list", + "cachedResultName": "basic", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1757095379" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_number" + ], + "schema": [ + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_3", + "displayName": "mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_4", + "displayName": "mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_1", + "displayName": "desp_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_2", + "displayName": "desp_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_3", + "displayName": "desp_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_4", + "displayName": "desp_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_5", + "displayName": "desp_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_6", + "displayName": "desp_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -464 + ], + "id": "bd7f8edd-8362-4981-b5ca-cb6f20bad7ee", + "name": "storage_basic", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "full_name", + "displayName": "full_name", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "department", + "displayName": "department", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "job_role", + "displayName": "job_role", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "years_experience", + "displayName": "years_experience", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "self_evaluation", + "displayName": "self_evaluation", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_time", + "displayName": "submission_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "headers", + "displayName": "headers", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "params", + "displayName": "params", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "body", + "displayName": "body", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "webhookUrl", + "displayName": "webhookUrl", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "executionMode", + "displayName": "executionMode", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "myNewField", + "displayName": "myNewField", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "start_time", + "displayName": "start_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "end_time", + "displayName": "end_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_45", + "displayName": "eff_45", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_46", + "displayName": "eff_46", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_47", + "displayName": "eff_47", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_48", + "displayName": "eff_48", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_49", + "displayName": "eff_49", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_50", + "displayName": "eff_50", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_51", + "displayName": "eff_51", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_52", + "displayName": "eff_52", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_37", + "displayName": "mat_37", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_38", + "displayName": "mat_38", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_39", + "displayName": "mat_39", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_40", + "displayName": "mat_40", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_41", + "displayName": "mat_41", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_42", + "displayName": "mat_42", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_43", + "displayName": "mat_43", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_44", + "displayName": "mat_44", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_12", + "displayName": "proc_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_13", + "displayName": "proc_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_14", + "displayName": "proc_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_15", + "displayName": "proc_15", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_16", + "displayName": "proc_16", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_17", + "displayName": "proc_17", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_18", + "displayName": "proc_18", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_19", + "displayName": "qual_19", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_20", + "displayName": "qual_20", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_21", + "displayName": "qual_21", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_22", + "displayName": "qual_22", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_23", + "displayName": "qual_23", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_24", + "displayName": "qual_24", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_25", + "displayName": "qual_25", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_26", + "displayName": "qual_26", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_27", + "displayName": "qual_27", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_28", + "displayName": "safe_28", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_29", + "displayName": "safe_29", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_30", + "displayName": "safe_30", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_31", + "displayName": "safe_31", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_32", + "displayName": "safe_32", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_33", + "displayName": "safe_33", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_34", + "displayName": "safe_34", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_35", + "displayName": "safe_35", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_36", + "displayName": "safe_36", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_53", + "displayName": "wast_53", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_54", + "displayName": "wast_54", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_55", + "displayName": "wast_55", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_56", + "displayName": "wast_56", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_57", + "displayName": "wast_57", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_58", + "displayName": "wast_58", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_59", + "displayName": "wast_59", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_60", + "displayName": "wast_60", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -272 + ], + "id": "97829e8a-2bed-43d2-bf70-ee86331d9630", + "name": "storage_medium", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "full_name", + "displayName": "full_name", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "department", + "displayName": "department", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "job_role", + "displayName": "job_role", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "years_experience", + "displayName": "years_experience", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "self_evaluation", + "displayName": "self_evaluation", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_time", + "displayName": "submission_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "headers", + "displayName": "headers", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "params", + "displayName": "params", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "body", + "displayName": "body", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "webhookUrl", + "displayName": "webhookUrl", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "executionMode", + "displayName": "executionMode", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "myNewField", + "displayName": "myNewField", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "start_time", + "displayName": "start_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "end_time", + "displayName": "end_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_45", + "displayName": "eff_45", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_46", + "displayName": "eff_46", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_47", + "displayName": "eff_47", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_48", + "displayName": "eff_48", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_49", + "displayName": "eff_49", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_50", + "displayName": "eff_50", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_51", + "displayName": "eff_51", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_52", + "displayName": "eff_52", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_37", + "displayName": "mat_37", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_38", + "displayName": "mat_38", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_39", + "displayName": "mat_39", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_40", + "displayName": "mat_40", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_41", + "displayName": "mat_41", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_42", + "displayName": "mat_42", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_43", + "displayName": "mat_43", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_44", + "displayName": "mat_44", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_12", + "displayName": "proc_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_13", + "displayName": "proc_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_14", + "displayName": "proc_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_15", + "displayName": "proc_15", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_16", + "displayName": "proc_16", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_17", + "displayName": "proc_17", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_18", + "displayName": "proc_18", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_19", + "displayName": "qual_19", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_20", + "displayName": "qual_20", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_21", + "displayName": "qual_21", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_22", + "displayName": "qual_22", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_23", + "displayName": "qual_23", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_24", + "displayName": "qual_24", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_25", + "displayName": "qual_25", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_26", + "displayName": "qual_26", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_27", + "displayName": "qual_27", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_28", + "displayName": "safe_28", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_29", + "displayName": "safe_29", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_30", + "displayName": "safe_30", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_31", + "displayName": "safe_31", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_32", + "displayName": "safe_32", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_33", + "displayName": "safe_33", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_34", + "displayName": "safe_34", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_35", + "displayName": "safe_35", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_36", + "displayName": "safe_36", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_53", + "displayName": "wast_53", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_54", + "displayName": "wast_54", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_55", + "displayName": "wast_55", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_56", + "displayName": "wast_56", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_57", + "displayName": "wast_57", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_58", + "displayName": "wast_58", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_59", + "displayName": "wast_59", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "wast_60", + "displayName": "wast_60", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_1", + "displayName": "adv_eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_2", + "displayName": "adv_eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_3", + "displayName": "adv_eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_4", + "displayName": "adv_eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_5", + "displayName": "adv_eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_1", + "displayName": "adv_mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_2", + "displayName": "adv_mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_3", + "displayName": "adv_mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_4", + "displayName": "adv_mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_1", + "displayName": "adv_mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_2", + "displayName": "adv_mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_3", + "displayName": "adv_mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_4", + "displayName": "adv_mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_5", + "displayName": "adv_mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_6", + "displayName": "adv_mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_1", + "displayName": "adv_proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_2", + "displayName": "adv_proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_3", + "displayName": "adv_proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_4", + "displayName": "adv_proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_5", + "displayName": "adv_proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_6", + "displayName": "adv_proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_1", + "displayName": "adv_qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_2", + "displayName": "adv_qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_3", + "displayName": "adv_qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_4", + "displayName": "adv_qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_5", + "displayName": "adv_qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_1", + "displayName": "adv_safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_2", + "displayName": "adv_safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_3", + "displayName": "adv_safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_4", + "displayName": "adv_safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_1", + "displayName": "adv_spec_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_2", + "displayName": "adv_spec_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_3", + "displayName": "adv_spec_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_4", + "displayName": "adv_spec_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_5", + "displayName": "adv_spec_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_6", + "displayName": "adv_spec_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_1", + "displayName": "adv_wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_2", + "displayName": "adv_wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_3", + "displayName": "adv_wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_4", + "displayName": "adv_wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -80 + ], + "id": "e2983164-098c-4fa9-874d-01163e26051c", + "name": "storage_advanced", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key)\n// Aquí pegamos el JSON con las respuestas correctas y puntajes\nconst questions_db = [\n { \"id\": \"mach_1\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"El tornillo (husillo)\", \"question\": \"En el sistema de plastificación...\" },\n { \"id\": \"mach_2\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"La tolva de alimentación\", \"question\": \"¿Cuál es el punto de entrada...\" },\n { \"id\": \"mach_3\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Mantener el perfil de temperatura del barril\", \"question\": \"¿Cuál es la función específica...\" },\n { \"id\": \"mach_4\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Contrarrestar la fuerza de separación del molde\", \"question\": \"Durante la etapa de inyección...\" },\n { \"id\": \"mach_5\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"El sistema de expulsión (botadores)\", \"question\": \"Al finalizar el ciclo...\" },\n { \"id\": \"proc_1\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Tiempo transcurrido entre el inicio de una inyección y la siguiente\", \"question\": \"¿Cómo se define correctamente...\" },\n { \"id\": \"qual_1\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Tiro Corto (Short Shot)\", \"question\": \"Si observas una pieza...\" },\n { \"id\": \"qual_2\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Fuerza de cierre insuficiente para la presión inyectada\", \"question\": \"¿Cuál es la causa técnica...\" },\n { \"id\": \"qual_3\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Rechupado (Sink Mark)\", \"question\": \"Identificas una depresión...\" },\n { \"id\": \"safe_1\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Salpicadura violenta de polímero fundido\", \"question\": \"¿Cuál es el riesgo principal...\" },\n { \"id\": \"safe_2\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Presionar el botón de paro de emergencia\", \"question\": \"Ante un ruido anormal...\" },\n { \"id\": \"safe_3\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Asegurar el bloqueo de todas las energías peligrosas\", \"question\": \"¿Cuál es el objetivo del procedimiento LOTO...\" },\n { \"id\": \"qual_4\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Aire atrapado que se comprimió y quemó (Efecto Diesel)\", \"question\": \"Si aparece una mancha negra...\" },\n { \"id\": \"qual_5\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Línea de unión o soldadura (Weld line)\", \"question\": \"¿Qué defecto visual se genera...\" },\n { \"id\": \"mat_1\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Para evitar hidrólisis y defectos visuales por humedad\", \"question\": \"Técnicamente, ¿por qué es obligatorio...\" },\n { \"id\": \"mat_2\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Higroscopía\", \"question\": \"¿Cómo se le llama a la propiedad...\" },\n { \"id\": \"proc_2\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Extraer calor del plástico para solidificarlo\", \"question\": \"¿Cuál es el propósito principal...\" },\n { \"id\": \"proc_3\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"La pieza se deformará o será perforada por los botadores\", \"question\": \"Si el operador reduce arbitrariamente...\" },\n { \"id\": \"proc_4\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Contrapresión (Back pressure)\", \"question\": \"¿Qué parámetro controla la resistencia...\" },\n { \"id\": \"proc_5\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El material sobrante delante del husillo para transferir presión\", \"question\": \"¿Qué representa el 'cojín'...\" },\n { \"id\": \"proc_6\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Falta de control dimensional y posibles rechupados\", \"question\": \"Al revisar los parámetros...\" },\n { \"id\": \"mach_6\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Evacuar el aire desplazado por el plástico entrante\", \"question\": \"Los canales de venteo...\" },\n { \"id\": \"mat_3\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"Material procesado, recuperado y triturado para reutilización\", \"question\": \"En el contexto de producción...\" },\n { \"id\": \"eff_1\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Disponibilidad, Desempeño y Calidad\", \"question\": \"¿Qué factores componen el cálculo...\" },\n { \"id\": \"eff_2\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Reducir el tiempo de cambio de molde (Set-up)\", \"question\": \"La metodología SMED...\" },\n { \"id\": \"mach_7\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Garantiza un tiempo de ciclo constante y estable\", \"question\": \"¿Cuál es la ventaja principal...\" },\n { \"id\": \"proc_7\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Compensar la contracción volumétrica mientras el material enfría\", \"question\": \"¿Cuál es el objetivo de la etapa...\" },\n { \"id\": \"proc_8\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Velocidad de inyección\", \"question\": \"¿Qué variable controla qué tan rápido...\" },\n { \"id\": \"proc_9\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La máquina cambia de control de velocidad a control de presión\", \"question\": \"¿Qué sucede exactamente en el 'Punto de Transferencia'...\" },\n { \"id\": \"qual_6\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Material contaminado con humedad (Hidrólisis)\", \"question\": \"Observas marcas plateadas...\" },\n { \"id\": \"qual_7\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Pandeo o Alabeo (Warpage)\", \"question\": \"Si la pieza sale del molde torcida...\" },\n { \"id\": \"qual_8\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Contaminación por mezcla de materiales incompatibles\", \"question\": \"La 'delaminación' es un defecto...\" },\n { \"id\": \"mach_8\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"El canal cónico principal que conecta la boquilla con los canales\", \"question\": \"¿Qué es el 'bebedero'...\" },\n { \"id\": \"mach_9\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Un defecto estético causado por material solidificado en la boquilla\", \"question\": \"¿Qué representa un tapón frío...\" },\n { \"id\": \"mach_10\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Defectos cosméticos, debilitamiento y problemas de pintado\", \"question\": \"El uso excesivo de spray...\" },\n { \"id\": \"mach_11\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Para evitar que la presión de inyección abra el molde (rebaba)\", \"question\": \"¿Por qué es crucial calcular...\" },\n { \"id\": \"qual_9\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Purgar la unidad y revisar limpieza del husillo/tolva\", \"question\": \"Detectas puntos negros...\" },\n { \"id\": \"proc_10\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Al volumen total de polímero inyectado en un ciclo\", \"question\": \"¿A qué se refiere el término...\" },\n { \"id\": \"desp_1\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Clasificar, Ordenar, Limpiar, Estandarizar, Disciplina\", \"question\": \"¿Cuál es la secuencia correcta...\" },\n { \"id\": \"desp_2\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Producto no conforme que no puede ser reparado\", \"question\": \"En términos de manufactura esbelta...\" },\n { \"id\": \"qual_10\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Proveer un estándar de comparación claro para la inspección\", \"question\": \"¿Cuál es el propósito de una 'Ayuda Visual'...\" },\n { \"id\": \"mat_4\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Aportar color o aditivos concentrados a la resina base\", \"question\": \"¿Qué función cumple el 'Masterbatch'...\" },\n { \"id\": \"mach_12\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"La fricción entre los pellets y el barril\", \"question\": \"¿Qué fuerza física permite que el material...\" },\n { \"id\": \"mach_13\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Soportar y sujetar las mitades del molde\", \"question\": \"Las 'platinas' (platens)...\" },\n { \"id\": \"mach_14\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Desalineación de las mitades y daño severo al molde\", \"question\": \"¿Qué consecuencia tiene operar...\" },\n { \"id\": \"proc_11\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Para aliviar presión y prevenir goteo por la boquilla\", \"question\": \"¿Para qué se utiliza la 'descompresión'...\" },\n { \"id\": \"desp_3\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Subir temperatura y usar material natural o compuesto de purga\", \"question\": \"¿Cuál es el procedimiento correcto...\" },\n { \"id\": \"desp_4\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Un desperdicio innecesario de resina y tiempo\", \"question\": \"Observas a un operador purgando...\" },\n { \"id\": \"desp_5\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Reduce la contaminación cruzada (puntos negros/rafagas)\", \"question\": \"¿Cómo impacta directamente...\" },\n { \"id\": \"desp_6\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Marcarla como Scrap por contaminación potencial\", \"question\": \"Si una pieza recién inyectada...\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n // Array para guardar el detalle pregunta por pregunta\n const results_breakdown = [];\n \n // Objeto para guardar puntaje por categoría (Ej: Seguridad: 10/10)\n const category_stats = {};\n\n // 3. COMPARACIÓN CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: user_data.mach_1)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta (comparación exacta de texto)\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // Lógica por Categoría\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Agregamos al detalle\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\", // Manejo de respuestas vacías\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. CÁLCULO DE CALIFICACIÓN FINAL\n // Evitar división por cero\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos del Empleado (Heredados)\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados Generales\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)), // Redondear a 2 decimales\n passed: grade_percentage >= 80, // Ejemplo: Aprobado si > 80%\n \n // Desglose por Categoría\n category_performance: category_stats,\n \n // Detalle Pregunta por Pregunta (útil para guardar en otra hoja o BD)\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -464 + ], + "id": "edf1b92b-fb26-4c6e-896a-7ced8f64f6f0", + "name": "basic_eval" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1214096918, + "mode": "list", + "cachedResultName": "basic_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1214096918" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "duration", + "displayName": "duration", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "total_score_fraction", + "displayName": "total_score_fraction", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "final_grade_pct", + "displayName": "final_grade_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "status", + "displayName": "status", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_score_pct", + "displayName": "tech_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_questions_ratio", + "displayName": "tech_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_score_pct", + "displayName": "theory_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_questions_ratio", + "displayName": "theory_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina", + "displayName": "cat_maquina", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso", + "displayName": "cat_proceso", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad", + "displayName": "cat_calidad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad", + "displayName": "cat_seguridad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales", + "displayName": "cat_materiales", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia", + "displayName": "cat_eficiencia", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios", + "displayName": "cat_desperdicios", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "error_summary", + "displayName": "error_summary", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_3", + "displayName": "mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_1", + "displayName": "desp_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_2", + "displayName": "desp_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_4", + "displayName": "mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_3", + "displayName": "desp_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_4", + "displayName": "desp_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_5", + "displayName": "desp_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_6", + "displayName": "desp_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -464 + ], + "id": "8876cbc8-afb2-4b69-af1a-bfdc32b450ab", + "name": "basic_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key) - MEDIUM (L2)\nconst questions_db = [\n { \"id\": \"mach_1\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"La temperatura del acero del barril en ese punto específico\", \"question\": \"¿Qué variable física mide realmente un termopar...\" },\n { \"id\": \"mach_2\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"10,000 PSI (Multiplicación por área)\", \"question\": \"Si el manómetro hidráulico marca 1,000 PSI...\" },\n { \"id\": \"mach_3\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Fuga interna en el anillo de cierre (válvula check)\", \"question\": \"Durante la fase de sostenimiento...\" },\n { \"id\": \"mach_4\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"El ratio de compresión entre la zona de alimentación y medición\", \"question\": \"¿Qué indica la relación L/D...\" },\n { \"id\": \"mach_5\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Puenteo de material (Bridging) y falla de carga\", \"question\": \"Si la temperatura en la garganta de alimentación...\" },\n { \"id\": \"mach_6\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"La bomba hidráulica\", \"question\": \"En un sistema hidráulico...\" },\n { \"id\": \"mach_7\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Platina de Rotación Axial\", \"question\": \"Identifica cuál de las siguientes NO es una platina...\" },\n { \"id\": \"mach_8\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Lectura errónea de temperatura y riesgo de proceso\", \"question\": \"¿Qué consecuencia tiene conectar un termopar Tipo J...\" },\n { \"id\": \"mach_9\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Retraer la placa de botadores al cerrar el molde\", \"question\": \"¿Cuál es la función crítica de los 'Return Pins'...\" },\n { \"id\": \"proc_10\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El cambio de control de Velocidad a control de Presión\", \"question\": \"¿Qué define exactamente el punto de conmutación...\" },\n { \"id\": \"proc_11\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"5,075 PSI\", \"question\": \"Calcula rápidamente: Si tienes 350 Bar...\" },\n { \"id\": \"proc_12\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La viscosidad disminuye (fluye más fácil)\", \"question\": \"Debido al comportamiento pseudoplástico...\" },\n { \"id\": \"proc_13\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"El tiempo mínimo de sostenimiento para evitar reflujo\", \"question\": \"¿Qué determina un 'Estudio de Sellado de Compuerta'...\" },\n { \"id\": \"proc_14\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Porque se pierde el control de la presión sobre la cavidad\", \"question\": \"Técnicamente, ¿por qué es grave que el cojín llegue a cero...\" },\n { \"id\": \"proc_15\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La presión de sostenimiento (Packing pressure)\", \"question\": \"¿Cuál es la variable de proceso más influyente...\" },\n { \"id\": \"proc_16\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Prevenir el babeo (drooling) de la boquilla\", \"question\": \"¿Cuál es el propósito técnico de la función de descompresión...\" },\n { \"id\": \"proc_17\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Pobre mezcla, aire atrapado y peso de disparo inconsistente\", \"question\": \"¿Qué defecto esperarías si la contrapresión...\" },\n { \"id\": \"proc_18\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El tiempo que el polímero pasa expuesto a calor dentro del barril\", \"question\": \"¿Qué es el 'Tiempo de Residencia' en inyección?\" },\n { \"id\": \"qual_19\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Daño en el molde o desalineación de platinas (Falta de sello)\", \"question\": \"Tienes una pieza con Rebaba (Flash) pero con Peso Bajo...\" },\n { \"id\": \"qual_20\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Jetting (Efecto Jet)\", \"question\": \"¿Qué defecto causa un 'gusanito'...\" },\n { \"id\": \"qual_21\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Compresión adiabática del aire atrapado\", \"question\": \"¿Qué fenómeno físico causa el 'Efecto Diesel'...\" },\n { \"id\": \"qual_22\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Humedad en el material (Vapor)\", \"question\": \"Las ráfagas plateadas (Silver streaks) suelen indicar:\" },\n { \"id\": \"qual_23\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"El ángulo de encuentro de los frentes de flujo (<135° vs >135°)\", \"question\": \"¿Cuál es la diferencia técnica entre Línea de Soldadura...\" },\n { \"id\": \"qual_24\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Equilibrar el enfriamiento entre lado fijo y móvil\", \"question\": \"Para corregir un problema de Pandeo (Warpage)...\" },\n { \"id\": \"qual_25\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Contaminación con polímero incompatible\", \"question\": \"La 'Delaminación' es síntoma inequívoco de:\" },\n { \"id\": \"qual_26\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Acumulación de carbón en zonas muertas del barril/husillo\", \"question\": \"¿Cuál es la fuente más común de 'Puntos Negros'...\" },\n { \"id\": \"qual_27\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"Gráficos de Control (SPC)\", \"question\": \"¿Qué herramienta de Calidad se utiliza para monitorear...\" },\n { \"id\": \"safe_28\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Aplicar bloqueo y etiquetado (LOTO) de energías\", \"question\": \"Antes de meter el cuerpo entre las platinas...\" },\n { \"id\": \"safe_29\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Por la expansión violenta de gases atrapados a presión\", \"question\": \"¿Por qué la purga de material degradado representa un riesgo...\" },\n { \"id\": \"safe_30\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Detectar obstrucciones y detener el cierre antes de dañar el molde\", \"question\": \"El sistema de 'Protección de Molde' sirve para:\" },\n { \"id\": \"safe_31\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Activar el Paro de Emergencia para detener la bomba\", \"question\": \"Ante una ruptura de manguera hidráulica...\" },\n { \"id\": \"safe_32\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Careta facial completa y guantes térmicos largos\", \"question\": \"Para manipular purgas calientes, el EPP mínimo incluye:\" },\n { \"id\": \"safe_33\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Tener capacidad de carga certificada mayor al peso del molde\", \"question\": \"Al izar un molde, ¿qué condición deben cumplir los cáncamos?\" },\n { \"id\": \"safe_34\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Detener bomba y movimientos si la puerta es abierta\", \"question\": \"¿Qué función cumple el interbloqueo de la puerta trasera?\" },\n { \"id\": \"safe_35\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Tipo C (CO2 o Polvo Químico)\", \"question\": \"Para un fuego eléctrico en el gabinete de control...\" },\n { \"id\": \"safe_36\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"NOM-004-STPS (Maquinaria y Equipo)\", \"question\": \"En México, la norma STPS que regula dispositivos...\" },\n { \"id\": \"mat_37\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Su viscosidad o facilidad para fluir\", \"question\": \"¿Qué indica el índice MFI (Melt Flow Index)...\" },\n { \"id\": \"mat_38\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Hidrólisis (rotura de cadenas moleculares)\", \"question\": \"¿Qué fenómeno químico sufre el Policarbonato...\" },\n { \"id\": \"mat_39\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Los semicristalinos tienen mayor contracción (shrinkage)\", \"question\": \"Diferencia clave de procesamiento entre amorfos y semicristalinos:\" },\n { \"id\": \"mat_40\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"Pérdida de propiedades mecánicas e inestabilidad\", \"question\": \"El uso de 'Regrind' por encima del 20% ocasiona:\" },\n { \"id\": \"mat_41\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Negativo (-40°C o inferior)\", \"question\": \"Para un secado eficiente, el 'Punto de Rocío' debe ser:\" },\n { \"id\": \"mat_42\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"1% a 4%\", \"question\": \"¿Cuál es el rango típico de dosificación de Masterbatch?\" },\n { \"id\": \"mat_43\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"Mayor presión de inyección y temperatura\", \"question\": \"Procesar materiales de alta viscosidad requiere:\" },\n { \"id\": \"mat_44\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Su desempeño térmico y mecánico superior\", \"question\": \"¿Qué distingue a un plástico de 'Ingeniería'...\" },\n { \"id\": \"eff_45\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Disponibilidad, Desempeño, Calidad\", \"question\": \"¿Cuáles son los tres factores que componen el OEE?\" },\n { \"id\": \"eff_46\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Convertir cambios de horas en minutos (Single Minute)\", \"question\": \"¿Cuál es la meta principal de la metodología SMED?\" },\n { \"id\": \"eff_47\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Desempeño (Performance)\", \"question\": \"Si la máquina corre a 30s en lugar de 25s...\" },\n { \"id\": \"eff_48\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Pre-calentar y preparar el molde nuevo mientras la máquina trabaja\", \"question\": \"En un cambio SMED, ¿qué es una actividad 'Externa'?\" },\n { \"id\": \"eff_49\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"85% o más\", \"question\": \"¿Qué porcentaje de OEE se considera 'Clase Mundial'?\" },\n { \"id\": \"eff_50\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"El costo pieza y la eficiencia del activo\", \"question\": \"Operar un molde de 4 cavidades con 1 bloqueada afecta:\" },\n { \"id\": \"eff_51\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"El ritmo de producción necesario para cumplir la demanda del cliente\", \"question\": \"¿Qué es el 'Takt Time'?\" },\n { \"id\": \"eff_52\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Monitoreo de condición (vibración, calor) para anticipar fallas\", \"question\": \"El Mantenimiento Predictivo se basa en:\" },\n { \"id\": \"wast_53\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Clasificar, Ordenar, Limpiar, Estandarizar, Disciplina\", \"question\": \"Orden lógico de implementación de 5S:\" },\n { \"id\": \"wast_54\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Sobreproducción\", \"question\": \"¿Cuál se considera el 'peor' desperdicio?\" },\n { \"id\": \"wast_55\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Sobre-procesamiento (Extra-processing)\", \"question\": \"Recortar rebaba a todas las piezas es ejemplo de:\" },\n { \"id\": \"wast_56\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Problemas de flujo de efectivo y riesgo de daños/obsolescencia\", \"question\": \"El exceso de Inventario en proceso (WIP) causa:\" },\n { \"id\": \"wast_57\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Fotos claras de defectos límite y criterios de aceptación\", \"question\": \"¿Qué debe contener una Ayuda Visual efectiva?\" },\n { \"id\": \"wast_58\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Las 5S (Orden y Limpieza)\", \"question\": \"Encontrar herramientas tiradas indica falla en:\" },\n { \"id\": \"wast_59\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Hacer imposible cometer un error específico (A prueba de error)\", \"question\": \"Un dispositivo 'Poka-Yoke' sirve para:\" },\n { \"id\": \"wast_60\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Aumentar el valor para el cliente y reducir costos\", \"question\": \"El objetivo final de eliminar desperdicios es:\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n const results_breakdown = [];\n const category_stats = {};\n\n // 3. COMPARACIÓN CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: mach_1, eff_45)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // Lógica por Categoría\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Detalle para reporte\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\",\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. CÁLCULO DE CALIFICACIÓN FINAL\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos heredados\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados calculados\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)),\n passed: grade_percentage >= 75, // Ajusta este 75 si necesitas otro corte aquí también\n \n // Objetos complejos\n category_performance: category_stats,\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -272 + ], + "id": "c977a49a-8708-4523-bfef-df6515a14a09", + "name": "medium_eval" + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key) - ADVANCED (L3)\nconst questions_db = [\n { \"id\": \"adv_mach_1\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"15,000 PSI (Multiplicación por área)\", \"question\": \"Con un ratio de intensificación de 10:1 y 1,500 PSI...\" },\n { \"id\": \"adv_mach_2\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Oxidación y degradación por entrada de aire al barril\", \"question\": \"¿Cuál es la consecuencia físico-química de una descompresión...\" },\n { \"id\": \"adv_mach_3\", \"category\": \"Máquina\", \"score\": 1.5, \"correct_answer\": \"Fuga en la válvula check (anillo) o desgaste del barril\", \"question\": \"Una variación del cojín (cushion) superior a +/- 10%...\" },\n { \"id\": \"adv_mach_4\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"La repetibilidad del punto de transferencia (VPT)\", \"question\": \"El 'Scan Time' o tiempo de respuesta del controlador...\" },\n { \"id\": \"adv_mach_5\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Mejor calidad de mezclado y homogeneidad térmica\", \"question\": \"Comparando un husillo L/D 24:1 contra uno 18:1...\" },\n { \"id\": \"adv_mach_6\", \"category\": \"Máquina\", \"score\": 1, \"correct_answer\": \"Desgaste acelerado en la punta del husillo y barril\", \"question\": \"Además de aumentar la temperatura de la masa, ¿qué efecto...\" },\n { \"id\": \"adv_proc_1\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La viscosidad es estable independientemente del corte (shear)\", \"question\": \"En la curva de viscosidad, la región 'Newtonian Flat'...\" },\n { \"id\": \"adv_proc_2\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"La máquina tenga ~10% de presión hidráulica de reserva\", \"question\": \"El objetivo de un estudio de 'Caída de Presión' es asegurar:\" },\n { \"id\": \"adv_proc_3\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Aumento de viscosidad por material frío u obstrucción\", \"question\": \"Un aumento repentino en la integral de presión sugiere:\" },\n { \"id\": \"adv_proc_4\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Estabilización del peso de la pieza vs tiempo de hold\", \"question\": \"El criterio técnico definitivo para confirmar el 'Sellado de Compuerta'...\" },\n { \"id\": \"adv_proc_5\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Aumento real de la temperatura de la masa fundida\", \"question\": \"Debido al calentamiento por cizalla, aumentar la velocidad provoca:\" },\n { \"id\": \"adv_proc_6\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Porque garantiza un volumen de disparo consistente\", \"question\": \"¿Por qué se prefiere el VPT (Transferencia) por Posición?\" },\n { \"id\": \"adv_qual_1\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Perfilar la velocidad (lento al inicio) para crear flujo laminar\", \"question\": \"La solución técnica para eliminar el 'Jetting' es:\" },\n { \"id\": \"adv_qual_2\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"La tasa de enfriamiento (Temperatura de molde)\", \"question\": \"En polímeros semicristalinos, ¿qué factor determina la cristalinidad?\" },\n { \"id\": \"adv_qual_3\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"El proceso no es capaz; alta probabilidad de defectos\", \"question\": \"Un Cpk de 0.8 en una dimensión crítica indica:\" },\n { \"id\": \"adv_qual_4\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"La temperatura del frente de flujo es inferior a la Tg al unirse\", \"question\": \"Una línea de soldadura se convierte en falla crítica si:\" },\n { \"id\": \"adv_qual_5\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Compresión adiabática de gases atrapados\", \"question\": \"La causa raíz termodinámica del 'Efecto Diesel' es:\" },\n { \"id\": \"adv_safe_1\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Liberación de gas Formaldehído (tóxico/irritante)\", \"question\": \"Al purgar POM (Acetal) degradado, el riesgo químico es:\" },\n { \"id\": \"adv_safe_2\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Al ingresar cualquier parte del cuerpo en zona de peligro\", \"question\": \"¿Cuándo es obligatorio aplicar LOTO en inyección?\" },\n { \"id\": \"adv_safe_3\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Energía de presión almacenada lista para liberarse\", \"question\": \"El peligro latente de un acumulador hidráulico es:\" },\n { \"id\": \"adv_safe_4\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Dióxido de Carbono (CO2) o Agente Limpio\", \"question\": \"Extintor correcto para fuego en tableros electrónicos (Clase C):\" },\n { \"id\": \"adv_mat_1\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Reducción de peso molecular, viscosidad y propiedades mecánicas\", \"question\": \"La degradación por escisión de cadenas resulta en:\" },\n { \"id\": \"adv_mat_2\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Rompe los enlaces covalentes de la cadena polimérica\", \"question\": \"La hidrólisis en materiales como PC o PBT es donde el agua:\" },\n { \"id\": \"adv_mat_3\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Requieren mucha más energía para fundir y enfriar que los amorfos\", \"question\": \"Diferencia térmica clave: Los semicristalinos poseen Calor Latente...\" },\n { \"id\": \"adv_mat_4\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Porque es una prueba de bajo cizallamiento (Low Shear)\", \"question\": \"¿Por qué el MFI no es representativo del comportamiento dentro del molde?\" },\n { \"id\": \"adv_eff_1\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"La conductividad térmica del plástico (Tiempo de enfriamiento)\", \"question\": \"El factor limitante físico más común para reducir el tiempo de ciclo es:\" },\n { \"id\": \"adv_eff_2\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Asegurar el molde a la platina (Clamping)\", \"question\": \"En SMED, un ejemplo de actividad INTERNA es:\" },\n { \"id\": \"adv_eff_3\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Desempeño (Performance) - Ciclos lentos o micro-paros\", \"question\": \"Si tu OEE es 60% pero Calidad 99% y Disponibilidad 98%:\" },\n { \"id\": \"adv_eff_4\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"La confiabilidad y frecuencia de fallas del equipo\", \"question\": \"El MTBF (Mean Time Between Failures) mide:\" },\n { \"id\": \"adv_eff_5\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Material + Energía + Mano de obra + Costo de oportunidad + Riesgo cliente\", \"question\": \"El Costo Real de la 'No Calidad' incluye:\" },\n { \"id\": \"adv_wast_1\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Sobre-procesamiento y Material\", \"question\": \"El sobre-empaque que causa piezas pesadas es desperdicio de:\" },\n { \"id\": \"adv_wast_2\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Oculta ineficiencias del sistema y atrapa flujo de efectivo\", \"question\": \"El exceso de inventario (WIP) es negativo porque:\" },\n { \"id\": \"adv_wast_3\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Paros no programados para limpieza y scrap por quemaduras\", \"question\": \"Un mantenimiento deficiente de venteos genera desperdicio por:\" },\n { \"id\": \"adv_wast_4\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Generación intrínseca de desperdicio (scrap/regrind) en cada ciclo\", \"question\": \"Técnicamente, usar Colada Fría en lugar de Colada Caliente implica:\" },\n { \"id\": \"adv_spec_1\", \"category\": \"Ingeniería Moldes\", \"score\": 1, \"correct_answer\": \"Flujo Turbulento (Máxima eficiencia de transferencia de calor)\", \"question\": \"En refrigeración de moldes, un Número de Reynolds > 4,000 garantiza:\" },\n { \"id\": \"adv_spec_2\", \"category\": \"Ingeniería Moldes\", \"score\": 1.5, \"correct_answer\": \"Deformación elástica de la platina que abre el molde en el centro\", \"question\": \"La 'Deflexión de Platinas' causa rebaba central debido a:\" },\n { \"id\": \"adv_spec_3\", \"category\": \"Ingeniería Moldes\", \"score\": 1, \"correct_answer\": \"En la fase de diseño de pieza y molde (previo al corte de acero)\", \"question\": \"¿En qué etapa es más rentable utilizar simulación CAE?\" },\n { \"id\": \"adv_spec_4\", \"category\": \"Ingeniería Moldes\", \"score\": 1, \"correct_answer\": \"Control independiente del flujo y mejor acabado cosmético (sin vestigio)\", \"question\": \"La ventaja técnica principal de una compuerta valvulada es:\" },\n { \"id\": \"adv_spec_5\", \"category\": \"Ingeniería Moldes\", \"score\": 1.5, \"correct_answer\": \"Hay mayor masa de plástico transfiriendo calor a menor área de acero\", \"question\": \"El 'Efecto de Esquina' provoca puntos calientes porque:\" },\n { \"id\": \"adv_spec_6\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Porque confirma que hubo material suficiente para transferir la presión de empaque\", \"question\": \"¿Por qué el monitoreo del 'Cojín' es más crítico que el 'Tiempo de Inyección'?\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n const results_breakdown = [];\n const category_stats = {};\n\n // 3. COMPARACIÓN CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: adv_mach_1)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // Lógica por Categoría\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Detalle para reporte\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\",\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. CÁLCULO DE CALIFICACIÓN FINAL\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos heredados\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados calculados\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)),\n passed: grade_percentage >= 75,\n \n // Objetos complejos\n category_performance: category_stats,\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -80 + ], + "id": "143565f1-0889-4c7b-8f25-a697c1c254c7", + "name": "advanced_eval" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACIÓN ---\nconst MIN_PASSING_SCORE = 75; // <--- Mínimo para aprobar (Ajustable)\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. CÁLCULO DE PORCENTAJES GLOBALES\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCIÓN DEL REPORTE\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"✅ PASSED\" : \"❌ FAILED\",\n\n // Technical Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n\n // Theoretical Stats\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGORÍAS (Puntaje Y Porcentaje)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName);\n\n // Columna 1: Fracción (10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n\n // Columna 2: Porcentaje (83.33%) <-- NUEVO\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n \n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"✨ Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '✅' : '❌';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -272 + ], + "id": "8d1e93e0-e1f9-4277-9609-b02f017fbe46", + "name": "medium_scoring" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACIÓN ---\nconst MIN_PASSING_SCORE = 75; // <--- Mínimo para aprobar (Ajustable)\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n // Preguntas Técnicas/Prácticas (Valen 1.5)\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n // Preguntas Teóricas (Valen 1.0)\n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. CÁLCULO DE PORCENTAJES DE SCORE\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCIÓN DEL REPORTE (Snake Case & English)\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"✅ PASSED\" : \"❌ FAILED\",\n\n // Technical Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n\n // Theoretical Stats\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGORÍAS (PUNTAJE Y PORCENTAJE)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName);\n\n // Columna 1: Fracción (ej: 10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n\n // Columna 2: Porcentaje (ej: 83.33%) <-- NUEVO\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n\n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES (ERROR SUMMARY)\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"✨ Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Solo Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '✅' : '❌';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -464 + ], + "id": "663a800f-4dca-413e-9e30-ed0ab669d2a5", + "name": "basic_scoring" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACIÓN ---\nconst MIN_PASSING_SCORE = 75; // <--- Mínimo para aprobar\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. CÁLCULO DE PORCENTAJES GLOBALES\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCIÓN DEL REPORTE\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"✅ PASSED\" : \"❌ FAILED\",\n\n // Technical vs Theory Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGORÍAS (PUNTAJE + PORCENTAJE)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName); // ej: \"maquina\"\n\n // Columna 1: Fracción (ej: 10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n \n // Columna 2: Porcentaje (ej: 83.33%)\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n \n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"✨ Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '✅' : '❌';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -80 + ], + "id": "5c41f20b-2634-4a02-b732-053784ce8d0b", + "name": "advenced_scoring" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1726302191, + "mode": "list", + "cachedResultName": "medium_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1726302191" + }, + "columns": { + "mappingMode": "defineBelow", + "value": {}, + "matchingColumns": [], + "schema": [ + { + "id": "headers", + "displayName": "headers", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "params", + "displayName": "params", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "body", + "displayName": "body", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "webhookUrl", + "displayName": "webhookUrl", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "executionMode", + "displayName": "executionMode", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "myNewField", + "displayName": "myNewField", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -272 + ], + "id": "8f41048d-63f6-4f96-9cd1-205026e45815", + "name": "medium_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1575503621, + "mode": "list", + "cachedResultName": "advanced_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1575503621" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "duration", + "displayName": "duration", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "total_score_fraction", + "displayName": "total_score_fraction", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "final_grade_pct", + "displayName": "final_grade_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "status", + "displayName": "status", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_score_pct", + "displayName": "tech_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_questions_ratio", + "displayName": "tech_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_score_pct", + "displayName": "theory_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_questions_ratio", + "displayName": "theory_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina", + "displayName": "cat_maquina", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina_pct", + "displayName": "cat_maquina_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso", + "displayName": "cat_proceso", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso_pct", + "displayName": "cat_proceso_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad", + "displayName": "cat_calidad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad_pct", + "displayName": "cat_calidad_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad", + "displayName": "cat_seguridad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad_pct", + "displayName": "cat_seguridad_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales", + "displayName": "cat_materiales", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales_pct", + "displayName": "cat_materiales_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia", + "displayName": "cat_eficiencia", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia_pct", + "displayName": "cat_eficiencia_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios", + "displayName": "cat_desperdicios", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios_pct", + "displayName": "cat_desperdicios_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_ingenieria_moldes", + "displayName": "cat_ingenieria_moldes", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_ingenieria_moldes_pct", + "displayName": "cat_ingenieria_moldes_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "error_summary", + "displayName": "error_summary", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_1", + "displayName": "adv_mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_2", + "displayName": "adv_mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_3", + "displayName": "adv_mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_4", + "displayName": "adv_mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_5", + "displayName": "adv_mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_6", + "displayName": "adv_mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_1", + "displayName": "adv_proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_2", + "displayName": "adv_proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_3", + "displayName": "adv_proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_4", + "displayName": "adv_proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_5", + "displayName": "adv_proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_6", + "displayName": "adv_proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_1", + "displayName": "adv_qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_2", + "displayName": "adv_qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_3", + "displayName": "adv_qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_4", + "displayName": "adv_qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_5", + "displayName": "adv_qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_1", + "displayName": "adv_safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_2", + "displayName": "adv_safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_3", + "displayName": "adv_safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_4", + "displayName": "adv_safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_1", + "displayName": "adv_mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_2", + "displayName": "adv_mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_3", + "displayName": "adv_mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_4", + "displayName": "adv_mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_1", + "displayName": "adv_eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_2", + "displayName": "adv_eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_3", + "displayName": "adv_eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_4", + "displayName": "adv_eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_5", + "displayName": "adv_eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_1", + "displayName": "adv_wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_2", + "displayName": "adv_wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_3", + "displayName": "adv_wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_4", + "displayName": "adv_wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_1", + "displayName": "adv_spec_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_2", + "displayName": "adv_spec_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_3", + "displayName": "adv_spec_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_4", + "displayName": "adv_spec_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_5", + "displayName": "adv_spec_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_6", + "displayName": "adv_spec_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -80 + ], + "id": "e7eebb75-459e-4e90-9d85-f9387f476f57", + "name": "advanced_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "httpMethod": "POST", + "path": "YRjw9xlTTSe", + "options": {} + }, + "type": "n8n-nodes-base.webhook", + "typeVersion": 2.1, + "position": [ + 0, + -368 + ], + "id": "b264e375-4d94-4c52-a26c-24290c316b7c", + "name": "form_webhook", + "webhookId": "f3119627-14be-4400-95dd-47d4e1a445fb" + } + ], + "pinData": {}, + "connections": { + "level_check": { + "main": [ + [ + { + "node": "funnel_data", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "basic_processing", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "medium_processing", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "advanced_processing", + "type": "main", + "index": 0 + } + ] + ] + }, + "funnel_data": { + "main": [ + [ + { + "node": "storage_funnel", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_processing": { + "main": [ + [ + { + "node": "storage_basic", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_processing": { + "main": [ + [ + { + "node": "storage_medium", + "type": "main", + "index": 0 + } + ] + ] + }, + "advanced_processing": { + "main": [ + [ + { + "node": "storage_advanced", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_basic": { + "main": [ + [ + { + "node": "basic_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_eval": { + "main": [ + [ + { + "node": "basic_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_medium": { + "main": [ + [ + { + "node": "medium_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_advanced": { + "main": [ + [ + { + "node": "advanced_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_eval": { + "main": [ + [ + { + "node": "medium_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_scoring": { + "main": [ + [ + { + "node": "basic_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "advanced_eval": { + "main": [ + [ + { + "node": "advenced_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_scoring": { + "main": [ + [ + { + "node": "medium_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "advenced_scoring": { + "main": [ + [ + { + "node": "advanced_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "form_webhook": { + "main": [ + [ + { + "node": "level_check", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "active": true, + "settings": { + "executionOrder": "v1" + }, + "versionId": "413102e1-969c-47aa-9188-b9093da942ff", + "meta": { + "templateCredsSetupCompleted": true, + "instanceId": "1273fc0a299b5d86c18b83139898c705285f2556bb96d65ecaccb13873295d38" + }, + "id": "sLoacT71cHP8diaW", + "tags": [] +} \ No newline at end of file diff --git a/n8n/evaluador_v2.json b/n8n/evaluador_v2.json new file mode 100644 index 0000000..f4fc5e3 --- /dev/null +++ b/n8n/evaluador_v2.json @@ -0,0 +1,4077 @@ +{ + "name": "evaluador", + "nodes": [ + { + "parameters": { + "rules": { + "values": [ + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "5d3bc604-f7cd-436c-9a3e-695517ad61d1", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L0", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Funnel" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L1", + "operator": { + "type": "string", + "operation": "contains" + }, + "id": "ae4b7487-783c-4301-8157-9c610d2b603b" + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Basic" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "ba7f9c42-1d66-4a05-9b2c-0bcdf2a6d267", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L2", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Medium" + }, + { + "conditions": { + "options": { + "caseSensitive": true, + "leftValue": "", + "typeValidation": "strict", + "version": 3 + }, + "conditions": [ + { + "id": "8bfcaec3-0f50-4955-b780-206de4aaabb5", + "leftValue": "={{ $json.body.data.survey.title }}", + "rightValue": "L3", + "operator": { + "type": "string", + "operation": "contains" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "Advanced" + } + ] + }, + "options": {} + }, + "type": "n8n-nodes-base.switch", + "typeVersion": 3.4, + "position": [ + 224, + -400 + ], + "id": "818f217a-0059-489c-93e0-605516a88881", + "name": "level_check" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n\n // 1. Configuraci\u00f3n de fecha nativa\n const dateObj = new Date(payload.createdAt);\n const timeZone = 'America/Monterrey';\n\n // 2. Extraer FECHA (YYYY-MM-DD) ajustada a Monterrey\n const submission_date = dateObj.toLocaleDateString('en-CA', { \n timeZone: timeZone \n });\n\n // 3. Extraer HORA (HH:mm:ss) ajustada a Monterrey\n const submission_time = dateObj.toLocaleTimeString('en-GB', { \n timeZone: timeZone,\n hour12: false \n });\n\n return {\n json: {\n full_name: answers.full_name,\n employee_id: answers.employee_id,\n department: answers.department,\n job_role: answers.job_role,\n years_experience: answers.years_experience,\n self_evaluation: answers.self_evaluation,\n \n submission_date: submission_date,\n submission_time: submission_time\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -656 + ], + "id": "965ac4f1-e028-4e05-b611-751e9696f51f", + "name": "funnel_data" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "full_name", + "displayName": "full_name", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "department", + "displayName": "department", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "job_role", + "displayName": "job_role", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "years_experience", + "displayName": "years_experience", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "self_evaluation", + "displayName": "self_evaluation", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_time", + "displayName": "submission_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -656 + ], + "id": "c9b7bcc4-2d46-4af3-bf05-ed03fe52d044", + "name": "storage_funnel", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- CONFIGURACI\u00d3N DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n const startObj = new Date(payload.createdAt); // Fecha de creaci\u00f3n (Inicio)\n const endObj = new Date(payload.updatedAt); // Fecha de actualizaci\u00f3n (Fin)\n\n // 1. Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // 2. Hora Inicio (HH:mm:ss)\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // 3. Hora Fin (HH:mm:ss)\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- C\u00c1LCULO DE DURACI\u00d3N ---\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- CONSTRUCCI\u00d3N DEL OBJETO FINAL ---\n // Definimos el orden exacto de los encabezados principales\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- AGREGAR PREGUNTAS DIN\u00c1MICAMENTE ---\n // Excluimos campos que ya usamos o que no sirven\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -464 + ], + "id": "95e08326-acba-4a68-8f19-adfcbdd40d37", + "name": "basic_processing" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- 1. CONFIGURACI\u00d3N DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n \n // Convertimos las fechas ISO a objetos Date\n const startObj = new Date(payload.createdAt); // Fecha de creaci\u00f3n (Inicio)\n const endObj = new Date(payload.updatedAt); // Fecha de actualizaci\u00f3n (Fin)\n\n // A. Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // B. Hora Inicio (HH:mm:ss) - Formato 24h\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // C. Hora Fin (HH:mm:ss) - Formato 24h\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- 2. C\u00c1LCULO DE DURACI\u00d3N ---\n // El valor metrics._total viene en milisegundos\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n \n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- 3. CONSTRUCCI\u00d3N DEL OBJETO FINAL ---\n // Definimos el orden exacto de los encabezados principales\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- 4. AGREGAR PREGUNTAS DIN\u00c1MICAMENTE ---\n // Excluimos campos t\u00e9cnicos que no queremos en el reporte\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n // Recorremos todas las respuestas que vienen en 'answers'\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -272 + ], + "id": "9ffb41b3-efe5-41df-b4ef-a97ceb7a1b6d", + "name": "medium_processing" + }, + { + "parameters": { + "jsCode": "return items.map(item => {\n const payload = item.json.body.data;\n const answers = payload.data;\n const metrics = payload.ttc;\n\n // --- 1. CONFIGURACI\u00d3N DE ZONA HORARIA Y FECHAS ---\n const timeZone = 'America/Monterrey';\n \n const startObj = new Date(payload.createdAt);\n const endObj = new Date(payload.updatedAt);\n\n // Fecha (YYYY-MM-DD)\n const submission_date = startObj.toLocaleDateString('en-CA', { timeZone });\n\n // Hora Inicio (HH:mm:ss)\n const start_time = startObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // Hora Fin (HH:mm:ss)\n const end_time = endObj.toLocaleTimeString('en-GB', { \n timeZone, \n hour12: false \n });\n\n // --- 2. C\u00c1LCULO DE DURACI\u00d3N ---\n const total_ms = metrics._total || 0;\n const total_seconds = Math.floor(total_ms / 1000);\n const minutes = Math.floor(total_seconds / 60);\n const seconds = total_seconds % 60;\n \n const time_taken = `${minutes} min ${seconds} seg`;\n\n // --- 3. CONSTRUCCI\u00d3N DEL OBJETO FINAL ---\n const final_data = {\n employee_number: answers.employee_number,\n submission_date: submission_date,\n start_time: start_time,\n end_time: end_time,\n time_taken: time_taken\n };\n\n // --- 4. AGREGAR PREGUNTAS DIN\u00c1MICAMENTE ---\n // Excluimos campos no relevantes\n const excluded_fields = ['employee_number', 'welcomeCard'];\n\n for (const key in answers) {\n if (!excluded_fields.includes(key)) {\n final_data[key] = answers[key];\n }\n }\n\n return {\n json: final_data\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 448, + -80 + ], + "id": "8931d1c7-5672-47ca-b66a-f493c6a4daa0", + "name": "advanced_processing" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1757095379, + "mode": "list", + "cachedResultName": "basic", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1757095379" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_number" + ], + "schema": [ + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "start_time", + "displayName": "start_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "end_time", + "displayName": "end_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_1", + "displayName": "wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_2", + "displayName": "wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_3", + "displayName": "wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_4", + "displayName": "wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_5", + "displayName": "wast_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_6", + "displayName": "wast_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_5", + "displayName": "mat_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_6", + "displayName": "mat_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_4", + "displayName": "safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_5", + "displayName": "safe_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_3", + "displayName": "eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_4", + "displayName": "eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_5", + "displayName": "eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -464 + ], + "id": "bd7f8edd-8362-4981-b5ca-cb6f20bad7ee", + "name": "storage_basic", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "start_time", + "displayName": "start_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "end_time", + "displayName": "end_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_1", + "displayName": "wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_2", + "displayName": "wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_3", + "displayName": "wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_4", + "displayName": "wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_5", + "displayName": "wast_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_6", + "displayName": "wast_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_5", + "displayName": "mat_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_6", + "displayName": "mat_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_4", + "displayName": "safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_5", + "displayName": "safe_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_3", + "displayName": "eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_4", + "displayName": "eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_5", + "displayName": "eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -272 + ], + "id": "97829e8a-2bed-43d2-bf70-ee86331d9630", + "name": "storage_medium", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": "gid=0", + "mode": "list", + "cachedResultName": "funnel", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=0" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_number", + "displayName": "employee_number", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "start_time", + "displayName": "start_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "end_time", + "displayName": "end_time", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "time_taken", + "displayName": "time_taken", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_1", + "displayName": "wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_2", + "displayName": "wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_3", + "displayName": "wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_4", + "displayName": "wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_5", + "displayName": "wast_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "wast_6", + "displayName": "wast_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_5", + "displayName": "mat_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "mat_6", + "displayName": "mat_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_4", + "displayName": "safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "safe_5", + "displayName": "safe_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_3", + "displayName": "eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_4", + "displayName": "eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + }, + { + "id": "eff_5", + "displayName": "eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": false, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 672, + -80 + ], + "id": "e2983164-098c-4fa9-874d-01163e26051c", + "name": "storage_advanced", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key)\n// Aqu\u00ed pegamos el JSON con las respuestas correctas y puntajes\nconst questions_db = [\n { \"id\": \"mach_1\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"El tornillo (husillo)\", \"question\": \"En el sistema de plastificaci\u00f3n...\" },\n { \"id\": \"mach_2\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"La tolva de alimentaci\u00f3n\", \"question\": \"\u00bfCu\u00e1l es el punto de entrada...\" },\n { \"id\": \"mach_3\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Mantener el perfil de temperatura del barril\", \"question\": \"\u00bfCu\u00e1l es la funci\u00f3n espec\u00edfica...\" },\n { \"id\": \"mach_4\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Contrarrestar la fuerza de separaci\u00f3n del molde\", \"question\": \"Durante la etapa de inyecci\u00f3n...\" },\n { \"id\": \"mach_5\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"El sistema de expulsi\u00f3n (botadores)\", \"question\": \"Al finalizar el ciclo...\" },\n { \"id\": \"proc_1\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Tiempo transcurrido entre el inicio de una inyecci\u00f3n y la siguiente\", \"question\": \"\u00bfC\u00f3mo se define correctamente...\" },\n { \"id\": \"qual_1\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Tiro Corto (Short Shot)\", \"question\": \"Si observas una pieza...\" },\n { \"id\": \"qual_2\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Fuerza de cierre insuficiente para la presi\u00f3n inyectada\", \"question\": \"\u00bfCu\u00e1l es la causa t\u00e9cnica...\" },\n { \"id\": \"qual_3\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Rechupado (Sink Mark)\", \"question\": \"Identificas una depresi\u00f3n...\" },\n { \"id\": \"safe_1\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Salpicadura violenta de pol\u00edmero fundido\", \"question\": \"\u00bfCu\u00e1l es el riesgo principal...\" },\n { \"id\": \"safe_2\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Presionar el bot\u00f3n de paro de emergencia\", \"question\": \"Ante un ruido anormal...\" },\n { \"id\": \"safe_3\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Asegurar el bloqueo de todas las energ\u00edas peligrosas\", \"question\": \"\u00bfCu\u00e1l es el objetivo del procedimiento LOTO...\" },\n { \"id\": \"qual_4\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Aire atrapado que se comprimi\u00f3 y quem\u00f3 (Efecto Diesel)\", \"question\": \"Si aparece una mancha negra...\" },\n { \"id\": \"qual_5\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"L\u00ednea de uni\u00f3n o soldadura (Weld line)\", \"question\": \"\u00bfQu\u00e9 defecto visual se genera...\" },\n { \"id\": \"mat_1\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Para evitar hidr\u00f3lisis y defectos visuales por humedad\", \"question\": \"T\u00e9cnicamente, \u00bfpor qu\u00e9 es obligatorio...\" },\n { \"id\": \"mat_2\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Higroscop\u00eda\", \"question\": \"\u00bfC\u00f3mo se le llama a la propiedad...\" },\n { \"id\": \"proc_2\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Extraer calor del pl\u00e1stico para solidificarlo\", \"question\": \"\u00bfCu\u00e1l es el prop\u00f3sito principal...\" },\n { \"id\": \"proc_3\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"La pieza se deformar\u00e1 o ser\u00e1 perforada por los botadores\", \"question\": \"Si el operador reduce arbitrariamente...\" },\n { \"id\": \"proc_4\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Contrapresi\u00f3n (Back pressure)\", \"question\": \"\u00bfQu\u00e9 par\u00e1metro controla la resistencia...\" },\n { \"id\": \"proc_5\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El material sobrante delante del husillo para transferir presi\u00f3n\", \"question\": \"\u00bfQu\u00e9 representa el 'coj\u00edn'...\" },\n { \"id\": \"proc_6\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Falta de control dimensional y posibles rechupados\", \"question\": \"Al revisar los par\u00e1metros...\" },\n { \"id\": \"mach_6\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Evacuar el aire desplazado por el pl\u00e1stico entrante\", \"question\": \"Los canales de venteo...\" },\n { \"id\": \"mat_3\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"Material procesado, recuperado y triturado para reutilizaci\u00f3n\", \"question\": \"En el contexto de producci\u00f3n...\" },\n { \"id\": \"eff_1\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Disponibilidad, Desempe\u00f1o y Calidad\", \"question\": \"\u00bfQu\u00e9 factores componen el c\u00e1lculo...\" },\n { \"id\": \"eff_2\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Reducir el tiempo de cambio de molde (Set-up)\", \"question\": \"La metodolog\u00eda SMED...\" },\n { \"id\": \"mach_7\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Garantiza un tiempo de ciclo constante y estable\", \"question\": \"\u00bfCu\u00e1l es la ventaja principal...\" },\n { \"id\": \"proc_7\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Compensar la contracci\u00f3n volum\u00e9trica mientras el material enfr\u00eda\", \"question\": \"\u00bfCu\u00e1l es el objetivo de la etapa...\" },\n { \"id\": \"proc_8\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Velocidad de inyecci\u00f3n\", \"question\": \"\u00bfQu\u00e9 variable controla qu\u00e9 tan r\u00e1pido...\" },\n { \"id\": \"proc_9\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La m\u00e1quina cambia de control de velocidad a control de presi\u00f3n\", \"question\": \"\u00bfQu\u00e9 sucede exactamente en el 'Punto de Transferencia'...\" },\n { \"id\": \"qual_6\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Material contaminado con humedad (Hidr\u00f3lisis)\", \"question\": \"Observas marcas plateadas...\" },\n { \"id\": \"qual_7\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Pandeo o Alabeo (Warpage)\", \"question\": \"Si la pieza sale del molde torcida...\" },\n { \"id\": \"qual_8\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Contaminaci\u00f3n por mezcla de materiales incompatibles\", \"question\": \"La 'delaminaci\u00f3n' es un defecto...\" },\n { \"id\": \"mach_8\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"El canal c\u00f3nico principal que conecta la boquilla con los canales\", \"question\": \"\u00bfQu\u00e9 es el 'bebedero'...\" },\n { \"id\": \"mach_9\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Un defecto est\u00e9tico causado por material solidificado en la boquilla\", \"question\": \"\u00bfQu\u00e9 representa un tap\u00f3n fr\u00edo...\" },\n { \"id\": \"mach_10\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Defectos cosm\u00e9ticos, debilitamiento y problemas de pintado\", \"question\": \"El uso excesivo de spray...\" },\n { \"id\": \"mach_11\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Para evitar que la presi\u00f3n de inyecci\u00f3n abra el molde (rebaba)\", \"question\": \"\u00bfPor qu\u00e9 es crucial calcular...\" },\n { \"id\": \"qual_9\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Purgar la unidad y revisar limpieza del husillo/tolva\", \"question\": \"Detectas puntos negros...\" },\n { \"id\": \"proc_10\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Al volumen total de pol\u00edmero inyectado en un ciclo\", \"question\": \"\u00bfA qu\u00e9 se refiere el t\u00e9rmino...\" },\n { \"id\": \"desp_1\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Clasificar, Ordenar, Limpiar, Estandarizar, Disciplina\", \"question\": \"\u00bfCu\u00e1l es la secuencia correcta...\" },\n { \"id\": \"desp_2\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Producto no conforme que no puede ser reparado\", \"question\": \"En t\u00e9rminos de manufactura esbelta...\" },\n { \"id\": \"qual_10\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Proveer un est\u00e1ndar de comparaci\u00f3n claro para la inspecci\u00f3n\", \"question\": \"\u00bfCu\u00e1l es el prop\u00f3sito de una 'Ayuda Visual'...\" },\n { \"id\": \"mat_4\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Aportar color o aditivos concentrados a la resina base\", \"question\": \"\u00bfQu\u00e9 funci\u00f3n cumple el 'Masterbatch'...\" },\n { \"id\": \"mach_12\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"La fricci\u00f3n entre los pellets y el barril\", \"question\": \"\u00bfQu\u00e9 fuerza f\u00edsica permite que el material...\" },\n { \"id\": \"mach_13\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Soportar y sujetar las mitades del molde\", \"question\": \"Las 'platinas' (platens)...\" },\n { \"id\": \"mach_14\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Desalineaci\u00f3n de las mitades y da\u00f1o severo al molde\", \"question\": \"\u00bfQu\u00e9 consecuencia tiene operar...\" },\n { \"id\": \"proc_11\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Para aliviar presi\u00f3n y prevenir goteo por la boquilla\", \"question\": \"\u00bfPara qu\u00e9 se utiliza la 'descompresi\u00f3n'...\" },\n { \"id\": \"desp_3\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Subir temperatura y usar material natural o compuesto de purga\", \"question\": \"\u00bfCu\u00e1l es el procedimiento correcto...\" },\n { \"id\": \"desp_4\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Un desperdicio innecesario de resina y tiempo\", \"question\": \"Observas a un operador purgando...\" },\n { \"id\": \"desp_5\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Reduce la contaminaci\u00f3n cruzada (puntos negros/rafagas)\", \"question\": \"\u00bfC\u00f3mo impacta directamente...\" },\n { \"id\": \"desp_6\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Marcarla como Scrap por contaminaci\u00f3n potencial\", \"question\": \"Si una pieza reci\u00e9n inyectada...\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n // Array para guardar el detalle pregunta por pregunta\n const results_breakdown = [];\n \n // Objeto para guardar puntaje por categor\u00eda (Ej: Seguridad: 10/10)\n const category_stats = {};\n\n // 3. COMPARACI\u00d3N CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: user_data.mach_1)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta (comparaci\u00f3n exacta de texto)\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // L\u00f3gica por Categor\u00eda\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Agregamos al detalle\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\", // Manejo de respuestas vac\u00edas\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. C\u00c1LCULO DE CALIFICACI\u00d3N FINAL\n // Evitar divisi\u00f3n por cero\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos del Empleado (Heredados)\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados Generales\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)), // Redondear a 2 decimales\n passed: grade_percentage >= 80, // Ejemplo: Aprobado si > 80%\n \n // Desglose por Categor\u00eda\n category_performance: category_stats,\n \n // Detalle Pregunta por Pregunta (\u00fatil para guardar en otra hoja o BD)\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -464 + ], + "id": "edf1b92b-fb26-4c6e-896a-7ced8f64f6f0", + "name": "basic_eval" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1214096918, + "mode": "list", + "cachedResultName": "basic_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1214096918" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "duration", + "displayName": "duration", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "total_score_fraction", + "displayName": "total_score_fraction", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "final_grade_pct", + "displayName": "final_grade_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "status", + "displayName": "status", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_score_pct", + "displayName": "tech_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_questions_ratio", + "displayName": "tech_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_score_pct", + "displayName": "theory_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_questions_ratio", + "displayName": "theory_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina", + "displayName": "cat_maquina", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso", + "displayName": "cat_proceso", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad", + "displayName": "cat_calidad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad", + "displayName": "cat_seguridad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales", + "displayName": "cat_materiales", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia", + "displayName": "cat_eficiencia", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios", + "displayName": "cat_desperdicios", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "error_summary", + "displayName": "error_summary", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_1", + "displayName": "mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_2", + "displayName": "mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_3", + "displayName": "mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_4", + "displayName": "mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_5", + "displayName": "mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_1", + "displayName": "proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_1", + "displayName": "qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_2", + "displayName": "qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_3", + "displayName": "qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_1", + "displayName": "safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_2", + "displayName": "safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "safe_3", + "displayName": "safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_4", + "displayName": "qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_5", + "displayName": "qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_1", + "displayName": "mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_2", + "displayName": "mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_2", + "displayName": "proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_3", + "displayName": "proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_4", + "displayName": "proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_5", + "displayName": "proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_6", + "displayName": "proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_6", + "displayName": "mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_3", + "displayName": "mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_1", + "displayName": "eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "eff_2", + "displayName": "eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_7", + "displayName": "mach_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_7", + "displayName": "proc_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_8", + "displayName": "proc_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_9", + "displayName": "proc_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_6", + "displayName": "qual_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_7", + "displayName": "qual_7", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_8", + "displayName": "qual_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_8", + "displayName": "mach_8", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_9", + "displayName": "mach_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_10", + "displayName": "mach_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_11", + "displayName": "mach_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_9", + "displayName": "qual_9", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_10", + "displayName": "proc_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_1", + "displayName": "desp_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_2", + "displayName": "desp_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "qual_10", + "displayName": "qual_10", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mat_4", + "displayName": "mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_12", + "displayName": "mach_12", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_13", + "displayName": "mach_13", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "mach_14", + "displayName": "mach_14", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "proc_11", + "displayName": "proc_11", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_3", + "displayName": "desp_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_4", + "displayName": "desp_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_5", + "displayName": "desp_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "desp_6", + "displayName": "desp_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -464 + ], + "id": "8876cbc8-afb2-4b69-af1a-bfdc32b450ab", + "name": "basic_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key) - MEDIUM (L2)\nconst questions_db = [\n { \"id\": \"mach_1\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"La temperatura del acero del barril en ese punto espec\u00edfico\", \"question\": \"\u00bfQu\u00e9 variable f\u00edsica mide realmente un termopar...\" },\n { \"id\": \"mach_2\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"10,000 PSI (Multiplicaci\u00f3n por \u00e1rea)\", \"question\": \"Si el man\u00f3metro hidr\u00e1ulico marca 1,000 PSI...\" },\n { \"id\": \"mach_3\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Fuga interna en el anillo de cierre (v\u00e1lvula check)\", \"question\": \"Durante la fase de sostenimiento...\" },\n { \"id\": \"mach_4\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"El ratio de compresi\u00f3n entre la zona de alimentaci\u00f3n y medici\u00f3n\", \"question\": \"\u00bfQu\u00e9 indica la relaci\u00f3n L/D...\" },\n { \"id\": \"mach_5\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Puenteo de material (Bridging) y falla de carga\", \"question\": \"Si la temperatura en la garganta de alimentaci\u00f3n...\" },\n { \"id\": \"mach_6\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"La bomba hidr\u00e1ulica\", \"question\": \"En un sistema hidr\u00e1ulico...\" },\n { \"id\": \"mach_7\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Platina de Rotaci\u00f3n Axial\", \"question\": \"Identifica cu\u00e1l de las siguientes NO es una platina...\" },\n { \"id\": \"mach_8\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Lectura err\u00f3nea de temperatura y riesgo de proceso\", \"question\": \"\u00bfQu\u00e9 consecuencia tiene conectar un termopar Tipo J...\" },\n { \"id\": \"mach_9\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Retraer la placa de botadores al cerrar el molde\", \"question\": \"\u00bfCu\u00e1l es la funci\u00f3n cr\u00edtica de los 'Return Pins'...\" },\n { \"id\": \"proc_10\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El cambio de control de Velocidad a control de Presi\u00f3n\", \"question\": \"\u00bfQu\u00e9 define exactamente el punto de conmutaci\u00f3n...\" },\n { \"id\": \"proc_11\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"5,075 PSI\", \"question\": \"Calcula r\u00e1pidamente: Si tienes 350 Bar...\" },\n { \"id\": \"proc_12\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La viscosidad disminuye (fluye m\u00e1s f\u00e1cil)\", \"question\": \"Debido al comportamiento pseudopl\u00e1stico...\" },\n { \"id\": \"proc_13\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"El tiempo m\u00ednimo de sostenimiento para evitar reflujo\", \"question\": \"\u00bfQu\u00e9 determina un 'Estudio de Sellado de Compuerta'...\" },\n { \"id\": \"proc_14\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Porque se pierde el control de la presi\u00f3n sobre la cavidad\", \"question\": \"T\u00e9cnicamente, \u00bfpor qu\u00e9 es grave que el coj\u00edn llegue a cero...\" },\n { \"id\": \"proc_15\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La presi\u00f3n de sostenimiento (Packing pressure)\", \"question\": \"\u00bfCu\u00e1l es la variable de proceso m\u00e1s influyente...\" },\n { \"id\": \"proc_16\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Prevenir el babeo (drooling) de la boquilla\", \"question\": \"\u00bfCu\u00e1l es el prop\u00f3sito t\u00e9cnico de la funci\u00f3n de descompresi\u00f3n...\" },\n { \"id\": \"proc_17\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Pobre mezcla, aire atrapado y peso de disparo inconsistente\", \"question\": \"\u00bfQu\u00e9 defecto esperar\u00edas si la contrapresi\u00f3n...\" },\n { \"id\": \"proc_18\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"El tiempo que el pol\u00edmero pasa expuesto a calor dentro del barril\", \"question\": \"\u00bfQu\u00e9 es el 'Tiempo de Residencia' en inyecci\u00f3n?\" },\n { \"id\": \"qual_19\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Da\u00f1o en el molde o desalineaci\u00f3n de platinas (Falta de sello)\", \"question\": \"Tienes una pieza con Rebaba (Flash) pero con Peso Bajo...\" },\n { \"id\": \"qual_20\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Jetting (Efecto Jet)\", \"question\": \"\u00bfQu\u00e9 defecto causa un 'gusanito'...\" },\n { \"id\": \"qual_21\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Compresi\u00f3n adiab\u00e1tica del aire atrapado\", \"question\": \"\u00bfQu\u00e9 fen\u00f3meno f\u00edsico causa el 'Efecto Diesel'...\" },\n { \"id\": \"qual_22\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Humedad en el material (Vapor)\", \"question\": \"Las r\u00e1fagas plateadas (Silver streaks) suelen indicar:\" },\n { \"id\": \"qual_23\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"El \u00e1ngulo de encuentro de los frentes de flujo (<135\u00b0 vs >135\u00b0)\", \"question\": \"\u00bfCu\u00e1l es la diferencia t\u00e9cnica entre L\u00ednea de Soldadura...\" },\n { \"id\": \"qual_24\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Equilibrar el enfriamiento entre lado fijo y m\u00f3vil\", \"question\": \"Para corregir un problema de Pandeo (Warpage)...\" },\n { \"id\": \"qual_25\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Contaminaci\u00f3n con pol\u00edmero incompatible\", \"question\": \"La 'Delaminaci\u00f3n' es s\u00edntoma inequ\u00edvoco de:\" },\n { \"id\": \"qual_26\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Acumulaci\u00f3n de carb\u00f3n en zonas muertas del barril/husillo\", \"question\": \"\u00bfCu\u00e1l es la fuente m\u00e1s com\u00fan de 'Puntos Negros'...\" },\n { \"id\": \"qual_27\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"Gr\u00e1ficos de Control (SPC)\", \"question\": \"\u00bfQu\u00e9 herramienta de Calidad se utiliza para monitorear...\" },\n { \"id\": \"safe_28\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Aplicar bloqueo y etiquetado (LOTO) de energ\u00edas\", \"question\": \"Antes de meter el cuerpo entre las platinas...\" },\n { \"id\": \"safe_29\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Por la expansi\u00f3n violenta de gases atrapados a presi\u00f3n\", \"question\": \"\u00bfPor qu\u00e9 la purga de material degradado representa un riesgo...\" },\n { \"id\": \"safe_30\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Detectar obstrucciones y detener el cierre antes de da\u00f1ar el molde\", \"question\": \"El sistema de 'Protecci\u00f3n de Molde' sirve para:\" },\n { \"id\": \"safe_31\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Activar el Paro de Emergencia para detener la bomba\", \"question\": \"Ante una ruptura de manguera hidr\u00e1ulica...\" },\n { \"id\": \"safe_32\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Careta facial completa y guantes t\u00e9rmicos largos\", \"question\": \"Para manipular purgas calientes, el EPP m\u00ednimo incluye:\" },\n { \"id\": \"safe_33\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Tener capacidad de carga certificada mayor al peso del molde\", \"question\": \"Al izar un molde, \u00bfqu\u00e9 condici\u00f3n deben cumplir los c\u00e1ncamos?\" },\n { \"id\": \"safe_34\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Detener bomba y movimientos si la puerta es abierta\", \"question\": \"\u00bfQu\u00e9 funci\u00f3n cumple el interbloqueo de la puerta trasera?\" },\n { \"id\": \"safe_35\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Tipo C (CO2 o Polvo Qu\u00edmico)\", \"question\": \"Para un fuego el\u00e9ctrico en el gabinete de control...\" },\n { \"id\": \"safe_36\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"NOM-004-STPS (Maquinaria y Equipo)\", \"question\": \"En M\u00e9xico, la norma STPS que regula dispositivos...\" },\n { \"id\": \"mat_37\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Su viscosidad o facilidad para fluir\", \"question\": \"\u00bfQu\u00e9 indica el \u00edndice MFI (Melt Flow Index)...\" },\n { \"id\": \"mat_38\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Hidr\u00f3lisis (rotura de cadenas moleculares)\", \"question\": \"\u00bfQu\u00e9 fen\u00f3meno qu\u00edmico sufre el Policarbonato...\" },\n { \"id\": \"mat_39\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Los semicristalinos tienen mayor contracci\u00f3n (shrinkage)\", \"question\": \"Diferencia clave de procesamiento entre amorfos y semicristalinos:\" },\n { \"id\": \"mat_40\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"P\u00e9rdida de propiedades mec\u00e1nicas e inestabilidad\", \"question\": \"El uso de 'Regrind' por encima del 20% ocasiona:\" },\n { \"id\": \"mat_41\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Negativo (-40\u00b0C o inferior)\", \"question\": \"Para un secado eficiente, el 'Punto de Roc\u00edo' debe ser:\" },\n { \"id\": \"mat_42\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"1% a 4%\", \"question\": \"\u00bfCu\u00e1l es el rango t\u00edpico de dosificaci\u00f3n de Masterbatch?\" },\n { \"id\": \"mat_43\", \"category\": \"Materiales\", \"score\": 1.5, \"correct_answer\": \"Mayor presi\u00f3n de inyecci\u00f3n y temperatura\", \"question\": \"Procesar materiales de alta viscosidad requiere:\" },\n { \"id\": \"mat_44\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Su desempe\u00f1o t\u00e9rmico y mec\u00e1nico superior\", \"question\": \"\u00bfQu\u00e9 distingue a un pl\u00e1stico de 'Ingenier\u00eda'...\" },\n { \"id\": \"eff_45\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Disponibilidad, Desempe\u00f1o, Calidad\", \"question\": \"\u00bfCu\u00e1les son los tres factores que componen el OEE?\" },\n { \"id\": \"eff_46\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Convertir cambios de horas en minutos (Single Minute)\", \"question\": \"\u00bfCu\u00e1l es la meta principal de la metodolog\u00eda SMED?\" },\n { \"id\": \"eff_47\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Desempe\u00f1o (Performance)\", \"question\": \"Si la m\u00e1quina corre a 30s en lugar de 25s...\" },\n { \"id\": \"eff_48\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Pre-calentar y preparar el molde nuevo mientras la m\u00e1quina trabaja\", \"question\": \"En un cambio SMED, \u00bfqu\u00e9 es una actividad 'Externa'?\" },\n { \"id\": \"eff_49\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"85% o m\u00e1s\", \"question\": \"\u00bfQu\u00e9 porcentaje de OEE se considera 'Clase Mundial'?\" },\n { \"id\": \"eff_50\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"El costo pieza y la eficiencia del activo\", \"question\": \"Operar un molde de 4 cavidades con 1 bloqueada afecta:\" },\n { \"id\": \"eff_51\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"El ritmo de producci\u00f3n necesario para cumplir la demanda del cliente\", \"question\": \"\u00bfQu\u00e9 es el 'Takt Time'?\" },\n { \"id\": \"eff_52\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Monitoreo de condici\u00f3n (vibraci\u00f3n, calor) para anticipar fallas\", \"question\": \"El Mantenimiento Predictivo se basa en:\" },\n { \"id\": \"wast_53\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Clasificar, Ordenar, Limpiar, Estandarizar, Disciplina\", \"question\": \"Orden l\u00f3gico de implementaci\u00f3n de 5S:\" },\n { \"id\": \"wast_54\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Sobreproducci\u00f3n\", \"question\": \"\u00bfCu\u00e1l se considera el 'peor' desperdicio?\" },\n { \"id\": \"wast_55\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Sobre-procesamiento (Extra-processing)\", \"question\": \"Recortar rebaba a todas las piezas es ejemplo de:\" },\n { \"id\": \"wast_56\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Problemas de flujo de efectivo y riesgo de da\u00f1os/obsolescencia\", \"question\": \"El exceso de Inventario en proceso (WIP) causa:\" },\n { \"id\": \"wast_57\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Fotos claras de defectos l\u00edmite y criterios de aceptaci\u00f3n\", \"question\": \"\u00bfQu\u00e9 debe contener una Ayuda Visual efectiva?\" },\n { \"id\": \"wast_58\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Las 5S (Orden y Limpieza)\", \"question\": \"Encontrar herramientas tiradas indica falla en:\" },\n { \"id\": \"wast_59\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Hacer imposible cometer un error espec\u00edfico (A prueba de error)\", \"question\": \"Un dispositivo 'Poka-Yoke' sirve para:\" },\n { \"id\": \"wast_60\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Aumentar el valor para el cliente y reducir costos\", \"question\": \"El objetivo final de eliminar desperdicios es:\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n const results_breakdown = [];\n const category_stats = {};\n\n // 3. COMPARACI\u00d3N CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: mach_1, eff_45)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // L\u00f3gica por Categor\u00eda\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Detalle para reporte\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\",\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. C\u00c1LCULO DE CALIFICACI\u00d3N FINAL\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos heredados\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados calculados\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)),\n passed: grade_percentage >= 75, // Ajusta este 75 si necesitas otro corte aqu\u00ed tambi\u00e9n\n \n // Objetos complejos\n category_performance: category_stats,\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -272 + ], + "id": "c977a49a-8708-4523-bfef-df6515a14a09", + "name": "medium_eval" + }, + { + "parameters": { + "jsCode": "// 1. BASE DE DATOS DE PREGUNTAS (Master Key) - ADVANCED (L3)\nconst questions_db = [\n { \"id\": \"adv_mach_1\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"15,000 PSI (Multiplicaci\u00f3n por \u00e1rea)\", \"question\": \"Con un ratio de intensificaci\u00f3n de 10:1 y 1,500 PSI...\" },\n { \"id\": \"adv_mach_2\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Oxidaci\u00f3n y degradaci\u00f3n por entrada de aire al barril\", \"question\": \"\u00bfCu\u00e1l es la consecuencia f\u00edsico-qu\u00edmica de una descompresi\u00f3n...\" },\n { \"id\": \"adv_mach_3\", \"category\": \"M\u00e1quina\", \"score\": 1.5, \"correct_answer\": \"Fuga en la v\u00e1lvula check (anillo) o desgaste del barril\", \"question\": \"Una variaci\u00f3n del coj\u00edn (cushion) superior a +/- 10%...\" },\n { \"id\": \"adv_mach_4\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"La repetibilidad del punto de transferencia (VPT)\", \"question\": \"El 'Scan Time' o tiempo de respuesta del controlador...\" },\n { \"id\": \"adv_mach_5\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Mejor calidad de mezclado y homogeneidad t\u00e9rmica\", \"question\": \"Comparando un husillo L/D 24:1 contra uno 18:1...\" },\n { \"id\": \"adv_mach_6\", \"category\": \"M\u00e1quina\", \"score\": 1, \"correct_answer\": \"Desgaste acelerado en la punta del husillo y barril\", \"question\": \"Adem\u00e1s de aumentar la temperatura de la masa, \u00bfqu\u00e9 efecto...\" },\n { \"id\": \"adv_proc_1\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"La viscosidad es estable independientemente del corte (shear)\", \"question\": \"En la curva de viscosidad, la regi\u00f3n 'Newtonian Flat'...\" },\n { \"id\": \"adv_proc_2\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"La m\u00e1quina tenga ~10% de presi\u00f3n hidr\u00e1ulica de reserva\", \"question\": \"El objetivo de un estudio de 'Ca\u00edda de Presi\u00f3n' es asegurar:\" },\n { \"id\": \"adv_proc_3\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Aumento de viscosidad por material fr\u00edo u obstrucci\u00f3n\", \"question\": \"Un aumento repentino en la integral de presi\u00f3n sugiere:\" },\n { \"id\": \"adv_proc_4\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Estabilizaci\u00f3n del peso de la pieza vs tiempo de hold\", \"question\": \"El criterio t\u00e9cnico definitivo para confirmar el 'Sellado de Compuerta'...\" },\n { \"id\": \"adv_proc_5\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Aumento real de la temperatura de la masa fundida\", \"question\": \"Debido al calentamiento por cizalla, aumentar la velocidad provoca:\" },\n { \"id\": \"adv_proc_6\", \"category\": \"Proceso\", \"score\": 1, \"correct_answer\": \"Porque garantiza un volumen de disparo consistente\", \"question\": \"\u00bfPor qu\u00e9 se prefiere el VPT (Transferencia) por Posici\u00f3n?\" },\n { \"id\": \"adv_qual_1\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Perfilar la velocidad (lento al inicio) para crear flujo laminar\", \"question\": \"La soluci\u00f3n t\u00e9cnica para eliminar el 'Jetting' es:\" },\n { \"id\": \"adv_qual_2\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"La tasa de enfriamiento (Temperatura de molde)\", \"question\": \"En pol\u00edmeros semicristalinos, \u00bfqu\u00e9 factor determina la cristalinidad?\" },\n { \"id\": \"adv_qual_3\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"El proceso no es capaz; alta probabilidad de defectos\", \"question\": \"Un Cpk de 0.8 en una dimensi\u00f3n cr\u00edtica indica:\" },\n { \"id\": \"adv_qual_4\", \"category\": \"Calidad\", \"score\": 1, \"correct_answer\": \"La temperatura del frente de flujo es inferior a la Tg al unirse\", \"question\": \"Una l\u00ednea de soldadura se convierte en falla cr\u00edtica si:\" },\n { \"id\": \"adv_qual_5\", \"category\": \"Calidad\", \"score\": 1.5, \"correct_answer\": \"Compresi\u00f3n adiab\u00e1tica de gases atrapados\", \"question\": \"La causa ra\u00edz termodin\u00e1mica del 'Efecto Diesel' es:\" },\n { \"id\": \"adv_safe_1\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Liberaci\u00f3n de gas Formaldeh\u00eddo (t\u00f3xico/irritante)\", \"question\": \"Al purgar POM (Acetal) degradado, el riesgo qu\u00edmico es:\" },\n { \"id\": \"adv_safe_2\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Al ingresar cualquier parte del cuerpo en zona de peligro\", \"question\": \"\u00bfCu\u00e1ndo es obligatorio aplicar LOTO en inyecci\u00f3n?\" },\n { \"id\": \"adv_safe_3\", \"category\": \"Seguridad\", \"score\": 1.5, \"correct_answer\": \"Energ\u00eda de presi\u00f3n almacenada lista para liberarse\", \"question\": \"El peligro latente de un acumulador hidr\u00e1ulico es:\" },\n { \"id\": \"adv_safe_4\", \"category\": \"Seguridad\", \"score\": 1, \"correct_answer\": \"Di\u00f3xido de Carbono (CO2) o Agente Limpio\", \"question\": \"Extintor correcto para fuego en tableros electr\u00f3nicos (Clase C):\" },\n { \"id\": \"adv_mat_1\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Reducci\u00f3n de peso molecular, viscosidad y propiedades mec\u00e1nicas\", \"question\": \"La degradaci\u00f3n por escisi\u00f3n de cadenas resulta en:\" },\n { \"id\": \"adv_mat_2\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Rompe los enlaces covalentes de la cadena polim\u00e9rica\", \"question\": \"La hidr\u00f3lisis en materiales como PC o PBT es donde el agua:\" },\n { \"id\": \"adv_mat_3\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Requieren mucha m\u00e1s energ\u00eda para fundir y enfriar que los amorfos\", \"question\": \"Diferencia t\u00e9rmica clave: Los semicristalinos poseen Calor Latente...\" },\n { \"id\": \"adv_mat_4\", \"category\": \"Materiales\", \"score\": 1, \"correct_answer\": \"Porque es una prueba de bajo cizallamiento (Low Shear)\", \"question\": \"\u00bfPor qu\u00e9 el MFI no es representativo del comportamiento dentro del molde?\" },\n { \"id\": \"adv_eff_1\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"La conductividad t\u00e9rmica del pl\u00e1stico (Tiempo de enfriamiento)\", \"question\": \"El factor limitante f\u00edsico m\u00e1s com\u00fan para reducir el tiempo de ciclo es:\" },\n { \"id\": \"adv_eff_2\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Asegurar el molde a la platina (Clamping)\", \"question\": \"En SMED, un ejemplo de actividad INTERNA es:\" },\n { \"id\": \"adv_eff_3\", \"category\": \"Eficiencia\", \"score\": 1.5, \"correct_answer\": \"Desempe\u00f1o (Performance) - Ciclos lentos o micro-paros\", \"question\": \"Si tu OEE es 60% pero Calidad 99% y Disponibilidad 98%:\" },\n { \"id\": \"adv_eff_4\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"La confiabilidad y frecuencia de fallas del equipo\", \"question\": \"El MTBF (Mean Time Between Failures) mide:\" },\n { \"id\": \"adv_eff_5\", \"category\": \"Eficiencia\", \"score\": 1, \"correct_answer\": \"Material + Energ\u00eda + Mano de obra + Costo de oportunidad + Riesgo cliente\", \"question\": \"El Costo Real de la 'No Calidad' incluye:\" },\n { \"id\": \"adv_wast_1\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Sobre-procesamiento y Material\", \"question\": \"El sobre-empaque que causa piezas pesadas es desperdicio de:\" },\n { \"id\": \"adv_wast_2\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Oculta ineficiencias del sistema y atrapa flujo de efectivo\", \"question\": \"El exceso de inventario (WIP) es negativo porque:\" },\n { \"id\": \"adv_wast_3\", \"category\": \"Desperdicios\", \"score\": 1.5, \"correct_answer\": \"Paros no programados para limpieza y scrap por quemaduras\", \"question\": \"Un mantenimiento deficiente de venteos genera desperdicio por:\" },\n { \"id\": \"adv_wast_4\", \"category\": \"Desperdicios\", \"score\": 1, \"correct_answer\": \"Generaci\u00f3n intr\u00ednseca de desperdicio (scrap/regrind) en cada ciclo\", \"question\": \"T\u00e9cnicamente, usar Colada Fr\u00eda en lugar de Colada Caliente implica:\" },\n { \"id\": \"adv_spec_1\", \"category\": \"Ingenier\u00eda Moldes\", \"score\": 1, \"correct_answer\": \"Flujo Turbulento (M\u00e1xima eficiencia de transferencia de calor)\", \"question\": \"En refrigeraci\u00f3n de moldes, un N\u00famero de Reynolds > 4,000 garantiza:\" },\n { \"id\": \"adv_spec_2\", \"category\": \"Ingenier\u00eda Moldes\", \"score\": 1.5, \"correct_answer\": \"Deformaci\u00f3n el\u00e1stica de la platina que abre el molde en el centro\", \"question\": \"La 'Deflexi\u00f3n de Platinas' causa rebaba central debido a:\" },\n { \"id\": \"adv_spec_3\", \"category\": \"Ingenier\u00eda Moldes\", \"score\": 1, \"correct_answer\": \"En la fase de dise\u00f1o de pieza y molde (previo al corte de acero)\", \"question\": \"\u00bfEn qu\u00e9 etapa es m\u00e1s rentable utilizar simulaci\u00f3n CAE?\" },\n { \"id\": \"adv_spec_4\", \"category\": \"Ingenier\u00eda Moldes\", \"score\": 1, \"correct_answer\": \"Control independiente del flujo y mejor acabado cosm\u00e9tico (sin vestigio)\", \"question\": \"La ventaja t\u00e9cnica principal de una compuerta valvulada es:\" },\n { \"id\": \"adv_spec_5\", \"category\": \"Ingenier\u00eda Moldes\", \"score\": 1.5, \"correct_answer\": \"Hay mayor masa de pl\u00e1stico transfiriendo calor a menor \u00e1rea de acero\", \"question\": \"El 'Efecto de Esquina' provoca puntos calientes porque:\" },\n { \"id\": \"adv_spec_6\", \"category\": \"Proceso\", \"score\": 1.5, \"correct_answer\": \"Porque confirma que hubo material suficiente para transferir la presi\u00f3n de empaque\", \"question\": \"\u00bfPor qu\u00e9 el monitoreo del 'Coj\u00edn' es m\u00e1s cr\u00edtico que el 'Tiempo de Inyecci\u00f3n'?\" }\n];\n\n// 2. PROCESAMIENTO DE LAS RESPUESTAS\nreturn items.map(item => {\n const user_data = item.json;\n \n let total_score = 0;\n let max_possible_score = 0;\n \n const results_breakdown = [];\n const category_stats = {};\n\n // 3. COMPARACI\u00d3N CON LA MASTER KEY\n questions_db.forEach(q => {\n // Obtenemos la respuesta del usuario usando el ID (ej: adv_mach_1)\n const user_answer = user_data[q.id];\n \n // Verificamos si es correcta\n const is_correct = user_answer === q.correct_answer;\n \n // Asignamos puntos\n const points_earned = is_correct ? q.score : 0;\n \n // Acumuladores globales\n total_score += points_earned;\n max_possible_score += q.score;\n\n // L\u00f3gica por Categor\u00eda\n if (!category_stats[q.category]) {\n category_stats[q.category] = { earned: 0, total: 0 };\n }\n category_stats[q.category].total += q.score;\n category_stats[q.category].earned += points_earned;\n\n // Detalle para reporte\n results_breakdown.push({\n question_id: q.id,\n category: q.category,\n question_text: q.question,\n user_response: user_answer || \"No respondido\",\n correct_response: q.correct_answer,\n status: is_correct ? 'CORRECTO' : 'INCORRECTO',\n points: points_earned,\n max_points: q.score\n });\n });\n\n // 4. C\u00c1LCULO DE CALIFICACI\u00d3N FINAL\n const grade_percentage = max_possible_score > 0 \n ? (total_score / max_possible_score) * 100 \n : 0;\n\n // 5. RETORNO DE DATOS ORGANIZADOS\n return {\n json: {\n // Datos heredados\n employee_number: user_data.employee_number,\n submission_date: user_data.submission_date,\n time_taken: user_data.time_taken,\n \n // Resultados calculados\n final_score: total_score,\n max_possible_score: max_possible_score,\n grade_percentage: parseFloat(grade_percentage.toFixed(2)),\n passed: grade_percentage >= 75,\n \n // Objetos complejos\n category_performance: category_stats,\n detailed_results: results_breakdown\n }\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 896, + -80 + ], + "id": "143565f1-0889-4c7b-8f25-a697c1c254c7", + "name": "advanced_eval" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACI\u00d3N ---\nconst MIN_PASSING_SCORE = 75; // <--- M\u00ednimo para aprobar (Ajustable)\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. C\u00c1LCULO DE PORCENTAJES GLOBALES\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCI\u00d3N DEL REPORTE\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"\u2705 PASSED\" : \"\u274c FAILED\",\n\n // Technical Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n\n // Theoretical Stats\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGOR\u00cdAS (Puntaje Y Porcentaje)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName);\n\n // Columna 1: Fracci\u00f3n (10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n\n // Columna 2: Porcentaje (83.33%) <-- NUEVO\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n \n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"\u2728 Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '\u2705' : '\u274c';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -272 + ], + "id": "8d1e93e0-e1f9-4277-9609-b02f017fbe46", + "name": "medium_scoring" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACI\u00d3N ---\nconst MIN_PASSING_SCORE = 75; // <--- M\u00ednimo para aprobar (Ajustable)\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n // Preguntas T\u00e9cnicas/Pr\u00e1cticas (Valen 1.5)\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n // Preguntas Te\u00f3ricas (Valen 1.0)\n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. C\u00c1LCULO DE PORCENTAJES DE SCORE\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCI\u00d3N DEL REPORTE (Snake Case & English)\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"\u2705 PASSED\" : \"\u274c FAILED\",\n\n // Technical Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n\n // Theoretical Stats\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGOR\u00cdAS (PUNTAJE Y PORCENTAJE)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName);\n\n // Columna 1: Fracci\u00f3n (ej: 10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n\n // Columna 2: Porcentaje (ej: 83.33%) <-- NUEVO\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n\n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES (ERROR SUMMARY)\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"\u2728 Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Solo Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '\u2705' : '\u274c';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -464 + ], + "id": "663a800f-4dca-413e-9e30-ed0ab669d2a5", + "name": "basic_scoring" + }, + { + "parameters": { + "jsCode": "// --- CONFIGURACI\u00d3N ---\nconst MIN_PASSING_SCORE = 75; // <--- M\u00ednimo para aprobar\n\nreturn items.map(item => {\n const data = item.json;\n\n // 1. RE-EVALUAR ESTATUS\n const is_passed = data.grade_percentage >= MIN_PASSING_SCORE;\n\n // 2. CONTADORES (Puntos y Cantidad de Preguntas)\n let tech_pts_earned = 0, tech_pts_max = 0;\n let tech_q_correct = 0, tech_q_total = 0;\n\n let theory_pts_earned = 0, theory_pts_max = 0;\n let theory_q_correct = 0, theory_q_total = 0;\n\n data.detailed_results.forEach(q => {\n const is_correct = q.status === 'CORRECTO';\n\n if (q.max_points === 1.5) {\n tech_pts_earned += q.points;\n tech_pts_max += q.max_points;\n tech_q_total++;\n if (is_correct) tech_q_correct++;\n } \n else if (q.max_points === 1) {\n theory_pts_earned += q.points;\n theory_pts_max += q.max_points;\n theory_q_total++;\n if (is_correct) theory_q_correct++;\n }\n });\n\n // 3. C\u00c1LCULO DE PORCENTAJES GLOBALES\n const tech_pct = tech_pts_max > 0 \n ? parseFloat(((tech_pts_earned / tech_pts_max) * 100).toFixed(2)) \n : 0;\n\n const theory_pct = theory_pts_max > 0 \n ? parseFloat(((theory_pts_earned / theory_pts_max) * 100).toFixed(2)) \n : 0;\n\n // 4. CONSTRUCCI\u00d3N DEL REPORTE\n const report = {\n employee_id: data.employee_number,\n submission_date: data.submission_date,\n duration: data.time_taken,\n \n // Globales\n total_score_fraction: `${data.final_score}/${data.max_possible_score}`,\n final_grade_pct: `${data.grade_percentage}%`,\n status: is_passed ? \"\u2705 PASSED\" : \"\u274c FAILED\",\n\n // Technical vs Theory Stats\n tech_score_pct: `${tech_pct}%`,\n tech_questions_ratio: `${tech_q_correct}/${tech_q_total}`,\n theory_score_pct: `${theory_pct}%`,\n theory_questions_ratio: `${theory_q_correct}/${theory_q_total}`\n };\n\n // 5. CATEGOR\u00cdAS (PUNTAJE + PORCENTAJE)\n const cleanKey = (str) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n .toLowerCase().replace(/\\s+/g, '_');\n };\n\n for (const catName in data.category_performance) {\n const cat = data.category_performance[catName];\n const key = cleanKey(catName); // ej: \"maquina\"\n\n // Columna 1: Fracci\u00f3n (ej: 10/12)\n report[`cat_${key}`] = `${cat.earned}/${cat.total}`;\n \n // Columna 2: Porcentaje (ej: 83.33%)\n const catPct = cat.total > 0 \n ? parseFloat(((cat.earned / cat.total) * 100).toFixed(2)) \n : 0;\n \n report[`cat_${key}_pct`] = `${catPct}%`;\n }\n\n // 6. RESUMEN DE ERRORES\n const failures = data.detailed_results.filter(q => q.status !== 'CORRECTO');\n \n report.error_summary = failures.length === 0 \n ? \"\u2728 Perfect Score\" \n : failures.map(f => `[${f.question_id}] Ans: ${f.user_response}`).join(' || ');\n\n // 7. DETALLE POR PREGUNTA (Emojis)\n data.detailed_results.forEach(q => {\n report[q.question_id] = q.status === 'CORRECTO' ? '\u2705' : '\u274c';\n });\n\n return {\n json: report\n };\n});" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [ + 1120, + -80 + ], + "id": "5c41f20b-2634-4a02-b732-053784ce8d0b", + "name": "advenced_scoring" + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1726302191, + "mode": "list", + "cachedResultName": "medium_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1726302191" + }, + "columns": { + "mappingMode": "defineBelow", + "value": {}, + "matchingColumns": [], + "schema": [ + { + "id": "headers", + "displayName": "headers", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "params", + "displayName": "params", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "body", + "displayName": "body", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "webhookUrl", + "displayName": "webhookUrl", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "executionMode", + "displayName": "executionMode", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "myNewField", + "displayName": "myNewField", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -272 + ], + "id": "8f41048d-63f6-4f96-9cd1-205026e45815", + "name": "medium_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "operation": "appendOrUpdate", + "documentId": { + "__rl": true, + "value": "16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc", + "mode": "list", + "cachedResultName": "molding_assement", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit?usp=drivesdk" + }, + "sheetName": { + "__rl": true, + "value": 1575503621, + "mode": "list", + "cachedResultName": "advanced_results", + "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16fvNVn7C4r0gJJIxpsP0qQP20d2vlVmSMDylNoBgMFc/edit#gid=1575503621" + }, + "columns": { + "mappingMode": "autoMapInputData", + "value": {}, + "matchingColumns": [ + "employee_id" + ], + "schema": [ + { + "id": "employee_id", + "displayName": "employee_id", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "submission_date", + "displayName": "submission_date", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "duration", + "displayName": "duration", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "total_score_fraction", + "displayName": "total_score_fraction", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "final_grade_pct", + "displayName": "final_grade_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "status", + "displayName": "status", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_score_pct", + "displayName": "tech_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "tech_questions_ratio", + "displayName": "tech_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_score_pct", + "displayName": "theory_score_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "theory_questions_ratio", + "displayName": "theory_questions_ratio", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina", + "displayName": "cat_maquina", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_maquina_pct", + "displayName": "cat_maquina_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso", + "displayName": "cat_proceso", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_proceso_pct", + "displayName": "cat_proceso_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad", + "displayName": "cat_calidad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_calidad_pct", + "displayName": "cat_calidad_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad", + "displayName": "cat_seguridad", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_seguridad_pct", + "displayName": "cat_seguridad_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales", + "displayName": "cat_materiales", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_materiales_pct", + "displayName": "cat_materiales_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia", + "displayName": "cat_eficiencia", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_eficiencia_pct", + "displayName": "cat_eficiencia_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios", + "displayName": "cat_desperdicios", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_desperdicios_pct", + "displayName": "cat_desperdicios_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_ingenieria_moldes", + "displayName": "cat_ingenieria_moldes", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "cat_ingenieria_moldes_pct", + "displayName": "cat_ingenieria_moldes_pct", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "error_summary", + "displayName": "error_summary", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_1", + "displayName": "adv_mach_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_2", + "displayName": "adv_mach_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_3", + "displayName": "adv_mach_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_4", + "displayName": "adv_mach_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_5", + "displayName": "adv_mach_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mach_6", + "displayName": "adv_mach_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_1", + "displayName": "adv_proc_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_2", + "displayName": "adv_proc_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_3", + "displayName": "adv_proc_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_4", + "displayName": "adv_proc_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_5", + "displayName": "adv_proc_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_proc_6", + "displayName": "adv_proc_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_1", + "displayName": "adv_qual_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_2", + "displayName": "adv_qual_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_3", + "displayName": "adv_qual_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_4", + "displayName": "adv_qual_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_qual_5", + "displayName": "adv_qual_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_1", + "displayName": "adv_safe_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_2", + "displayName": "adv_safe_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_3", + "displayName": "adv_safe_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_safe_4", + "displayName": "adv_safe_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_1", + "displayName": "adv_mat_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_2", + "displayName": "adv_mat_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_3", + "displayName": "adv_mat_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_mat_4", + "displayName": "adv_mat_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_1", + "displayName": "adv_eff_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_2", + "displayName": "adv_eff_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_3", + "displayName": "adv_eff_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_4", + "displayName": "adv_eff_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_eff_5", + "displayName": "adv_eff_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_1", + "displayName": "adv_wast_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_2", + "displayName": "adv_wast_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_3", + "displayName": "adv_wast_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_wast_4", + "displayName": "adv_wast_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_1", + "displayName": "adv_spec_1", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_2", + "displayName": "adv_spec_2", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_3", + "displayName": "adv_spec_3", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_4", + "displayName": "adv_spec_4", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_5", + "displayName": "adv_spec_5", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + }, + { + "id": "adv_spec_6", + "displayName": "adv_spec_6", + "required": false, + "defaultMatch": false, + "display": true, + "type": "string", + "canBeUsedToMatch": true, + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + }, + "options": {} + }, + "type": "n8n-nodes-base.googleSheets", + "typeVersion": 4.7, + "position": [ + 1344, + -80 + ], + "id": "e7eebb75-459e-4e90-9d85-f9387f476f57", + "name": "advanced_scored", + "credentials": { + "googleSheetsOAuth2Api": { + "id": "LoMbrgH2rQ0a1ari", + "name": "Sheets MG " + } + } + }, + { + "parameters": { + "httpMethod": "POST", + "path": "YRjw9xlTTSe", + "options": {} + }, + "type": "n8n-nodes-base.webhook", + "typeVersion": 2.1, + "position": [ + 0, + -368 + ], + "id": "b264e375-4d94-4c52-a26c-24290c316b7c", + "name": "form_webhook", + "webhookId": "f3119627-14be-4400-95dd-47d4e1a445fb" + } + ], + "pinData": {}, + "connections": { + "level_check": { + "main": [ + [ + { + "node": "funnel_data", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "basic_processing", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "medium_processing", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "advanced_processing", + "type": "main", + "index": 0 + } + ] + ] + }, + "funnel_data": { + "main": [ + [ + { + "node": "storage_funnel", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_processing": { + "main": [ + [ + { + "node": "storage_basic", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_processing": { + "main": [ + [ + { + "node": "storage_medium", + "type": "main", + "index": 0 + } + ] + ] + }, + "advanced_processing": { + "main": [ + [ + { + "node": "storage_advanced", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_basic": { + "main": [ + [ + { + "node": "basic_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_eval": { + "main": [ + [ + { + "node": "basic_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_medium": { + "main": [ + [ + { + "node": "medium_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "storage_advanced": { + "main": [ + [ + { + "node": "advanced_eval", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_eval": { + "main": [ + [ + { + "node": "medium_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "basic_scoring": { + "main": [ + [ + { + "node": "basic_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "advanced_eval": { + "main": [ + [ + { + "node": "advenced_scoring", + "type": "main", + "index": 0 + } + ] + ] + }, + "medium_scoring": { + "main": [ + [ + { + "node": "medium_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "advenced_scoring": { + "main": [ + [ + { + "node": "advanced_scored", + "type": "main", + "index": 0 + } + ] + ] + }, + "form_webhook": { + "main": [ + [ + { + "node": "level_check", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "active": true, + "settings": { + "executionOrder": "v1" + }, + "versionId": "413102e1-969c-47aa-9188-b9093da942ff", + "meta": { + "templateCredsSetupCompleted": true, + "instanceId": "1273fc0a299b5d86c18b83139898c705285f2556bb96d65ecaccb13873295d38" + }, + "id": "sLoacT71cHP8diaW", + "tags": [] +} \ No newline at end of file diff --git a/questions/markdown/Advanced_assesment.md b/questions/markdown/Advanced_assesment.md index 09347f3..4d32b63 100644 --- a/questions/markdown/Advanced_assesment.md +++ b/questions/markdown/Advanced_assesment.md @@ -47,9 +47,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - 15,000 PSI (Multiplicación por área) - 16,500 PSI (Presión absoluta) + +
+Respuesta Correcta + +- 150 PSI (Reducción por fricción) ✅ + **Racional:** La presión específica es el resultado de la presión hidráulica multiplicada por el ratio de área entre el pistón y el husillo (1500 * 10). -### 2. ¿Cuál es la consecuencia físico-química de una descompresión (suck-back) excesiva en resinas sensibles como el Nylon? + +
### 2. ¿Cuál es la consecuencia físico-química de una descompresión (suck-back) excesiva en resinas sensibles como el Nylon? **Categoría:** Máquina **Tipo:** Teórico **Description:** El oxígeno a altas temperaturas reacciona rápidamente con polímeros orgánicos. **Puntos:** 1 pts **ID:** mach_2 - Cristalización prematura en la boquilla @@ -57,9 +64,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Aumento de la viscosidad intrínseca - Generación de vacío en la cavidad del molde + +
+Respuesta Correcta + +- Oxidación y degradación por entrada de aire al barril ✅ + **Racional:** El retroceso excesivo aspira oxígeno atmosférico hacia la cámara caliente, provocando oxidación inmediata y manchas (splay). -### 3. Una variación del cojín (cushion) superior a +/- 10% ciclo a ciclo es un indicador primario de: + +
### 3. Una variación del cojín (cushion) superior a +/- 10% ciclo a ciclo es un indicador primario de: **Categoría:** Máquina **Tipo:** Práctico **Description:** La consistencia del cojín es el mejor indicador de la repetibilidad volumétrica del proceso. **Puntos:** 1.5 pts **ID:** mach_3 - Falla en el control PID de temperatura @@ -67,9 +81,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Variación en la velocidad de apertura del molde - Fluctuación en la presión de la red de agua + +
+Respuesta Correcta + +- Fuga en la válvula check (anillo) o desgaste del barril ✅ + **Racional:** La inestabilidad del cojín implica que el volumen de material delante del tornillo no se mantiene, fugándose hacia atrás durante la inyección. -### 4. El 'Scan Time' o tiempo de respuesta del controlador de la máquina afecta críticamente a: + +
### 4. El 'Scan Time' o tiempo de respuesta del controlador de la máquina afecta críticamente a: **Categoría:** Máquina **Tipo:** Teórico **Description:** La velocidad de procesamiento de la CPU de la máquina influye en la precisión milimétrica. **Puntos:** 1 pts **ID:** mach_4 - La eficiencia del motor eléctrico @@ -77,9 +98,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - La capacidad máxima de cierre - La temperatura del aceite hidráulico + +
+Respuesta Correcta + +- La eficiencia del motor eléctrico ✅ + **Racional:** Un escaneo lento provoca que la máquina reaccione tarde al alcanzar la posición de corte, variando el volumen inyectado. -### 5. Comparando un husillo L/D 24:1 contra uno 18:1, la principal ventaja técnica del 24:1 es: + +
### 5. Comparando un husillo L/D 24:1 contra uno 18:1, la principal ventaja técnica del 24:1 es: **Categoría:** Máquina **Tipo:** Teórico **Description:** La geometría del husillo determina la calidad de la homogeneización térmica. **Puntos:** 1 pts **ID:** mach_5 - Mayor presión máxima de inyección @@ -87,9 +115,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Menor tiempo de residencia del material - Reducción del torque requerido para girar + +
+Respuesta Correcta + +- Mayor presión máxima de inyección ✅ + **Racional:** Mayor longitud permite zonas de transición más suaves y mejor distribución de calor, resultando en un fundido (melt) más uniforme. -### 6. Además de aumentar la temperatura de la masa, ¿qué efecto mecánico negativo tiene la contrapresión excesiva? + +
### 6. Además de aumentar la temperatura de la masa, ¿qué efecto mecánico negativo tiene la contrapresión excesiva? **Categoría:** Máquina **Tipo:** Práctico **Description:** La contrapresión genera calor por fricción, pero también estrés mecánico. **Puntos:** 1 pts **ID:** mach_6 - Desgaste acelerado en la punta del husillo y barril @@ -97,9 +132,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Fugas de aceite en el sistema de expulsión - Deformación de las barras (tie-bars) + +
+Respuesta Correcta + +- Desgaste acelerado en la punta del husillo y barril ✅ + **Racional:** Aumenta la carga axial y la fricción del tornillo contra la pared del barril y el material, acelerando la abrasión. -### 7. En la curva de viscosidad, la región 'Newtonian Flat' (Meseta Newtoniana) se caracteriza porque: + +
### 7. En la curva de viscosidad, la región 'Newtonian Flat' (Meseta Newtoniana) se caracteriza porque: **Categoría:** Proceso **Tipo:** Teórico **Description:** La reología de polímeros estudia cómo fluye la materia bajo fuerzas aplicadas. **Puntos:** 1 pts **ID:** proc_1 - La viscosidad cae drásticamente con la velocidad @@ -107,9 +149,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El material comienza a degradarse térmicamente - La presión de inyección es cero + +
+Respuesta Correcta + +- La viscosidad cae drásticamente con la velocidad ✅ + **Racional:** Es la zona de baja cizalla donde el polímero se comporta como un fluido newtoniano antes de empezar a adelgazar (shear thinning). -### 8. El objetivo de un estudio de 'Caída de Presión' (Pressure Drop) es asegurar que: + +
### 8. El objetivo de un estudio de 'Caída de Presión' (Pressure Drop) es asegurar que: **Categoría:** Proceso **Tipo:** Práctico **Description:** Operar al límite de la capacidad de presión elimina la capacidad de control del proceso. **Puntos:** 1.5 pts **ID:** proc_2 - La máquina tenga ~10% de presión hidráulica de reserva @@ -117,9 +166,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El tiempo de ciclo sea lo más corto posible - La temperatura del agua sea turbulenta + +
+Respuesta Correcta + +- El molde soporte la fuerza de cierre máxima ✅ + **Racional:** Si la máquina usa el 100% de su presión para llenar, pierde control sobre la velocidad (Process Limited). Se requiere un margen de seguridad. -### 9. Un aumento repentino en la integral de presión o 'Trabajo de Inyección' sugiere: + +
### 9. Un aumento repentino en la integral de presión o 'Trabajo de Inyección' sugiere: **Categoría:** Proceso **Tipo:** Práctico **Description:** El área bajo la curva de presión refleja la energía consumida para llenar el molde. **Puntos:** 1.5 pts **ID:** proc_3 - Una fuga en la válvula check @@ -127,9 +183,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Disminución de la fuerza de cierre - Aumento en la temperatura del barril + +
+Respuesta Correcta + +- Una fuga en la válvula check ✅ + **Racional:** Más trabajo para llegar a la misma posición indica mayor resistencia al flujo (viscosidad alta o canal bloqueado). -### 10. El criterio técnico definitivo para confirmar el 'Sellado de Compuerta' (Gate Freeze) es: + +
### 10. El criterio técnico definitivo para confirmar el 'Sellado de Compuerta' (Gate Freeze) es: **Categoría:** Proceso **Tipo:** Práctico **Description:** Determinar cuándo se corta físicamente la conexión entre la pieza y el sistema de alimentación. **Puntos:** 1.5 pts **ID:** proc_4 - Estabilización del peso de la pieza vs tiempo de hold @@ -137,9 +200,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Finalización del tiempo de dosificación del husillo - Ausencia de rechupados en la superficie + +
+Respuesta Correcta + +- Enfriamiento de la colada a temperatura ambiente ✅ + **Racional:** Se grafica peso vs tiempo. Cuando el peso deja de subir, la compuerta se ha cerrado físicamente y ya no entra material. -### 11. Debido al calentamiento por cizalla (Shear Heating), aumentar la velocidad de inyección provoca: + +
### 11. Debido al calentamiento por cizalla (Shear Heating), aumentar la velocidad de inyección provoca: **Categoría:** Proceso **Tipo:** Teórico **Description:** La fricción molecular a altas velocidades se convierte en energía térmica. **Puntos:** 1 pts **ID:** proc_5 - Enfriamiento adiabático del frente de flujo @@ -147,9 +217,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Aumento de la densidad del material - Reducción inmediata del índice de fluidez + +
+Respuesta Correcta + +- Aumento real de la temperatura de la masa fundida ✅ + **Racional:** La fricción molecular a alta velocidad genera calor interno, reduciendo la viscosidad efectiva. -### 12. ¿Por qué se prefiere el VPT (Transferencia) por Posición en lugar de por Tiempo o Presión? + +
### 12. ¿Por qué se prefiere el VPT (Transferencia) por Posición en lugar de por Tiempo o Presión? **Categoría:** Proceso **Tipo:** Teórico **Description:** La consistencia del proceso depende de cómo se controla el volumen inyectado. **Puntos:** 1 pts **ID:** proc_6 - Porque es más fácil de programar @@ -157,9 +234,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Porque protege el molde de sobrepresión - Porque reduce el consumo energético + +
+Respuesta Correcta + +- Porque garantiza un volumen de disparo consistente ✅ + **Racional:** La posición correlaciona directamente con el volumen desplazado. El tiempo varía si cambia la viscosidad, causando inestabilidad. -### 13. La solución técnica para eliminar el 'Jetting' (gusanito) es: + +
### 13. La solución técnica para eliminar el 'Jetting' (gusanito) es: **Categoría:** Calidad **Tipo:** Práctico **Description:** El flujo laminar es deseable para evitar marcas superficiales en la pieza. **Puntos:** 1.5 pts **ID:** qual_1 - Aumentar la temperatura de la boquilla @@ -167,9 +251,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Aumentar la contrapresión al máximo - Reducir el tiempo de enfriamiento + +
+Respuesta Correcta + +- Perfilar la velocidad (lento al inicio) para crear flujo laminar ✅ + **Racional:** Entrar lento permite que el material toque las paredes y se expanda progresivamente (Fountain Flow) en lugar de dispararse. -### 14. En polímeros semicristalinos, ¿qué factor determina el grado de cristalinidad y la contracción final? + +
### 14. En polímeros semicristalinos, ¿qué factor determina el grado de cristalinidad y la contracción final? **Categoría:** Calidad **Tipo:** Teórico **Description:** La estructura molecular de los semicristalinos depende del tiempo que tienen para ordenarse. **Puntos:** 1 pts **ID:** qual_2 - La presión de inyección @@ -177,9 +268,17 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - La velocidad de rotación del husillo - El porcentaje de carga de fibra de vidrio + +
+Respuesta Correcta + +- La tasa de enfriamiento (Temperatura de molde) ✅ + **Racional:** Un enfriamiento lento (molde caliente) permite a las moléculas ordenarse en cristales, aumentando la densidad y contracción. -### 15. Un Cpk de 0.8 en una dimensión crítica indica estadísticamente que: +### ⚙️ Proceso (11 preguntas) + +
### 15. Un Cpk de 0.8 en una dimensión crítica indica estadísticamente que: **Categoría:** Calidad **Tipo:** Práctico **Description:** Los índices de capacidad estadística predicen la tasa de rechazo a largo plazo. **Puntos:** 1.5 pts **ID:** qual_3 - El proceso es capaz y está centrado @@ -187,9 +286,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El instrumento de medición requiere calibración - La varianza es menor a la tolerancia + +
+Respuesta Correcta + +- El proceso es capaz y está centrado ✅ + **Racional:** Cpk < 1.33 se considera no capaz. La curva de distribución del proceso excede los límites de especificación. -### 16. Una línea de soldadura (Weld Line) se convierte en una falla estructural crítica si: + +
### 16. Una línea de soldadura (Weld Line) se convierte en una falla estructural crítica si: **Categoría:** Calidad **Tipo:** Teórico **Description:** La fusión de frentes de flujo requiere energía térmica para entrelazar las cadenas moleculares. **Puntos:** 1 pts **ID:** qual_4 - Es visible a simple vista @@ -197,9 +303,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Se encuentra en una zona estética - El molde tiene textura rugosa + +
+Respuesta Correcta + +- La temperatura del frente de flujo es inferior a la Tg al unirse ✅ + **Racional:** Si el material está demasiado frío, no hay entrelazamiento molecular (difusión) entre los frentes, creando una grieta potencial. -### 17. Para prevenir el 'Efecto Diesel' en una costilla ciega (blind rib) donde no hay salida de aire, la solución de ingeniería es: + +
### 17. Para prevenir el 'Efecto Diesel' en una costilla ciega (blind rib) donde no hay salida de aire, la solución de ingeniería es: **Categoría:** Calidad **Tipo:** Práctico **Description:** En zonas ciegas donde no es posible mecanizar un venteo tradicional, se requieren materiales especiales. **Puntos:** 1.5 pts **ID:** qual_5 - Aumentar la velocidad de inyección para llenar rápido @@ -207,9 +320,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Bajar la temperatura del molde drásticamente - Aplicar vacío a toda la máquina + +
+Respuesta Correcta + +- Aumentar la velocidad de inyección para llenar rápido ✅ + **Racional:** El acero poroso permite que el gas escape a través de la estructura del metal mientras retiene el plástico. -### 18. Al purgar POM (Acetal) degradado, el riesgo químico específico es: + +
### 18. Al purgar POM (Acetal) degradado, el riesgo químico específico es: **Categoría:** Seguridad **Tipo:** Práctico **Description:** Ciertos materiales liberan gases altamente peligrosos al descomponerse. **Puntos:** 1.5 pts **ID:** safe_1 - Liberación de gas Formaldehído (tóxico/irritante) @@ -217,9 +337,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Generación de monóxido de carbono inodoro - Explosión por polvo en suspensión + +
+Respuesta Correcta + +- Formación de ácido clorhídrico corrosivo ✅ + **Racional:** El POM se descompone en formaldehído, que ataca ojos y vías respiratorias severamente. Requiere ventilación. -### 19. En un procedimiento LOTO avanzado, después de colocar el candado, ¿cuál es el paso final de verificación? + +
### 19. En un procedimiento LOTO avanzado, después de colocar el candado, ¿cuál es el paso final de verificación? **Categoría:** Seguridad **Tipo:** Práctico **Description:** La seguridad moderna requiere validación activa, no solo colocar un candado. **Puntos:** 1 pts **ID:** safe_2 - Firmar la bitácora de mantenimiento @@ -227,9 +354,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Avisar al gerente de planta - Tomar una foto del candado + +
+Respuesta Correcta + +- Intentar arrancar el equipo para confirmar 'Energía Cero' ✅ + **Racional:** El paso crítico de 'Try-out' o prueba de arranque confirma que el bloqueo fue efectivo y no hay energía residual. -### 20. El peligro latente de un acumulador hidráulico, incluso con la máquina apagada, es: + +
### 20. El peligro latente de un acumulador hidráulico, incluso con la máquina apagada, es: **Categoría:** Seguridad **Tipo:** Teórico **Description:** La energía hidráulica puede almacenarse incluso sin energía eléctrica. **Puntos:** 1.5 pts **ID:** safe_3 - Alta temperatura residual @@ -237,9 +371,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Generación de campos magnéticos - Fugas de nitrógeno asfixiante + +
+Respuesta Correcta + +- Energía de presión almacenada lista para liberarse ✅ + **Racional:** El acumulador mantiene aceite a presión. Si se desconecta una manguera sin drenarlo, puede causar inyección de fluido letal. -### 21. Extintor correcto para fuego en tableros electrónicos (Clase C): + +
### 21. Extintor correcto para fuego en tableros electrónicos (Clase C): **Categoría:** Seguridad **Tipo:** Teórico **Description:** El uso de agua en incendios eléctricos es fatal; se requieren agentes limpios. **Puntos:** 1 pts **ID:** safe_4 - Agua a presión (Tipo A) @@ -247,9 +388,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Espuma formadora de película (AFFF) - Polvo especial para metales (Tipo D) + +
+Respuesta Correcta + +- Dióxido de Carbono (CO2) o Agente Limpio ✅ + **Racional:** Agentes no conductores y que no dejen residuo corrosivo son esenciales para equipo electrónico. -### 22. Según la norma Euromap 67, ¿cuál es la función de los canales de seguridad redundantes (doble canal)? + +
### 22. Según la norma Euromap 67, ¿cuál es la función de los canales de seguridad redundantes (doble canal)? **Categoría:** Seguridad **Tipo:** Teórico **Description:** La integración de robots requiere protocolos de comunicación de seguridad estandarizados. **Puntos:** 1.5 pts **ID:** safe_5 - Aumentar la velocidad de transmisión de datos @@ -257,9 +405,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Permitir el control remoto desde la oficina - Ahorrar cableado en la instalación + +
+Respuesta Correcta + +- Asegurar que si un canal falla, el otro detenga la máquina inmediatamente ✅ + **Racional:** La redundancia es clave en seguridad (Categoría 3/4); el sistema debe detectar fallos en su propia supervisión. -### 23. La degradación por escisión de cadenas (Chain Scission) resulta en: + +
### 23. La degradación por escisión de cadenas (Chain Scission) resulta en: **Categoría:** Materiales **Tipo:** Teórico **Description:** El corte de las cadenas poliméricas cambia radicalmente la reología del material. **Puntos:** 1 pts **ID:** mat_1 - Aumento de peso molecular y viscosidad @@ -267,9 +422,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Mejora en la resistencia al impacto - Reticulación (cross-linking) del polímero + +
+Respuesta Correcta + +- Reducción de peso molecular, viscosidad y propiedades mecánicas ✅ + **Racional:** Al romperse las cadenas largas, el material se vuelve más líquido (fluye más) pero pierde su fuerza estructural. -### 24. La hidrólisis en materiales como PC o PBT es una reacción química donde el agua: + +
### 24. La hidrólisis en materiales como PC o PBT es una reacción química donde el agua: **Categoría:** Materiales **Tipo:** Teórico **Description:** El agua actúa como un agente reactivo que destruye el polímero a nivel molecular. **Puntos:** 1 pts **ID:** mat_2 - Actúa como lubricante externo @@ -277,9 +439,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Se evapora sin afectar la estructura - Genera burbujas superficiales únicamente + +
+Respuesta Correcta + +- Rompe los enlaces covalentes de la cadena polimérica ✅ + **Racional:** Es una degradación química irreversible a nivel molecular, no solo un defecto cosmético. -### 25. Diferencia térmica clave: Los semicristalinos poseen Calor Latente de Fusión, lo que implica: + +
### 25. Diferencia térmica clave: Los semicristalinos poseen Calor Latente de Fusión, lo que implica: **Categoría:** Materiales **Tipo:** Teórico **Description:** El cambio de fase de sólido a líquido requiere más energía en materiales ordenados. **Puntos:** 1 pts **ID:** mat_3 - Requieren menos energía para fundirse @@ -287,9 +456,17 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Se enfrían instantáneamente - No tienen temperatura de fusión definida + +
+Respuesta Correcta + +- Requieren mucha más energía para fundir y enfriar que los amorfos ✅ + **Racional:** Se necesita energía extra para romper la estructura cristalina al fundir, y hay que extraer esa energía al enfriar. -### 26. ¿Por qué el MFI no es representativo del comportamiento dentro del molde? +### 💎 Calidad (10 preguntas) + +
### 26. ¿Por qué el MFI no es representativo del comportamiento dentro del molde? **Categoría:** Materiales **Tipo:** Teórico **Description:** Las pruebas de laboratorio estáticas no siempre reflejan la realidad dinámica de la inyección. **Puntos:** 1 pts **ID:** mat_4 - Porque se mide a baja temperatura @@ -297,9 +474,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Porque usa un peso estándar - Porque el material está sucio + +
+Respuesta Correcta + +- Porque es una prueba de bajo cizallamiento (Low Shear) ✅ + **Racional:** La inyección es un proceso de ALTO cizallamiento. El MFI mide flujo casi estático, ignorando el adelgazamiento por corte. -### 27. En un diagrama pvT, ¿qué representa la 'rodilla' o cambio brusco de pendiente en la curva de enfriamiento isobárico? + +
### 27. En un diagrama pvT, ¿qué representa la 'rodilla' o cambio brusco de pendiente en la curva de enfriamiento isobárico? **Categoría:** Materiales **Tipo:** Teórico **Description:** El comportamiento pvT (Presión-Volumen-Temperatura) es fundamental para predecir dimensiones. **Puntos:** 1 pts **ID:** mat_5 - El punto de degradación térmica @@ -307,9 +491,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El momento en que se abre el molde - La presión máxima de la máquina + +
+Respuesta Correcta + +- La temperatura de transición vítrea (Tg) o cristalización ✅ + **Racional:** Es el punto donde el material cambia de estado (fase), alterando drásticamente su volumen específico. -### 28. El factor limitante físico (Cuello de botella) más común para reducir el tiempo de ciclo es: + +
### 28. El factor limitante físico (Cuello de botella) más común para reducir el tiempo de ciclo es: **Categoría:** Eficiencia **Tipo:** Práctico **Description:** La termodinámica impone límites físicos a la velocidad de producción. **Puntos:** 1.5 pts **ID:** eff_1 - La velocidad de inyección de la máquina @@ -317,9 +508,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - La velocidad de los movimientos del molde - El tiempo de reacción del robot + +
+Respuesta Correcta + +- La conductividad térmica del plástico (Tiempo de enfriamiento) ✅ + **Racional:** El plástico es un aislante térmico. Extraer el calor del centro de la pared es el proceso más lento por física pura. -### 29. En SMED, un ejemplo de actividad INTERNA es: + +
### 29. En SMED, un ejemplo de actividad INTERNA es: **Categoría:** Eficiencia **Tipo:** Práctico **Description:** Distinguir entre tareas que detienen la máquina y las que no es la base del SMED. **Puntos:** 1.5 pts **ID:** eff_2 - Precalentar el molde en un banco externo @@ -327,9 +525,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Buscar las llaves y herramientas - Organizar las mangueras de agua + +
+Respuesta Correcta + +- Asegurar el molde a la platina (Clamping) ✅ + **Racional:** Actividad Interna = Máquina detenida forzosamente. No puedes atornillar el molde si la máquina está produciendo. -### 30. Si tu OEE es 60% pero la Calidad es 99% y la Disponibilidad 98%, el problema está en: + +
### 30. Si tu OEE es 60% pero la Calidad es 99% y la Disponibilidad 98%, el problema está en: **Categoría:** Eficiencia **Tipo:** Práctico **Description:** El cálculo del OEE revela dónde se pierden las oportunidades de producción. **Puntos:** 1.5 pts **ID:** eff_3 - Desempeño (Performance) - Ciclos lentos o micro-paros @@ -337,9 +542,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Disponibilidad - Tiempos muertos largos - Planeación - Falta de órdenes + +
+Respuesta Correcta + +- Calidad - Piezas defectuosas ocultas ✅ + **Racional:** Matemáticamente: Si AxQ son altos, P debe ser muy bajo para arrastrar el promedio a 60%. -### 31. El MTBF (Mean Time Between Failures) mide: + +
### 31. El MTBF (Mean Time Between Failures) mide: **Categoría:** Eficiencia **Tipo:** Teórico **Description:** La confiabilidad del equipo se mide por la frecuencia de sus averías. **Puntos:** 1 pts **ID:** eff_4 - La velocidad de reparación del equipo @@ -347,9 +559,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El tiempo total de vida útil - La eficiencia del operador + +
+Respuesta Correcta + +- La confiabilidad y frecuencia de fallas del equipo ✅ + **Racional:** Indica qué tan seguido se rompe la máquina. Clave para programar mantenimiento preventivo. -### 32. El Costo Real de la 'No Calidad' incluye: + +
### 32. El Costo Real de la 'No Calidad' incluye: **Categoría:** Eficiencia **Tipo:** Teórico **Description:** Los costos de mala calidad van mucho más allá del material tirado. **Puntos:** 1 pts **ID:** eff_5 - Únicamente el valor de la resina desperdiciada @@ -357,9 +576,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El salario del departamento de calidad - El costo de la disposición de basura + +
+Respuesta Correcta + +- Material + Energía + Mano de obra + Costo de oportunidad + Riesgo cliente ✅ + **Racional:** Producir basura cuesta lo mismo o más que producir piezas buenas, más el lucro cesante. -### 33. El sobre-empaque (overpacking) que causa piezas pesadas y estrés interno es un desperdicio de tipo: + +
### 33. El sobre-empaque (overpacking) que causa piezas pesadas y estrés interno es un desperdicio de tipo: **Categoría:** Desperdicios **Tipo:** Práctico **Description:** Agregar valor es lo único por lo que el cliente paga; el resto es desperdicio. **Puntos:** 1.5 pts **ID:** wast_1 - Transporte y Movimiento @@ -367,9 +593,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Espera e Inventario - Talento Humano + +
+Respuesta Correcta + +- Sobre-procesamiento y Material ✅ + **Racional:** Usas más material del necesario y aplicas más presión (proceso) de la requerida, agregando costo sin valor. -### 34. El exceso de inventario (WIP o Terminado) es negativo porque: + +
### 34. El exceso de inventario (WIP o Terminado) es negativo porque: **Categoría:** Desperdicios **Tipo:** Teórico **Description:** El inventario excesivo actúa como un amortiguador que esconde problemas operativos. **Puntos:** 1 pts **ID:** wast_2 - Oculta ineficiencias del sistema y atrapa flujo de efectivo @@ -377,9 +610,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Asegura que los operadores siempre tengan trabajo - Aumenta el valor de los activos de la empresa + +
+Respuesta Correcta + +- Mejora la respuesta ante variaciones de demanda ✅ + **Racional:** Es la analogía del 'río y las rocas'. El nivel alto de agua (inventario) tapa los problemas (rocas) del fondo. -### 35. Un mantenimiento deficiente de venteos genera desperdicio principalmente por: + +
### 35. Un mantenimiento deficiente de venteos genera desperdicio principalmente por: **Categoría:** Desperdicios **Tipo:** Práctico **Description:** La falta de mantenimiento preventivo en moldes genera tiempos muertos reactivos. **Puntos:** 1.5 pts **ID:** wast_3 - Aumento en el consumo de energía eléctrica @@ -387,9 +627,17 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Desgaste prematuro del aceite hidráulico - Reducción de la fuerza de cierre + +
+Respuesta Correcta + +- Paros no programados para limpieza y scrap por quemaduras ✅ + **Racional:** Los venteos sucios obligan a detener la producción para limpiar (Disponibilidad) y generan defectos (Calidad). -### 36. Técnicamente, usar Colada Fría en lugar de Colada Caliente implica: +### 🗑️ Desperdicios (6 preguntas) + +
### 36. Técnicamente, usar Colada Fría en lugar de Colada Caliente implica: **Categoría:** Desperdicios **Tipo:** Teórico **Description:** El diseño del sistema de alimentación impacta la eficiencia del material. **Puntos:** 1 pts **ID:** wast_4 - Mayor eficiencia energética @@ -397,9 +645,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Mejor control de la temperatura de masa - Menor tiempo de ciclo total + +
+Respuesta Correcta + +- Generación intrínseca de desperdicio (scrap/regrind) en cada ciclo ✅ + **Racional:** La colada fría es material que se calienta y enfría solo para ser tirado o re-molido, lo cual es ineficiente termodinámicamente. -### 37. ¿Qué métrica se utiliza comúnmente para comparar la eficiencia energética entre diferentes máquinas de inyección? + +
### 37. ¿Qué métrica se utiliza comúnmente para comparar la eficiencia energética entre diferentes máquinas de inyección? **Categoría:** Desperdicios **Tipo:** Teórico **Description:** La eficiencia energética es un indicador clave de sostenibilidad y costo. **Puntos:** 1 pts **ID:** wast_5 - Caballos de fuerza (HP) del motor @@ -407,9 +662,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Amperaje máximo del tablero - Voltaje de alimentación (220V vs 440V) + +
+Respuesta Correcta + +- Consumo Específico de Energía (kWh/kg de material procesado) ✅ + **Racional:** El kWh/kg normaliza el consumo respecto a la producción, permitiendo comparar máquinas grandes y pequeñas. -### 38. En refrigeración de moldes, un Número de Reynolds > 4,000 garantiza: + +
### 38. En refrigeración de moldes, un Número de Reynolds > 4,000 garantiza: **Categoría:** Ingeniería Moldes **Tipo:** Teórico **Description:** La dinámica de fluidos dicta la eficiencia de la transferencia de calor. **Puntos:** 1 pts **ID:** spec_1 - Flujo Laminar (Bajo intercambio térmico) @@ -417,9 +679,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Presión excesiva en las mangueras - Ausencia de corrosión en los canales + +
+Respuesta Correcta + +- Flujo Turbulento (Máxima eficiencia de transferencia de calor) ✅ + **Racional:** La turbulencia rompe la capa límite aislante del agua contra el metal, extrayendo calor mucho más rápido. -### 39. La 'Deflexión de Platinas' causa rebaba central aunque el tonelaje sea correcto debido a: + +
### 39. La 'Deflexión de Platinas' causa rebaba central aunque el tonelaje sea correcto debido a: **Categoría:** Ingeniería Moldes **Tipo:** Práctico **Description:** La rigidez de la máquina interactúa con la estructura del molde. **Puntos:** 1.5 pts **ID:** spec_2 - Deformación elástica de la platina que abre el molde en el centro @@ -427,9 +696,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Compresión excesiva del acero del molde - Falta de paralelismo en las guías + +
+Respuesta Correcta + +- Expansión térmica del molde ✅ + **Racional:** Si el molde es pequeño, la platina se 'dobla' alrededor de él como una hoja de papel, perdiendo presión de sello en el centro. -### 40. ¿En qué etapa es más rentable utilizar simulación CAE (Moldflow)? + +
### 40. ¿En qué etapa es más rentable utilizar simulación CAE (Moldflow)? **Categoría:** Ingeniería Moldes **Tipo:** Teórico **Description:** La simulación predictiva ahorra costos al identificar errores antes de cortar acero. **Puntos:** 1 pts **ID:** spec_3 - Durante la producción para arreglar fallas @@ -437,9 +713,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Después de fabricar el molde para validarlo - Al cotizar el precio de la resina + +
+Respuesta Correcta + +- En la fase de diseño de pieza y molde (previo al corte de acero) ✅ + **Racional:** El costo de corregir un error en diseño es despreciable comparado con modificar acero endurecido. -### 41. La ventaja técnica principal de una compuerta valvulada (Valve Gate) es: + +
### 41. La ventaja técnica principal de una compuerta valvulada (Valve Gate) es: **Categoría:** Ingeniería Moldes **Tipo:** Teórico **Description:** Los sistemas de colada caliente avanzados permiten control secuencial. **Puntos:** 1 pts **ID:** spec_4 - Menor costo de mantenimiento @@ -447,9 +730,17 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - Eliminación del sistema de enfriamiento - Reducción de la fuerza de cierre requerida + +
+Respuesta Correcta + +- Control independiente del flujo y mejor acabado cosmético (sin vestigio) ✅ + **Racional:** Permite abrir/cerrar la entrada a voluntad (secuenciado) y deja una marca casi invisible en la pieza. -### 42. El 'Efecto de Esquina' (Corner Effect) en refrigeración provoca puntos calientes porque: +### 📦 Materiales (4 preguntas) + +
### 42. El 'Efecto de Esquina' (Corner Effect) en refrigeración provoca puntos calientes porque: **Categoría:** Ingeniería Moldes **Tipo:** Práctico **Description:** La geometría de la pieza afecta la disipación de calor. **Puntos:** 1.5 pts **ID:** spec_5 - El agua fluye más lento en las esquinas @@ -457,9 +748,16 @@ Práctico (1.5 pts): Análisis de casos, diagnóstico avanzado - El acero es más delgado en las esquinas - La fricción del flujo es mayor + +
+Respuesta Correcta + +- El agua fluye más lento en las esquinas ✅ + **Racional:** Geometría básica: El calor converge desde dos lados hacia una esquina interna que tiene poca superficie para disiparlo. -### 43. ¿Por qué el monitoreo del 'Cojín' es más crítico que el 'Tiempo de Inyección' para la consistencia dimensional? + +
### 43. ¿Por qué el monitoreo del 'Cojín' es más crítico que el 'Tiempo de Inyección' para la consistencia dimensional? **Categoría:** Proceso **Tipo:** Práctico **Description:** La presión efectiva sobre la pieza depende de la reserva de material. **Puntos:** 1.5 pts **ID:** spec_6 - Porque confirma que hubo material suficiente para transferir la presión de empaque diff --git a/questions/markdown/Medium_assesment.md b/questions/markdown/Medium_assesment.md index 048255f..aa27d75 100644 --- a/questions/markdown/Medium_assesment.md +++ b/questions/markdown/Medium_assesment.md @@ -46,9 +46,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La temperatura de la superficie de la resistencia calefactora - La temperatura generada por la fricción del husillo + +
+Respuesta Correcta + +- La temperatura de la superficie de la resistencia calefactora ✅ + **Racional:** El termopar toca el metal del barril. La temperatura del plástico es una consecuencia, pero no es lo que el sensor mide directamente. -### 2. Si el manómetro hidráulico marca 1,000 PSI y la máquina tiene un ratio de intensificación de 10:1, ¿cuál es la presión plástica aplicada? + +
### 2. Si el manómetro hidráulico marca 1,000 PSI y la máquina tiene un ratio de intensificación de 10:1, ¿cuál es la presión plástica aplicada? **Categoría:** Máquina **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mach_2 - 100 PSI (Reducción por fricción) @@ -56,9 +63,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - 10,000 PSI (Multiplicación por área) - 11,000 PSI (Suma de presiones) + +
+Respuesta Correcta + +- 1,000 PSI (Relación directa) ✅ + **Racional:** La presión sobre el plástico es mayor que la hidráulica debido a la diferencia de áreas entre el pistón hidráulico y la punta del husillo. -### 3. Durante la fase de sostenimiento, observas que el husillo sigue avanzando lentamente (creeping) sin detenerse. Diagnóstico probable: + +
### 3. Durante la fase de sostenimiento, observas que el husillo sigue avanzando lentamente (creeping) sin detenerse. Diagnóstico probable: **Categoría:** Máquina **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mach_3 - La compuerta del molde se congeló prematuramente @@ -66,9 +80,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Exceso de contrapresión durante la carga - El perfil de temperaturas está invertido + +
+Respuesta Correcta + +- Fuga interna en el anillo de cierre (válvula check) ✅ + **Racional:** Si el husillo avanza en 'Hold', significa que el material se está fugando hacia atrás a través del anillo check desgastado. -### 4. ¿Qué indica la relación L/D (Longitud/Diámetro) en la especificación de un husillo? + +
### 4. ¿Qué indica la relación L/D (Longitud/Diámetro) en la especificación de un husillo? **Categoría:** Máquina **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mach_4 - La capacidad máxima de inyección en gramos @@ -76,9 +97,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La distancia máxima de apertura de la prensa - El ratio de compresión entre la zona de alimentación y medición + +
+Respuesta Correcta + +- La capacidad máxima de inyección en gramos ✅ + **Racional:** Es una medida geométrica clave (ej. 20:1) que determina la capacidad de mezclado y plastificación. -### 5. Si la temperatura en la garganta de alimentación no se controla y sube demasiado, ¿qué problema de proceso se genera? + +
### 5. Si la temperatura en la garganta de alimentación no se controla y sube demasiado, ¿qué problema de proceso se genera? **Categoría:** Máquina **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mach_5 - Puenteo de material (Bridging) y falla de carga @@ -86,9 +114,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Aumento descontrolado de la presión de inyección - Cristalización prematura del polímero + +
+Respuesta Correcta + +- Aumento descontrolado de la presión de inyección ✅ + **Racional:** Los pellets se ablandan y se pegan entre sí en la garganta, bloqueando el paso hacia el tornillo. -### 6. En un sistema hidráulico, ¿qué componente es responsable de generar el caudal necesario para el movimiento? + +
### 6. En un sistema hidráulico, ¿qué componente es responsable de generar el caudal necesario para el movimiento? **Categoría:** Máquina **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mach_6 - La válvula proporcional de flujo @@ -96,9 +131,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La bomba hidráulica - El cilindro de inyección + +
+Respuesta Correcta + +- La bomba hidráulica ✅ + **Racional:** La bomba convierte energía mecánica en energía hidráulica (caudal); las válvulas solo lo regulan. -### 7. Identifica cuál de las siguientes NO es una platina estándar en una inyectora: + +
### 7. Identifica cuál de las siguientes NO es una platina estándar en una inyectora: **Categoría:** Máquina **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mach_7 - Platina Fija (Lado A) @@ -106,9 +148,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Platina de Rotación Axial - Platina Trasera o de Soporte + +
+Respuesta Correcta + +- Platina Móvil (Lado B) ✅ + **Racional:** Las platinas estándar son fija, móvil y de soporte. La rotación axial no es un componente estructural estándar. -### 8. ¿Qué consecuencia tiene conectar un termopar Tipo J en una tarjeta configurada para Tipo K? + +
### 8. ¿Qué consecuencia tiene conectar un termopar Tipo J en una tarjeta configurada para Tipo K? **Categoría:** Máquina **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mach_8 - Ninguna, ambos miden temperatura igual @@ -116,9 +165,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Daño permanente al PLC de la máquina - El calentamiento será más lento pero preciso + +
+Respuesta Correcta + +- Lectura errónea de temperatura y riesgo de proceso ✅ + **Racional:** Las curvas de voltaje/temperatura son diferentes. El controlador leerá una temperatura falsa, pudiendo sobrecalentar o enfriar el sistema. -### 9. ¿Cuál es la función crítica de los 'Return Pins' (Pernos de retorno) en el molde? + +
### 9. ¿Cuál es la función crítica de los 'Return Pins' (Pernos de retorno) en el molde? **Categoría:** Máquina **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mach_9 - Empujar la pieza fuera del molde al abrir @@ -126,9 +182,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Guiar la alineación entre cavidad y corazón - Soportar la presión de inyección en la placa trasera + +
+Respuesta Correcta + +- Empujar la pieza fuera del molde al abrir ✅ + **Racional:** Aseguran mecánicamente que los botadores regresen a posición cero antes de inyectar, evitando choques. -### 10. ¿Qué define exactamente el punto de conmutación o transferencia (VPT)? + +
### 10. ¿Qué define exactamente el punto de conmutación o transferencia (VPT)? **Categoría:** Proceso **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** proc_10 - El cambio de control de Velocidad a control de Presión @@ -136,9 +199,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - El inicio del tiempo de enfriamiento del ciclo - El punto donde se activa la contrapresión + +
+Respuesta Correcta + +- El inicio del tiempo de enfriamiento del ciclo ✅ + **Racional:** Es la transición crítica donde la máquina deja de empujar por velocidad (llenado) y empieza a empacar por presión. -### 11. Calcula rápidamente: Si tienes 350 Bar, ¿cuál es su equivalente aproximado en PSI? (Factor x14.5) + +
### 11. Calcula rápidamente: Si tienes 350 Bar, ¿cuál es su equivalente aproximado en PSI? (Factor x14.5) **Categoría:** Proceso **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** proc_11 - 2,400 PSI @@ -146,9 +216,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - 5,075 PSI - 50,000 PSI + +
+Respuesta Correcta + +- 3,500 PSI ✅ + **Racional:** Cálculo directo: 350 * 14.5 = 5,075. Es vital para operadores que manejan máquinas con diferentes unidades. -### 12. Debido al comportamiento pseudoplástico (Shear Thinning), ¿qué pasa con la viscosidad al aumentar la velocidad de inyección? + +
### 12. Debido al comportamiento pseudoplástico (Shear Thinning), ¿qué pasa con la viscosidad al aumentar la velocidad de inyección? **Categoría:** Proceso **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** proc_12 - La viscosidad aumenta (se hace más espeso) @@ -156,9 +233,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La viscosidad permanece constante (Newtoniano) - El material se degrada instantáneamente + +
+Respuesta Correcta + +- La viscosidad disminuye (fluye más fácil) ✅ + **Racional:** Los polímeros adelgazan por cizallamiento; a mayor velocidad, las cadenas se alinean y la resistencia al flujo baja. -### 13. ¿Qué determina un 'Estudio de Sellado de Compuerta' (Gate Freeze Study)? + +
### 13. ¿Qué determina un 'Estudio de Sellado de Compuerta' (Gate Freeze Study)? **Categoría:** Proceso **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** proc_13 - La temperatura exacta de fusión del material @@ -166,9 +250,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La presión máxima que soporta el molde - El tiempo total de enfriamiento requerido + +
+Respuesta Correcta + +- El tiempo mínimo de sostenimiento para evitar reflujo ✅ + **Racional:** Busca el punto en el tiempo donde la entrada se solidifica y el peso de la pieza se estabiliza. -### 14. Técnicamente, ¿por qué es grave que el cojín llegue a cero durante el proceso? + +
### 14. Técnicamente, ¿por qué es grave que el cojín llegue a cero durante el proceso? **Categoría:** Proceso **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** proc_14 - Porque el husillo choca con la boquilla y se daña @@ -176,9 +267,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Porque la máquina consume más energía hidráulica - Porque aumenta el tiempo de ciclo innecesariamente + +
+Respuesta Correcta + +- Porque la máquina consume más energía hidráulica ✅ + **Racional:** Si el tornillo toca fondo, la presión hidráulica se transfiere al metal, no al plástico, dejando la pieza 'suelta'. -### 15. ¿Cuál es la variable de proceso más influyente para controlar la contracción final de la pieza? +### ⚙️ Proceso (11 preguntas) + +
### 15. ¿Cuál es la variable de proceso más influyente para controlar la contracción final de la pieza? **Categoría:** Proceso **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** proc_15 - La temperatura de la zona de alimentación @@ -186,9 +285,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La presión de sostenimiento (Packing pressure) - La velocidad de apertura del molde + +
+Respuesta Correcta + +- La velocidad de rotación del husillo ✅ + **Racional:** El empaque introduce material adicional para compensar la reducción de volumen al enfriar. -### 16. ¿Cuál es el propósito técnico de la función de descompresión (suck-back)? + +
### 16. ¿Cuál es el propósito técnico de la función de descompresión (suck-back)? **Categoría:** Proceso **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** proc_16 - Reducir la temperatura del material en la punta @@ -196,9 +302,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Mejorar la mezcla de colorantes difíciles - Aumentar la densidad del disparo + +
+Respuesta Correcta + +- Prevenir el babeo (drooling) de la boquilla ✅ + **Racional:** Alivia la presión residual en el barril para que el material no se escurra al abrir el molde. -### 17. ¿Qué defecto esperarías si la contrapresión (Back Pressure) es excesivamente baja? + +
### 17. ¿Qué defecto esperarías si la contrapresión (Back Pressure) es excesivamente baja? **Categoría:** Proceso **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** proc_17 - Rebaba en la línea de partición @@ -206,9 +319,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Degradación del material por cizallamiento excesivo - Dificultad para expulsar la pieza del molde + +
+Respuesta Correcta + +- Pobre mezcla, aire atrapado y peso de disparo inconsistente ✅ + **Racional:** La contrapresión compacta el fundido. Sin ella, entra aire y la densidad del disparo varía. -### 18. ¿Qué es el 'Tiempo de Residencia' en inyección? + +
### 18. ¿Qué es el 'Tiempo de Residencia' en inyección? **Categoría:** Proceso **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** proc_18 - El tiempo total del ciclo de inyección @@ -216,9 +336,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - El tiempo que tarda la pieza en solidificar - El tiempo de vida útil del molde + +
+Respuesta Correcta + +- El tiempo que el polímero pasa expuesto a calor dentro del barril ✅ + **Racional:** Es crucial para materiales sensibles; demasiado tiempo de residencia degrada el polímero. -### 19. Tienes una pieza con Rebaba (Flash) pero con Peso Bajo (Short shot). ¿Qué indica esta contradicción? + +
### 19. Tienes una pieza con Rebaba (Flash) pero con Peso Bajo (Short shot). ¿Qué indica esta contradicción? **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_19 - Exceso de presión de sostenimiento @@ -226,9 +353,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Material demasiado viscoso - Tiempo de inyección muy corto + +
+Respuesta Correcta + +- Exceso de presión de sostenimiento ✅ + **Racional:** Significa que el material se escapa antes de llenar la pieza. El molde no está sellando correctamente. -### 20. ¿Qué defecto causa un 'gusanito' o serpenteo visible en la superficie de la pieza frente a la compuerta? + +
### 20. ¿Qué defecto causa un 'gusanito' o serpenteo visible en la superficie de la pieza frente a la compuerta? **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_20 - Jetting (Efecto Jet) @@ -236,9 +370,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Weld Line (Línea de unión) - Sink Mark (Rechupado) + +
+Respuesta Correcta + +- Jetting (Efecto Jet) ✅ + **Racional:** Ocurre cuando el plástico entra muy rápido a una cavidad abierta y no se pega a las paredes, 'volando' a través de ella. -### 21. ¿Qué fenómeno físico causa el 'Efecto Diesel' (quemadura en el borde de la pieza)? + +
### 21. ¿Qué fenómeno físico causa el 'Efecto Diesel' (quemadura en el borde de la pieza)? **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_21 - Oxidación del metal del molde @@ -246,9 +387,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Reacción química del masterbatch - Fricción del husillo contra el barril + +
+Respuesta Correcta + +- Compresión adiabática del aire atrapado ✅ + **Racional:** El aire atrapado se comprime tan rápido que eleva su temperatura hasta incendiar el plástico (como un motor diesel). -### 22. Las ráfagas plateadas (Silver streaks) distribuidas por toda la pieza suelen indicar: + +
### 22. Las ráfagas plateadas (Silver streaks) distribuidas por toda la pieza suelen indicar: **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_22 - Exceso de fuerza de cierre @@ -256,9 +404,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Falta de velocidad de inyección - Molde demasiado frío + +
+Respuesta Correcta + +- Humedad en el material (Vapor) ✅ + **Racional:** La humedad explota en vapor al inyectarse, dejando estelas plateadas en la dirección del flujo. -### 23. ¿Cuál es la diferencia técnica entre Línea de Soldadura (Weld) y Línea de Fusión (Meld)? + +
### 23. ¿Cuál es la diferencia técnica entre Línea de Soldadura (Weld) y Línea de Fusión (Meld)? **Categoría:** Calidad **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** qual_23 - No existe diferencia, son sinónimos @@ -266,9 +421,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La temperatura del molde al momento del contacto - El tipo de material utilizado + +
+Respuesta Correcta + +- El ángulo de encuentro de los frentes de flujo (<135° vs >135°) ✅ + **Racional:** En la 'Weld' los frentes chocan de frente (más débil); en la 'Meld' fluyen paralelos y se unen lateralmente. -### 24. Para corregir un problema de Pandeo (Warpage) en una pieza plana, ¿qué ajuste es más efectivo? + +
### 24. Para corregir un problema de Pandeo (Warpage) en una pieza plana, ¿qué ajuste es más efectivo? **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_24 - Aumentar la temperatura de la masa @@ -276,9 +438,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Incrementar la fuerza de cierre al máximo - Reducir el tiempo de ciclo a la mitad + +
+Respuesta Correcta + +- Aumentar la temperatura de la masa ✅ + **Racional:** El pandeo ocurre por enfriamiento diferencial; igualar las temperaturas de las caras del molde reduce la tensión interna. -### 25. La 'Delaminación' (capas que se desprenden) es síntoma inequívoco de: + +
### 25. La 'Delaminación' (capas que se desprenden) es síntoma inequívoco de: **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_25 - Contaminación con polímero incompatible @@ -286,9 +455,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Presión de sostenimiento muy alta - Temperatura de molde muy baja + +
+Respuesta Correcta + +- Velocidad de inyección muy lenta ✅ + **Racional:** Materiales como PE y ABS no se mezclan; forman capas separadas que se pelan como una cebolla. -### 26. ¿Cuál es la fuente más común de 'Puntos Negros' aleatorios en producción continua? +### 💎 Calidad (10 preguntas) + +
### 26. ¿Cuál es la fuente más común de 'Puntos Negros' aleatorios en producción continua? **Categoría:** Calidad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** qual_26 - Suciedad en el sistema de agua de enfriamiento @@ -296,9 +473,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Falla en el sensor de presión de cavidad - Exceso de aditivo UV en la mezcla + +
+Respuesta Correcta + +- Acumulación de carbón en zonas muertas del barril/husillo ✅ + **Racional:** Material estancado se degrada a carbón y se desprende poco a poco, contaminando disparos aleatorios. -### 27. ¿Qué herramienta de Calidad se utiliza para monitorear la estabilidad estadística (Cpk) del proceso? + +
### 27. ¿Qué herramienta de Calidad se utiliza para monitorear la estabilidad estadística (Cpk) del proceso? **Categoría:** Calidad **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** qual_27 - Diagrama de Ishikawa (Pescado) @@ -306,9 +490,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Análisis de Modo de Falla (AMEF) - Metodología 5S + +
+Respuesta Correcta + +- Gráficos de Control (SPC) ✅ + **Racional:** El SPC permite ver si el proceso varía dentro de límites naturales o si hay causas especiales actuando. -### 28. Antes de meter el cuerpo entre las platinas para mantenimiento, ¿qué paso es INNEGOCIABLE? + +
### 28. Antes de meter el cuerpo entre las platinas para mantenimiento, ¿qué paso es INNEGOCIABLE? **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_28 - Colocar un letrero de 'No Operar' @@ -316,9 +507,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Avisar al supervisor de turno - Confiar en que el sensor de puerta funciona + +
+Respuesta Correcta + +- Colocar un letrero de 'No Operar' ✅ + **Racional:** Confiar en sensores o letreros es causa de muerte. Solo el bloqueo físico de energía garantiza seguridad. -### 29. ¿Por qué la purga de material degradado representa un riesgo de explosión? + +
### 29. ¿Por qué la purga de material degradado representa un riesgo de explosión? **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_29 - Por la reacción química con el aire @@ -326,9 +524,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Por el contacto con el agua del molde - Por la electricidad estática generada + +
+Respuesta Correcta + +- Por la expansión violenta de gases atrapados a presión ✅ + **Racional:** El material descompuesto genera gases. Si la boquilla está tapada o fría, al destaparla, el gas expande violentamente. -### 30. El sistema de 'Protección de Molde' (baja presión) sirve para: + +
### 30. El sistema de 'Protección de Molde' (baja presión) sirve para: **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_30 - Ahorrar energía durante el cierre @@ -336,9 +541,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Mejorar el tiempo de ciclo en moldes rápidos - Aumentar la vida útil del aceite hidráulico + +
+Respuesta Correcta + +- Detectar obstrucciones y detener el cierre antes de dañar el molde ✅ + **Racional:** Si el molde encuentra resistencia (pieza atorada) durante el cierre a baja presión, debe abortar para no aplastarla. -### 31. Ante una ruptura de manguera hidráulica con fuga de aceite a alta presión, lo primero es: + +
### 31. Ante una ruptura de manguera hidráulica con fuga de aceite a alta presión, lo primero es: **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_31 - Intentar tapar la fuga con la mano @@ -346,9 +558,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Colocar aserrín en el piso - Buscar al técnico de mantenimiento + +
+Respuesta Correcta + +- Activar el Paro de Emergencia para detener la bomba ✅ + **Racional:** El aceite a presión inyecta la piel y es inflamable. Cortar la fuente de energía (bomba) es prioridad. -### 32. Para manipular purgas calientes, el EPP mínimo requerido incluye: + +
### 32. Para manipular purgas calientes, el EPP mínimo requerido incluye: **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_32 - Guantes de látex y lentes oscuros @@ -356,9 +575,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Mascarilla para polvos y tapones auditivos - Guantes de carnaza cortos y lentes claros + +
+Respuesta Correcta + +- Careta facial completa y guantes térmicos largos ✅ + **Racional:** Se requiere protección contra calor extremo y salpicaduras a la cara/cuello. -### 33. Al izar un molde, ¿qué condición deben cumplir los cáncamos (eyebolts)? + +
### 33. Al izar un molde, ¿qué condición deben cumplir los cáncamos (eyebolts)? **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** safe_33 - Estar soldados a la placa del molde @@ -366,9 +592,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Ser de acero inoxidable obligatoriamente - Estar pintados de color amarillo seguridad + +
+Respuesta Correcta + +- Tener capacidad de carga certificada mayor al peso del molde ✅ + **Racional:** El fallo de un cáncamo subdimensionado es catastrófico. La carga nominal debe exceder el peso total. -### 34. ¿Qué función cumple el interbloqueo (interlock) de la puerta trasera? + +
### 34. ¿Qué función cumple el interbloqueo (interlock) de la puerta trasera? **Categoría:** Seguridad **Tipo:** Práctico **Description:** **Puntos:** 1 pts **ID:** safe_34 - Mantener la puerta cerrada magnéticamente @@ -376,9 +609,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Encender la luz de alarma de la máquina - Registrar quién abrió la puerta en el sistema + +
+Respuesta Correcta + +- Detener bomba y movimientos si la puerta es abierta ✅ + **Racional:** Es una zona ciega para el operador. Si se abre, la máquina debe morir instantáneamente. -### 35. Para un fuego eléctrico en el gabinete de control, ¿qué extintor usas? + +
### 35. Para un fuego eléctrico en el gabinete de control, ¿qué extintor usas? **Categoría:** Seguridad **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** safe_35 - Tipo A (Agua presurizada) @@ -386,9 +626,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Tipo K (Acetato de Potasio) - Tipo D (Polvo para metales) + +
+Respuesta Correcta + +- Tipo C (CO2 o Polvo Químico) ✅ + **Racional:** El Tipo C es no conductivo. Usar agua en un tablero energizado causa electrocución. -### 36. En México, la norma STPS que regula los dispositivos de seguridad en maquinaria es: +### 🗑️ Desperdicios (6 preguntas) + +
### 36. En México, la norma STPS que regula los dispositivos de seguridad en maquinaria es: **Categoría:** Seguridad **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** safe_36 - NOM-017-STPS (EPP) @@ -396,9 +644,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - NOM-002-STPS (Incendios) - NOM-029-STPS (Mantenimiento Eléctrico) + +
+Respuesta Correcta + +- NOM-004-STPS (Maquinaria y Equipo) ✅ + **Racional:** La NOM-004 establece la obligación de guardas, paros de emergencia y bloqueos. -### 37. ¿Qué indica el índice MFI (Melt Flow Index) de una resina? + +
### 37. ¿Qué indica el índice MFI (Melt Flow Index) de una resina? **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_37 - Su resistencia al impacto Izod @@ -406,9 +661,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Su temperatura de transición vítrea - Su porcentaje de carga de fibra de vidrio + +
+Respuesta Correcta + +- Su viscosidad o facilidad para fluir ✅ + **Racional:** MFI alto = material muy fluido (baja viscosidad); MFI bajo = material duro (alta viscosidad). -### 38. ¿Qué fenómeno químico sufre el Policarbonato (PC) o Nylon (PA) si se inyecta húmedo? + +
### 38. ¿Qué fenómeno químico sufre el Policarbonato (PC) o Nylon (PA) si se inyecta húmedo? **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_38 - Polimerización (se endurece más) @@ -416,9 +678,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Oxidación (cambio de color) - Reticulación (cross-linking) + +
+Respuesta Correcta + +- Hidrólisis (rotura de cadenas moleculares) ✅ + **Racional:** El agua corta las cadenas del polímero, destruyendo sus propiedades mecánicas irreversiblemente. -### 39. Diferencia clave de procesamiento entre amorfos (ej. ABS) y semicristalinos (ej. PP): + +
### 39. Diferencia clave de procesamiento entre amorfos (ej. ABS) y semicristalinos (ej. PP): **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_39 - Los amorfos no necesitan secado @@ -426,9 +695,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Los amorfos son siempre transparentes - Los semicristalinos son más caros + +
+Respuesta Correcta + +- Los semicristalinos tienen mayor contracción (shrinkage) ✅ + **Racional:** Al cristalizar, las moléculas se empaquetan densamente, reduciendo volumen significativamente más que los amorfos. -### 40. El uso de 'Regrind' (molido) por encima del 20% suele ocasionar: + +
### 40. El uso de 'Regrind' (molido) por encima del 20% suele ocasionar: **Categoría:** Materiales **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mat_40 - Mejora en el brillo superficial @@ -436,9 +712,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Reducción en la temperatura de fusión - Aumento en la fuerza de cierre requerida + +
+Respuesta Correcta + +- Pérdida de propiedades mecánicas e inestabilidad ✅ + **Racional:** El material reprocesado tiene historias térmicas previas (degradación) y cadenas más cortas. -### 41. Para un secado eficiente, el 'Punto de Rocío' (Dew Point) del aire debe ser: + +
### 41. Para un secado eficiente, el 'Punto de Rocío' (Dew Point) del aire debe ser: **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_41 - Positivo (+10°C) @@ -446,9 +729,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Igual a la temperatura ambiente - Igual a la temperatura de fusión + +
+Respuesta Correcta + +- Negativo (-40°C o inferior) ✅ + **Racional:** Se requiere aire extremadamente seco para 'robarle' la humedad al plástico. -### 42. ¿Cuál es el rango típico de dosificación de Masterbatch (color)? +### 📦 Materiales (4 preguntas) + +
### 42. ¿Cuál es el rango típico de dosificación de Masterbatch (color)? **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_42 - 10% a 15% @@ -456,9 +747,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - 0.01% a 0.05% - 50% (mitad y mitad) + +
+Respuesta Correcta + +- 10% a 15% ✅ + **Racional:** El masterbatch es muy concentrado. Usar más del 5% altera la química base del material y es costoso. -### 43. Procesar materiales de alta viscosidad (duros de fluir) requiere: + +
### 43. Procesar materiales de alta viscosidad (duros de fluir) requiere: **Categoría:** Materiales **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** mat_43 - Mayor presión de inyección y temperatura @@ -466,9 +764,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Menor fuerza de cierre - Husillos con bajo ratio de compresión + +
+Respuesta Correcta + +- Mayor velocidad de enfriamiento ✅ + **Racional:** Necesitas más energía (calor y fuerza) para empujar un fluido espeso dentro del molde. -### 44. ¿Qué distingue a un plástico de 'Ingeniería' de un 'Commodity'? + +
### 44. ¿Qué distingue a un plástico de 'Ingeniería' de un 'Commodity'? **Categoría:** Materiales **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** mat_44 - El precio de mercado únicamente @@ -476,9 +781,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Su facilidad para ser reciclado - Su disponibilidad en colores naturales + +
+Respuesta Correcta + +- Su desempeño térmico y mecánico superior ✅ + **Racional:** Los de ingeniería (PC, PA, POM) soportan cargas y temperaturas donde los commodities (PE, PP) fallan. -### 45. ¿Cuáles son los tres factores que componen el OEE? + +
### 45. ¿Cuáles son los tres factores que componen el OEE? **Categoría:** Eficiencia **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** eff_45 - Seguridad, Calidad, Costo @@ -486,9 +798,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Tiempo, Velocidad, Presión - Producción, Mermas, Retrabajos + +
+Respuesta Correcta + +- Disponibilidad, Desempeño, Calidad ✅ + **Racional:** Es el estándar global: Availability x Performance x Quality. -### 46. ¿Cuál es la meta principal de la metodología SMED? +### 🦺 Seguridad (5 preguntas) + +
### 46. ¿Cuál es la meta principal de la metodología SMED? **Categoría:** Eficiencia **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** eff_46 - Reducir el personal de mantenimiento @@ -496,9 +816,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Aumentar la velocidad de inyección - Estandarizar el color de los moldes + +
+Respuesta Correcta + +- Convertir cambios de horas en minutos (Single Minute) ✅ + **Racional:** Reducir el tiempo muerto por cambio de modelo permite lotes más pequeños y mayor flexibilidad. -### 47. Si la máquina produce piezas buenas, pero corre a 30s de ciclo en lugar de los 25s estándar, ¿qué indicador del OEE cae? + +
### 47. Si la máquina produce piezas buenas, pero corre a 30s de ciclo en lugar de los 25s estándar, ¿qué indicador del OEE cae? **Categoría:** Eficiencia **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** eff_47 - Disponibilidad (Availability) @@ -506,9 +833,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Calidad (Quality) - Ninguno, todo está bien + +
+Respuesta Correcta + +- Desempeño (Performance) ✅ + **Racional:** El Desempeño mide la velocidad real vs la velocidad teórica/estándar. -### 48. En un cambio SMED, ¿qué es una actividad 'Externa'? + +
### 48. En un cambio SMED, ¿qué es una actividad 'Externa'? **Categoría:** Eficiencia **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** eff_48 - Desmontar el molde viejo de la platina @@ -516,9 +850,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Limpiar la platina con la máquina parada - Ajustar los botadores con la puerta abierta + +
+Respuesta Correcta + +- Pre-calentar y preparar el molde nuevo mientras la máquina trabaja ✅ + **Racional:** Son tareas que se hacen 'fuera' del tiempo de paro, sin detener la producción actual. -### 49. ¿Qué porcentaje de OEE se considera 'Clase Mundial'? + +
### 49. ¿Qué porcentaje de OEE se considera 'Clase Mundial'? **Categoría:** Eficiencia **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** eff_49 - 60% o más @@ -526,9 +867,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - 99.9% - 100% + +
+Respuesta Correcta + +- 85% o más ✅ + **Racional:** 85% es el benchmark de excelencia aceptado internacionalmente. -### 50. Operar un molde de 4 cavidades con 1 cavidad bloqueada afecta principalmente: + +
### 50. Operar un molde de 4 cavidades con 1 cavidad bloqueada afecta principalmente: **Categoría:** Eficiencia **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** eff_50 - La calidad de las otras 3 piezas @@ -536,9 +884,17 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La vida útil del husillo - El consumo de energía eléctrica + +
+Respuesta Correcta + +- El costo pieza y la eficiencia del activo ✅ + **Racional:** Estás usando el 100% de la máquina para sacar el 75% de la producción. Es una pérdida financiera directa. -### 51. ¿Qué es el 'Takt Time'? +### ⚡ Eficiencia (5 preguntas) + +
### 51. ¿Qué es el 'Takt Time'? **Categoría:** Eficiencia **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** eff_51 - El tiempo mínimo que la máquina puede correr @@ -546,9 +902,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - El tiempo que tarda el cambio de turno - El tiempo de enfriamiento calculado + +
+Respuesta Correcta + +- El ritmo de producción necesario para cumplir la demanda del cliente ✅ + **Racional:** Es una métrica de demanda, no de capacidad de máquina. (Tiempo disponible / Demanda). -### 52. El Mantenimiento Predictivo se basa en: + +
### 52. El Mantenimiento Predictivo se basa en: **Categoría:** Eficiencia **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** eff_52 - Reparar cuando la máquina falla @@ -556,9 +919,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Cambiar piezas por calendario fijo - Inspección visual diaria del operador + +
+Respuesta Correcta + +- Monitoreo de condición (vibración, calor) para anticipar fallas ✅ + **Racional:** Usa datos para predecir cuándo fallará un componente antes de que suceda. -### 53. Orden lógico de implementación de 5S: + +
### 53. Orden lógico de implementación de 5S: **Categoría:** Desperdicios **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** wast_53 - Limpiar, Ordenar, Disciplina, Estandarizar, Clasificar @@ -566,9 +936,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Ordenar, Clasificar, Estandarizar, Limpiar, Disciplina - Disciplina, Limpiar, Ordenar, Clasificar, Estandarizar + +
+Respuesta Correcta + +- Clasificar, Ordenar, Limpiar, Estandarizar, Disciplina ✅ + **Racional:** Primero separas lo útil (Clasificar), luego le das un lugar (Ordenar), luego limpias... -### 54. ¿Cuál se considera el 'peor' desperdicio porque oculta a los demás? + +
### 54. ¿Cuál se considera el 'peor' desperdicio porque oculta a los demás? **Categoría:** Desperdicios **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** wast_54 - Transporte innecesario @@ -576,9 +953,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Movimientos del operador - Esperas y tiempos muertos + +
+Respuesta Correcta + +- Sobreproducción ✅ + **Racional:** Hacer de más genera inventario, que esconde defectos, paros y problemas de flujo. -### 55. Tener que recortar rebaba a todas las piezas saliendo de la máquina es un ejemplo de: + +
### 55. Tener que recortar rebaba a todas las piezas saliendo de la máquina es un ejemplo de: **Categoría:** Desperdicios **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** wast_55 - Valor Agregado @@ -586,9 +970,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Eficiencia operativa - Control de Calidad en línea + +
+Respuesta Correcta + +- Sobre-procesamiento (Extra-processing) ✅ + **Racional:** Es trabajo extra que el cliente no paga y que no debería existir si el proceso fuera correcto. -### 56. El exceso de Inventario en proceso (WIP) causa: + +
### 56. El exceso de Inventario en proceso (WIP) causa: **Categoría:** Desperdicios **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** wast_56 - Mayor flexibilidad de producción @@ -596,9 +987,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Reducción de tiempos de entrega - Mejor utilización del espacio + +
+Respuesta Correcta + +- Problemas de flujo de efectivo y riesgo de daños/obsolescencia ✅ + **Racional:** El inventario es dinero estancado en el piso que puede dañarse o perderse. -### 57. ¿Qué debe contener una Ayuda Visual efectiva en la estación? + +
### 57. ¿Qué debe contener una Ayuda Visual efectiva en la estación? **Categoría:** Desperdicios **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** wast_57 - El manual completo de la máquina @@ -606,9 +1004,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - La política de misión y visión de la empresa - El calendario de cumpleaños del equipo + +
+Respuesta Correcta + +- Fotos claras de defectos límite y criterios de aceptación ✅ + **Racional:** Debe ser una herramienta rápida para que el operador decida: ¿Pasa o No Pasa? -### 58. Encontrar herramientas tiradas y piezas mezcladas bajo la máquina indica falla en: + +
### 58. Encontrar herramientas tiradas y piezas mezcladas bajo la máquina indica falla en: **Categoría:** Desperdicios **Tipo:** Práctico **Description:** **Puntos:** 1.5 pts **ID:** wast_58 - La programación de producción @@ -616,9 +1021,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - El mantenimiento preventivo - La calidad de la materia prima + +
+Respuesta Correcta + +- Las 5S (Orden y Limpieza) ✅ + **Racional:** Evidencia falta de Seiton (Orden) y Seiso (Limpieza). -### 59. Un dispositivo 'Poka-Yoke' sirve para: + +
### 59. Un dispositivo 'Poka-Yoke' sirve para: **Categoría:** Desperdicios **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** wast_59 - Aumentar la velocidad de la banda @@ -626,9 +1038,16 @@ Práctico (1.5 pts): Diagnóstico de fallas, cálculos y toma de decisiones - Medir la eficiencia del operador - Limpiar las piezas automáticamente + +
+Respuesta Correcta + +- Hacer imposible cometer un error específico (A prueba de error) ✅ + **Racional:** Ejemplo: Un conector que solo entra en una posición para evitar polaridad invertida. -### 60. El objetivo final de eliminar desperdicios (Muda) es: + +
### 60. El objetivo final de eliminar desperdicios (Muda) es: **Categoría:** Desperdicios **Tipo:** Teórico **Description:** **Puntos:** 1 pts **ID:** wast_60 - Despedir personal sobrante diff --git a/questions/modify_md.py b/questions/modify_md.py index 31e14dd..c13c0bf 100644 --- a/questions/modify_md.py +++ b/questions/modify_md.py @@ -58,4 +58,5 @@ def modify_md(file_path): if __name__ == "__main__": - modify_md("markdown/Basic_assesment.md") + modify_md("markdown/Medium_assesment.md") + modify_md("markdown/Advanced_assesment.md")