Arregla estado asignado alta manual

This commit is contained in:
2026-08-19 21:36:57 +00:00
parent 3bb0c84e8e
commit 2bad1894a3

View File

@@ -3975,6 +3975,17 @@ app.post("/services/manual-high", authMiddleware, async (req, res) => {
const cpMatchAlta = (address || "").match(/\b\d{5}\b/); const cpMatchAlta = (address || "").match(/\b\d{5}\b/);
const cpDetectado = cpMatchAlta ? cpMatchAlta[0] : "00000"; const cpDetectado = cpMatchAlta ? cpMatchAlta[0] : "00000";
// 🩹 FIX: si al crear el servicio ya se elige un operario a mano, había que guardar
// también el status_operativo como "Asignado". Si se dejaba vacío (como pasaba antes),
// la ficha de detalle caía en systemStatuses[0] ("Pendiente de Asignar") al no encontrar
// el estado, y como ese nombre contiene la palabra "asignar" el panel de detalle mostraba
// "Sin Asignar" aunque el operario SÍ estuviera guardado correctamente en la base de datos.
let statusOperativoAlta = null;
if (assigned_to) {
const statusAsignadoQ = await pool.query("SELECT id FROM service_statuses WHERE owner_id=$1 AND name = 'Asignado' LIMIT 1", [ownerId]);
if (statusAsignadoQ.rowCount > 0) statusOperativoAlta = String(statusAsignadoQ.rows[0].id);
}
const rawData = { const rawData = {
"Nombre Cliente": name, "Nombre Cliente": name,
"Teléfono": phone, "Teléfono": phone,
@@ -3985,7 +3996,8 @@ app.post("/services/manual-high", authMiddleware, async (req, res) => {
"scheduled_date": "", "scheduled_date": "",
"scheduled_time": "", "scheduled_time": "",
"duration_minutes": duration_minutes || 60, "duration_minutes": duration_minutes || 60,
"Compañía": is_company ? company_name : "Particular" "Compañía": is_company ? company_name : "Particular",
"status_operativo": statusOperativoAlta
}; };
const serviceReference = is_company ? company_ref : `M-${Date.now().toString().slice(-6)}`; const serviceReference = is_company ? company_ref : `M-${Date.now().toString().slice(-6)}`;