feat(herramientas): agregar soporte de fotografias y evidencias para herramientas, kits y asignaciones de custodia
This commit is contained in:
@@ -8,8 +8,10 @@ class HerramientaAsignacion {
|
||||
u.email as tecnico_email,
|
||||
hs.nombre as set_nombre,
|
||||
hs.codigo as set_codigo,
|
||||
hs.foto_url as set_foto_url,
|
||||
h.nombre as herramienta_nombre,
|
||||
h.codigo as herramienta_codigo,
|
||||
h.foto_url as herramienta_foto_url,
|
||||
tv.titulo as visita_titulo,
|
||||
tv.ticket_id,
|
||||
t.asunto as ticket_asunto,
|
||||
@@ -53,10 +55,15 @@ class HerramientaAsignacion {
|
||||
u.nombre as tecnico_nombre,
|
||||
u.email as tecnico_email,
|
||||
hs.nombre as set_nombre,
|
||||
hs.codigo as set_codigo
|
||||
hs.codigo as set_codigo,
|
||||
hs.foto_url as set_foto_url,
|
||||
h.nombre as herramienta_nombre,
|
||||
h.codigo as herramienta_codigo,
|
||||
h.foto_url as herramienta_foto_url
|
||||
FROM tecnico_herramientas_asignaciones tha
|
||||
INNER JOIN users u ON tha.tecnico_id = u.id
|
||||
LEFT JOIN herramientas_sets hs ON tha.set_id = hs.id
|
||||
LEFT JOIN herramientas h ON tha.herramienta_id = h.id
|
||||
WHERE tha.id = ? AND tha.company_id = ?`,
|
||||
[id, companyId]
|
||||
);
|
||||
@@ -73,27 +80,35 @@ class HerramientaAsignacion {
|
||||
tipo_asignacion = 'dotacion_fija',
|
||||
fecha_asignacion = new Date(),
|
||||
observaciones_entrega = null,
|
||||
foto_entrega_url = null,
|
||||
asignado_por = null
|
||||
} = data;
|
||||
|
||||
const [res] = await db.query(
|
||||
`INSERT INTO tecnico_herramientas_asignaciones
|
||||
(company_id, tecnico_id, set_id, herramienta_id, ticket_visita_id, tipo_asignacion, fecha_asignacion, estado, observaciones_entrega, asignado_por)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, 'asignado', ?, ?)`,
|
||||
[company_id, tecnico_id, set_id, herramienta_id, ticket_visita_id, tipo_asignacion, fecha_asignacion, observaciones_entrega, asignado_por]
|
||||
(company_id, tecnico_id, set_id, herramienta_id, ticket_visita_id, tipo_asignacion, fecha_asignacion, estado, observaciones_entrega, foto_entrega_url, asignado_por)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, 'asignado', ?, ?, ?)`,
|
||||
[company_id, tecnico_id, set_id, herramienta_id, ticket_visita_id, tipo_asignacion, fecha_asignacion, observaciones_entrega, foto_entrega_url, asignado_por]
|
||||
);
|
||||
return res.insertId;
|
||||
}
|
||||
|
||||
static async devolver(id, companyId, { observaciones_devolucion = null, estado = 'devuelto' }) {
|
||||
await db.query(
|
||||
`UPDATE tecnico_herramientas_asignaciones
|
||||
SET estado = ?,
|
||||
fecha_devolucion = NOW(),
|
||||
observaciones_devolucion = ?
|
||||
WHERE id = ? AND company_id = ?`,
|
||||
[estado, observaciones_devolucion, id, companyId]
|
||||
);
|
||||
static async devolver(id, companyId, { observaciones_devolucion = null, estado = 'devuelto', foto_devolucion_url = null }) {
|
||||
let sql = `UPDATE tecnico_herramientas_asignaciones
|
||||
SET estado = ?,
|
||||
fecha_devolucion = NOW(),
|
||||
observaciones_devolucion = ?`;
|
||||
const params = [estado, observaciones_devolucion];
|
||||
|
||||
if (foto_devolucion_url) {
|
||||
sql += ', foto_devolucion_url = ?';
|
||||
params.push(foto_devolucion_url);
|
||||
}
|
||||
|
||||
sql += ' WHERE id = ? AND company_id = ?';
|
||||
params.push(id, companyId);
|
||||
|
||||
await db.query(sql, params);
|
||||
}
|
||||
|
||||
static async delete(id, companyId) {
|
||||
|
||||
Reference in New Issue
Block a user