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")