Consulta para la simulación de la operación de la base de datos
Otra de las consultas necesarias para obtener la ficha siguiente en la fila dependiendo del cajero que esta libre y sus prioridades definidas anterioridad, se concluye que debe existir la siguiente consulta:IF @idLastFicha IS NOT NULL
BEGIN
UPDATE FB_Ficha
SET TiempoFinServicio = GETDATE(),
TiempoSolicitud = DATEDIFF(MINUTE,TiempoFinServicio,TiempoInicioServicio)
WHERE Id_Ficha=@idLastFicha
END
CREATE TABLE #FichaTemporal( id INT,cod VARCHAR(10),Prioridad INT)
INSERT INTO #FichaTemporal( id ,cod ,Prioridad )
SELECT DISTINCT TOP 1 F.Id_Ficha,F.Codigo,EXS.Prioridad
FROM FB_Ficha F
INNER JOIN FB_EstacionXServicio EXS ON EXS.FK_TipoServicio=F.FK_TipoServicio
INNER JOIN FB_CajeroXEstacion CXE ON CXE.FK_Estacion=EXS.FK_Estacion AND
CXE.Id_CajeroXEstacion=@idCXE
INNER JOIN FB_Estacion E ON E.Id_Estacion=CXE.FK_Estacion
INNER JOIN FB_TipoServicio TS ON F.FK_TipoServicio=TS.Id_TipoServicio
WHERE F.TiempoInicioServicio='00:00:00'
ORDER BY EXS.Prioridad,F.Id_Ficha ASC
SET @id=#FichaTemporal.id
UPDATE FB_Ficha
SET TiempoInicioServicio = GETDATE()
WHERE Id_Ficha=@id
DROP TABLE #FichaTemporal
END
Duracion 3 horas
No hay comentarios:
Publicar un comentario