Merge branch 'dev' into 7108-exchange-rate
gitea/salix/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Javi Gallego 2024-04-24 07:45:02 +02:00
commit dcc46494bc
117 changed files with 610 additions and 801 deletions

View File

@ -5,7 +5,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [24.18.01] - 2024-05-02 ## [24.20.01] - 2024-05-14
## [24.18.01] - 2024-05-07
## [24.16.01] - 2024-04-18 ## [24.16.01] - 2024-04-18

2
Jenkinsfile vendored
View File

@ -24,7 +24,7 @@ node {
FROM_GIT = env.JOB_NAME.startsWith('gitea/') FROM_GIT = env.JOB_NAME.startsWith('gitea/')
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
RUN_BUILD = PROTECTED_BRANCH && FROM_GIT RUN_BUILD = PROTECTED_BRANCH && FROM_GIT
env.DEBUG = 'strong-remoting:shared-method' // env.DEBUG = 'strong-remoting:shared-method'
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables // https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
echo "NODE_NAME: ${env.NODE_NAME}" echo "NODE_NAME: ${env.NODE_NAME}"
echo "WORKSPACE: ${env.WORKSPACE}" echo "WORKSPACE: ${env.WORKSPACE}"

View File

@ -30,7 +30,7 @@ module.exports = Self => {
path: `/:id/downloadFile`, path: `/:id/downloadFile`,
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.downloadFile = async function(ctx, id) { Self.downloadFile = async function(ctx, id) {

View File

@ -43,7 +43,7 @@ module.exports = Self => {
path: `/:id/download`, path: `/:id/download`,
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.download = async function(id, fileCabinet, filter) { Self.download = async function(id, fileCabinet, filter) {

View File

@ -48,7 +48,7 @@ module.exports = Self => {
path: `/:collection/:size/:id/download`, path: `/:collection/:size/:id/download`,
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.download = async function(ctx, collection, size, id) { Self.download = async function(ctx, collection, size, id) {

View File

@ -12,8 +12,8 @@ module.exports = Self => {
http: { http: {
path: `/renewToken`, path: `/renewToken`,
verb: 'POST' verb: 'POST'
} },
}); accessScopes: ['DEFAULT', 'read:multimedia']});
Self.renewToken = async function(ctx) { Self.renewToken = async function(ctx) {
const {accessToken: token} = ctx.req; const {accessToken: token} = ctx.req;

View File

@ -28,6 +28,9 @@ describe('Renew Token', () => {
}); });
it('should renew token', async() => { it('should renew token', async() => {
const {courtesyTime} = await models.AccessTokenConfig.findOne({
fields: ['courtesyTime']
});
const mockDate = new Date(startingTime + 26600000); const mockDate = new Date(startingTime + 26600000);
jasmine.clock().mockDate(mockDate); jasmine.clock().mockDate(mockDate);
const {id} = await models.VnUser.renewToken(ctx); const {id} = await models.VnUser.renewToken(ctx);
@ -35,7 +38,7 @@ describe('Renew Token', () => {
expect(id).not.toEqual(ctx.req.accessToken.id); expect(id).not.toEqual(ctx.req.accessToken.id);
await models.VnUser.logout(ctx.req.accessToken.id); await models.VnUser.logout(ctx.req.accessToken.id);
jasmine.clock().tick(70 * 1000); jasmine.clock().tick((courtesyTime + 10) * 1000);
let tokenNotExists; let tokenNotExists;
try { try {
tokenNotExists = await models.AccessToken.findById(ctx.req.accessToken.id); tokenNotExists = await models.AccessToken.findById(ctx.req.accessToken.id);

13
db/.editorconfig Normal file
View File

@ -0,0 +1,13 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# http://editorconfig.org
root = true
[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

View File

@ -528,7 +528,8 @@ INSERT INTO `vn`.`observationType`(`id`,`description`, `code`)
(4, 'SalesPerson', 'salesPerson'), (4, 'SalesPerson', 'salesPerson'),
(5, 'Administrative', 'administrative'), (5, 'Administrative', 'administrative'),
(6, 'Weight', 'weight'), (6, 'Weight', 'weight'),
(7, 'InvoiceOut', 'invoiceOut'); (7, 'InvoiceOut', 'invoiceOut'),
(8, 'DropOff', 'dropOff');
INSERT INTO `vn`.`addressObservation`(`id`,`addressFk`,`observationTypeFk`,`description`) INSERT INTO `vn`.`addressObservation`(`id`,`addressFk`,`observationTypeFk`,`description`)
VALUES VALUES
@ -2616,16 +2617,32 @@ INSERT INTO `vn`.`invoiceInIntrastat` (`invoiceInFk`, `net`, `intrastatFk`, `amo
(2, 16.10, 6021010, 25.00, 80, 5); (2, 16.10, 6021010, 25.00, 80, 5);
UPDATE `vn`.`invoiceIn` UPDATE `vn`.`invoiceIn`
SET isBooked = TRUE SET isBooked = TRUE
WHERE id IN (2, 5, 7, 8, 9, 10); WHERE id IN (5, 7, 8, 9, 10);
INSERT INTO `vn`.`ticketRecalc`(`ticketFk`) DELIMITER $$
SELECT t.id CREATE PROCEDURE `tmp`.`ticket_recalc`()
FROM vn.ticket t BEGIN
LEFT JOIN vn.ticketRecalc tr ON tr.ticketFk = t.id DECLARE vDone BOOL;
WHERE tr.ticketFk IS NULL; DECLARE vTicketFk INT;
CALL `vn`.`ticket_doRecalc`(); DECLARE cTickets CURSOR FOR SELECT id FROM vn.ticket;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;
OPEN cTickets;
myLoop: LOOP
SET vDone = FALSE;
FETCH cTickets INTO vTicketFk;
IF vDone THEN LEAVE myLoop; END IF;
CALL vn.ticket_recalc(vTicketFk, NULL);
END LOOP;
CLOSE cTickets;
END$$
DELIMITER ;
CALL tmp.ticket_recalc;
DROP PROCEDURE tmp.ticket_recalc;
UPDATE `vn`.`ticket` UPDATE `vn`.`ticket`
SET refFk = 'T1111111' SET refFk = 'T1111111'

View File

@ -92,12 +92,12 @@ BEGIN
UPDATE bi.Greuge_Evolution ge UPDATE bi.Greuge_Evolution ge
JOIN ( JOIN (
SELECT cs.Id_Cliente, sum(Valor * Cantidad) as Importe SELECT cs.Id_Cliente, sum(Valor * Cantidad) as Importe
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.addressFk
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket JOIN vn2008.Movimientos m on m.Id_Ticket = t.id
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
WHERE t.Fecha >= datFEC WHERE t.shipped >= datFEC
AND t.Fecha < datFEC_TOMORROW AND t.shipped < datFEC_TOMORROW
AND mc.Id_Componente = 17 -- Recobro AND mc.Id_Componente = 17 -- Recobro
GROUP BY cs.Id_Cliente GROUP BY cs.Id_Cliente
) sub using(Id_Cliente) ) sub using(Id_Cliente)

View File

@ -1,5 +1,5 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bi`.`analisis_ventas_update`() CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bi`.`analisis_ventas_update`()
BEGIN BEGIN
DECLARE vLastMonth DATE; DECLARE vLastMonth DATE;
@ -10,18 +10,18 @@ BEGIN
OR (Año = YEAR(vLastMonth) AND Mes >= MONTH(vLastMonth)); OR (Año = YEAR(vLastMonth) AND Mes >= MONTH(vLastMonth));
INSERT INTO analisis_ventas ( INSERT INTO analisis_ventas (
Familia, Familia,
Reino, Reino,
Comercial, Comercial,
Comprador, Comprador,
Provincia, Provincia,
almacen, almacen,
Año, Año,
Mes, Mes,
Semana, Semana,
Vista, Vista,
Importe Importe
) )
SELECT SELECT
tp.Tipo AS Familia, tp.Tipo AS Familia,
r.reino AS Reino, r.reino AS Reino,
@ -35,19 +35,19 @@ BEGIN
dm.description AS Vista, dm.description AS Vista,
bt.importe AS Importe bt.importe AS Importe
FROM bs.ventas bt FROM bs.ventas bt
LEFT JOIN vn2008.Tipos tp ON tp.tipo_id = bt.tipo_id LEFT JOIN vn2008.Tipos tp ON tp.tipo_id = bt.tipo_id
LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id
LEFT JOIN vn2008.Clientes c on c.Id_Cliente = bt.Id_Cliente LEFT JOIN vn2008.Clientes c on c.Id_Cliente = bt.Id_Cliente
LEFT JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = c.Id_Trabajador LEFT JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = c.Id_Trabajador
LEFT JOIN vn2008.Trabajadores tr2 ON tr2.Id_Trabajador = tp.Id_Trabajador LEFT JOIN vn2008.Trabajadores tr2 ON tr2.Id_Trabajador = tp.Id_Trabajador
JOIN vn2008.time tm ON tm.date = bt.fecha JOIN vn2008.time tm ON tm.date = bt.fecha
JOIN vn2008.Movimientos m ON m.Id_Movimiento = bt.Id_Movimiento JOIN vn2008.Movimientos m ON m.Id_Movimiento = bt.Id_Movimiento
LEFT JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket LEFT JOIN vn.ticket t ON t.id = m.Id_Ticket
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia JOIN vn2008.Agencias a ON a.Id_Agencia = t.agencyModeFk
LEFT JOIN vn.deliveryMethod dm ON dm.id = a.Vista LEFT JOIN vn.deliveryMethod dm ON dm.id = a.Vista
LEFT JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna LEFT JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.addressFk
LEFT JOIN vn2008.province p ON p.province_id = cs.province_id LEFT JOIN vn2008.province p ON p.province_id = cs.province_id
LEFT JOIN vn.warehouse w ON w.id = t.warehouse_id LEFT JOIN vn.warehouse w ON w.id = t.warehouseFk
WHERE bt.fecha >= vLastMonth AND r.mercancia; WHERE bt.fecha >= vLastMonth AND r.mercancia;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -59,18 +59,18 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
CREATE TEMPORARY TABLE tmp.ticket_list CREATE TEMPORARY TABLE tmp.ticket_list
(PRIMARY KEY (Id_Ticket)) (PRIMARY KEY (Id_Ticket))
SELECT DISTINCT t.Id_Ticket SELECT DISTINCT t.id Id_Ticket
FROM vn2008.Movimientos_componentes mc FROM vn2008.Movimientos_componentes mc
JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
JOIN vn2008.Tickets_state ts ON ts.Id_Ticket = t.Id_Ticket JOIN vn.ticketLastState ts ON ts.ticketFk = t.id
JOIN vn.ticketTracking tt ON tt.id = ts.inter_id JOIN vn.ticketTracking tt ON tt.id = ts.ticketTrackingFk
JOIN vn2008.state s ON s.id = tt.stateFk JOIN vn.state s ON s.id = tt.stateFk
WHERE mc.Id_Componente = 17 WHERE mc.Id_Componente = 17
AND mc.greuge = 0 AND mc.greuge = 0
AND t.Fecha >= '2016-10-01' AND t.shipped >= '2016-10-01'
AND t.Fecha < util.VN_CURDATE() AND t.shipped < util.VN_CURDATE()
AND s.alert_level >= 3; AND s.alertLevel >= 3;
DELETE g.* DELETE g.*
FROM vn.greuge g FROM vn.greuge g
@ -79,18 +79,18 @@ BEGIN
INSERT INTO vn.greuge(clientFk, description, amount,shipped, INSERT INTO vn.greuge(clientFk, description, amount,shipped,
greugeTypeFk, ticketFk) greugeTypeFk, ticketFk)
SELECT Id_Cliente SELECT t.clientFk
,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2) ,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2)
AS dif AS dif
,date(t.Fecha) ,date(t.shipped)
, 2 , 2
,tt.Id_Ticket ,tt.Id_Ticket
FROM vn2008.Movimientos m FROM vn2008.Movimientos m
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.id
JOIN vn2008.Movimientos_componentes mc JOIN vn2008.Movimientos_componentes mc
ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17 ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17
GROUP BY t.Id_Ticket GROUP BY t.id
HAVING ABS(dif) > 1; HAVING ABS(dif) > 1;
UPDATE vn2008.Movimientos_componentes mc UPDATE vn2008.Movimientos_componentes mc

View File

@ -15,17 +15,17 @@ BEGIN
IF lastCOMP < vMaxPeriod - 3 AND vMaxWeek > 3 THEN IF lastCOMP < vMaxPeriod - 3 AND vMaxWeek > 3 THEN
REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price) REPLACE vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
SELECT tm.period as Periodo, m.Id_Article, t.warehouse_id, sum(m.Cantidad), sum(v.importe) SELECT tm.period as Periodo, m.Id_Article, t.warehouseFk, sum(m.Cantidad), sum(v.importe)
FROM bs.ventas v FROM bs.ventas v
JOIN vn2008.time tm ON tm.date = v.fecha JOIN vn2008.time tm ON tm.date = v.fecha
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
JOIN vn2008.reinos r ON r.id = tp.reino_id JOIN vn2008.reinos r ON r.id = tp.reino_id
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
WHERE tm.period BETWEEN lastCOMP AND vMaxPeriod - 3 WHERE tm.period BETWEEN lastCOMP AND vMaxPeriod - 3
AND t.Id_Cliente NOT IN(400,200) AND t.clientFk NOT IN(400,200)
AND t.warehouse_id NOT IN (0,13) AND t.warehouseFk NOT IN (0,13)
GROUP BY m.Id_Article, Periodo, t.warehouse_id; GROUP BY m.Id_Article, Periodo, t.warehouseFk;
END IF; END IF;
END$$ END$$

View File

@ -25,16 +25,16 @@ BEGIN
WHERE Periodo BETWEEN periodStart AND periodEnd; WHERE Periodo BETWEEN periodStart AND periodEnd;
INSERT INTO vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price) INSERT INTO vn2008.Comparativa(Periodo, Id_Article, warehouse_id, Cantidad,price)
SELECT tm.period as Periodo, m.Id_Article, t.warehouse_id, sum(m.Cantidad), sum(v.importe) SELECT tm.period as Periodo, m.Id_Article, t.warehouseFk, sum(m.Cantidad), sum(v.importe)
FROM bs.ventas v FROM bs.ventas v
JOIN vn2008.time tm ON tm.date = v.fecha JOIN vn2008.time tm ON tm.date = v.fecha
JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento JOIN vn2008.Movimientos m ON m.Id_Movimiento = v.Id_Movimiento
JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id JOIN vn2008.Tipos tp ON tp.tipo_id = v.tipo_id
JOIN vn2008.reinos r ON r.id = tp.reino_id JOIN vn2008.reinos r ON r.id = tp.reino_id
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
WHERE tm.period BETWEEN periodStart AND periodEnd WHERE tm.period BETWEEN periodStart AND periodEnd
AND t.Id_Cliente NOT IN(400,200) AND t.clientFk NOT IN(400,200)
AND t.warehouse_id NOT IN (0,13) AND t.warehouseFk NOT IN (0,13)
GROUP BY m.Id_Article, Periodo, t.warehouse_id; GROUP BY m.Id_Article, Periodo, t.warehouseFk;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -11,13 +11,13 @@ AS SELECT `time`.`year` AS `year`,
FROM ( FROM (
( (
( (
`vn2008`.`Tickets` `t` `vn`.`ticket` `t`
JOIN `bi`.`f_tvc` ON(`t`.`Id_Ticket` = `bi`.`f_tvc`.`Id_Ticket`) JOIN `bi`.`f_tvc` ON(`t`.`id` = `bi`.`f_tvc`.`Id_Ticket`)
) )
JOIN `vn2008`.`Movimientos` `m` ON(`t`.`Id_Ticket` = `m`.`Id_Ticket`) JOIN `vn2008`.`Movimientos` `m` ON(`t`.`id` = `m`.`Id_Ticket`)
) )
JOIN `vn2008`.`time` ON(`time`.`date` = cast(`t`.`Fecha` AS date)) JOIN `vn2008`.`time` ON(`time`.`date` = cast(`t`.`shipped` AS date))
) )
WHERE `t`.`Fecha` >= '2014-01-01' WHERE `t`.`shipped` >= '2014-01-01'
GROUP BY `time`.`year`, GROUP BY `time`.`year`,
`time`.`month` `time`.`month`

View File

@ -70,23 +70,23 @@ BEGIN
AND (v.fecha BETWEEN TIMESTAMPADD(DAY, - DAY(vDate) + 1, vDate) AND TIMESTAMPADD(DAY, - 1, vDate)) AND (v.fecha BETWEEN TIMESTAMPADD(DAY, - DAY(vDate) + 1, vDate) AND TIMESTAMPADD(DAY, - 1, vDate))
GROUP BY Id_Cliente) mes_actual ON mes_actual.Id_Cliente = c.Id_Cliente GROUP BY Id_Cliente) mes_actual ON mes_actual.Id_Cliente = c.Id_Cliente
LEFT JOIN LEFT JOIN
(SELECT t.Id_Cliente, SUM(m.preu * m.Cantidad * (1 - m.Descuento / 100)) futur (SELECT t.clientFk Id_Cliente, SUM(m.preu * m.Cantidad * (1 - m.Descuento / 100)) futur
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn2008.Clientes c ON c.Id_Cliente = t.Id_Cliente JOIN vn2008.Clientes c ON c.Id_Cliente = t.clientFk
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket JOIN vn2008.Movimientos m ON m.Id_Ticket = t.id
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
WHERE WHERE
(c.Id_Trabajador = vWorker OR tr.boss = vWorker) (c.Id_Trabajador = vWorker OR tr.boss = vWorker)
AND t.Fecha BETWEEN vDate AND util.dayEnd(LAST_DAY(vDate)) AND t.shipped BETWEEN vDate AND util.dayEnd(LAST_DAY(vDate))
GROUP BY Id_Cliente) f ON c.Id_Cliente = f.Id_Cliente GROUP BY Id_Cliente) f ON c.Id_Cliente = f.Id_Cliente
LEFT JOIN LEFT JOIN
(SELECT MAX(t.Fecha) LastTicket, c.Id_Cliente (SELECT MAX(t.shipped) LastTicket, c.Id_Cliente
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn2008.Clientes c ON c.Id_cliente = t.Id_Cliente JOIN vn2008.Clientes c ON c.Id_cliente = t.clientFk
LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador LEFT JOIN vn2008.Trabajadores tr ON c.Id_Trabajador = tr.Id_Trabajador
WHERE WHERE
(c.Id_Trabajador = vWorker OR tr.boss = vWorker) (c.Id_Trabajador = vWorker OR tr.boss = vWorker)
GROUP BY t.Id_Cliente) LastTicket ON LastTicket.Id_Cliente = c.Id_Cliente GROUP BY t.clientFk) LastTicket ON LastTicket.Id_Cliente = c.Id_Cliente
LEFT JOIN LEFT JOIN
( (
SELECT SUM(importe) peso, c.Id_Cliente SELECT SUM(importe) peso, c.Id_Cliente

View File

@ -68,13 +68,13 @@ BEGIN
FROM FROM
( (
SELECT cs.Id_Cliente, Cantidad * Valor as mana SELECT cs.Id_Cliente, Cantidad * Valor as mana
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn2008.Consignatarios cs using(Id_Consigna) JOIN vn2008.Consignatarios cs using(Id_Consigna)
JOIN vn2008.Movimientos m on m.Id_Ticket = t.Id_Ticket JOIN vn2008.Movimientos m on m.Id_Ticket = t.id
JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento
WHERE Id_Componente IN (vManaAutoId, vManaId, vClaimManaId) WHERE Id_Componente IN (vManaAutoId, vManaId, vClaimManaId)
AND t.Fecha > vFromDated AND t.shipped > vFromDated
AND date(t.Fecha) <= vToDated AND date(t.shipped) <= vToDated
UNION ALL UNION ALL
SELECT r.Id_Cliente, - Entregado SELECT r.Id_Cliente, - Entregado
FROM vn2008.Recibos r FROM vn2008.Recibos r

View File

@ -19,11 +19,11 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
CREATE TEMPORARY TABLE tmp.ticket_list CREATE TEMPORARY TABLE tmp.ticket_list
(PRIMARY KEY (Id_Ticket)) (PRIMARY KEY (id))
ENGINE = MEMORY ENGINE = MEMORY
SELECT Id_Ticket SELECT t.id
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn.invoiceOut io ON io.`ref` = t.Factura JOIN vn.invoiceOut io ON io.`ref` = t.refFk
WHERE year(io.issued) = vYear WHERE year(io.issued) = vYear
AND month(io.issued) = vMonth; AND month(io.issued) = vMonth;
@ -46,7 +46,7 @@ BEGIN
) as grupo ) as grupo
, tp.reino_id , tp.reino_id
, a.tipo_id , a.tipo_id
, t.empresa_id , t.companyFk
, a.expenseFk , a.expenseFk
+ IF(e.empresa_grupo = e2.empresa_grupo + IF(e.empresa_grupo = e2.empresa_grupo
,1 ,1
@ -54,19 +54,19 @@ BEGIN
) * 100000 ) * 100000
+ tp.reino_id * 1000 as Gasto + tp.reino_id * 1000 as Gasto
FROM vn2008.Movimientos m FROM vn2008.Movimientos m
JOIN vn2008.Tickets t on t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.addressFk
JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente JOIN vn2008.Clientes c on c.Id_Cliente = cs.Id_Cliente
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.Id_Ticket JOIN tmp.ticket_list tt on tt.id = t.id
JOIN vn2008.Articles a on m.Id_Article = a.Id_Article JOIN vn2008.Articles a on m.Id_Article = a.Id_Article
JOIN vn2008.empresa e on e.id = t.empresa_id JOIN vn2008.empresa e on e.id = t.companyFk
LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente LEFT JOIN vn2008.empresa e2 on e2.Id_Cliente = c.Id_Cliente
JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id JOIN vn2008.Tipos tp on tp.tipo_id = a.tipo_id
WHERE Cantidad <> 0 WHERE Cantidad <> 0
AND Preu <> 0 AND Preu <> 0
AND m.Descuento <> 100 AND m.Descuento <> 100
AND a.tipo_id != TIPO_PATRIMONIAL AND a.tipo_id != TIPO_PATRIMONIAL
GROUP BY grupo, reino_id, tipo_id, empresa_id, Gasto; GROUP BY grupo, reino_id, tipo_id, companyFk, Gasto;
INSERT INTO bs.ventas_contables(year INSERT INTO bs.ventas_contables(year
, month , month
@ -92,7 +92,7 @@ BEGIN
JOIN vn.ticket t ON ts.ticketFk = t.id JOIN vn.ticket t ON ts.ticketFk = t.id
JOIN vn.address a on a.id = t.addressFk JOIN vn.address a on a.id = t.addressFk
JOIN vn.client cl on cl.id = a.clientFk JOIN vn.client cl on cl.id = a.clientFk
JOIN tmp.ticket_list tt on tt.Id_Ticket = t.id JOIN tmp.ticket_list tt on tt.id = t.id
JOIN vn.company c on c.id = t.companyFk JOIN vn.company c on c.id = t.companyFk
LEFT JOIN vn.company c2 on c2.clientFk = cl.id LEFT JOIN vn.company c2 on c2.clientFk = cl.id
GROUP BY grupo, t.companyFk ; GROUP BY grupo, t.companyFk ;

View File

@ -10,38 +10,38 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list;
CREATE TEMPORARY TABLE tmp.ticket_list CREATE TEMPORARY TABLE tmp.ticket_list
(PRIMARY KEY (Id_Ticket)) (PRIMARY KEY (id))
SELECT Id_Ticket SELECT t.id
FROM vn2008.Tickets t FROM vn.ticket t
JOIN vn.invoiceOut io ON io.id = t.Factura JOIN vn.invoiceOut io ON io.id = t.refFk
WHERE year(io.issued) = vYear WHERE year(io.issued) = vYear
AND month(io.issued) = vMonth; AND month(io.issued) = vMonth;
SELECT vYear Año, SELECT vYear Año,
vMonth Mes, vMonth Mes,
t.Id_Cliente, t.clientFk Id_Cliente,
round(sum(Cantidad * Preu * (100 - m.Descuento)/100)) Venta, round(sum(Cantidad * Preu * (100 - m.Descuento)/100)) Venta,
IF(e.empresa_grupo = e2.empresa_grupo, IF(e.empresa_grupo = e2.empresa_grupo,
1, 1,
IF(e2.empresa_grupo,2,0)) IF(e2.empresa_grupo,2,0))
AS grupo, AS grupo,
t.empresa_id empresa t.companyFk empresa
FROM vn2008.Movimientos m FROM vn2008.Movimientos m
JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket JOIN vn.ticket t ON t.id = m.Id_Ticket
JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = t.addressFk
JOIN vn2008.Clientes c ON c.Id_Cliente = cs.Id_Cliente JOIN vn2008.Clientes c ON c.Id_Cliente = cs.Id_Cliente
JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket JOIN tmp.ticket_list tt ON tt.id = t.id
JOIN vn2008.Articles a ON m.Id_Article = a.Id_Article JOIN vn2008.Articles a ON m.Id_Article = a.Id_Article
JOIN vn2008.empresa e ON e.id = t.empresa_id JOIN vn2008.empresa e ON e.id = t.companyFk
LEFT JOIN vn2008.empresa e2 ON e2.Id_Cliente = c.Id_Cliente LEFT JOIN vn2008.empresa e2 ON e2.Id_Cliente = c.Id_Cliente
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
WHERE Cantidad <> 0 WHERE Cantidad <> 0
AND Preu <> 0 AND Preu <> 0
AND m.Descuento <> 100 AND m.Descuento <> 100
AND a.tipo_id != 188 AND a.tipo_id != 188
GROUP BY t.Id_Cliente, grupo,t.empresa_id; GROUP BY t.clientFk, grupo,t.companyFk;
DROP TEMPORARY TABLE tmp.ticket_list; DROP TEMPORARY TABLE tmp.ticket_list;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -1,8 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `hedera`.`order_doRecalc`
ON SCHEDULE EVERY 10 SECOND
STARTS '2019-08-29 14:18:04.000'
ON COMPLETION PRESERVE
DISABLE
DO CALL order_doRecalc$$
DELIMITER ;

View File

@ -1,53 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_doRecalc`()
proc: BEGIN
/**
* Recalculates modified orders.
*/
DECLARE vDone BOOL;
DECLARE vOrderFk INT;
DECLARE cCur CURSOR FOR
SELECT DISTINCT orderFk FROM tOrder;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
DO RELEASE_LOCK('hedera.order_doRecalc');
ROLLBACK;
RESIGNAL;
END;
IF !GET_LOCK('hedera.order_doRecalc', 0) THEN
LEAVE proc;
END IF;
DROP TEMPORARY TABLE IF EXISTS tOrder;
CREATE TEMPORARY TABLE tOrder
ENGINE = MEMORY
SELECT id, orderFk FROM orderRecalc;
OPEN cCur;
myLoop: LOOP
SET vDone = FALSE;
FETCH cCur INTO vOrderFk;
IF vDone THEN
LEAVE myLoop;
END IF;
CALL order_recalc(vOrderFk);
END LOOP;
CLOSE cCur;
DELETE o FROM orderRecalc o JOIN tOrder t ON t.id = o.id;
DROP TEMPORARY TABLE tOrder;
DO RELEASE_LOCK('hedera.order_doRecalc');
END$$
DELIMITER ;

View File

@ -1,16 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_requestRecalc`(vSelf INT)
proc: BEGIN
/**
* Adds a request to recalculate the order total.
*
* @param vSelf The order identifier
*/
IF vSelf IS NULL THEN
LEAVE proc;
END IF;
-- #4409 Disable order recalc
-- INSERT INTO orderRecalc SET orderFk = vSelf;
END$$
DELIMITER ;

View File

@ -1,9 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterDelete`
AFTER DELETE ON `orderRow`
FOR EACH ROW
BEGIN
CALL stock.log_add('orderRow', NULL, OLD.id);
CALL order_requestRecalc(OLD.orderFk);
END$$
DELIMITER ;

View File

@ -1,9 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterInsert`
AFTER INSERT ON `orderRow`
FOR EACH ROW
BEGIN
CALL stock.log_add('orderRow', NEW.id, NULL);
CALL order_requestRecalc(NEW.orderFk);
END$$
DELIMITER ;

View File

@ -1,10 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterUpdate`
AFTER UPDATE ON `orderRow`
FOR EACH ROW
BEGIN
CALL stock.log_add('orderRow', NEW.id, OLD.id);
CALL order_requestRecalc(OLD.orderFk);
CALL order_requestRecalc(NEW.orderFk);
END$$
DELIMITER ;

View File

@ -2,23 +2,15 @@ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`order_afterUpdate` CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`order_afterUpdate`
AFTER UPDATE ON `order` AFTER UPDATE ON `order`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
CALL stock.log_add('order', NEW.id, OLD.id); IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN
-- Fallo que se actualiza no se sabe como tickets en este cliente
IF !(OLD.address_id <=> NEW.address_id) CALL vn.mail_insert(
OR !(OLD.company_id <=> NEW.company_id) 'jgallego@verdnatura.es',
OR !(OLD.customer_id <=> NEW.customer_id) THEN 'noreply@verdnatura.es',
CALL order_requestRecalc(NEW.id); 'Actualizada order al address 2850',
END IF; CONCAT(account.myUser_getName(), ' ha creado la order ',NEW.id)
);
IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN END IF;
-- Fallo que se actualiza no se sabe como tickets en este cliente
CALL vn.mail_insert(
'jgallego@verdnatura.es',
'noreply@verdnatura.es',
'Actualizada order al address 2850',
CONCAT(account.myUser_getName(), ' ha creado la order ',NEW.id)
);
END IF;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -43,7 +43,7 @@ BEGIN
WHERE sub.amountTaxableBase<>sub2.amountTaxableBase WHERE sub.amountTaxableBase<>sub2.amountTaxableBase
AND sub.amountTaxableBase/2 <> sub2.amountTaxableBase AND sub.amountTaxableBase/2 <> sub2.amountTaxableBase
UNION ALL UNION ALL
SELECT CONCAT('- Factura Duplicada: ', mc.Asiento) SELECT CONCAT('- Factura Duplicada: ', accountingEntryFk)
FROM accountingEntryError FROM accountingEntryError
)sub; )sub;

View File

@ -1,8 +1,8 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_addPick`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_addPick`(
vSelf INT, vSelf INT,
vOutboundFk INT, vOutboundFk INT,
vQuantity INT vQuantity INT
) )
BEGIN BEGIN
INSERT INTO inboundPick INSERT INTO inboundPick

View File

@ -1,9 +1,9 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_removePick`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_removePick`(
vSelf INT, vSelf INT,
vOutboundFk INT, vOutboundFk INT,
vQuantity INT, vQuantity INT,
vTotalQuantity INT vTotalQuantity INT
) )
BEGIN BEGIN
IF vQuantity < vTotalQuantity THEN IF vQuantity < vTotalQuantity THEN

View File

@ -1,9 +1,9 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_requestQuantity`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_requestQuantity`(
vSelf INT, vSelf INT,
vRequested INT, vRequested INT,
vDated DATETIME, vDated DATETIME,
OUT vSupplied INT) OUT vSupplied INT)
BEGIN BEGIN
/** /**
* Disassociates inbound picks after the given date until the * Disassociates inbound picks after the given date until the
@ -29,7 +29,7 @@ BEGIN
DECLARE CONTINUE HANDLER FOR NOT FOUND DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE; SET vDone = TRUE;
SET vSupplied = 0; SET vSupplied = 0;
OPEN vPicks; OPEN vPicks;
@ -45,7 +45,7 @@ BEGIN
SET vPickGranted = LEAST(vRequested - vSupplied, vPickQuantity); SET vPickGranted = LEAST(vRequested - vSupplied, vPickQuantity);
SET vSupplied = vSupplied + vPickGranted; SET vSupplied = vSupplied + vPickGranted;
CALL inbound_removePick(vSelf, vOutboundFk, vPickGranted, vPickQuantity); CALL inbound_removePick(vSelf, vOutboundFk, vPickGranted, vPickQuantity);
UPDATE outbound UPDATE outbound
SET isSync = FALSE, SET isSync = FALSE,
lack = lack + vPickGranted lack = lack + vPickGranted

View File

@ -23,7 +23,7 @@ BEGIN
SELECT id, lack, lack < quantity SELECT id, lack, lack < quantity
FROM outbound FROM outbound
WHERE warehouseFk = vWarehouse WHERE warehouseFk = vWarehouse
AND itemFk = vItem AND itemFk = vItem
AND dated >= vDated AND dated >= vDated
AND (vExpired IS NULL OR dated < vExpired) AND (vExpired IS NULL OR dated < vExpired)
ORDER BY dated, created; ORDER BY dated, created;
@ -51,8 +51,8 @@ BEGIN
END IF; END IF;
SET vSupplied = LEAST(vAvailable, vLack); SET vSupplied = LEAST(vAvailable, vLack);
IF vSupplied > 0 THEN IF vSupplied > 0 THEN
SET vAvailable = vAvailable - vSupplied; SET vAvailable = vAvailable - vSupplied;
UPDATE outbound UPDATE outbound
SET lack = lack - vSupplied SET lack = lack - vSupplied
@ -64,8 +64,8 @@ BEGIN
SET vSupplied = vSupplied + vSuppliedFromRequest; SET vSupplied = vSupplied + vSuppliedFromRequest;
SET vAvailable = vAvailable - vSuppliedFromRequest; SET vAvailable = vAvailable - vSuppliedFromRequest;
END IF; END IF;
IF vSupplied > 0 THEN IF vSupplied > 0 THEN
CALL inbound_addPick(vSelf, vOutboundFk, vSupplied); CALL inbound_addPick(vSelf, vOutboundFk, vSupplied);
END IF; END IF;

View File

@ -1,21 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_add`(IN `vTableName` VARCHAR(255), IN `vNewId` VARCHAR(255), IN `vOldId` VARCHAR(255))
proc: BEGIN
-- XXX: Disabled while testing
LEAVE proc;
IF vOldId IS NOT NULL AND !(vOldId <=> vNewId) THEN
INSERT IGNORE INTO `log` SET
tableName = vTableName,
tableId = vOldId,
operation = 'delete';
END IF;
IF vNewId IS NOT NULL THEN
INSERT IGNORE INTO `log` SET
tableName = vTableName,
tableId = vNewId,
operation = 'insert';
END IF;
END$$
DELIMITER ;

View File

@ -10,7 +10,7 @@ BEGIN
DO RELEASE_LOCK('stock.log_sync'); DO RELEASE_LOCK('stock.log_sync');
RESIGNAL; RESIGNAL;
END; END;
IF !GET_LOCK('stock.log_sync', 30) THEN IF !GET_LOCK('stock.log_sync', 30) THEN
CALL util.throw('Lock timeout exceeded'); CALL util.throw('Lock timeout exceeded');
END IF; END IF;

View File

@ -1,7 +1,7 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshBuy`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshBuy`(
`vTableName` VARCHAR(255), `vTableName` VARCHAR(255),
`vTableId` INT) `vTableId` INT)
BEGIN BEGIN
DROP TEMPORARY TABLE IF EXISTS tValues; DROP TEMPORARY TABLE IF EXISTS tValues;
CREATE TEMPORARY TABLE tValues CREATE TEMPORARY TABLE tValues
@ -11,7 +11,7 @@ BEGIN
e.id entryFk, e.id entryFk,
t.id travelFk, t.id travelFk,
b.itemFk, b.itemFk,
e.isRaid, e.isRaid,
ADDTIME(t.shipped, ADDTIME(t.shipped,
IFNULL(t.shipmentHour, '00:00:00')) shipped, IFNULL(t.shipmentHour, '00:00:00')) shipped,
t.warehouseOutFk, t.warehouseOutFk,
@ -24,7 +24,7 @@ BEGIN
ABS(b.quantity) quantity, ABS(b.quantity) quantity,
b.created, b.created,
b.quantity > 0 isIn, b.quantity > 0 isIn,
t.shipped < vn.getInventoryDate() lessThanInventory t.shipped < vn.getInventoryDate() lessThanInventory
FROM vn.buy b FROM vn.buy b
JOIN vn.entry e ON e.id = b.entryFk JOIN vn.entry e ON e.id = b.entryFk
JOIN vn.travel t ON t.id = e.travelFk JOIN vn.travel t ON t.id = e.travelFk
@ -52,7 +52,7 @@ BEGIN
quantity, quantity,
IF(isIn, isReceived, isDelivered) AND !isRaid IF(isIn, isReceived, isDelivered) AND !isRaid
FROM tValues FROM tValues
WHERE isIn OR !lessThanInventory; WHERE isIn OR !lessThanInventory;
REPLACE INTO outbound ( REPLACE INTO outbound (
tableName, tableId, warehouseFk, dated, tableName, tableId, warehouseFk, dated,
@ -67,7 +67,7 @@ BEGIN
quantity, quantity,
IF(isIn, isDelivered, isReceived) AND !isRaid IF(isIn, isDelivered, isReceived) AND !isRaid
FROM tValues FROM tValues
WHERE !isIn OR !lessThanInventory; WHERE !isIn OR !lessThanInventory;
DROP TEMPORARY TABLE tValues; DROP TEMPORARY TABLE tValues;
END$$ END$$

View File

@ -1,13 +1,13 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshOrder`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshOrder`(
`vTableName` VARCHAR(255), `vTableName` VARCHAR(255),
`vTableId` INT) `vTableId` INT)
BEGIN BEGIN
DECLARE vExpireTime INT DEFAULT 20; DECLARE vExpireTime INT DEFAULT 20;
DECLARE vExpired DATETIME DEFAULT TIMESTAMPADD(MINUTE, -vExpireTime, util.VN_NOW()); DECLARE vExpired DATETIME DEFAULT TIMESTAMPADD(MINUTE, -vExpireTime, util.VN_NOW());
DROP TEMPORARY TABLE IF EXISTS tValues; DROP TEMPORARY TABLE IF EXISTS tValues;
CREATE TEMPORARY TABLE tValues CREATE TEMPORARY TABLE tValues
ENGINE = MEMORY ENGINE = MEMORY
SELECT SELECT
r.id rowFk, r.id rowFk,
@ -23,24 +23,24 @@ BEGIN
OR (vTableName = 'order' AND o.id = vTableId) OR (vTableName = 'order' AND o.id = vTableId)
OR (vTableName = 'orderRow' AND r.id = vTableId) OR (vTableName = 'orderRow' AND r.id = vTableId)
) )
AND !o.confirmed AND !o.confirmed
AND r.shipment >= vn.getInventoryDate() AND r.shipment >= vn.getInventoryDate()
AND r.created >= vExpired AND r.created >= vExpired
AND r.amount != 0; AND r.amount != 0;
REPLACE INTO outbound ( REPLACE INTO outbound (
tableName, tableId, warehouseFk, dated, tableName, tableId, warehouseFk, dated,
itemFk, created, expired, quantity itemFk, created, expired, quantity
) )
SELECT 'orderRow', SELECT 'orderRow',
rowFk, rowFk,
warehouseFk, warehouseFk,
shipped, shipped,
itemFk, itemFk,
created, created,
TIMESTAMPADD(MINUTE, vExpireTime, created), TIMESTAMPADD(MINUTE, vExpireTime, created),
quantity quantity
FROM tValues; FROM tValues;
DROP TEMPORARY TABLE tValues; DROP TEMPORARY TABLE tValues;
END$$ END$$

View File

@ -1,10 +1,10 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshSale`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshSale`(
`vTableName` VARCHAR(255), `vTableName` VARCHAR(255),
`vTableId` INT) `vTableId` INT)
BEGIN BEGIN
DROP TEMPORARY TABLE IF EXISTS tValues; DROP TEMPORARY TABLE IF EXISTS tValues;
CREATE TEMPORARY TABLE tValues CREATE TEMPORARY TABLE tValues
ENGINE = MEMORY ENGINE = MEMORY
SELECT SELECT
m.id saleFk, m.id saleFk,
@ -14,7 +14,7 @@ BEGIN
t.shipped, t.shipped,
ABS(m.quantity) quantity, ABS(m.quantity) quantity,
m.created, m.created,
TIMESTAMPADD(DAY, tp.life, t.shipped) expired, TIMESTAMPADD(DAY, tp.life, t.shipped) expired,
m.quantity < 0 isIn, m.quantity < 0 isIn,
m.isPicked OR s.alertLevel > 1 isPicked m.isPicked OR s.alertLevel > 1 isPicked
FROM vn.sale m FROM vn.sale m
@ -32,33 +32,33 @@ BEGIN
REPLACE INTO inbound ( REPLACE INTO inbound (
tableName, tableId, warehouseFk, dated, tableName, tableId, warehouseFk, dated,
itemFk, expired, quantity, isPicked itemFk, expired, quantity, isPicked
) )
SELECT 'sale', SELECT 'sale',
saleFk, saleFk,
warehouseFk, warehouseFk,
shipped, shipped,
itemFk, itemFk,
expired, expired,
quantity, quantity,
isPicked isPicked
FROM tValues FROM tValues
WHERE isIn; WHERE isIn;
REPLACE INTO outbound ( REPLACE INTO outbound (
tableName, tableId, warehouseFk, dated, tableName, tableId, warehouseFk, dated,
itemFk, created, quantity, isPicked itemFk, created, quantity, isPicked
) )
SELECT 'sale', SELECT 'sale',
saleFk, saleFk,
warehouseFk, warehouseFk,
shipped, shipped,
itemFk, itemFk,
created, created,
quantity, quantity,
isPicked isPicked
FROM tValues FROM tValues
WHERE !isIn; WHERE !isIn;
DROP TEMPORARY TABLE tValues; DROP TEMPORARY TABLE tValues;
END$$ END$$

View File

@ -7,7 +7,7 @@ BEGIN
* @param vSelf The outbound reference * @param vSelf The outbound reference
*/ */
DECLARE vDated DATETIME; DECLARE vDated DATETIME;
DECLARE vItem INT; DECLARE vItem INT;
DECLARE vWarehouse INT; DECLARE vWarehouse INT;
DECLARE vLack INT; DECLARE vLack INT;
DECLARE vSupplied INT; DECLARE vSupplied INT;
@ -21,7 +21,7 @@ BEGIN
SELECT id, available, available < quantity SELECT id, available, available < quantity
FROM inbound FROM inbound
WHERE warehouseFk = vWarehouse WHERE warehouseFk = vWarehouse
AND itemFk = vItem AND itemFk = vItem
AND dated <= vDated AND dated <= vDated
AND (expired IS NULL OR expired > vDated) AND (expired IS NULL OR expired > vDated)
ORDER BY dated; ORDER BY dated;

View File

@ -1,16 +1,16 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`visible_log`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`visible_log`(
vIsPicked BOOL, vIsPicked BOOL,
vWarehouseFk INT, vWarehouseFk INT,
vItemFk INT, vItemFk INT,
vQuantity INT vQuantity INT
) )
proc: BEGIN proc: BEGIN
IF !vIsPicked THEN IF !vIsPicked THEN
LEAVE proc; LEAVE proc;
END IF; END IF;
INSERT INTO visible INSERT INTO visible
SET itemFk = vItemFk, SET itemFk = vItemFk,
warehouseFk = vWarehouseFk, warehouseFk = vWarehouseFk,
quantity = vQuantity quantity = vQuantity

View File

@ -12,11 +12,11 @@ BEGIN
DELETE FROM inboundPick DELETE FROM inboundPick
WHERE inboundFk = OLD.id; WHERE inboundFk = OLD.id;
CALL visible_log( CALL visible_log(
OLD.isPicked, OLD.isPicked,
OLD.warehouseFk, OLD.warehouseFk,
OLD.itemFk, OLD.itemFk,
-OLD.quantity -OLD.quantity
); );
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -4,12 +4,12 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `stock`.`inbound_beforeInse
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE(); SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE();
CALL visible_log( CALL visible_log(
NEW.isPicked, NEW.isPicked,
NEW.warehouseFk, NEW.warehouseFk,
NEW.itemFk, NEW.itemFk,
NEW.quantity NEW.quantity
); );
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -12,11 +12,11 @@ BEGIN
DELETE FROM inboundPick DELETE FROM inboundPick
WHERE outboundFk = OLD.id; WHERE outboundFk = OLD.id;
CALL visible_log( CALL visible_log(
OLD.isPicked, OLD.isPicked,
OLD.warehouseFk, OLD.warehouseFk,
OLD.itemFk, OLD.itemFk,
OLD.quantity OLD.quantity
); );
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -5,12 +5,12 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `stock`.`outbound_beforeIns
BEGIN BEGIN
SET NEW.lack = NEW.quantity; SET NEW.lack = NEW.quantity;
SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE(); SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE();
CALL visible_log( CALL visible_log(
NEW.isPicked, NEW.isPicked,
NEW.warehouseFk, NEW.warehouseFk,
NEW.itemFk, NEW.itemFk,
-NEW.quantity -NEW.quantity
); );
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -1,6 +1,7 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`binlogQueue_getDelay`(vCode VARCHAR(255)) CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`binlogQueue_getDelay`(vCode VARCHAR(255))
RETURNS BIGINT RETURNS BIGINT
READS SQL DATA
NOT DETERMINISTIC NOT DETERMINISTIC
BEGIN BEGIN
/** /**

View File

@ -1,8 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`ticket_doRecalc`
ON SCHEDULE EVERY 10 SECOND
STARTS '2022-01-28 09:29:18.000'
ON COMPLETION PRESERVE
ENABLE
DO CALL ticket_doRecalc$$
DELIMITER ;

View File

@ -1,8 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`travel_doRecalc`
ON SCHEDULE EVERY 15 SECOND
STARTS '2019-05-17 10:52:29.000'
ON COMPLETION PRESERVE
ENABLE
DO CALL travel_doRecalc$$
DELIMITER ;

View File

@ -11,9 +11,9 @@ BEGIN
SELECT SELECT
a.Vista a.Vista
INTO vDeliveryType INTO vDeliveryType
FROM vn2008.Tickets t FROM ticket t
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia JOIN vn2008.Agencias a ON a.Id_Agencia = t.agencyModeFk
WHERE Id_Ticket = vTicket; WHERE t.id = vTicket;
CASE vDeliveryType CASE vDeliveryType
WHEN 1 THEN -- AGENCIAS WHEN 1 THEN -- AGENCIAS
@ -23,11 +23,11 @@ BEGIN
SET vCode = 'ON_DELIVERY'; SET vCode = 'ON_DELIVERY';
ELSE -- MERCADO, OTROS ELSE -- MERCADO, OTROS
SELECT t.warehouse_id <> w.warehouse_id INTO isWaitingForPickUp SELECT t.warehouseFk <> w.warehouse_id INTO isWaitingForPickUp
FROM vn2008.Tickets t FROM ticket t
LEFT JOIN vn2008.warehouse_pickup w LEFT JOIN vn2008.warehouse_pickup w
ON w.agency_id = t.Id_Agencia AND w.warehouse_id = t.warehouse_id ON w.agency_id = t.agencyModeFk AND w.warehouse_id = t.warehouseFk
WHERE t.Id_Ticket = vTicket; WHERE t.id = vTicket;
IF isWaitingForPickUp THEN IF isWaitingForPickUp THEN
SET vCode = 'WAITING_FOR_PICKUP'; SET vCode = 'WAITING_FOR_PICKUP';

View File

@ -28,10 +28,10 @@ SELECT t.routeFk, t.warehouseFk, IFNULL(ts.productionOrder,0)
SELECT (ag.`name` = 'VN_VALENCIA') SELECT (ag.`name` = 'VN_VALENCIA')
INTO vIsValenciaPath INTO vIsValenciaPath
FROM vn2008.Rutas r FROM `route` r
JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia JOIN vn2008.Agencias a on a.Id_Agencia = r.agencyModeFk
JOIN vn2008.agency ag on ag.agency_id = a.agency_id JOIN vn2008.agency ag on ag.agency_id = a.agency_id
WHERE r.Id_Ruta = vMyPath; WHERE r.id = vMyPath;
IF vIsValenciaPath THEN -- Rutas Valencia IF vIsValenciaPath THEN -- Rutas Valencia

View File

@ -19,10 +19,10 @@ BEGIN
AND a.hasWeightVolumetric AND a.hasWeightVolumetric
LIMIT 1; LIMIT 1;
DROP TEMPORARY TABLE IF EXISTS tmp.buysToCheck; DROP TEMPORARY TABLE tmp.buysToCheck;
IF hasVolumetricAgency THEN IF hasVolumetricAgency THEN
CALL util.throw('Some purchase line has an item without size or weight per stem in the volumetric agency.'); CALL util.throw('Item lacks size/weight in purchase line at agency');
END IF; END IF;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -0,0 +1,42 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditInsurance_getRisk`()
BEGIN
/**
* Devuelve el riesgo de los clientes que estan asegurados
*/
CREATE OR REPLACE TEMPORARY TABLE tmp.clientGetDebt
(PRIMARY KEY (clientFk))
ENGINE = MEMORY
SELECT * FROM (
SELECT cc.client clientFk, ci.grade
FROM creditClassification cc
JOIN creditInsurance ci ON cc.id = ci.creditClassification
WHERE dateEnd IS NULL
ORDER BY ci.creationDate DESC
LIMIT 10000000000000000000) t1
GROUP BY clientFk;
CALL client_getDebt(util.VN_CURDATE());
SELECT c.id,
c.name,
c.credit clientCredit,
c.creditInsurance solunion,
CAST(r.risk AS DECIMAL(10,0)) risk,
CAST(c.creditInsurance - r.risk AS DECIMAL(10,0)) riskAlive,
cac.invoiced billedAnnually,
c.dueDay,
cgd.grade,
c2.country
FROM tmp.clientGetDebt cgd
LEFT JOIN tmp.risk r ON r.clientFk = cgd.clientFk
JOIN client c ON c.id = cgd.clientFk
JOIN bs.clientAnnualConsumption cac ON c.id = cac.clientFk
JOIN country c2 ON c2.id = c.countryFk
GROUP BY c.id;
DROP TEMPORARY TABLE
tmp.risk,
tmp.clientGetDebt;
END$$
DELIMITER ;

View File

@ -15,7 +15,7 @@ BEGIN
FROM `entry` FROM `entry`
WHERE id = vSelf; WHERE id = vSelf;
IF vIsBooked AND NOT @isModeInventory THEN IF vIsBooked AND NOT IFNULL(@isModeInventory, FALSE) THEN
CALL util.throw('Entry is already booked'); CALL util.throw('Entry is already booked');
END IF; END IF;
END$$ END$$

View File

@ -9,6 +9,14 @@ BEGIN
DECLARE vCurrencyName VARCHAR(25); DECLARE vCurrencyName VARCHAR(25);
DECLARE vComission INT; DECLARE vComission INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
START TRANSACTION;
CREATE OR REPLACE TEMPORARY TABLE tmp.recalcEntryCommision CREATE OR REPLACE TEMPORARY TABLE tmp.recalcEntryCommision
SELECT e.id SELECT e.id
FROM vn.entry e FROM vn.entry e
@ -28,12 +36,15 @@ BEGIN
WHERE id = vCurrency; WHERE id = vCurrency;
CALL entry_recalc(); CALL entry_recalc();
COMMIT;
SELECT util.notification_send( SELECT util.notification_send(
'entry-update-comission', 'entry-update-comission',
JSON_OBJECT('currencyName', vCurrencyName, 'referenceCurrent', vComission), JSON_OBJECT('currencyName', vCurrencyName, 'referenceCurrent', vComission),
NULL NULL
); );
DROP TEMPORARY TABLE tmp.recalcEntryCommision; DROP TEMPORARY TABLE tmp.recalcEntryCommision;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -8,12 +8,15 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS `tmp`.`ticketToInvoice`; DROP TEMPORARY TABLE IF EXISTS `tmp`.`ticketToInvoice`;
CREATE TEMPORARY TABLE `tmp.``ticketToInvoice` CREATE TEMPORARY TABLE `tmp`.`ticketToInvoice`
(PRIMARY KEY (`id`)) (PRIMARY KEY (`id`))
ENGINE = MEMORY ENGINE = MEMORY
SELECT Id_Ticket id FROM vn2008.Tickets WHERE (Fecha BETWEEN vMinDateTicket SELECT id
AND vMaxTicketDate) AND Id_Consigna = vAddress FROM ticket
AND Factura IS NULL AND empresa_id = vCompany; WHERE (shipped BETWEEN vMinDateTicket AND vMaxTicketDate)
AND addressFk = vAddress
AND refFk IS NULL
AND companyFk = vCompany;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -39,7 +39,7 @@ BEGIN
UPDATE vn.itemShelving UPDATE vn.itemShelving
SET isChecked = vIsChecked SET isChecked = vIsChecked
WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk
AND itemFk = vItemFk; AND itemFk = vItemFk AND isChecked IS NULL;
SET vCounter = vCounter + 1; SET vCounter = vCounter + 1;
END WHILE; END WHILE;

View File

@ -65,7 +65,8 @@ BEGIN
WHEN b.groupingMode = 'packing' THEN b.packing WHEN b.groupingMode = 'packing' THEN b.packing
ELSE 1 ELSE 1
END AS minQuantity, END AS minQuantity,
iss.visible located iss.visible located,
b.price2
FROM vn.item i FROM vn.item i
JOIN cache.available a ON a.item_id = i.id JOIN cache.available a ON a.item_id = i.id
AND a.calc_id = vCalcFk AND a.calc_id = vCalcFk

View File

@ -1,74 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`recipe_Cook`(vItemFk INT, vBunchesQuantity INT, vDate DATE)
BEGIN
DECLARE vCalc INT;
DECLARE vWarehouseFk INT DEFAULT 1; -- Silla FV
SET @element := '';
SET @counter := 0;
CALL cache.available_refresh(vCalc, FALSE, vWarehouseFk, vDate);
DROP TEMPORARY TABLE IF EXISTS tmp.recipeCook;
CREATE TEMPORARY TABLE tmp.recipeCook
SELECT *,
@counter := IF(@element = element COLLATE utf8_general_ci , @counter + 1, 1) as counter,
@element := element COLLATE utf8_general_ci
FROM
(
SELECT i.id itemFk,
CONCAT(i.longName, ' (ref: ',i.id,')') longName,
i.size,
i.inkFk,
a.available,
r.element,
vBunchesQuantity * r.quantity as quantity,
r.itemFk as bunchItemFk,
IFNULL((i.inkFk = r.inkFk ) ,0)
+ IFNULL((i.size = r.size) ,0)
+ IFNULL((i.name LIKE CONCAT('%',r.name,'%')) ,0)
+ IFNULL((i.longName LIKE CONCAT('%',r.longName,'%')),0)
+ IFNULL((i.typeFk = r.typeFk),0) as matches,
i.typeFk,
rl.previousSelected
FROM vn.recipe r
JOIN vn.item i ON (IFNULL(i.name LIKE CONCAT('%',r.name,'%'), 0)
OR IFNULL(i.longName LIKE CONCAT('%',r.longName,'%'),0))
OR i.typeFk <=> r.typeFk
JOIN cache.available a ON a.item_id = i.id AND a.calc_id = vCalc
LEFT JOIN (SELECT recipe_ItemFk, element as log_element, selected_ItemFk, count(*) as previousSelected
FROM vn.recipe_log
GROUP BY recipe_ItemFk, element, selected_ItemFk) rl ON rl.recipe_ItemFk = r.itemFk
AND rl.log_element = r.element
AND rl.selected_ItemFk = i.id
WHERE r.itemFk = vItemFk
AND a.available > vBunchesQuantity * r.quantity
UNION ALL
SELECT 100 itemFk,
CONCAT('? ',r.element,' ',IFNULL(r.size,''),' ',IFNULL(r.inkFk,'')) as longName,
NULL,
NULL,
0,
r.element,
vBunchesQuantity * r.quantity as quantity,
r.itemFk as bunchItemFk,
-1 as matches,
r.typeFk,
NULL
FROM vn.recipe r
WHERE r.itemFk = vItemFk
GROUP BY r.element
) sub
ORDER BY element, matches DESC, previousSelected DESC;
SELECT *
FROM tmp.recipeCook
WHERE counter < 6
OR itemFk = 100
;
END$$
DELIMITER ;

View File

@ -1,53 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_doRecalc`()
proc: BEGIN
/**
* Recalculates modified ticket.
*/
DECLARE vDone BOOL;
DECLARE vTicketFk INT;
DECLARE cCur CURSOR FOR
SELECT DISTINCT ticketFk FROM tTicket;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
DO RELEASE_LOCK('vn.ticket_doRecalc');
ROLLBACK;
RESIGNAL;
END;
IF !GET_LOCK('vn.ticket_doRecalc', 0) THEN
LEAVE proc;
END IF;
DROP TEMPORARY TABLE IF EXISTS tTicket;
CREATE TEMPORARY TABLE tTicket
ENGINE = MEMORY
SELECT id, ticketFk FROM ticketRecalc;
OPEN cCur;
myLoop: LOOP
SET vDone = FALSE;
FETCH cCur INTO vTicketFk;
IF vDone THEN
LEAVE myLoop;
END IF;
CALL ticket_recalc(vTicketFk, NULL);
END LOOP;
CLOSE cCur;
DELETE tr FROM ticketRecalc tr JOIN tTicket t ON tr.id = t.id;
DROP TEMPORARY TABLE tTicket;
DO RELEASE_LOCK('vn.ticket_doRecalc');
END$$
DELIMITER ;

View File

@ -0,0 +1,40 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_recalcByScope`(
vScope VARCHAR(255),
vId INT
)
BEGIN
/**
* Recalculates tickets in an scope.
*
* @param vScope The scope name
* @param vId The scope id
*/
DECLARE vDone BOOL;
DECLARE vTicketFk INT;
DECLARE cTickets CURSOR FOR
SELECT id FROM ticket
WHERE refFk IS NULL
AND ((vScope = 'client' AND clientFk = vId)
OR (vScope = 'address' AND addressFk = vId));
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;
OPEN cTickets;
myLoop: LOOP
SET vDone = FALSE;
FETCH cTickets INTO vTicketFk;
IF vDone THEN
LEAVE myLoop;
END IF;
CALL ticket_recalc(vTicketFk, NULL);
END LOOP;
CLOSE cTickets;
END$$
DELIMITER ;

View File

@ -1,15 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_requestRecalc`(vSelf INT)
proc: BEGIN
/**
* Adds a request to recalculate the ticket total.
*
* @param vSelf The ticket identifier
*/
IF vSelf IS NULL THEN
LEAVE proc;
END IF;
INSERT INTO ticketRecalc SET ticketFk = vSelf;
END$$
DELIMITER ;

View File

@ -1,34 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_doRecalc`()
proc: BEGIN
/**
* Recounts the number of entries of changed travels.
*/
DECLARE vTravelFk INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
DO RELEASE_LOCK('vn.ticket_doRecalc');
END;
IF !GET_LOCK('vn.travel_doRecalc', 0) THEN
LEAVE proc;
END IF;
CREATE OR REPLACE TEMPORARY TABLE tTravel
ENGINE = MEMORY
SELECT travelFk FROM travelRecalc;
UPDATE travel t
JOIN tTravel tt ON tt.travelFk = t.id
SET t.totalEntries = (
SELECT COUNT(e.id)
FROM entry e
WHERE e.travelFk = t.id
);
DELETE tr FROM travelRecalc tr JOIN tTravel t ON tr.travelFk = t.travelFk;
DROP TEMPORARY TABLE tTravel;
DO RELEASE_LOCK('vn.travel_doRecalc');
END$$
DELIMITER ;

View File

@ -0,0 +1,17 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_recalc`(vSelf INT)
proc: BEGIN
/**
* Updates the number of entries assigned to the travel.
*
* @param vSelf The travel id
*/
UPDATE travel
SET totalEntries = (
SELECT COUNT(id)
FROM entry
WHERE travelFk = vSelf
)
WHERE id = vSelf;
END$$
DELIMITER ;

View File

@ -1,15 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_requestRecalc`(vSelf INT)
proc: BEGIN
/**
* Adds a request to recount the number of entries for the travel.
*
* @param vSelf The travel reference
*/
IF vSelf IS NULL THEN
LEAVE proc;
END IF;
INSERT IGNORE INTO travelRecalc SET travelFk = vSelf;
END$$
DELIMITER ;

View File

@ -5,36 +5,32 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`address_afterUpdate`
BEGIN BEGIN
-- Recargos de equivalencia distintos implican facturacion por consignatario -- Recargos de equivalencia distintos implican facturacion por consignatario
IF NEW.isEqualizated != OLD.isEqualizated THEN IF NEW.isEqualizated != OLD.isEqualizated THEN
IF IF
(SELECT COUNT(*) FROM (SELECT COUNT(*) FROM
( (
SELECT DISTINCT (isEqualizated = FALSE) as Equ SELECT DISTINCT (isEqualizated = FALSE) as Equ
FROM address FROM address
WHERE clientFk = NEW.clientFk WHERE clientFk = NEW.clientFk
) t1 ) t1
) > 1 ) > 1
THEN THEN
UPDATE client UPDATE client
SET hasToInvoiceByAddress = TRUE SET hasToInvoiceByAddress = TRUE
WHERE id = NEW.clientFk; WHERE id = NEW.clientFk;
END IF; END IF;
END IF; END IF;
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
CALL util.throw ('Cannot desactivate the default address'); CALL util.throw ('Cannot desactivate the default address');
END IF; END IF;
IF NOT (NEW.isEqualizated <=> OLD.isEqualizated) THEN IF (NEW.clientFk <> OLD.clientFk
INSERT IGNORE INTO ticketRecalc (ticketFk) OR NEW.isActive <> OLD.isActive
SELECT id FROM ticket t OR NOT (NEW.provinceFk <=> OLD.provinceFk))
WHERE t.addressFk = NEW.id AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
AND t.refFk IS NULL; UPDATE client
END IF;
IF (NEW.clientFk <> OLD.clientFk OR NEW.isActive <> OLD.isActive OR NOT (NEW.provinceFk <=> OLD.provinceFk))
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
UPDATE client
SET hasToInvoiceByAddress = TRUE SET hasToInvoiceByAddress = TRUE
WHERE id = NEW.clientFk; WHERE id = NEW.clientFk;
END IF; END IF;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -3,19 +3,14 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`buy_afterDelete`
AFTER DELETE ON `buy` AFTER DELETE ON `buy`
FOR EACH ROW FOR EACH ROW
trig: BEGIN trig: BEGIN
DECLARE vValues VARCHAR(255);
IF @isModeInventory OR @isTriggerDisabled THEN IF @isModeInventory OR @isTriggerDisabled THEN
LEAVE trig; LEAVE trig;
END IF; END IF;
CALL stock.log_add('buy', NULL, OLD.id);
INSERT INTO entryLog INSERT INTO entryLog
SET `action` = 'delete', SET `action` = 'delete',
`changedModel` = 'Buy', `changedModel` = 'Buy',
`changedModelId` = OLD.id, `changedModelId` = OLD.id,
`userFk` = account.myUser_getId(); `userFk` = account.myUser_getId();
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -7,8 +7,6 @@ trig: BEGIN
LEAVE trig; LEAVE trig;
END IF; END IF;
CALL stock.log_add('buy', NEW.id, NULL);
CALL buy_afterUpsert(NEW.id); CALL buy_afterUpsert(NEW.id);
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -12,14 +12,6 @@ trig: BEGIN
LEAVE trig; LEAVE trig;
END IF; END IF;
IF !(NEW.id <=> OLD.id)
OR !(NEW.entryFk <=> OLD.entryFk)
OR !(NEW.itemFk <=> OLD.itemFk)
OR !(NEW.quantity <=> OLD.quantity)
OR !(NEW.created <=> OLD.created) THEN
CALL stock.log_add('buy', NEW.id, OLD.id);
END IF;
CALL buy_afterUpsert(NEW.id); CALL buy_afterUpsert(NEW.id);
SELECT w.isBuyerToBeEmailed, t.landed SELECT w.isBuyerToBeEmailed, t.landed

View File

@ -4,20 +4,13 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`client_afterUpdate`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
UPDATE `address` SET isDefaultAddress = 0 UPDATE `address` SET isDefaultAddress = FALSE
WHERE clientFk = NEW.id; WHERE clientFk = NEW.id;
UPDATE `address` SET isDefaultAddress = 1 UPDATE `address` SET isDefaultAddress = TRUE
WHERE id = NEW.defaultAddressFk; WHERE id = NEW.defaultAddressFk;
END IF; END IF;
IF NOT (NEW.provinceFk <=> OLD.provinceFk) OR NOT (NEW.isVies <=> OLD.isVies) THEN
INSERT IGNORE INTO ticketRecalc (ticketFk)
SELECT id FROM ticket t
WHERE t.clientFk = NEW.id
AND t.refFk IS NULL;
END IF;
IF NOT NEW.isActive THEN IF NOT NEW.isActive THEN
UPDATE account.`user` UPDATE account.`user`
SET active = FALSE SET active = FALSE

View File

@ -8,7 +8,5 @@ BEGIN
`changedModel` = 'Entry', `changedModel` = 'Entry',
`changedModelId` = OLD.id, `changedModelId` = OLD.id,
`userFk` = account.myUser_getId(); `userFk` = account.myUser_getId();
CALL travel_requestRecalc(OLD.travelFk);
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -1,8 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterInsert`
AFTER INSERT ON `entry`
FOR EACH ROW
BEGIN
CALL travel_requestRecalc(NEW.travelFk);
END$$
DELIMITER ;

View File

@ -3,24 +3,12 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterUpdate`
AFTER UPDATE ON `entry` AFTER UPDATE ON `entry`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
IF NOT(NEW.id <=> OLD.id)
OR NOT(NEW.travelFk <=> OLD.travelFk)
OR NOT(NEW.isRaid <=> OLD.isRaid) THEN
CALL stock.log_add('entry', NEW.id, OLD.id);
END IF;
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
CALL travel_requestRecalc(OLD.travelFk);
CALL travel_requestRecalc(NEW.travelFk);
END IF;
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
SELECT b.id SELECT b.id
FROM buy b FROM buy b
WHERE b.entryFk = NEW.id; WHERE b.entryFk = NEW.id;
CALL buy_checkItem(); CALL buy_checkItem();
END IF; END IF;
END$$ END$$

View File

@ -12,9 +12,6 @@ BEGIN
`changedModelId` = OLD.id, `changedModelId` = OLD.id,
`userFk` = account.myUser_getId(); `userFk` = account.myUser_getId();
CALL stock.log_add('sale', NULL, OLD.id);
CALL ticket_requestRecalc(OLD.ticketFk);
SELECT account.myUser_getName() INTO vUserRole; SELECT account.myUser_getName() INTO vUserRole;
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole; SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;

View File

@ -7,11 +7,7 @@ BEGIN
CALL util.throw('Cannot insert a service item into a ticket'); CALL util.throw('Cannot insert a service item into a ticket');
END IF; END IF;
CALL stock.log_add('sale', NEW.id, NULL);
CALL ticket_requestRecalc(NEW.ticketFk);
IF NEW.quantity > 0 THEN IF NEW.quantity > 0 THEN
UPDATE vn.collection c UPDATE vn.collection c
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
AND tc.ticketFk = NEW.ticketFk AND tc.ticketFk = NEW.ticketFk

View File

@ -6,24 +6,6 @@ BEGIN
DECLARE vIsToSendMail BOOL; DECLARE vIsToSendMail BOOL;
DECLARE vUserRole VARCHAR(255); DECLARE vUserRole VARCHAR(255);
IF !(NEW.id <=> OLD.id)
OR !(NEW.ticketFk <=> OLD.ticketFk)
OR !(NEW.itemFk <=> OLD.itemFk)
OR !(NEW.quantity <=> OLD.quantity)
OR !(NEW.created <=> OLD.created)
OR !(NEW.isPicked <=> OLD.isPicked) THEN
CALL stock.log_add('sale', NEW.id, OLD.id);
END IF;
IF !(NEW.price <=> OLD.price)
OR !(NEW.ticketFk <=> OLD.ticketFk)
OR !(NEW.itemFk <=> OLD.itemFk)
OR !(NEW.quantity <=> OLD.quantity)
OR !(NEW.discount <=> OLD.discount) THEN
CALL ticket_requestRecalc(NEW.ticketFk);
CALL ticket_requestRecalc(OLD.ticketFk);
END IF;
IF !(OLD.ticketFk <=> NEW.ticketFk) THEN IF !(OLD.ticketFk <=> NEW.ticketFk) THEN
UPDATE ticketRequest SET ticketFk = NEW.ticketFk UPDATE ticketRequest SET ticketFk = NEW.ticketFk
WHERE saleFk = NEW.id; WHERE saleFk = NEW.id;

View File

@ -8,8 +8,5 @@ BEGIN
`changedModel` = 'TicketService', `changedModel` = 'TicketService',
`changedModelId` = OLD.id, `changedModelId` = OLD.id,
`userFk` = account.myUser_getId(); `userFk` = account.myUser_getId();
CALL ticket_requestRecalc(OLD.ticketFk);
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -1,10 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticketService_afterInsert`
AFTER INSERT ON `ticketService`
FOR EACH ROW
BEGIN
CALL ticket_requestRecalc(NEW.ticketFk);
END$$
DELIMITER ;

View File

@ -1,13 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticketService_afterUpdate`
AFTER UPDATE ON `ticketService`
FOR EACH ROW
BEGIN
IF !(NEW.price <=> OLD.price)
OR !(NEW.ticketFk <=> OLD.ticketFk)
OR !(NEW.quantity <=> OLD.quantity) THEN
CALL ticket_requestRecalc(NEW.ticketFk);
CALL ticket_requestRecalc(OLD.ticketFk);
END IF;
END$$
DELIMITER ;

View File

@ -3,24 +3,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticket_afterUpdate`
AFTER UPDATE ON `ticket` AFTER UPDATE ON `ticket`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
IF !(NEW.id <=> OLD.id)
OR !(NEW.warehouseFk <=> OLD.warehouseFk)
OR !(NEW.shipped <=> OLD.shipped) THEN
CALL stock.log_add('ticket', NEW.id, OLD.id);
END IF;
IF !(NEW.clientFk <=> OLD.clientFk)
OR !(NEW.addressFk <=> OLD.addressFk)
OR !(NEW.companyFk <=> OLD.companyFk) THEN
CALL ticket_requestRecalc(NEW.id);
END IF;
IF NEW.routeFk <> OLD.routeFk THEN IF NEW.routeFk <> OLD.routeFk THEN
UPDATE expedition UPDATE expedition
SET hasNewRoute = TRUE SET hasNewRoute = TRUE
WHERE ticketFk = NEW.id; WHERE ticketFk = NEW.id;
END IF; END IF;
END$$ END$$
DELIMITER ; DELIMITER ;

View File

@ -3,10 +3,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_afterUpdate`
AFTER UPDATE ON `travel` AFTER UPDATE ON `travel`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
CALL stock.log_add('travel', NEW.id, OLD.id);
IF NOT(NEW.shipped <=> OLD.shipped) THEN IF NOT(NEW.shipped <=> OLD.shipped) THEN
UPDATE entry UPDATE entry
SET commission = entry_getCommission(travelFk, currencyFk,supplierFk) SET commission = entry_getCommission(travelFk, currencyFk,supplierFk)
WHERE travelFk = NEW.id; WHERE travelFk = NEW.id;
END IF; END IF;
@ -15,11 +13,11 @@ BEGIN
IF (SELECT hasWeightVolumetric FROM agencyMode WHERE id = NEW.agencyModeFk) THEN IF (SELECT hasWeightVolumetric FROM agencyMode WHERE id = NEW.agencyModeFk) THEN
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
SELECT b.id SELECT b.id
FROM entry e FROM entry e
JOIN buy b ON b.entryFk = e.id JOIN buy b ON b.entryFk = e.id
JOIN item i ON i.id = b.itemFk JOIN item i ON i.id = b.itemFk
WHERE e.travelFk = NEW.id; WHERE e.travelFk = NEW.id;
CALL buy_checkItem(); CALL buy_checkItem();
END IF; END IF;
END IF; END IF;

View File

@ -1,8 +1,8 @@
CREATE OR REPLACE DEFINER=`root`@`localhost` CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER SQL SECURITY DEFINER
VIEW `vn`.`ticketMRW` VIEW `vn`.`ticketMRW`
AS SELECT `Tickets`.`Id_Agencia` AS `id_Agencia`, AS SELECT `ticket`.`agencyModeFk` AS `id_Agencia`,
`Tickets`.`empresa_id` AS `empresa_id`, `ticket`.`companyFk` AS `empresa_id`,
`Consignatarios`.`consignatario` AS `Consignatario`, `Consignatarios`.`consignatario` AS `Consignatario`,
`Consignatarios`.`domicilio` AS `DOMICILIO`, `Consignatarios`.`domicilio` AS `DOMICILIO`,
`Consignatarios`.`poblacion` AS `POBLACION`, `Consignatarios`.`poblacion` AS `POBLACION`,
@ -19,13 +19,13 @@ AS SELECT `Tickets`.`Id_Agencia` AS `id_Agencia`,
0 0
) AS `movil`, ) AS `movil`,
`Clientes`.`if` AS `IF`, `Clientes`.`if` AS `IF`,
`Tickets`.`Id_Ticket` AS `Id_Ticket`, `ticket`.`id` AS `Id_Ticket`,
`Tickets`.`warehouse_id` AS `warehouse_id`, `ticket`.`warehouseFk` AS `warehouse_id`,
`Consignatarios`.`id_consigna` AS `Id_Consigna`, `Consignatarios`.`id_consigna` AS `Id_Consigna`,
`Paises`.`Codigo` AS `CodigoPais`, `Paises`.`Codigo` AS `CodigoPais`,
`Tickets`.`Fecha` AS `Fecha`, `ticket`.`shipped` AS `Fecha`,
`province`.`province_id` AS `province_id`, `province`.`province_id` AS `province_id`,
`Tickets`.`landing` AS `landing` `ticket`.`landed` AS `landing`
FROM ( FROM (
( (
( (
@ -35,8 +35,8 @@ FROM (
`Clientes`.`id_cliente` = `Consignatarios`.`Id_cliente` `Clientes`.`id_cliente` = `Consignatarios`.`Id_cliente`
) )
) )
JOIN `vn2008`.`Tickets` ON( JOIN `vn`.`ticket` ON(
`Consignatarios`.`id_consigna` = `Tickets`.`Id_Consigna` `Consignatarios`.`id_consigna` = `ticket`.`addressFk`
) )
) )
JOIN `vn2008`.`province` ON( JOIN `vn2008`.`province` ON(
@ -44,4 +44,4 @@ FROM (
) )
) )
JOIN `vn2008`.`Paises` ON(`province`.`Paises_Id` = `Paises`.`Id`) JOIN `vn2008`.`Paises` ON(`province`.`Paises_Id` = `Paises`.`Id`)
) );

View File

@ -18,7 +18,7 @@ proc: BEGIN
-- 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');
SELECT FechaInventario INTO vDatedInventory FROM tblContadores; SELECT inventoried INTO vDatedInventory FROM vn.config;
SELECT SUBTIME(util.VN_NOW(), reserveTime) INTO vDatedReserve SELECT SUBTIME(util.VN_NOW(), reserveTime) INTO vDatedReserve
FROM hedera.orderConfig; FROM hedera.orderConfig;

View File

@ -0,0 +1,3 @@
-- Place your SQL code here
ALTER TABLE vn.packaging
MODIFY COLUMN volume decimal(10,2) CHECK (volume >= COALESCE(width, 1) * COALESCE(depth, 1) * COALESCE(height, 1));

View File

@ -0,0 +1,4 @@
-- Place your SQL code here
USE vn;
INSERT INTO vn.observationType (description,code) VALUES ('Entrega','dropOff');

View File

@ -2,4 +2,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`client_getRisk`()
BEGIN BEGIN
END; END;
GRANT EXECUTE ON PROCEDURE vn.client_getRisk TO financialBoss; GRANT EXECUTE ON PROCEDURE vn.client_getRisk TO financial;
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditInsurance_getRisk`()
BEGIN
END;
GRANT EXECUTE ON PROCEDURE vn.creditInsurance_getRisk TO financial;

View File

@ -0,0 +1 @@
DROP TABLE hedera.orderRecalc;

View File

@ -0,0 +1 @@
DROP TABLE vn.ticketRecalc;

View File

@ -0,0 +1 @@
DROP TABLE vn.travelRecalc;

View File

@ -0,0 +1 @@
DROP SCHEMA IF EXISTS rfid;

View File

@ -0,0 +1,12 @@
CREATE OR REPLACE TABLE `vn`.`farmingDeliveryNote` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`farmingFk` int(10) unsigned NOT NULL,
`deliveryNoteFk` int(11) NOT NULL,
`amount` decimal(10,2) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `farmingDeliveryNoteFk_FK` (`deliveryNoteFk`),
KEY `farmingDeliveryNoteFk_FK_1` (`farmingFk`),
CONSTRAINT `farmingDeliveryNoteFk_FK` FOREIGN KEY (`deliveryNoteFk`) REFERENCES `deliveryNote` (`id`),
CONSTRAINT `farmingDeliveryNoteFk_FK_1` FOREIGN KEY (`farmingFk`) REFERENCES `farming` (`id`)
);

View File

@ -76,6 +76,6 @@ describe('Entry basic data path', () => {
expect(confirmed).toBe('checked'); expect(confirmed).toBe('checked');
expect(inventory).toBe('checked'); expect(inventory).toBe('checked');
expect(raid).toBe('checked'); expect(raid).toBe('checked');
expect(booked).toBe('checked'); expect(booked).toBe('unchecked');
}); });
}); });

View File

@ -1,5 +1,6 @@
import ngModule from '../module'; import ngModule from '../module';
const TOKEN_MULTIMEDIA = 'vnTokenMultimedia';
const TOKEN = 'vnToken';
/** /**
* Saves and loads the token for the current logged in user. * Saves and loads the token for the current logged in user.
* *
@ -58,8 +59,8 @@ export default class Token {
} }
getStorage(storage) { getStorage(storage) {
this.token = storage.getItem('vnToken'); this.token = storage.getItem(TOKEN);
this.tokenMultimedia = storage.getItem('vnTokenMultimedia'); this.tokenMultimedia = storage.getItem(TOKEN_MULTIMEDIA);
if (!this.token) return; if (!this.token) return;
const created = storage.getItem('vnTokenCreated'); const created = storage.getItem('vnTokenCreated');
this.created = created && new Date(created); this.created = created && new Date(created);
@ -67,15 +68,15 @@ export default class Token {
} }
setStorage(storage, token, tokenMultimedia, created, ttl) { setStorage(storage, token, tokenMultimedia, created, ttl) {
storage.setItem('vnTokenMultimedia', tokenMultimedia); storage.setItem(TOKEN_MULTIMEDIA, tokenMultimedia);
storage.setItem('vnToken', token); storage.setItem(TOKEN, token);
storage.setItem('vnTokenCreated', created.toJSON()); storage.setItem('vnTokenCreated', created.toJSON());
storage.setItem('vnTokenTtl', ttl); storage.setItem('vnTokenTtl', ttl);
} }
removeStorage(storage) { removeStorage(storage) {
storage.removeItem('vnToken'); storage.removeItem(TOKEN);
storage.removeItem('vnTokenMultimedia'); storage.removeItem(TOKEN_MULTIMEDIA);
storage.removeItem('vnTokenCreated'); storage.removeItem('vnTokenCreated');
storage.removeItem('vnTokenTtl'); storage.removeItem('vnTokenTtl');
} }
@ -96,9 +97,9 @@ export default class Token {
this.checking = true; this.checking = true;
const renewPeriod = Math.min(this.ttl, this.renewPeriod) * 1000; const renewPeriod = Math.min(this.ttl, this.renewPeriod) * 1000;
const maxDate = this.created.getTime() + renewPeriod; const maxDate = this.created.getTime() + renewPeriod;
const now = new Date(); const now = new Date().getTime();
if (now.getTime() <= maxDate) { if (now <= maxDate) {
this.checking = false; this.checking = false;
return; return;
} }
@ -106,7 +107,17 @@ export default class Token {
this.$http.post('VnUsers/renewToken') this.$http.post('VnUsers/renewToken')
.then(res => { .then(res => {
const token = res.data; const token = res.data;
this.set(token.id, now, token.ttl, this.remember); const tokenMultimedia =
localStorage.getItem(TOKEN_MULTIMEDIA)
?? sessionStorage.getItem(TOKEN_MULTIMEDIA);
return this.$http.post('VnUsers/renewToken', null, {
headers: {Authorization: tokenMultimedia}
})
.then(({data}) => {
const tokenMultimedia = data;
this.set(token.id, tokenMultimedia.id, new Date(), token.ttl, this.remember);
});
}) })
.finally(() => { .finally(() => {
this.checking = false; this.checking = false;
@ -119,4 +130,4 @@ export default class Token {
} }
Token.$inject = ['vnInterceptor', '$http', '$rootScope']; Token.$inject = ['vnInterceptor', '$http', '$rootScope'];
ngModule.service('vnToken', Token); ngModule.service(TOKEN, Token);

View File

@ -35,7 +35,7 @@ module.exports = Self => {
path: '/:id/claim-pickup-pdf', path: '/:id/claim-pickup-pdf',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.claimPickupPdf = (ctx, id) => Self.printReport(ctx, id, 'claim-pickup-order'); Self.claimPickupPdf = (ctx, id) => Self.printReport(ctx, id, 'claim-pickup-order');

View File

@ -33,7 +33,7 @@ module.exports = Self => {
path: `/:id/downloadFile`, path: `/:id/downloadFile`,
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.downloadFile = async function(ctx, id) { Self.downloadFile = async function(ctx, id) {

View File

@ -46,7 +46,7 @@ module.exports = Self => {
path: '/:id/campaign-metrics-pdf', path: '/:id/campaign-metrics-pdf',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.campaignMetricsPdf = (ctx, id) => Self.printReport(ctx, id, 'campaign-metrics'); Self.campaignMetricsPdf = (ctx, id) => Self.printReport(ctx, id, 'campaign-metrics');

View File

@ -34,7 +34,7 @@ module.exports = Self => {
path: '/:id/entry-order-pdf', path: '/:id/entry-order-pdf',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.entryOrderPdf = (ctx, id) => Self.printReport(ctx, id, 'entry-order'); Self.entryOrderPdf = (ctx, id) => Self.printReport(ctx, id, 'entry-order');

View File

@ -158,7 +158,7 @@ describe('InvoiceIn filter()', () => {
const result = await models.InvoiceIn.filter(ctx, {}, options); const result = await models.InvoiceIn.filter(ctx, {}, options);
expect(result.length).toEqual(4); expect(result.length).toEqual(5);
await tx.rollback(); await tx.rollback();
} catch (e) { } catch (e) {
@ -180,7 +180,7 @@ describe('InvoiceIn filter()', () => {
const result = await models.InvoiceIn.filter(ctx, {}, options); const result = await models.InvoiceIn.filter(ctx, {}, options);
expect(result.length).toEqual(6); expect(result.length).toEqual(5);
expect(result[0].isBooked).toBeTruthy(); expect(result[0].isBooked).toBeTruthy();
await tx.rollback(); await tx.rollback();

View File

@ -32,7 +32,7 @@ module.exports = Self => {
path: '/:id/download', path: '/:id/download',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.download = async function(ctx, id, options) { Self.download = async function(ctx, id, options) {

View File

@ -32,7 +32,7 @@ module.exports = Self => {
path: '/downloadZip', path: '/downloadZip',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.downloadZip = async function(ctx, ids, options) { Self.downloadZip = async function(ctx, ids, options) {

View File

@ -35,7 +35,7 @@ module.exports = Self => {
path: '/:reference/exportation-pdf', path: '/:reference/exportation-pdf',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.exportationPdf = (ctx, reference) => Self.printReport(ctx, reference, 'exportation'); Self.exportationPdf = (ctx, reference) => Self.printReport(ctx, reference, 'exportation');

View File

@ -38,7 +38,7 @@ module.exports = Self => {
path: '/:reference/invoice-csv', path: '/:reference/invoice-csv',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.invoiceCsv = async reference => { Self.invoiceCsv = async reference => {

View File

@ -40,7 +40,7 @@ module.exports = Self => {
path: '/negativeBasesCsv', path: '/negativeBasesCsv',
verb: 'GET' verb: 'GET'
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.negativeBasesCsv = async(ctx, options) => { Self.negativeBasesCsv = async(ctx, options) => {

View File

@ -11,7 +11,7 @@ module.exports = Self => {
path: `/download`, path: `/download`,
verb: 'POST', verb: 'POST',
}, },
accessScopes: ['read:multimedia'] accessScopes: ['DEFAULT', 'read:multimedia']
}); });
Self.download = async() => { Self.download = async() => {

Some files were not shown because too many files have changed in this diff Show More