refs #6493 refactorizar-procedimientos-vn2008-parte_2 #2235
|
@ -8,9 +8,9 @@ proc: BEGIN
|
||||||
* Calcular la disponibilidad dependiendo del almacen
|
* Calcular la disponibilidad dependiendo del almacen
|
||||||
jbreso marked this conversation as resolved
Outdated
|
|||||||
* de origen y destino según la fecha.
|
* de origen y destino según la fecha.
|
||||||
*
|
*
|
||||||
jbreso marked this conversation as resolved
guillermo
commented
Falta poner un espacio entre vWarehouse y Landing. Además de que cuando se ponen los params, ninguna descripción del param debe de tener punto (viendo otros procs se puede comprobar) Falta poner un espacio entre vWarehouse y Landing.
Además de que cuando se ponen los params, ninguna descripción del param debe de tener punto (viendo otros procs se puede comprobar)
jbreso
commented
vWarehouseLanding no se porque quieres el espacio la variable se llama asi, si pongo el espacio en esa también tendía que ponerlo en vWarehouseShipment? vWarehouseLanding no se porque quieres el espacio la variable se llama asi, si pongo el espacio en esa también tendía que ponerlo en vWarehouseShipment?
guillermo
commented
Vale no sorry, queria decir que la primera letra del comentario de la variable debe de estár en mayuscula, así en todos los del PR Vale no sorry, queria decir que la primera letra del comentario de la variable debe de estár en mayuscula, así en todos los del PR
|
|||||||
* @param vWarehouseLanding almacén de llegada
|
* @param vWarehouseLanding Almacén de llegada
|
||||||
jbreso marked this conversation as resolved
Outdated
guillermo
commented
Aquí hay doble espacio, y sobrepasa los carácteres máximos, acortar Aquí hay doble espacio, y sobrepasa los carácteres máximos, acortar
guillermo
commented
lA primera letra del comentario de la variable debe de estar en mayúscula, así en todos los del PR lA primera letra del comentario de la variable debe de estar en mayúscula, así en todos los del PR
|
|||||||
* @param vDated fecha del calculo para la disponibilidad de articulos
|
* @param vDated Fecha del calculo para la disponibilidad de articulos
|
||||||
* @param vWarehouseShipment almacén de destino
|
* @param vWarehouseShipment Almacén de destino
|
||||||
*/
|
*/
|
||||||
DECLARE vDatedFrom DATE;
|
DECLARE vDatedFrom DATE;
|
||||||
DECLARE vDatedTo DATETIME;
|
DECLARE vDatedTo DATETIME;
|
||||||
|
@ -23,14 +23,14 @@ proc: BEGIN
|
||||||
|
|
||||||
CALL item_getStock (vWarehouseLanding, vDated, NULL);
|
CALL item_getStock (vWarehouseLanding, vDated, NULL);
|
||||||
jbreso marked this conversation as resolved
carlosap
commented
Salto de línea innecesario Salto de línea innecesario
|
|||||||
|
|
||||||
-- Calcula algunos parámetros necesarios
|
-- Calcula algunos parámetros necesarios.
|
||||||
SET vDatedFrom = TIMESTAMP(vDated, '00:00:00');
|
SET vDatedFrom = TIMESTAMP(vDated, '00:00:00');
|
||||||
SET vDatedTo = TIMESTAMP(TIMESTAMPADD(DAY, 4, vDated), '23:59:59');
|
SET vDatedTo = TIMESTAMP(TIMESTAMPADD(DAY, 4, vDated), '23:59:59');
|
||||||
jbreso marked this conversation as resolved
Outdated
carlosap
commented
no utilizamos TIMESTAMPADD, modificar por INTERVAL no utilizamos TIMESTAMPADD, modificar por INTERVAL
|
|||||||
SELECT FechaInventario INTO vDatedInventory FROM tblContadores;
|
SELECT FechaInventario INTO vDatedInventory FROM tblContadores;
|
||||||
SELECT SUBTIME(util.VN_NOW(), reserveTime) INTO vDatedReserve
|
SELECT SUBTIME(util.VN_NOW(), reserveTime) INTO vDatedReserve
|
||||||
FROM hedera.orderConfig;
|
FROM hedera.orderConfig;
|
||||||
|
|
||||||
-- Calcula el ultimo dia de vida para cada producto
|
-- Calcula el ultimo dia de vida para cada producto.
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tItemRange
|
CREATE OR REPLACE TEMPORARY TABLE tItemRange
|
||||||
(PRIMARY KEY (itemFk))
|
(PRIMARY KEY (itemFk))
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
|
|
|
@ -130,18 +130,21 @@ BEGIN
|
||||||
-- Añadimos los gastos, para facilitar el formulario
|
-- Añadimos los gastos, para facilitar el formulario
|
||||||
UPDATE tmp.balance b
|
UPDATE tmp.balance b
|
||||||
JOIN balanceNestTree bnt on bnt.id = b.id
|
JOIN balanceNestTree bnt on bnt.id = b.id
|
||||||
JOIN (SELECT id, name
|
JOIN (
|
||||||
jbreso marked this conversation as resolved
Outdated
guillermo
commented
JOIN ( JOIN (
(TAB) SELECT id, name
....
GROUP BY id
) g ON g.id = bnt.expenseFk COLLATE utf8_general_ci
|
|||||||
|
SELECT id, name
|
||||||
jbreso marked this conversation as resolved
Outdated
guillermo
commented
No poner la , al principio, sino al final en la linea anterior No poner la , al principio, sino al final en la linea anterior
carlosap
commented
El id de la tabla expense es PK no tiene sentido hacer subconsulta con el GROUP BY El id de la tabla expense es PK no tiene sentido hacer subconsulta con el GROUP BY
|
|||||||
FROM expense
|
FROM expense
|
||||||
GROUP BY id) g ON g.id = bnt.expenseFk COLLATE utf8_general_ci
|
GROUP BY id
|
||||||
|
) g ON g.id = bnt.expenseFk COLLATE utf8_general_ci
|
||||||
SET b.expenseFk = g.id COLLATE utf8_general_ci,
|
SET b.expenseFk = g.id COLLATE utf8_general_ci,
|
||||||
b.expenseName = g.id COLLATE utf8_general_ci ;
|
b.expenseName = g.id COLLATE utf8_general_ci ;
|
||||||
|
|
||||||
-- Rellenamos los valores de primer nivel, los que corresponden a los gastos simples
|
-- Rellenamos los valores de primer nivel, los que corresponden
|
||||||
|
-- a los gastos simples.
|
||||||
WHILE vYears >= 0 DO
|
WHILE vYears >= 0 DO
|
||||||
SET vQuery = CONCAT(
|
SET vQuery = CONCAT(
|
||||||
'UPDATE tmp.balance b
|
'UPDATE tmp.balance b
|
||||||
JOIN
|
JOIN (
|
||||||
(SELECT expenseFk, SUM(amount) amount
|
SELECT expenseFk, SUM(amount) amount
|
||||||
FROM tmp.balanceDetail
|
FROM tmp.balanceDetail
|
||||||
WHERE year = ?
|
WHERE year = ?
|
||||||
GROUP BY expenseFk
|
GROUP BY expenseFk
|
||||||
|
@ -154,7 +157,7 @@ BEGIN
|
||||||
SET vYears = vYears - 1;
|
SET vYears = vYears - 1;
|
||||||
END WHILE;
|
END WHILE;
|
||||||
|
|
||||||
-- Añadimos las ventas
|
-- Añadimos las ventas.
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
'UPDATE tmp.balance b
|
'UPDATE tmp.balance b
|
||||||
JOIN (
|
JOIN (
|
||||||
|
@ -176,7 +179,7 @@ BEGIN
|
||||||
vStartingMonth,
|
vStartingMonth,
|
||||||
vEndingMonth;
|
vEndingMonth;
|
||||||
|
|
||||||
-- Ventas intra grupo
|
-- Ventas intra grupo.
|
||||||
IF NOT vInterGroupSalesIncluded THEN
|
IF NOT vInterGroupSalesIncluded THEN
|
||||||
|
|
||||||
SELECT lft, rgt INTO @grupoLft, @grupoRgt
|
SELECT lft, rgt INTO @grupoLft, @grupoRgt
|
||||||
|
@ -189,7 +192,7 @@ BEGIN
|
||||||
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- Rellenamos el valor de los padres con la suma de los hijos
|
-- Rellenamos el valor de los padres con la suma de los hijos.
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.balance_aux
|
CREATE OR REPLACE TEMPORARY TABLE tmp.balance_aux
|
||||||
SELECT * FROM tmp.balance;
|
SELECT * FROM tmp.balance;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,5 @@ CREATE OR REPLACE PROCEDURE `vn`.`buy_recalcPricesByEntry`() BEGIN END;
|
||||||
CREATE OR REPLACE PROCEDURE `vn`.`buy_recalcPricesByBuy`() BEGIN END;
|
CREATE OR REPLACE PROCEDURE `vn`.`buy_recalcPricesByBuy`() BEGIN END;
|
||||||
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.balance_create TO `financialBoss`, `hrBoss`;
|
GRANT EXECUTE ON PROCEDURE vn.balance_create TO `financialBoss`, `hrBoss`;
|
||||||
jbreso marked this conversation as resolved
Outdated
guillermo
commented
Unificar GRANT EXECUTE ON PROCEDURE vn.balance_create TO Así con los demás grants, solo tiene que haber un GRANT EXECUTE para cada proc Unificar GRANT EXECUTE ON PROCEDURE vn.balance_create TO `financialBoss`, `hrBoss`;
Así con los demás grants, solo tiene que haber un GRANT EXECUTE para cada proc
|
|||||||
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.buy_recalcPricesByEntry TO `buyer`, `claimManager`, `employee`;
|
GRANT EXECUTE ON PROCEDURE vn.buy_recalcPricesByEntry TO `buyer`, `claimManager`, `employee`;
|
||||||
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.buy_recalcPricesByBuy TO `buyer`, `entryEditor`, `claimManager`, `employee`;
|
GRANT EXECUTE ON PROCEDURE vn.buy_recalcPricesByBuy TO `buyer`, `entryEditor`, `claimManager`, `employee`;
|
Sobrepasa los carácteres máximos x linea, a parte que al final va un punto