DELIMITER $$
$$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`saleTracking_new`(
										vSaleFK INT,
										vIsChecked BOOLEAN,
										vOriginalQuantity INT,
										vWorkerFk INT,
										vState VARCHAR(50),
										vIsScanned BOOLEAN)
BEGIN
/**
 * Modifica registro de saleTracking
 *
 * @param vSaleFK Identificador del registro a modificar
 * @param vIsChecked Indica si la línea ha sido pulsada
 * @param vOriginalQuantity Cantidad original
 * @param vWorkerFk Identificador del trabajador
 * @param vAction Identificador de la acción realizada
 * @param vState Identificador del estado a modificar
 * @param vIsScanned Identificador si se ha escaneado automáticamente o manual
 */

	REPLACE vn.saleTracking(saleFk,
							isChecked,
							originalQuantity,
							workerFk,
							stateFk,
							isScanned)
		SELECT 	vSaleFK,
				vIsChecked,
				vOriginalQuantity,
				IFNULL(vWorkerFk, vn.getUser()),
				s.id,
				vIsScanned
			FROM vn.state s
			WHERE s.code = vState COLLATE utf8_unicode_ci;
END$$
DELIMITER ;
