39 lines
1.2 KiB
MySQL
39 lines
1.2 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sectorCollectionSaleGroup_add`(vSaleGroupFk INT, vSectorCollectionFk INT)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Inserta un nuevo registro en vn.sectorCollectionSaleGroup
|
||
|
* Actualiza el usuario en vn.saleGroup y reemplaza los registros de vn.saleTracking
|
||
|
*
|
||
|
* @param vSaleGroupFk Identificador de vn.saleGroup
|
||
|
* @param vSectorCollectionFk Identificador de vn.sectorCollection
|
||
|
*/
|
||
|
REPLACE sectorCollectionSaleGroup
|
||
|
SET sectorCollectionFk = vSectorCollectionFk,
|
||
|
saleGroupFk = vSaleGroupFk;
|
||
|
|
||
|
UPDATE saleGroup sg
|
||
|
JOIN sectorCollectionSaleGroup scsg ON scsg.saleGroupFk = sg.id
|
||
|
JOIN sectorCollection sc ON sc.id = scsg.sectorCollectionFk
|
||
|
SET sg.userFk = sc.userFk
|
||
|
WHERE sg.id = vSaleGroupFk;
|
||
|
|
||
|
INSERT IGNORE saleTracking(
|
||
|
saleFk,
|
||
|
isChecked,
|
||
|
workerFk,
|
||
|
stateFk
|
||
|
)
|
||
|
SELECT sgd.saleFk ,
|
||
|
FALSE,
|
||
|
sc.userFk,
|
||
|
s.id
|
||
|
FROM saleGroupDetail sgd
|
||
|
JOIN sectorCollectionSaleGroup scsg
|
||
|
ON scsg.saleGroupFk = sgd.saleGroupFk
|
||
|
JOIN sectorCollection sc ON sc.id = scsg.sectorCollectionFk
|
||
|
JOIN state s ON s.code = 'PREVIOUS_PREPARATION'
|
||
|
WHERE sgd.saleGroupFk = vSaleGroupFk;
|
||
|
END$$
|
||
|
DELIMITER ;
|