refs #6493 refactorizar-procedimientos-vn2008-parte_2 #2235
|
@ -8,9 +8,9 @@ proc: BEGIN
|
|||
* Calcular la disponibilidad dependiendo del almacen
|
||||
jbreso marked this conversation as resolved
Outdated
|
||||
* 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 vDated fecha del calculo para la disponibilidad de articulos
|
||||
* @param vWarehouseShipment almacén de destino
|
||||
* @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 vWarehouseShipment Almacén de destino
|
||||
*/
|
||||
DECLARE vDatedFrom DATE;
|
||||
DECLARE vDatedTo DATETIME;
|
||||
|
@ -23,14 +23,14 @@ proc: BEGIN
|
|||
|
||||
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 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 SUBTIME(util.VN_NOW(), reserveTime) INTO vDatedReserve
|
||||
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
|
||||
(PRIMARY KEY (itemFk))
|
||||
ENGINE = MEMORY
|
||||
|
@ -89,15 +89,15 @@ proc: BEGIN
|
|||
t.landed,
|
||||
b.quantity
|
||||
FROM buy b
|
||||
JOIN entry e ON b.entryFk = e.id
|
||||
JOIN travel t ON t.id = e.travelFk
|
||||
JOIN tItemRangeLive ir ON ir.itemFk = b.itemFk
|
||||
WHERE NOT e.isExcludedFromAvailable
|
||||
AND b.quantity <> 0
|
||||
AND NOT e.isRaid
|
||||
AND t.warehouseInFk = vWarehouseLanding
|
||||
AND t.landed >= vDatedFrom
|
||||
AND (ir.dated IS NULL OR t.landed <= ir.dated)
|
||||
JOIN entry e ON b.entryFk = e.id
|
||||
jbreso marked this conversation as resolved
Outdated
guillermo
commented
Tab Tab
|
||||
JOIN travel t ON t.id = e.travelFk
|
||||
JOIN tItemRangeLive ir ON ir.itemFk = b.itemFk
|
||||
WHERE NOT e.isExcludedFromAvailable
|
||||
jbreso marked this conversation as resolved
Outdated
carlosap
commented
eliminar esquema innecesario eliminar esquema innecesario
|
||||
AND b.quantity <> 0
|
||||
AND NOT e.isRaid
|
||||
AND t.warehouseInFk = vWarehouseLanding
|
||||
AND t.landed >= vDatedFrom
|
||||
AND (ir.dated IS NULL OR t.landed <= ir.dated)
|
||||
UNION ALL
|
||||
SELECT i.itemFk, vWarehouseLanding, i.shipped, i.quantity
|
||||
FROM itemEntryOut i
|
||||
|
|
|
@ -130,23 +130,26 @@ BEGIN
|
|||
-- Añadimos los gastos, para facilitar el formulario
|
||||
UPDATE tmp.balance b
|
||||
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
|
||||
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,
|
||||
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
|
||||
SET vQuery = CONCAT(
|
||||
'UPDATE tmp.balance b
|
||||
JOIN
|
||||
(SELECT expenseFk, SUM(amount) amount
|
||||
JOIN (
|
||||
SELECT expenseFk, SUM(amount) amount
|
||||
FROM tmp.balanceDetail
|
||||
WHERE year = ?
|
||||
GROUP BY expenseFk
|
||||
) sub on sub.expenseFk = b.expenseFk COLLATE utf8_general_ci
|
||||
SET ', util.quoteIdentifier(vCurYear - vYears), ' = - amount');
|
||||
) sub on sub.expenseFk = b.expenseFk COLLATE utf8_general_ci
|
||||
SET ', util.quoteIdentifier(vCurYear - vYears), ' = - amount');
|
||||
|
||||
EXECUTE IMMEDIATE vQuery
|
||||
USING vCurYear - vYears;
|
||||
|
@ -154,7 +157,7 @@ BEGIN
|
|||
SET vYears = vYears - 1;
|
||||
END WHILE;
|
||||
|
||||
-- Añadimos las ventas
|
||||
-- Añadimos las ventas.
|
||||
EXECUTE IMMEDIATE CONCAT(
|
||||
'UPDATE tmp.balance b
|
||||
JOIN (
|
||||
|
@ -164,7 +167,7 @@ BEGIN
|
|||
c.Gasto
|
||||
jbreso marked this conversation as resolved
guillermo
commented
Sobra un espacio Sobra un espacio
|
||||
FROM bs.ventas_contables c
|
||||
JOIN tCompanyReceiving cr ON cr.companyFk = c.empresa_id
|
||||
WHERE month BETWEEN ? AND ?
|
||||
WHERE month BETWEEN ? AND ?
|
||||
GROUP BY c.Gasto
|
||||
) sub ON sub.gasto = b.expenseFk COLLATE utf8_general_ci
|
||||
SET b.', vTwoYearsAgo, '= IFNULL(b.', vTwoYearsAgo, ', 0) + sub.y2,
|
||||
|
@ -176,7 +179,7 @@ BEGIN
|
|||
vStartingMonth,
|
||||
vEndingMonth;
|
||||
|
||||
-- Ventas intra grupo
|
||||
-- Ventas intra grupo.
|
||||
IF NOT vInterGroupSalesIncluded THEN
|
||||
|
||||
SELECT lft, rgt INTO @grupoLft, @grupoRgt
|
||||
|
@ -189,7 +192,7 @@ BEGIN
|
|||
|
||||
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
|
||||
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;
|
||||
|
||||
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_recalcPricesByBuy TO `buyer`, `entryEditor`, `claimManager`, `employee`;
|
Sobrepasa los carácteres máximos x linea, a parte que al final va un punto