Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into 5890-itemShelving_asignado

This commit is contained in:
Sergio De la torre 2024-02-01 09:28:08 +01:00
commit 39d07b3b59
60 changed files with 267 additions and 694 deletions

181
Jenkinsfile vendored
View File

@ -1,36 +1,57 @@
#!/usr/bin/env groovy
def PROTECTED_BRANCH
def FROM_GIT
def RUN_TESTS
pipeline {
agent any
options {
disableConcurrentBuilds()
}
tools {
nodejs 'node-v20'
}
environment {
PROJECT_NAME = 'salix'
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
}
stages {
stage('Checkout') {
steps {
script {
switch (env.BRANCH_NAME) {
case 'master':
env.NODE_ENV = 'production'
env.BACK_REPLICAS = 4
case 'dev':
env.NODE_ENV = 'dev'
env.BACK_REPLICAS = 1
break
case 'test':
env.NODE_ENV = 'test'
env.BACK_REPLICAS = 2
break
case 'master':
env.NODE_ENV = 'production'
env.BACK_REPLICAS = 4
break
}
}
configFileProvider([
configFile(fileId: "salix.groovy",
variable: 'GROOVY_FILE')
]) {
load env.GROOVY_FILE
}
def packageJson = readJSON file: 'package.json'
env.VERSION = packageJson.version
env.GIT_COMMIT_MSG = sh(
script: 'git log -1 --pretty=%B ${GIT_COMMIT}',
returnStdout: true
).trim()
PROTECTED_BRANCH = [
'dev',
'test',
'master'
].contains(env.BRANCH_NAME)
FROM_GIT = JOB_NAME.startsWith('gitea/')
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
}
setEnv()
}
}
@ -38,83 +59,91 @@ pipeline {
environment {
NODE_ENV = ""
}
steps {
nodejs('node-v20') {
sh 'npm install --no-audit --prefer-offline'
sh 'gulp install --ci'
parallel {
stage('Backend') {
steps {
sh 'npm install --no-audit --prefer-offline'
}
}
stage('Frontend') {
when {
expression { return FROM_GIT }
}
steps {
sh 'npm install --no-audit --prefer-offline --prefix=front'
}
}
stage('Print') {
when {
expression { return FROM_GIT }
}
steps {
sh 'npm install --no-audit --prefer-offline --prefix=print'
}
}
}
}
stage('Test') {
when { not { anyOf {
branch 'test'
branch 'master'
}}}
when {
expression { return RUN_TESTS }
}
environment {
NODE_ENV = ""
TZ = 'Europe/Madrid'
}
parallel {
stage('Frontend') {
steps {
nodejs('node-v20') {
sh 'jest --ci --reporters=default --reporters=jest-junit --maxWorkers=4'
}
}
}
stage('Backend') {
steps {
nodejs('node-v20') {
sh 'npm run test:back:ci'
}
sh 'npm run test:back:ci'
}
}
stage('Frontend') {
steps {
sh 'jest --ci --reporters=default --reporters=jest-junit --maxWorkers=6'
}
}
}
}
stage('Build') {
when { anyOf {
branch 'test'
branch 'master'
}}
when {
expression { return PROTECTED_BRANCH && FROM_GIT }
}
environment {
CREDENTIALS = credentials('docker-registry')
}
steps {
nodejs('node-v20') {
sh 'gulp build'
}
sh 'gulp build'
dockerBuild()
}
}
stage('Deploy') {
when { anyOf {
branch 'test'
branch 'master'
}}
environment {
DOCKER_HOST = "${env.SWARM_HOST}"
when {
expression { return PROTECTED_BRANCH }
}
steps {
sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}"
}
}
stage('Database') {
when { anyOf {
branch 'dev'
branch 'test'
branch 'master'
}}
steps {
configFileProvider([
configFile(fileId: "config.${NODE_ENV}.ini",
variable: 'MYSQL_CONFIG')
]) {
sh 'mkdir -p db/remotes'
sh 'cp "$MYSQL_CONFIG" db/remotes/$NODE_ENV.ini'
parallel {
stage('Database') {
steps {
configFileProvider([
configFile(fileId: "config.${env.NODE_ENV}.ini",
variable: 'MYSQL_CONFIG')
]) {
sh 'mkdir -p db/remotes'
sh 'cp "$MYSQL_CONFIG" db/remotes/$NODE_ENV.ini'
}
sh 'npx myt push $NODE_ENV --force --commit'
}
}
nodejs('node-v20') {
sh 'npx myt push $NODE_ENV --force --commit'
stage('Docker') {
when {
expression { return FROM_GIT }
}
environment {
DOCKER_HOST = "${env.SWARM_HOST}"
}
steps {
sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}"
}
}
}
}
@ -122,7 +151,7 @@ pipeline {
post {
always {
script {
if (!['master', 'test'].contains(env.BRANCH_NAME)) {
if (RUN_TESTS) {
try {
junit 'junitresults.xml'
junit 'junit.xml'
@ -130,18 +159,28 @@ pipeline {
echo e.toString()
}
}
}
}
success {
script {
if (env.BRANCH_NAME == 'master' && FROM_GIT) {
String message = env.GIT_COMMIT_MSG
int index = message.indexOf('\n')
if (index != -1)
message = message.substring(0, index)
if (!env.COMMITTER_EMAIL || currentBuild.currentResult == 'SUCCESS') return;
try {
mail(
to: env.COMMITTER_EMAIL,
subject: "Pipeline: ${env.JOB_NAME} (${env.BUILD_NUMBER}): ${currentBuild.currentResult}",
body: "Check status at ${env.BUILD_URL}"
rocketSend(
channel: 'vn-database',
message: "*DB version uploaded:* ${message}"
+"\n$COMMITTER_EMAIL ($BRANCH_NAME)"
+"\n$GIT_URL/commit/$GIT_COMMIT",
rawMessage: true
)
} catch (e) {
echo e.toString()
}
}
}
unsuccessful {
sendEmail()
}
}
}

View File

@ -942,25 +942,25 @@ INSERT INTO `vn`.`itemFamily`(`code`, `description`)
('VT', 'Sales');
INSERT INTO `vn`.`item`(`id`, `typeFk`, `stems`, `originFk`, `description`, `producerFk`, `intrastatFk`, `expenseFk`,
`comment`, `relevancy`, `image`, `subName`, `minPrice`, `family`, `isFloramondo`, `genericFk`, `itemPackingTypeFk`, `hasMinPrice`, `packingShelve`, `weightByPiece`)
`comment`, `relevancy`, `image`, `subName`, `minPrice`, `family`, `isFloramondo`, `genericFk`, `itemPackingTypeFk`, `hasMinPrice`, `weightByPiece`)
VALUES
(1, 2, 1, 1, NULL, 1, 06021010, 2000000000, NULL, 0, '1', NULL, 0, 'EMB', 0, NULL, 'V', 0, 15,3),
(2, 2, 1, 2, NULL, 1, 06021010, 2000000000, NULL, 0, '2', NULL, 0, 'VT', 0, NULL, 'H', 0, 10,2),
(3, 1, 1, 3, NULL, 1, 05080000, 4751000000, NULL, 0, '3', NULL, 0, 'VT', 0, NULL, NULL, 0, 5,5),
(4, 1, 1, 1, 'Increases block', 1, 05080000, 4751000000, NULL, 0, '4', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(5, 3, 1, 2, NULL, 2, 06021010, 4751000000, NULL, 0, '5', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(6, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '6', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(7, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '7', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(8, 2, 1, 1, NULL, 1, 06021010, 2000000000, NULL, 0, '8', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(9, 2, 1, 2, NULL, 1, 06021010, 2000000000, NULL, 0, '9', NULL, 0, 'VT', 1, NULL, NULL, 0, NULL,NULL),
(10, 1, 1, 3, NULL, 1, 05080000, 4751000000, NULL, 0, '10', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(11, 1, 1, 1, NULL, 1, 05080000, 4751000000, NULL, 0, '11', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(12, 3, 1, 2, NULL, 2, 06021010, 4751000000, NULL, 0, '12', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL),
(13, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '13', NULL, 1, 'VT', 1, NULL, NULL, 1, NULL,NULL),
(14, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'VT', 1, NULL, NULL, 0, NULL,NULL),
(15, 4, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'EMB', 0, NULL, NULL, 0, NULL,NULL),
(16, 6, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'EMB', 0, NULL, NULL, 0, NULL,NULL),
(71, 6, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL,NULL);
(1, 2, 1, 1, NULL, 1, 06021010, 2000000000, NULL, 0, '1', NULL, 0, 'EMB', 0, NULL, 'V', 0, 3),
(2, 2, 1, 2, NULL, 1, 06021010, 2000000000, NULL, 0, '2', NULL, 0, 'VT', 0, NULL, 'H', 0, 2),
(3, 1, 1, 3, NULL, 1, 05080000, 4751000000, NULL, 0, '3', NULL, 0, 'VT', 0, NULL, NULL, 0, 5),
(4, 1, 1, 1, 'Increases block', 1, 05080000, 4751000000, NULL, 0, '4', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(5, 3, 1, 2, NULL, 2, 06021010, 4751000000, NULL, 0, '5', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(6, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '6', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(7, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '7', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(8, 2, 1, 1, NULL, 1, 06021010, 2000000000, NULL, 0, '8', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(9, 2, 1, 2, NULL, 1, 06021010, 2000000000, NULL, 0, '9', NULL, 0, 'VT', 1, NULL, NULL, 0, NULL),
(10, 1, 1, 3, NULL, 1, 05080000, 4751000000, NULL, 0, '10', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(11, 1, 1, 1, NULL, 1, 05080000, 4751000000, NULL, 0, '11', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(12, 3, 1, 2, NULL, 2, 06021010, 4751000000, NULL, 0, '12', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL),
(13, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '13', NULL, 1, 'VT', 1, NULL, NULL, 1, NULL),
(14, 5, 1, 2, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'VT', 1, NULL, NULL, 0, NULL),
(15, 4, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'EMB', 0, NULL, NULL, 0, NULL),
(16, 6, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'EMB', 0, NULL, NULL, 0, NULL),
(71, 6, NULL, 1, NULL, NULL, 06021010, 4751000000, NULL, 0, '', NULL, 0, 'VT', 0, NULL, NULL, 0, NULL);
-- Update the taxClass after insert of the items
UPDATE `vn`.`itemTaxCountry` SET `taxClassFk` = 2

View File

@ -32,7 +32,7 @@ BEGIN
tm.year AS Año,
tm.month AS Mes,
tm.week AS Semana,
v.vista AS Vista,
dm.description AS Vista,
bt.importe AS Importe
FROM bs.ventas bt
LEFT JOIN vn2008.Tipos tp ON tp.tipo_id = bt.tipo_id
@ -44,7 +44,7 @@ BEGIN
JOIN vn2008.Movimientos m ON m.Id_Movimiento = bt.Id_Movimiento
LEFT JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
LEFT JOIN vn2008.Vistas v ON v.vista_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.province p ON p.province_id = cs.province_id
LEFT JOIN vn2008.warehouse w ON w.id = t.warehouse_id

View File

@ -1,17 +0,0 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_updatePackingShelve`(vSelf INT, vPacking INT)
BEGIN
/**
* Actualiza el valor de item.packingShelve
*
* @param vSelf Identificador de vn.item
* @param vPacking Cantidad de unidades de venta que caben en una bandeja
*/
UPDATE vn.item i
SET i.packingShelve = vPacking
WHERE i.id = vSelf;
END$$
DELIMITER ;

View File

@ -77,7 +77,6 @@ DECLARE vIsCollection BOOL;
s.isAdded,
IF(c.workerFk IS NULL, getUser(), c.workerFk) workerFk,
IF(SUM(iss.quantity) IS NULL, 0, SUM(iss.quantity)) pickedQuantity,
i.packingShelve,
MIN(iss.created) picked,
IF(sm.id, TRUE, FALSE) hasMistake,
sg.sectorFk

View File

@ -2,20 +2,22 @@ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`workerTimeControl_clockIn`(
vWorkerFk INT,
vTimed DATETIME,
vDirection VARCHAR(10)
vDirection VARCHAR(10),
vDevice VARCHAR(255)
)
BEGIN
/**
* Verifica si el empleado puede fichar
* @param vWorkerFk Identificador del trabajador
* @param vTimed valor de la fichada, IF vTimed IS NULL vTimed = NOW
* @param vDirection solo se pueden pasa los valores del campo
* workerTimeControl.direction ENUM('in', 'out', 'middle')
* @return Si todo es correcto, retorna el número de id la tabla workerTimeControl.
* Si hay algún problema, devuelve el mesaje que se debe mostrar al usuario
* Solo retorna el primer problema, en caso de no ocurrir ningún error se añadirá
* fichada a la tabla vn.workerTimeControl
*/
* Verifica si el empleado puede fichar
* @param vWorkerFk Identificador del trabajador
* @param vTimed Balor de la fichada, IF vTimed IS NULL vTimed = NOW
* @param vDirection Solo se pueden pasa los valores del campo
* workerTimeControl.direction ENUM('in', 'out', 'middle')
* @param vDevice Dispositivo en el que se ha fichado
* @return Si todo es correcto, retorna el número de id la tabla workerTimeControl.
* Si hay algún problema, devuelve el mesaje que se debe mostrar al usuario
* Solo retorna el primer problema, en caso de no ocurrir ningún error se añadirá
* fichada a la tabla vn.workerTimeControl
*/
DECLARE vLastIn DATETIME;
DECLARE vLastOut DATETIME;
@ -276,9 +278,9 @@ BEGIN
END IF;
END IF;
-- SE PERMITE FICHAR
INSERT INTO workerTimeControl(userFk, timed, direction, `manual`)
VALUES(vWorkerFk, vTimed, vDirection, vIsManual);
-- Se permite fichar
INSERT INTO workerTimeControl(userFk, timed, direction, device, `manual`)
VALUES(vWorkerFk, vTimed, vDirection, vDevice, vIsManual);
SELECT LAST_INSERT_ID() id;

View File

@ -7,14 +7,6 @@ BEGIN
SET NEW.editorFk = account.myUser_getId();
IF ISNULL(NEW.packingShelve) AND NOT ISNULL(NEW.packingOut) THEN
SELECT NEW.packingOut * vc.shelveVolume / vc.standardFlowerBox
INTO vNewPackingShelve
FROM vn.volumeConfig vc;
SET NEW.packingShelve = vNewPackingShelve;
END IF;
IF NEW.itemPackingTypeFk = '' THEN
SET NEW.itemPackingTypeFk = NULL;
END IF;

View File

@ -31,7 +31,7 @@ FROM (
)
JOIN `vn`.`route` `r` ON(`r`.`id` = `t`.`routeFk`)
)
LEFT JOIN `vn2008`.`Rutas_monitor` `rm` ON(`rm`.`Id_Ruta` = `r`.`id`)
LEFT JOIN `vn`.`routesMonitor` `rm` ON(`rm`.`routeFk` = `r`.`id`)
)
LEFT JOIN `vn`.`expeditionTruck` `et2` ON(`et2`.`id` = `rm`.`expeditionTruckFk`)
)

View File

@ -20,14 +20,12 @@ proc: BEGIN
SET vDate2000 = util.VN_CURDATE() + INTERVAL (2000 - YEAR(util.VN_CURDATE())) YEAR;
SET vRangeDeleteTicket = 60;
DELETE FROM Rutas_monitor WHERE fecha < vDate;
DELETE FROM cdr WHERE calldate < vDate18;
DELETE FROM Monitoring WHERE ODBC_TIME < vDate;
DELETE FROM Conteo WHERE Fecha < vDate;
DELETE FROM XDiario WHERE FECHA < vDate3 OR FECHA IS NULL;
DELETE FROM mail WHERE DATE_ODBC < vDate;
DELETE FROM expeditions_deleted WHERE odbc_date < vDate26;
DELETE FROM sms WHERE DATE_ODBC < vDate18;
DELETE FROM Movimientos_mark WHERE odbc_date < vDate;
DELETE FROM Splits WHERE Fecha < vDate18;
@ -47,8 +45,6 @@ proc: BEGIN
JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket WHERE t.Fecha < vDate;
DELETE FROM Remesas WHERE `Fecha Remesa` < vDate18;
DELETE FROM sharingcart where datEND < vDate;
DELETE FROM sharingclient where datEND < vDate;
DELETE tt.*
FROM Tickets_turno tt

View File

@ -17,7 +17,20 @@ BEGIN
SELECT t.Id_Ticket, Alias, cast(amount as decimal(10,2)) Importe, Domicilio, POBLACION
FROM Tickets t
JOIN Consignatarios cs ON t.Id_Consigna = cs.Id_Consigna
JOIN v_ticket_amount v ON v.Id_Ticket = t.Id_Ticket
JOIN (
SELECT `Movimientos`.`Id_Ticket` AS `Id_Ticket`,
sum(
`Movimientos`.`Cantidad` * `Movimientos`.`Preu` * (100 - `Movimientos`.`Descuento`) / 100
) AS `amount`
FROM (
`vn2008`.`Movimientos`
JOIN `vn2008`.`Tickets` ON(
`Movimientos`.`Id_Ticket` = `Tickets`.`Id_Ticket`
)
)
WHERE `Tickets`.`Fecha` >= `util`.`VN_CURDATE`() + INTERVAL -6 MONTH
GROUP BY `Movimientos`.`Id_Ticket`
) v ON v.Id_Ticket = t.Id_Ticket
WHERE t.Fecha BETWEEN v_Date AND util.dayEnd(v_Date)
AND t.Id_Cliente = v_Client_Id;

View File

@ -1,24 +0,0 @@
CREATE OR REPLACE DEFINER = `root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`Rutas_Master`
AS SELECT
`rm`.`id` AS `id`,
`rm`.`warehoseFk` AS `warehouse_id`,
`rm`.`km` AS `km`,
`rm`.`packages` AS `bultos`,
`rm`.`vehicleCost` AS `vehiculos_coste`,
`rm`.`staffCost` AS `personal_coste`,
`rm`.`vehicle` AS `vehiculos_numero`,
`rm`.`staff` AS `personal_numero`,
`rm`.`fuel` AS `gasoil`,
`rm`.`freelancers` AS `autonomos`,
`rm`.`year` AS `año`,
`rm`.`mounth` AS `mes`,
`rm`.`expense` AS `gastos`,
`rm`.`freelancersPackages` AS `bultos_autonomos`,
`rm`.`kmCost` AS `coste_km`,
`rm`.`packageCost` AS `coste_bulto`,
`rm`.`freelancerPackageCost` AS `coste_bulto_autonomo` ,
`rm`.`created` AS `odbc_date`
FROM `vn`.`routeMaster` `rm`

View File

@ -1,22 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`Rutas_Master`
AS SELECT `rm`.`id` AS `id`,
`rm`.`warehouseFk` AS `warehouse_id`,
`rm`.`km` AS `km`,
`rm`.`packages` AS `bultos`,
`rm`.`vehicleCost` AS `vehiculos_coste`,
`rm`.`staffCost` AS `personal_coste`,
`rm`.`vehicle` AS `vehiculos_numero`,
`rm`.`staff` AS `personal_numero`,
`rm`.`fuel` AS `gasoil`,
`rm`.`freelancers` AS `autonomos`,
`rm`.`year` AS `año`,
`rm`.`month` AS `mes`,
`rm`.`expense` AS `gastos`,
`rm`.`freelancersPackages` AS `bultos_autonomos`,
`rm`.`kmCost` AS `coste_km`,
`rm`.`packageCost` AS `coste_bulto`,
`rm`.`freelancerPackageCost` AS `coste_bulto_autonomo`,
`rm`.`created` AS `odbc_date`
FROM `vn`.`routeMaster` `rm`

View File

@ -1,18 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`Rutas_monitor`
AS SELECT `vn`.`routesMonitor`.`routeFk` AS `Id_Ruta`,
`vn`.`routesMonitor`.`name` AS `name`,
`vn`.`routesMonitor`.`beachFk` AS `Ubicacion`,
`vn`.`routesMonitor`.`ticketPacked` AS `pedidosEncajados`,
`vn`.`routesMonitor`.`ticketFree` AS `pedidosLibres`,
`vn`.`routesMonitor`.`ticketProduction` AS `pedidosProduccion`,
`vn`.`routesMonitor`.`packages` AS `bultos`,
`vn`.`routesMonitor`.`note` AS `notas`,
`vn`.`routesMonitor`.`dated` AS `fecha`,
`vn`.`routesMonitor`.`dockFk` AS `dockFk`,
`vn`.`routesMonitor`.`m3` AS `m3`,
`vn`.`routesMonitor`.`priority` AS `priority`,
`vn`.`routesMonitor`.`etd` AS `etd`,
`vn`.`routesMonitor`.`expeditionTruckFk` AS `expeditionTruckFk`
FROM `vn`.`routesMonitor`

View File

@ -1,17 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`VerEspionaje`
AS SELECT `Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,
`vn2008`.`Espionajes`.`Fecha` AS `Fecha`,
`vn2008`.`Espionajes`.`HoraEntrada` AS `HoraEntrada`,
`vn2008`.`Espionajes`.`HoraSalida` AS `HoraSalida`,
`vn2008`.`Espionajes`.`Id_Equipo` AS `Id_Equipo`,
`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador`
FROM (
`vn2008`.`Espionajes`
JOIN `vn2008`.`Trabajadores` ON(
`vn2008`.`Espionajes`.`Id_Trabajador` = `Trabajadores`.`Id_Trabajador`
)
)
ORDER BY `Trabajadores`.`CodigoTrabajador`,
`vn2008`.`Espionajes`.`Fecha`

View File

@ -1,7 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`Vistas`
AS SELECT `dm`.`id` AS `vista_id`,
`dm`.`code` AS `code`,
`dm`.`description` AS `vista`
FROM `vn`.`deliveryMethod` `dm`

View File

@ -1,10 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`sharingcart`
AS SELECT `sc`.`id` AS `id`,
`sc`.`workerFk` AS `Id_Trabajador`,
`sc`.`started` AS `datSTART`,
`sc`.`ended` AS `datEND`,
`sc`.`workerSubstitute` AS `Id_Suplente`,
`sc`.`created` AS `odbc_date`
FROM `vn`.`sharingCart` `sc`

View File

@ -1,9 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`sharingclient`
AS SELECT `sc`.`id` AS `id`,
`sc`.`workerFk` AS `Id_Trabajador`,
`sc`.`started` AS `datSTART`,
`sc`.`ended` AS `datEND`,
`sc`.`clientFk` AS `Id_Cliente`
FROM `vn`.`sharingClient` `sc`

View File

@ -1,12 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`sms`
AS SELECT `t`.`id` AS `id`,
`t`.`senderFk` AS `Id_trabajador`,
`t`.`sender` AS `from`,
`t`.`destination` AS `to`,
`t`.`message` AS `text`,
`t`.`statusCode` AS `sent`,
`t`.`status` AS `response`,
`t`.`created` AS `DATE_ODBC`
FROM `vn`.`sms` `t`

View File

@ -1,11 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`tarifas`
AS SELECT `r`.`id` AS `tarifa_id`,
`r`.`dated` AS `fecha`,
`r`.`warehouseFk` AS `warehouse_id`,
`r`.`rate0` AS `t0`,
`r`.`rate1` AS `t1`,
`r`.`rate2` AS `t2`,
`r`.`rate3` AS `t3`
FROM `vn`.`rate` `r`

View File

@ -1,9 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`ticketCreationData`
AS SELECT dayname(`h`.`confirm_date`) AS `DiadelaSemana`,
HOUR(`h`.`confirm_date`) AS `Hora`,
cast(`h`.`confirm_date` AS date) AS `Fecha`,
`h`.`source_app` AS `Dispositivo`
FROM `hedera`.`order` `h`
WHERE `h`.`confirm_date` <> 0

View File

@ -1,38 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`ticketMRW`
AS SELECT `Tickets`.`Id_Agencia` AS `id_Agencia`,
`Tickets`.`empresa_id` AS `empresa_id`,
`Consignatarios`.`consignatario` AS `Consignatario`,
`Consignatarios`.`domicilio` AS `DOMICILIO`,
`Consignatarios`.`poblacion` AS `POBLACION`,
`Consignatarios`.`codPostal` AS `CODPOSTAL`,
`Consignatarios`.`telefono` AS `telefono`,
`Consignatarios`.`movil` AS `movil`,
`Clientes`.`if` AS `IF`,
`Tickets`.`Id_Ticket` AS `Id_Ticket`,
`Tickets`.`warehouse_id` AS `warehouse_id`,
`Consignatarios`.`id_consigna` AS `Id_Consigna`,
`Paises`.`Codigo` AS `CodigoPais`,
`Tickets`.`Fecha` AS `Fecha`,
`province`.`province_id` AS `province_id`,
`Tickets`.`landing` AS `landing`
FROM (
(
(
(
`vn2008`.`Clientes`
JOIN `vn2008`.`Consignatarios` ON(
`Clientes`.`id_cliente` = `Consignatarios`.`Id_cliente`
)
)
JOIN `vn2008`.`Tickets` ON(
`Consignatarios`.`id_consigna` = `Tickets`.`Id_Consigna`
)
)
JOIN `vn2008`.`province` ON(
`Consignatarios`.`province_id` = `province`.`province_id`
)
)
JOIN `vn2008`.`Paises` ON(`province`.`Paises_Id` = `Paises`.`Id`)
)

View File

@ -1,19 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`tr2`
AS SELECT `vn`.`travel`.`id` AS `id`,
`vn`.`travel`.`shipped` AS `shipped`,
`vn`.`travel`.`shipmentHour` AS `shipmentHour`,
`vn`.`travel`.`landed` AS `landed`,
`vn`.`travel`.`landingHour` AS `landingHour`,
`vn`.`travel`.`warehouseInFk` AS `warehouseInFk`,
`vn`.`travel`.`warehouseOutFk` AS `warehouseOutFk`,
`vn`.`travel`.`agencyModeFk` AS `agencyFk`,
`vn`.`travel`.`ref` AS `ref`,
`vn`.`travel`.`isDelivered` AS `isDelivered`,
`vn`.`travel`.`isReceived` AS `isReceived`,
`vn`.`travel`.`m3` AS `m3`,
`vn`.`travel`.`kg` AS `kg`,
`vn`.`travel`.`cargoSupplierFk` AS `cargoSupplierFk`,
`vn`.`travel`.`totalEntries` AS `totalEntries`
FROM `vn`.`travel`

View File

@ -1,11 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`travel_thermograph`
AS SELECT `tt`.`thermographFk` AS `thermograph_id`,
`tt`.`created` AS `odbc_date`,
`tt`.`warehouseFk` AS `warehouse_id`,
`tt`.`travelFk` AS `travel_id`,
`tt`.`temperatureFk` AS `temperature`,
`tt`.`result` AS `result`,
`tt`.`dmsFk` AS `gestdoc_id`
FROM `vn`.`travelThermograph` `tt`

View File

@ -1,5 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_account`
AS SELECT `a`.`id` AS `user_id`
FROM `account`.`account` `a`

View File

@ -1,15 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_analisis_ventas`
AS SELECT `bi`.`analisis_ventas`.`Familia` AS `Familia`,
`bi`.`analisis_ventas`.`Reino` AS `Reino`,
`bi`.`analisis_ventas`.`Comercial` AS `Comercial`,
`bi`.`analisis_ventas`.`Comprador` AS `Comprador`,
`bi`.`analisis_ventas`.`Provincia` AS `Provincia`,
`bi`.`analisis_ventas`.`almacen` AS `almacen`,
`bi`.`analisis_ventas`.`Año` AS `Año`,
`bi`.`analisis_ventas`.`Mes` AS `Mes`,
`bi`.`analisis_ventas`.`Semana` AS `Semana`,
`bi`.`analisis_ventas`.`Vista` AS `Vista`,
`bi`.`analisis_ventas`.`Importe` AS `Importe`
FROM `bi`.`analisis_ventas`

View File

@ -1,21 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_barcodes`
AS SELECT `Articles`.`Id_Article` AS `code`,
`Articles`.`Id_Article` AS `Id_Article`
FROM `vn2008`.`Articles`
UNION ALL
SELECT `barcodes`.`code` AS `code`,
`barcodes`.`Id_Article` AS `Id_Article`
FROM `vn2008`.`barcodes`
UNION ALL
SELECT `c`.`Id_Compra` AS `Id_Compra`,
`c`.`Id_Article` AS `Id_Article`
FROM (
(
`vn2008`.`Compres` `c`
JOIN `vn2008`.`Entradas` `e` ON(`c`.`Id_Entrada` = `e`.`Id_Entrada`)
)
JOIN `vn2008`.`travel` `tr` ON(`tr`.`id` = `e`.`travel_id`)
)
WHERE `tr`.`landing` >= `util`.`VN_CURDATE`() + INTERVAL -15 DAY

View File

@ -1,8 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_departure_limit`
AS SELECT `cache`.`departure_limit`.`warehouse_id` AS `warehouse_id`,
`cache`.`departure_limit`.`fecha` AS `fecha`,
`cache`.`departure_limit`.`hora` AS `hora`,
`cache`.`departure_limit`.`minSpeed` AS `minSpeed`
FROM `cache`.`departure_limit`

View File

@ -1,41 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_descuadre_bionic`
AS SELECT `t`.`Id_Ticket` AS `Id_Ticket`,
`t`.`Alias` AS `Alias`,
`m`.`Concepte` AS `Concepte`,
sum(`mc`.`Valor`) AS `suma_componente`,
`m`.`Preu` AS `Preu`,
`m`.`Descuento` AS `Descuento`,
`m`.`Preu` * (100 - `m`.`Descuento`) / 100 - sum(`mc`.`Valor`) AS `diferencia`,
`t`.`Fecha` AS `Fecha`,
`m`.`Preu` > 0
AND `tp`.`reino_id` <> 6
AND `a`.`tipo_id` NOT IN (7, 115) AS `benvenut`
FROM (
(
(
(
(
(
`vn2008`.`Movimientos` `m`
JOIN `vn2008`.`Tickets` `t` ON(`m`.`Id_Ticket` = `t`.`Id_Ticket`)
)
JOIN `vn2008`.`Clientes` `c` ON(`t`.`Id_Cliente` = `c`.`id_cliente`)
)
JOIN `vn2008`.`warehouse` `w` ON(`w`.`id` = `t`.`warehouse_id`)
)
JOIN `vn2008`.`Articles` `a` ON(`m`.`Id_Article` = `a`.`Id_Article`)
)
JOIN `vn2008`.`Tipos` `tp` ON(`a`.`tipo_id` = `tp`.`tipo_id`)
)
LEFT JOIN `vn2008`.`Movimientos_componentes` `mc` ON(`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`)
)
WHERE `t`.`Fecha` >= '2015-09-01'
AND `t`.`empresa_id` IN (442, 791, 567)
AND `w`.`reserve` <> 0
AND `c`.`real` <> 0
AND `tp`.`reino_id` <> 6
GROUP BY `m`.`Id_Movimiento`
HAVING abs(`diferencia`) > 0.01
OR `diferencia` IS NULL

View File

@ -1,11 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_inter`
AS SELECT `tt`.`id` AS `inter_id`,
`tt`.`stateFk` AS `state_id`,
`tt`.`notes` AS `nota`,
`tt`.`created` AS `odbc_date`,
`tt`.`ticketFk` AS `Id_Ticket`,
`tt`.`userFk` AS `Id_Trabajador`,
`tt`.`supervisorFk` AS `Id_supervisor`
FROM `vn`.`ticketTracking` `tt`

View File

@ -1,23 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_miriam`
AS SELECT `M`.`Id_Article` AS `Id_Article`,
`M`.`Concepte` AS `Concepte`,
`M`.`Cantidad` AS `Cantidad`,
`M`.`Preu` AS `Preu`,
`M`.`Descuento` AS `Descuento`,
`T`.`Fecha` AS `Fecha`,
`T`.`Id_Cliente` AS `Id_Cliente`,
`M`.`Cantidad` * `M`.`Preu` * (100 - `M`.`Descuento`) / 100 AS `Importe`
FROM (
(
(
`vn2008`.`Tickets` `T`
JOIN `vn2008`.`Movimientos` `M` ON(`T`.`Id_Ticket` = `M`.`Id_Ticket`)
)
JOIN `vn2008`.`Articles` `A` ON(`M`.`Id_Article` = `A`.`Id_Article`)
)
JOIN `vn2008`.`Tipos` `TP` ON(`A`.`tipo_id` = `TP`.`tipo_id`)
)
WHERE `T`.`Fecha` >= '2011-01-01'
AND `A`.`tipo_id` = 7

View File

@ -1,35 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_price_fixed`
AS SELECT `pf`.`warehouse_id` AS `warehouse_id`,
`pf`.`item_id` AS `item_id`,
`pf`.`rate_0` AS `rate_0`,
`pf`.`rate_1` AS `rate_1`,
`pf`.`rate_2` AS `rate_2`,
`pf`.`rate_3` AS `rate_3`,
`pf`.`date_start` AS `date_start`,
`pf`.`date_end` AS `date_end`,
`pf`.`bonus` AS `bonus`,
`pf`.`grouping` AS `grouping`,
`pf`.`Packing` AS `Packing`,
`pf`.`caja` AS `caja`
FROM `vn2008`.`price_fixed` `pf`
WHERE `pf`.`warehouse_id` < 1000
UNION ALL
SELECT `wg`.`warehouse_id` AS `warehouse_id`,
`pf`.`item_id` AS `item_id`,
`pf`.`rate_0` AS `rate_0`,
`pf`.`rate_1` AS `rate_1`,
`pf`.`rate_2` AS `rate_2`,
`pf`.`rate_3` AS `rate_3`,
`pf`.`date_start` AS `date_start`,
`pf`.`date_end` AS `date_end`,
`pf`.`bonus` AS `bonus`,
`pf`.`grouping` AS `grouping`,
`pf`.`Packing` AS `Packing`,
`pf`.`caja` AS `caja`
FROM (
`vn2008`.`price_fixed` `pf`
JOIN `vn2008`.`warehouse_group` `wg`
)
WHERE `wg`.`warehouse_alias_id` + 1000 = `pf`.`warehouse_id`

View File

@ -1,20 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_price_fixed_group`
AS SELECT `pf`.`warehouse_id` AS `warehouse_id`,
`pf`.`item_id` AS `item_id`,
`pf`.`rate_0` AS `rate_0`,
`pf`.`rate_1` AS `rate_1`,
`pf`.`rate_2` AS `rate_2`,
`pf`.`rate_3` AS `rate_3`,
`pf`.`date_start` AS `date_start`,
`pf`.`date_end` AS `date_end`,
`pf`.`bonus` AS `bonus`,
`pf`.`grouping` AS `grouping`,
`pf`.`Packing` AS `Packing`,
`pf`.`caja` AS `caja`
FROM `vn2008`.`v_price_fixed` `pf`
GROUP BY `pf`.`warehouse_id`,
`pf`.`item_id`,
`pf`.`date_start`,
`pf`.`date_end`

View File

@ -1,15 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_ticket_amount`
AS SELECT `Movimientos`.`Id_Ticket` AS `Id_Ticket`,
sum(
`Movimientos`.`Cantidad` * `Movimientos`.`Preu` * (100 - `Movimientos`.`Descuento`) / 100
) AS `amount`
FROM (
`vn2008`.`Movimientos`
JOIN `vn2008`.`Tickets` ON(
`Movimientos`.`Id_Ticket` = `Tickets`.`Id_Ticket`
)
)
WHERE `Tickets`.`Fecha` >= `util`.`VN_CURDATE`() + INTERVAL -6 MONTH
GROUP BY `Movimientos`.`Id_Ticket`

View File

@ -1,10 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_warehouse`
AS SELECT `warehouse`.`id` AS `id`,
`warehouse`.`name` AS `almacen`
FROM `vn2008`.`warehouse`
UNION ALL
SELECT 1000 + `warehouse_alias`.`warehouse_alias_id` AS `warehouse_alias_id`,
concat(`warehouse_alias`.`alias`, '(G)') AS `concat(alias, '(G)')`
FROM `vn2008`.`warehouse_alias`

View File

@ -1,12 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_xsubclien`
AS SELECT DISTINCT `Facturas`.`Id_Cliente` AS `Id_Cliente`,
`Facturas`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`Facturas`
WHERE `Facturas`.`Fecha` > `util`.`VN_CURDATE`() + INTERVAL -2 MONTH
UNION
SELECT `Recibos`.`Id_Cliente` AS `Id_Cliente`,
`Recibos`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`Recibos`
WHERE `Recibos`.`Fechacobro` > `util`.`VN_CURDATE`() + INTERVAL -2 MONTH

View File

@ -17,7 +17,7 @@ AS SELECT `Clientes`.`Cuenta` AS `COD`,
`province`.`name` AS `PROVINCIA`,
`Clientes`.`codPostal` AS `CODPOSTAL`,
`p`.`Codigo` AS `country_code`,
`v_xsubclien`.`empresa_id` AS `empresa_id`,
sub.`empresa_id` AS `empresa_id`,
substr(
`Clientes`.`e-mail`,
1,
@ -39,8 +39,18 @@ FROM (
(
(
`vn2008`.`Clientes`
JOIN `vn2008`.`v_xsubclien` ON(
`Clientes`.`id_cliente` = `v_xsubclien`.`Id_Cliente`
JOIN (
SELECT DISTINCT `Facturas`.`Id_Cliente` AS `Id_Cliente`,
`Facturas`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`Facturas`
WHERE `Facturas`.`Fecha` > `util`.`VN_CURDATE`() + INTERVAL -2 MONTH
UNION
SELECT `Recibos`.`Id_Cliente` AS `Id_Cliente`,
`Recibos`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`Recibos`
WHERE `Recibos`.`Fechacobro` > `util`.`VN_CURDATE`() + INTERVAL -2 MONTH
) sub ON(
`Clientes`.`id_cliente` = sub.`Id_Cliente`
)
)
LEFT JOIN `vn2008`.`Paises` `p` ON(`p`.`Id` = `Clientes`.`Id_Pais`)
@ -50,7 +60,7 @@ FROM (
)
)
GROUP BY `Clientes`.`id_cliente`,
`v_xsubclien`.`empresa_id`
sub.`empresa_id`
UNION ALL
SELECT `Proveedores`.`cuenta` AS `Cuenta`,
`Proveedores`.`Proveedor` AS `Proveedor`,
@ -68,7 +78,7 @@ SELECT `Proveedores`.`cuenta` AS `Cuenta`,
`prov`.`name` AS `Provincia`,
`Proveedores`.`codpos` AS `CP`,
`p`.`Codigo` AS `country_code`,
`v_xsubprov`.`empresa_id` AS `empresa_id`,
sub.`empresa_id` AS `empresa_id`,
substr(
`c`.`email`,
1,
@ -80,8 +90,22 @@ FROM (
(
(
`vn2008`.`Proveedores`
JOIN `vn2008`.`v_xsubprov` ON(
`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`
JOIN (
SELECT `recibida`.`proveedor_id` AS `proveedor_id`,
`recibida`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`recibida`
WHERE `recibida`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `recibida`.`proveedor_id`,
`recibida`.`empresa_id`
UNION ALL
SELECT `pago`.`id_proveedor` AS `id_proveedor`,
`pago`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`pago`
WHERE `pago`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `pago`.`id_proveedor`,
`pago`.`empresa_id`
) sub ON(
`Proveedores`.`Id_Proveedor` = sub.`proveedor_id`
)
)
LEFT JOIN `vn2008`.`Paises` `p` ON(`p`.`Id` = `Proveedores`.`pais_id`)
@ -93,8 +117,8 @@ FROM (
LEFT JOIN `vn`.`supplierContact` `c` ON(`c`.`supplierFk` = `Proveedores`.`Id_Proveedor`)
)
WHERE `Proveedores`.`oficial` <> 0
GROUP BY `v_xsubprov`.`proveedor_id`,
`v_xsubprov`.`empresa_id`
GROUP BY sub.`proveedor_id`,
sub.`empresa_id`
UNION ALL
SELECT `Gastos`.`Id_Gasto` COLLATE utf8mb3_unicode_ci AS `Id_Gasto`,
`Gastos`.`Gasto` COLLATE utf8mb3_unicode_ci AS `Gasto`,
@ -136,7 +160,7 @@ SELECT lpad(right(`Proveedores`.`cuenta`, 5), 10, '47510000') AS `Cuenta`,
`prov`.`name` AS `Provincia`,
`Proveedores`.`codpos` AS `CP`,
`p`.`Codigo` AS `country_code`,
`v_xsubprov`.`empresa_id` AS `empresa_id`,
sub.`empresa_id` AS `empresa_id`,
substr(
`c`.`email`,
1,
@ -148,8 +172,22 @@ FROM (
(
(
`vn2008`.`Proveedores`
JOIN `vn2008`.`v_xsubprov` ON(
`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`
JOIN (
SELECT `recibida`.`proveedor_id` AS `proveedor_id`,
`recibida`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`recibida`
WHERE `recibida`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `recibida`.`proveedor_id`,
`recibida`.`empresa_id`
UNION ALL
SELECT `pago`.`id_proveedor` AS `id_proveedor`,
`pago`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`pago`
WHERE `pago`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `pago`.`id_proveedor`,
`pago`.`empresa_id`
) sub ON(
`Proveedores`.`Id_Proveedor` = sub.`proveedor_id`
)
)
LEFT JOIN `vn2008`.`Paises` `p` ON(`p`.`Id` = `Proveedores`.`pais_id`)
@ -165,5 +203,5 @@ WHERE (
OR `Proveedores`.`cuenta` LIKE '_____2____'
)
AND `Proveedores`.`oficial` = 1
GROUP BY `v_xsubprov`.`proveedor_id`,
`v_xsubprov`.`empresa_id`
GROUP BY sub.`proveedor_id`,
sub.`empresa_id`

View File

@ -1,16 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`v_xsubprov`
AS SELECT `recibida`.`proveedor_id` AS `proveedor_id`,
`recibida`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`recibida`
WHERE `recibida`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `recibida`.`proveedor_id`,
`recibida`.`empresa_id`
UNION ALL
SELECT `pago`.`id_proveedor` AS `id_proveedor`,
`pago`.`empresa_id` AS `empresa_id`
FROM `vn2008`.`pago`
WHERE `pago`.`fecha` > `util`.`VN_CURDATE`() + INTERVAL -3 MONTH
GROUP BY `pago`.`id_proveedor`,
`pago`.`empresa_id`

View File

@ -1,8 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`vnCreditClassification`
AS SELECT `vn`.`creditClassification`.`id` AS `id`,
`vn`.`creditClassification`.`client` AS `client`,
`vn`.`creditClassification`.`dateStart` AS `dateStart`,
`vn`.`creditClassification`.`dateEnd` AS `dateEnd`
FROM `vn`.`creditClassification`

View File

@ -1,9 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`vnCreditInsurance`
AS SELECT `vn`.`creditInsurance`.`id` AS `id`,
`vn`.`creditInsurance`.`creditClassification` AS `creditClassification`,
`vn`.`creditInsurance`.`credit` AS `credit`,
`vn`.`creditInsurance`.`creationDate` AS `creationDate`,
`vn`.`creditInsurance`.`grade` AS `grade`
FROM `vn`.`creditInsurance`

View File

@ -1,8 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`vnSolunionCAP`
AS SELECT `vn`.`solunionCAP`.`creditInsurance` AS `creditInsurance`,
`vn`.`solunionCAP`.`dateStart` AS `dateStart`,
`vn`.`solunionCAP`.`dateEnd` AS `dateEnd`,
`vn`.`solunionCAP`.`dateLeaving` AS `dateLeaving`
FROM `vn`.`solunionCAP`

View File

@ -1,6 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`warehouse_alias`
AS SELECT `wa`.`id` AS `warehouse_alias_id`,
`wa`.`name` AS `alias`
FROM `vn`.`warehouseAlias` `wa`

View File

@ -1,7 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`workcenter_holiday`
AS SELECT `wh`.`workCenterFk` AS `workcenter_id`,
`wh`.`days` AS `day`,
`wh`.`year` AS `year`
FROM `vn`.`workCenterHoliday` `wh`

View File

@ -1,19 +0,0 @@
CREATE OR REPLACE DEFINER=`root`@`localhost`
SQL SECURITY DEFINER
VIEW `vn2008`.`zoneNickname`
AS SELECT `ap`.`warehouse_id` AS `warehouse_id`,
`ap`.`agency_id` AS `agency_id`,
`ap`.`zona` AS `zona`,
concat(
'ZONA ',
`ap`.`zona`,
' ',
IF(`ap`.`zona` = 20, 'Madrid', `p`.`name`)
) AS `alias`
FROM (
`vn2008`.`Agencias_province` `ap`
JOIN `vn2008`.`province` `p` ON(`p`.`province_id` = `ap`.`province_id`)
)
GROUP BY `ap`.`zona`,
`ap`.`warehouse_id`,
`ap`.`agency_id`

View File

@ -0,0 +1 @@
ALTER TABLE vn.workerTimeControl ADD device varchar(255) DEFAULT NULL NULL COMMENT 'Dispositivo en el que se ha fichado' AFTER `order`;

View File

@ -0,0 +1 @@
ALTER TABLE vn.workerTimeControl CHANGE direction direction enum('in','out','middle') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT 'middle' NULL AFTER timed;

View File

@ -0,0 +1,6 @@
-- Place your SQL code here
USE vn;
ALTER TABLE vn.item CHANGE packingShelve packingShelve__ int(11) DEFAULT NULL NULL COMMENT '@deprecated 2024-31-01';

View File

@ -0,0 +1,4 @@
REVOKE SELECT, INSERT, UPDATE ON TABLE vn2008.Rutas_Master FROM productionAssi;
REVOKE SELECT ON TABLE vn2008.Rutas_monitor FROM employee;
REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE vn2008.tarifas FROM buyer;
REVOKE SELECT, UPDATE ON TABLE vn2008.tarifas FROM buyerBoss;

View File

@ -0,0 +1 @@
REVOKE SELECT ON TABLE vn2008.Vistas FROM employee;

View File

@ -1,7 +1,7 @@
version: '3.7'
services:
front:
image: registry.verdnatura.es/salix-front:${BRANCH_NAME:?}
image: registry.verdnatura.es/salix-front:${VERSION:?}
build:
context: .
dockerfile: front/Dockerfile
@ -16,7 +16,7 @@ services:
limits:
memory: 1G
back:
image: registry.verdnatura.es/salix-back:${BRANCH_NAME:?}
image: registry.verdnatura.es/salix-back:${VERSION:?}
build: .
ports:
- 3000

View File

@ -333,7 +333,7 @@
"It was not able to remove the next expeditions:": "No se pudo eliminar las siguientes expediciones: {{expeditions}}",
"This claim has been updated": "La reclamación con Id: {{claimId}}, ha sido actualizada",
"This user does not have an assigned tablet": "Este usuario no tiene tablet asignada",
"Incorrect pin": "Pin incorrecto.",
"Incorrect pin": "Pin incorrecto",
"You already have the mailAlias": "Ya tienes este alias de correo",
"The alias cant be modified": "Este alias de correo no puede ser modificado",
"No tickets to invoice": "No hay tickets para facturar"

View File

@ -1,6 +1,6 @@
import './index';
fdescribe('component vnRoleCard', () => {
describe('component vnRoleCard', () => {
let controller;
let $httpBackend;

View File

@ -1,6 +1,6 @@
import './index';
fdescribe('component vnRoleDescriptor', () => {
describe('component vnRoleDescriptor', () => {
let controller;
let $httpBackend;

View File

@ -143,15 +143,12 @@
"isFloramondo": {
"type": "boolean"
},
"packingShelve": {
"type": "number"
},
"isLaid": {
"type": "boolean"
},
"isPhotoRequested": {
"type": "boolean",
"mysql":{
"mysql": {
"columnName": "doPhoto"
}
},

View File

@ -46,6 +46,6 @@ module.exports = Self => {
if (!isSubordinate || (isHimself && !isTeamBoss))
throw new UserError(`You don't have enough privileges`);
return Self.clockIn(workerId, args.timed, args.direction, myOptions);
return Self.clockIn(workerId, args.timed, args.direction, null, myOptions);
};
};

View File

@ -18,7 +18,10 @@ module.exports = Self => {
arg: 'direction',
type: 'string'
},
{
arg: 'device',
type: 'string'
},
],
http: {
path: `/clockIn`,
@ -30,13 +33,19 @@ module.exports = Self => {
}
});
Self.clockIn = async(workerFk, timed, direction, options) => {
Self.clockIn = async(workerFk, timed, direction, device, options) => {
const myOptions = {};
if (typeof options == 'object')
Object.assign(myOptions, options);
const query = 'CALL vn.workerTimeControl_clockIn(?, ?, ?)';
const [[response]] = await Self.rawSql(query, [workerFk, timed, direction], myOptions);
const query = 'CALL vn.workerTimeControl_clockIn(?, ?, ?, ?)';
const [[response]] = await Self.rawSql(query, [
workerFk,
timed,
direction,
(device || null)],
myOptions);
if (response && response.error)
throw new UserError(response.error);

View File

@ -1,7 +1,7 @@
const UserError = require('vn-loopback/util/user-error');
module.exports = Self => {
Self.remoteMethodCtx('login', {
Self.remoteMethod('login', {
description: 'Consult the user\'s information and the buttons that must be activated after logging in',
accessType: 'READ',
accepts: [
@ -21,15 +21,14 @@ module.exports = Self => {
}
});
Self.login = async(ctx, pin, options) => {
Self.login = async(pin, options) => {
const myOptions = {};
const $t = ctx.req.__;
if (typeof options == 'object')
Object.assign(myOptions, options);
const query = `CALL vn.workerTimeControl_login(?)`;
const [[user]] = await Self.rawSql(query, [pin], myOptions);
if (!user) throw new UserError($t('Incorrect pin'));
if (!user) throw new UserError('Incorrect pin');
return user;
};
};

View File

@ -30,7 +30,7 @@ describe('workerTimeControl clockIn()', () => {
try {
const options = {transaction: tx};
await models.WorkerTimeControl.clockIn(workerId, inTime, 'in', options);
await models.WorkerTimeControl.clockIn(workerId, inTime, 'in', 'test', options);
const isClockIn = await models.WorkerTimeControl.findOne({
where: {
userFk: workerId

View File

@ -3,29 +3,15 @@ const LoopBackContext = require('loopback-context');
const UserError = require('vn-loopback/util/user-error');
describe('workerTimeControl login()', () => {
let ctx;
beforeAll(async() => {
ctx = {
accessToken: {userId: 9},
req: {
headers: {origin: 'http://localhost'},
__: key => key
}
};
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
active: ctx
});
});
it('should correctly login', async() => {
const response = await models.WorkerTimeControl.login(ctx, 9);
const response = await models.WorkerTimeControl.login(9);
expect(response.name).toBe('developer');
});
it('should throw UserError if pin is not provided', async() => {
try {
await models.WorkerTimeControl.login(ctx);
await models.WorkerTimeControl.login();
} catch (error) {
expect(error).toBeInstanceOf(UserError);
expect(error.message).toBe('Incorrect pin');

View File

@ -14,13 +14,16 @@
"timed": {
"type": "date"
},
"direction": {
"type": "string"
},
"manual": {
"type": "boolean"
},
"order": {
"type": "number"
},
"direction": {
"device": {
"type": "string"
},
"isSendMail": {

View File

@ -1,6 +1,6 @@
{
"name": "salix-back",
"version": "24.06.01",
"version": "24.6.0",
"author": "Verdnatura Levante SL",
"description": "Salix backend",
"license": "GPL-3.0",
@ -41,7 +41,7 @@
"node-ssh": "^11.0.0",
"object-diff": "0.0.4",
"object.pick": "^1.3.0",
"puppeteer": "^20.3.0",
"puppeteer": "^21.10.0",
"read-chunk": "^3.2.0",
"require-yaml": "0.0.1",
"smbhash": "0.0.1",