Tiempo invertido: 4 horas y 30 minutos, aproximadamente
19:00-21:30
Luego de realizar la verficación mencionada en la entrada anterior se procede a realizar las inserciones de los diferentes tipos de solicitudes que se pueden realizar, pero para poder realizarlo debemos primero saber que tipo de solicitud es, ya sea de servicios, suministros o maquinaria.
Para entender mejor este procedimiento explicaremos como se inserta una solicitud de servicios.
Primero se verifica que el ServiceID sea diferente de cero, si es diferente de cero se declaran dos variables tipo varchar, llamadas ServiceRequestDescription, y ServiceHistoricalDescripcion, en la variable ServiceRequestDescription lo que se va a tener es un codigo generado de la concatenación de varios string entre los cuales van: FK_LotXCycle, FK_ActivityType, RequestTypeID, ServiceID y el máximo ID guardado, ademas del código generado también dentro de la descripción esta el Request, la cantidad de saldo y las horas.
Luego de realizar la verficación mencionada en la entrada anterior se procede a realizar las inserciones de los diferentes tipos de solicitudes que se pueden realizar, pero para poder realizarlo debemos primero saber que tipo de solicitud es, ya sea de servicios, suministros o maquinaria.
Para entender mejor este procedimiento explicaremos como se inserta una solicitud de servicios.
Primero se verifica que el ServiceID sea diferente de cero, si es diferente de cero se declaran dos variables tipo varchar, llamadas ServiceRequestDescription, y ServiceHistoricalDescripcion, en la variable ServiceRequestDescription lo que se va a tener es un codigo generado de la concatenación de varios string entre los cuales van: FK_LotXCycle, FK_ActivityType, RequestTypeID, ServiceID y el máximo ID guardado, ademas del código generado también dentro de la descripción esta el Request, la cantidad de saldo y las horas.
SELECT @ServiceRequestDescription = 'COD' + CONVERT(VARCHAR(10), @FK_LotXCycle) + CONVERT(VARCHAR(10), @FK_ActivityType) + CONVERT(VARCHAR(10), dbo.APFN_RequestTypeID(@RequestType)) + CONVERT(VARCHAR(10), dbo.APFN_ServiceID(@Request)) + CONVERT(VARCHAR(10), ISNULL(MAX(SR.ID), 0) + 1) + '. ' + @Request + ', cantidad: ' + CONVERT(VARCHAR(50), @Amount) + ' hora(s).'
En la variable ServiceHistoricalDescripcion lo que va a tener es: la descripción de la fecha en la cual fue registrada la solicitud.
Luego de tener todos los datos dentro de las variables, se verifica si la solicitud esta aprobada o pendiente.
Si esta Pendiente se hace un insert sin modificar o afectar el saldo de servicios, ya que esta pendiente.
Pero si la solicitud esta Aprobada se debe realizar la modificación de saldo de servicios, para poder realizar esto se debe declarar otra variable llamada ServiceMovementDescription, esta variable contiene la fecha de proceso, el request, la cantidad de horas, ademas tiene el nuevo saldo de servicios el cual es la siguiente sumatoria: LC.ServicesBalance + dbo.APFN_ServiceCost(@Request) * @Amount, con esta suma se obtiene el nuevo saldo de servicios.
SELECT @ServiceMovementDescription = 'Fecha de proceso: ' + CONVERT(VARCHAR(10), GETDATE(), 103) + '. ' + @Request + ', cantidad: ' + CONVERT(VARCHAR(50), @Amount) + ' hora(s). Nuevo saldo de servicios: ' + CONVERT(VARCHAR(200), (LC.ServicesBalance + dbo.APFN_ServiceCost(@Request) * @Amount))
FROM dbo.AP_LotXCycle LC
Luego de tener todo en las variables se procede a realizar la inserción de la solicitud.
No hay comentarios:
Publicar un comentario