6371-limpiezaTablasVn2008Part1 #1964
98
CHANGELOG.md
98
CHANGELOG.md
|
@ -5,73 +5,94 @@ 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/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [2408.01] - 2024-02-22
|
||||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2406.01] - 2024-02-08
|
||||
|
||||
### Added
|
||||
### Changed
|
||||
### Fixed
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2404.01] - 2024-01-25
|
||||
|
||||
### Added
|
||||
### Changed
|
||||
### Fixed
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2402.01] - 2024-01-11
|
||||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2400.01] - 2024-01-04
|
||||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2350.01] - 2023-12-14
|
||||
|
||||
### Características Añadidas 🆕
|
||||
- **Tickets → Expediciones:** Añadido soporte para Viaexpress
|
||||
|
||||
- **Tickets → Expediciones:** Añadido soporte para Viaexpress
|
||||
|
||||
## [2348.01] - 2023-11-30
|
||||
|
||||
### Características Añadidas 🆕
|
||||
|
||||
- **Tickets → Adelantar:** Permite mover lineas sin generar negativos
|
||||
- **Tickets → Adelantar:** Permite modificar la fecha de los tickets
|
||||
- **Trabajadores → Notificaciones:** Nueva sección (lilium)
|
||||
|
||||
### Correcciones 🛠️
|
||||
- **Tickets → RocketChat:** Arreglada detección de cambios
|
||||
|
||||
- **Tickets → RocketChat:** Arreglada detección de cambios
|
||||
|
||||
## [2346.01] - 2023-11-16
|
||||
|
||||
### Added
|
||||
### Changed
|
||||
### Fixed
|
||||
|
||||
### Changed
|
||||
|
||||
### Fixed
|
||||
|
||||
## [2342.01] - 2023-11-02
|
||||
|
||||
### Added
|
||||
- (Usuarios -> Foto) Se muestra la foto del trabajador
|
||||
### Fixed
|
||||
- (Usuarios -> Historial) Abre el descriptor del usuario correctamente
|
||||
|
||||
- (Usuarios -> Foto) Se muestra la foto del trabajador
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Usuarios -> Historial) Abre el descriptor del usuario correctamente
|
||||
|
||||
## [2340.01] - 2023-10-05
|
||||
|
||||
## [2338.01] - 2023-09-21
|
||||
|
||||
### Added
|
||||
|
||||
- (Ticket -> Servicios) Se pueden abonar servicios
|
||||
- (Facturas -> Datos básicos) Muestra valores por defecto
|
||||
- (Facturas -> Borrado) Notificación al borrar un asiento ya enlazado en Sage
|
||||
|
||||
### Changed
|
||||
|
||||
- (Trabajadores -> Calendario) Icono de check arreglado cuando pulsas un tipo de dia
|
||||
|
||||
## [2336.01] - 2023-09-07
|
||||
|
@ -79,41 +100,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## [2334.01] - 2023-08-24
|
||||
|
||||
### Added
|
||||
- (General -> Errores) Botón para enviar cau con los datos del error
|
||||
|
||||
- (General -> Errores) Botón para enviar cau con los datos del error
|
||||
|
||||
## [2332.01] - 2023-08-10
|
||||
|
||||
### Added
|
||||
|
||||
- (Trabajadores -> Gestión documental) Soporte para Docuware
|
||||
- (General -> Agencia) Soporte para Viaexpress
|
||||
- (Tickets -> SMS) Nueva sección en Lilium
|
||||
|
||||
### Changed
|
||||
|
||||
- (General -> Tickets) Devuelve el motivo por el cual no es editable
|
||||
- (Desplegables -> Trabajadores) Mejorados
|
||||
- (General -> Clientes) Razón social y dirección en mayúsculas
|
||||
|
||||
### Fixed
|
||||
- (Clientes -> SMS) Al pasar el ratón por encima muestra el mensaje completo
|
||||
|
||||
- (Clientes -> SMS) Al pasar el ratón por encima muestra el mensaje completo
|
||||
|
||||
## [2330.01] - 2023-07-27
|
||||
|
||||
### Added
|
||||
|
||||
- (Artículos -> Vista Previa) Añadido campo "Plástico reciclado"
|
||||
- (Rutas -> Troncales) Nueva sección
|
||||
- (Tickets -> Opciones) Opción establecer peso
|
||||
- (Clientes -> SMS) Nueva sección
|
||||
|
||||
### Changed
|
||||
|
||||
- (General -> Iconos) Añadidos nuevos iconos
|
||||
- (Clientes -> Razón social) Permite crear clientes con la misma razón social según el país
|
||||
|
||||
|
||||
## [2328.01] - 2023-07-13
|
||||
|
||||
### Added
|
||||
|
||||
- (Clientes -> Morosos) Añadida columna "es trabajador"
|
||||
- (Trabajadores -> Departamentos) Nueva sección
|
||||
- (Trabajadores -> Departamentos) Añadido listado de Trabajadores por departamento
|
||||
|
@ -122,28 +147,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
### Changed
|
||||
|
||||
### Fixed
|
||||
- (Trabajadores -> Departamentos) Arreglado búscador
|
||||
|
||||
- (Trabajadores -> Departamentos) Arreglado búscador
|
||||
|
||||
## [2326.01] - 2023-06-29
|
||||
|
||||
### Added
|
||||
|
||||
- (Entradas -> Correo) Al cambiar el tipo de cambio enviará un correo a las personas designadas
|
||||
- (General -> Históricos) Botón para ver el estado del registro en cada punto
|
||||
- (General -> Históricos) Al filtar por registro se muestra todo el histórial desde que fue creado
|
||||
- (Tickets -> Índice) Permite enviar varios albaranes a Docuware
|
||||
|
||||
### Changed
|
||||
|
||||
- (General -> Históricos) Los registros se muestran agrupados por usuario y entidad
|
||||
- (Facturas -> Facturación global) Optimizada, generación de PDFs y notificaciones en paralelo
|
||||
|
||||
### Fixed
|
||||
|
||||
- (General -> Históricos) Duplicidades eliminadas
|
||||
- (Facturas -> Facturación global) Solucionados fallos que paran el proceso
|
||||
|
||||
## [2324.01] - 2023-06-15
|
||||
|
||||
### Added
|
||||
|
||||
- (Tickets -> Abono) Al abonar permite crear el ticket abono con almacén o sin almmacén
|
||||
- (General -> Desplegables) Mejorada eficiencia de carga de datos
|
||||
- (General -> Históricos) Ahora, ademas de los ids, se muestra la descripión de los atributos
|
||||
|
@ -151,77 +180,84 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- (General -> Históricos) Filtro por cambios
|
||||
|
||||
### Changed
|
||||
|
||||
- (General -> Permisos) Mejorada seguridad
|
||||
- (General -> Históricos) Elementos de la interfaz reorganizados para hacerla más ágil e intuitiva
|
||||
|
||||
### Fixed
|
||||
|
||||
-
|
||||
|
||||
|
||||
|
||||
## [2322.01] - 2023-06-01
|
||||
|
||||
### Added
|
||||
|
||||
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
||||
- (Artículos -> Histórico) Filtro para mostrar lo anterior al inventario
|
||||
- (Trabajadores -> Nuevo trabajador) Permite elegir el método de pago
|
||||
|
||||
### Changed
|
||||
|
||||
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
||||
- (Tickets -> Expediciones) Interfaz mejorada y contador añadido
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Tickets -> Líneas) Se permite hacer split de líneas al mismo ticket
|
||||
- (Tickets -> Cambiar estado) Ahora muestra la lista completa de todos los estados
|
||||
|
||||
|
||||
|
||||
## [2320.01] - 2023-05-25
|
||||
|
||||
### Added
|
||||
|
||||
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
||||
|
||||
|
||||
### Changed
|
||||
|
||||
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
||||
|
||||
### Fixed
|
||||
|
||||
-
|
||||
|
||||
|
||||
|
||||
## [2318.01] - 2023-05-08
|
||||
|
||||
### Added
|
||||
|
||||
- (Usuarios -> Histórico) Nueva sección
|
||||
- (Roles -> Histórico) Nueva sección
|
||||
- (Trabajadores -> Dar de alta) Permite elegir el método de pago
|
||||
|
||||
### Changed
|
||||
|
||||
- (Artículo -> Precio fijado) Modificado el buscador superior por uno lateral
|
||||
- (Trabajadores -> Dar de alta) Quitada obligatoriedad del iban
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Ticket -> Boxing) Arreglado selección de horas
|
||||
- (Cesta -> Índice) Optimizada búsqueda
|
||||
|
||||
|
||||
|
||||
## [2314.01] - 2023-04-20
|
||||
|
||||
### Added
|
||||
|
||||
- (Clientes -> Morosos) Ahora se puede filtrar por las columnas "Desde" y "Fecha Ú. O.". También se envia un email al comercial cuando se añade una nota.
|
||||
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
||||
- (Facturas recibidas -> Bases negativas) Nueva sección
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Clientes -> Morosos) Ahora se mantienen los elementos seleccionados al hacer sroll.
|
||||
|
||||
## [2312.01] - 2023-04-06
|
||||
|
||||
### Added
|
||||
|
||||
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
||||
|
||||
### Changed
|
||||
|
||||
- (Monitor tickets) Cuando se filtra por 'Pendiente' ya no muestra los estados de 'Previa'
|
||||
- (Envíos -> Extra comunitarios) Se agrupan las entradas del mismo travel. Añadidos campos Referencia y Importe.
|
||||
- (Envíos -> Índice) Cambiado el buscador superior por uno lateral
|
||||
|
@ -229,33 +265,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## [2310.01] - 2023-03-23
|
||||
|
||||
### Added
|
||||
|
||||
- (Trabajadores -> Control de horario) Ahora se puede confirmar/no confirmar el registro horario de cada semana desde esta sección
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Clientes -> Listado extendido) Resuelto error al filtrar por clientes inactivos desde la columna "Activo"
|
||||
- (General) Al pasar el ratón por encima del icono de "Borrar" en un campo, se hacía más grande afectando a la interfaz
|
||||
|
||||
## [2308.01] - 2023-03-09
|
||||
|
||||
### Added
|
||||
|
||||
- (Proveedores -> Datos fiscales) Añadido checkbox 'Vies'
|
||||
- (Client -> Descriptor) Nuevo icono $ con barrotes para los clientes con impago
|
||||
- (Trabajador -> Datos Básicos) Añadido nuevo campo Taquilla
|
||||
- (Trabajador -> PDA) Nueva sección
|
||||
|
||||
### Changed
|
||||
|
||||
- (Ticket -> Borrar ticket) Restringido el borrado de tickets con abono
|
||||
|
||||
## [2306.01] - 2023-02-23
|
||||
|
||||
### Added
|
||||
|
||||
- (Tickets -> Datos Básicos) Mensaje de confirmación al intentar generar tickets con negativos
|
||||
- (Artículos) El visible y disponible se calcula a partir de un almacén diferente dependiendo de la sección en la que te encuentres. Se ha añadido un icono que informa sobre a partir de que almacén se esta calculando.
|
||||
|
||||
### Changed
|
||||
|
||||
- (General -> Inicio) Ahora permite recuperar la contraseña tanto con el correo de recuperación como el usuario
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Monitor de tickets) Cuando ordenas por columna, ya no se queda deshabilitado el botón de 'Actualizar'
|
||||
- (Zone -> Días de entrega) Al hacer click en un día, muestra correctamente las zonas
|
||||
- (Artículos) El disponible en la vista previa se muestra correctamente
|
||||
|
@ -263,12 +306,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## [2304.01] - 2023-02-09
|
||||
|
||||
### Added
|
||||
|
||||
- (Rutas) Al descargar varias facturas se comprime en un zip
|
||||
- (Trabajadores -> Nuevo trabajador) Nueva sección
|
||||
- (Tickets -> Adelantar tickets) Añadidos campos "líneas" y "litros" al ticket origen
|
||||
- (Tickets -> Adelantar tickets) Nuevo icono muestra cuando las agencias de los tickets origen/destino son distintas
|
||||
|
||||
### Changed
|
||||
|
||||
- (Entradas -> Compras) Cambiados los campos "Precio Grouping/Packing" por "PVP" y "Precio" por "Coste"
|
||||
- (Artículos -> Últimas entradas) Cambiados los campos "P.P.U." y "P.P.P." por "PVP"
|
||||
- (Rutas -> Sumario/Tickets) Actualizados campos de los tickets
|
||||
|
@ -277,6 +322,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- (Tickets -> Adelantar tickets) Cambiado stock de destino a origen.
|
||||
|
||||
### Fixed
|
||||
|
||||
- (Artículos -> Etiquetas) Permite intercambiar la relevancia entre dos etiquetas.
|
||||
- (Cliente -> Datos Fiscales) No se permite seleccionar 'Notificar vía e-mail' a los clientes sin e-mail
|
||||
- (Tickets -> Datos básicos) Permite guardar la hora de envío
|
||||
|
@ -287,17 +333,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## [2302.01] - 2023-01-26
|
||||
|
||||
### Added
|
||||
|
||||
- (General -> Inicio) Permite recuperar la contraseña
|
||||
- (Tickets -> Opciones) Subir albarán a Docuware
|
||||
- (Tickets -> Opciones) Enviar correo con PDF de Docuware
|
||||
- (Artículos -> Datos Básicos) Añadido campo Unidades/Caja
|
||||
|
||||
### Changed
|
||||
|
||||
- (Reclamaciones -> Descriptor) Cambiado el campo Agencia por Zona
|
||||
- (Tickets -> Líneas preparadas) Actualizada sección para que sea más visual
|
||||
|
||||
### Fixed
|
||||
|
||||
- (General) Al utilizar el traductor de Google se descuadraban los iconos
|
||||
|
||||
### Removed
|
||||
|
||||
- (Tickets -> Control clientes) Eliminada sección
|
||||
|
|
|
@ -4,30 +4,8 @@ def PROTECTED_BRANCH
|
|||
def FROM_GIT
|
||||
def RUN_TESTS
|
||||
|
||||
pipeline {
|
||||
agent any
|
||||
options {
|
||||
disableConcurrentBuilds()
|
||||
}
|
||||
environment {
|
||||
PROJECT_NAME = 'salix'
|
||||
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
|
||||
}
|
||||
tools {
|
||||
nodejs 'node-v20'
|
||||
}
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
script {
|
||||
// Uncomment to enable debugging
|
||||
//env.DEBUG = 'strong-remoting:http-context,strong-remoting:shared-method'
|
||||
|
||||
pre: {
|
||||
switch (env.BRANCH_NAME) {
|
||||
case 'dev':
|
||||
env.NODE_ENV = 'dev'
|
||||
env.BACK_REPLICAS = 1
|
||||
break
|
||||
case 'test':
|
||||
env.NODE_ENV = 'test'
|
||||
env.BACK_REPLICAS = 2
|
||||
|
@ -36,8 +14,26 @@ pipeline {
|
|||
env.NODE_ENV = 'production'
|
||||
env.BACK_REPLICAS = 4
|
||||
break
|
||||
default:
|
||||
env.NODE_ENV = 'dev'
|
||||
env.BACK_REPLICAS = 1
|
||||
}
|
||||
|
||||
PROTECTED_BRANCH = [
|
||||
'dev',
|
||||
'test',
|
||||
'master'
|
||||
].contains(env.BRANCH_NAME)
|
||||
|
||||
FROM_GIT = env.JOB_NAME.startsWith('gitea/')
|
||||
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
|
||||
|
||||
// Uncomment to enable debugging
|
||||
// https://loopback.io/doc/en/lb3/Setting-debug-strings.html#debug-strings-reference
|
||||
//env.DEBUG = 'strong-remoting:shared-method'
|
||||
}
|
||||
node {
|
||||
stage('Setup') {
|
||||
def packageJson = readJSON file: 'package.json'
|
||||
env.VERSION = packageJson.version
|
||||
|
||||
|
@ -46,18 +42,22 @@ pipeline {
|
|||
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()
|
||||
}
|
||||
}
|
||||
pipeline {
|
||||
agent any
|
||||
options {
|
||||
disableConcurrentBuilds()
|
||||
}
|
||||
tools {
|
||||
nodejs 'node-v20'
|
||||
}
|
||||
environment {
|
||||
PROJECT_NAME = 'salix'
|
||||
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
|
||||
}
|
||||
stages {
|
||||
stage('Install') {
|
||||
environment {
|
||||
NODE_ENV = ""
|
||||
|
@ -70,7 +70,7 @@ pipeline {
|
|||
}
|
||||
stage('Frontend') {
|
||||
when {
|
||||
expression { return FROM_GIT }
|
||||
expression { FROM_GIT }
|
||||
}
|
||||
steps {
|
||||
sh 'npm install --no-audit --prefer-offline --prefix=front'
|
||||
|
@ -78,7 +78,7 @@ pipeline {
|
|||
}
|
||||
stage('Print') {
|
||||
when {
|
||||
expression { return FROM_GIT }
|
||||
expression { FROM_GIT }
|
||||
}
|
||||
steps {
|
||||
sh 'npm install --no-audit --prefer-offline --prefix=print'
|
||||
|
@ -88,7 +88,7 @@ pipeline {
|
|||
}
|
||||
stage('Test') {
|
||||
when {
|
||||
expression { return RUN_TESTS }
|
||||
expression { RUN_TESTS }
|
||||
}
|
||||
environment {
|
||||
NODE_ENV = ""
|
||||
|
@ -109,7 +109,7 @@ pipeline {
|
|||
}
|
||||
stage('Build') {
|
||||
when {
|
||||
expression { return PROTECTED_BRANCH && FROM_GIT }
|
||||
expression { PROTECTED_BRANCH && FROM_GIT }
|
||||
}
|
||||
environment {
|
||||
CREDENTIALS = credentials('docker-registry')
|
||||
|
@ -121,7 +121,7 @@ pipeline {
|
|||
}
|
||||
stage('Deploy') {
|
||||
when {
|
||||
expression { return PROTECTED_BRANCH }
|
||||
expression { PROTECTED_BRANCH }
|
||||
}
|
||||
parallel {
|
||||
stage('Database') {
|
||||
|
@ -139,7 +139,7 @@ pipeline {
|
|||
}
|
||||
stage('Docker') {
|
||||
when {
|
||||
expression { return FROM_GIT }
|
||||
expression { FROM_GIT }
|
||||
}
|
||||
environment {
|
||||
DOCKER_HOST = "${env.SWARM_HOST}"
|
||||
|
|
|
@ -47,7 +47,7 @@ BEGIN
|
|||
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
|
||||
LEFT JOIN vn.warehouse w ON w.id = t.warehouse_id
|
||||
WHERE bt.fecha >= vLastMonth AND r.mercancia;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -2,7 +2,7 @@ DELIMITER $$
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `edi`.`ekt_scan`(vBarcode VARCHAR(512))
|
||||
BEGIN
|
||||
/**
|
||||
* Busca transaciones a partir de un código de barras, las marca como escaneadas
|
||||
* Busca transaciones a partir de un codigo de barras, las marca como escaneadas
|
||||
* y las devuelve.
|
||||
* Ver https://wiki.verdnatura.es/index.php/Ekt#Algoritmos_de_lectura
|
||||
*
|
||||
|
@ -73,7 +73,7 @@ BEGIN
|
|||
INSERT INTO tmp.ekt
|
||||
SELECT id
|
||||
FROM ekt
|
||||
WHERE fec = vFec
|
||||
WHERE fec >= vFec - INTERVAL 1 DAY
|
||||
AND ((
|
||||
vKlo = vDefaultKlo
|
||||
AND (klo = vKlo OR klo IS NULL OR klo = 0)
|
||||
|
@ -82,7 +82,7 @@ BEGIN
|
|||
AND auction = vAuction
|
||||
AND agj = vShortAgj)
|
||||
)
|
||||
ORDER BY agj DESC
|
||||
ORDER BY agj DESC, fec DESC
|
||||
LIMIT 1;
|
||||
|
||||
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
|
||||
|
|
|
@ -74,6 +74,8 @@ BEGIN
|
|||
WHERE b.id = vSelf;
|
||||
|
||||
END IF;
|
||||
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||
SELECT vSelf id;
|
||||
CALL buy_checkItem();
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`buy_checkItem`()
|
||||
BEGIN
|
||||
/**
|
||||
* Checks if the item has weightByPiece or size null on any buy.
|
||||
*
|
||||
* @param tmp.buysToCheck(id as INT).
|
||||
*/
|
||||
DECLARE hasVolumetricAgency INT;
|
||||
|
||||
SELECT a.hasWeightVolumetric INTO hasVolumetricAgency
|
||||
FROM entry e
|
||||
JOIN travel t ON t.id = e.travelFk
|
||||
JOIN agencyMode a ON a.id = t.agencyModeFk
|
||||
JOIN buy b ON b.entryFk = e.id
|
||||
JOIN item i ON i.id = b.itemFk
|
||||
JOIN tmp.buysToCheck bt ON bt.id = b.id
|
||||
WHERE (i.weightByPiece IS NULL OR i.`size` IS NULL)
|
||||
AND a.hasWeightVolumetric
|
||||
LIMIT 1;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.buysToCheck;
|
||||
|
||||
IF hasVolumetricAgency THEN
|
||||
CALL util.throw('Some purchase line has an item without size or weight per stem in the volumetric agency.');
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -88,6 +88,7 @@ BEGIN
|
|||
FROM vn.expeditionTruck
|
||||
WHERE eta < v3Month;
|
||||
|
||||
DELETE FROM XDiario WHERE FECHA < v3Month OR FECHA IS NULL;
|
||||
-- borrar travels sin entradas
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.thermographToDelete;
|
||||
CREATE TEMPORARY TABLE tmp.thermographToDelete
|
||||
|
|
|
@ -44,7 +44,7 @@ BEGIN
|
|||
|
||||
IF vCounter > 0 OR vASIEN > 0 THEN
|
||||
|
||||
UPDATE vn2008.XDiario x
|
||||
UPDATE vn.XDiario x
|
||||
JOIN vn.ledgerConfig lc ON lc.lastBookEntry = x.ASIEN
|
||||
SET x.ASIEN = vASIEN;
|
||||
|
||||
|
|
|
@ -21,11 +21,8 @@ BEGIN
|
|||
DECLARE vAgencyModeFk INT;
|
||||
DECLARE vNewPrice DECIMAL(10,2);
|
||||
DECLARE vOldPrice DECIMAL(10,2);
|
||||
DECLARE vOption INT DEFAULT NULL;
|
||||
DECLARE vOption VARCHAR(255);
|
||||
DECLARE vNewSaleFk INT;
|
||||
DECLARE vChangePrice INT DEFAULT 1;
|
||||
DECLARE vBuyerDiscount INT DEFAULT 4;
|
||||
DECLARE vManaDiscount INT DEFAULT 3;
|
||||
DECLARE vForceToGrouping INT DEFAULT 1;
|
||||
DECLARE vForceToPacking INT DEFAULT 2;
|
||||
DECLARE vFinalPrice DECIMAL(10,2);
|
||||
|
@ -85,16 +82,13 @@ BEGIN
|
|||
IF vNewPrice IS NULL THEN
|
||||
CALL util.throw('price retrieval failed');
|
||||
END IF;
|
||||
|
||||
IF vNewPrice > vOldPrice THEN
|
||||
SET vFinalPrice = vOldPrice;
|
||||
IF worker_isInDepartment('vt') THEN
|
||||
SET vOption = vManaDiscount;
|
||||
ELSE
|
||||
SET vOption = vBuyerDiscount;
|
||||
END IF;
|
||||
SET vOption = 'substitution';
|
||||
ELSE
|
||||
SET vFinalPrice = vNewPrice;
|
||||
SET vOption = vChangePrice;
|
||||
SET vOption = 'renewPrices';
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
|
|
|
@ -31,8 +31,8 @@ BEGIN
|
|||
CALL util.throw('ASSIGN_ZONE_FIRST');
|
||||
END IF;
|
||||
|
||||
SET vCanChangeState = (
|
||||
vStateCode <> 'ON_CHECKING' OR
|
||||
SET vCanChangeState = ((
|
||||
vStateCode <> 'ON_CHECKING' AND vStateCode <> 'CHECKED') OR
|
||||
vticketAlertLevel < vPackedAlertLevel
|
||||
)AND NOT (
|
||||
vTicketStateCode IN ('CHECKED', 'CHECKING')
|
||||
|
@ -51,5 +51,6 @@ BEGIN
|
|||
ELSE
|
||||
CALL util.throw('INCORRECT_TICKET_STATE');
|
||||
END IF;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -64,5 +64,12 @@ trig:BEGIN
|
|||
IF NEW.quantity < 0 THEN
|
||||
SET NEW.isIgnored = TRUE;
|
||||
END IF;
|
||||
|
||||
IF NOT (NEW.itemFk <=> OLD.itemFk) OR
|
||||
NOT (OLD.entryFk <=> NEW.entryFk) THEN
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||
SELECT NEW.id;
|
||||
CALL buy_checkItem();
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -13,5 +13,15 @@ BEGIN
|
|||
CALL travel_requestRecalc(OLD.travelFk);
|
||||
CALL travel_requestRecalc(NEW.travelFk);
|
||||
END IF;
|
||||
|
||||
|
||||
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||
SELECT b.id
|
||||
FROM buy b
|
||||
WHERE b.entryFk = NEW.id;
|
||||
|
||||
CALL buy_checkItem();
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -10,5 +10,18 @@ BEGIN
|
|||
SET commission = entry_getCommission(travelFk, currencyFk,supplierFk)
|
||||
WHERE travelFk = NEW.id;
|
||||
END IF;
|
||||
|
||||
IF NOT (NEW.agencyModeFk <=> OLD.agencyModeFk) THEN
|
||||
IF (SELECT hasWeightVolumetric FROM agencyMode WHERE id = NEW.agencyModeFk) THEN
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||
SELECT b.id
|
||||
FROM entry e
|
||||
JOIN buy b ON b.entryFk = e.id
|
||||
JOIN item i ON i.id = b.itemFk
|
||||
WHERE e.travelFk = NEW.id;
|
||||
|
||||
CALL buy_checkItem();
|
||||
END IF;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -4,15 +4,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_beforeUpdate`
|
|||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.editorFk = account.myUser_getId();
|
||||
/*
|
||||
IF ((NOT NEW.shipped <=> OLD.shipped )
|
||||
OR (NOT NEW.landed <=> OLD.landed )
|
||||
OR (NOT NEW.warehouseInFk <=> OLD.warehouseInFk )
|
||||
OR (NOT NEW.warehouseOutFk <=> OLD.warehouseOutFk ))
|
||||
AND (OLD.totalEntries AND OLD.landed < CURDATE()) THEN
|
||||
CALL util.throw("Cannot past travels with entries");
|
||||
END IF;
|
||||
*/
|
||||
|
||||
IF NOT (NEW.landed <=> OLD.landed)
|
||||
OR NOT (NEW.shipped <=> OLD.shipped) THEN
|
||||
CALL travel_checkDates(NEW.shipped, NEW.landed);
|
||||
|
|
|
@ -38,7 +38,7 @@ FROM (
|
|||
)
|
||||
JOIN `vn`.`agencyMode` `am` ON(`am`.`id` = `t`.`agencyModeFk`)
|
||||
)
|
||||
JOIN `vn`.`ticketStateToday` `tst` ON(`tst`.`ticketFk` = `t`.`id`)
|
||||
JOIN `vn`.`ticketStateToday` `tst` ON(`tst`.`ticket` = `t`.`id`)
|
||||
)
|
||||
JOIN `vn`.`state` `st` ON(`st`.`id` = `tst`.`state`)
|
||||
)
|
||||
|
|
|
@ -7,19 +7,19 @@ BEGIN
|
|||
group_concat(CONCAT(' Asiento: ', ASIEN, '- importe:', quadre) SEPARATOR ' \r\n ')
|
||||
FROM (
|
||||
SELECT ASIEN, SUM(IFNULL(ROUND(Eurodebe,2),0))- SUM(IFNULL(ROUND(EUROHABER,2),0)) quadre
|
||||
FROM XDiario
|
||||
FROM vn.XDiario
|
||||
WHERE enlazado = FALSE
|
||||
GROUP BY ASIEN
|
||||
HAVING ABS(SUM(IFNULL(ROUND(Eurodebe,2),0))- SUM(IFNULL(ROUND(EUROHABER,2),0))) > 0.01
|
||||
) t
|
||||
HAVING count(*) > 0;
|
||||
|
||||
UPDATE XDiario XD
|
||||
UPDATE vn.XDiario XD
|
||||
INNER JOIN(
|
||||
SELECT XD.id, SUBCTA, Quadre FROM XDiario XD
|
||||
SELECT XD.id, SUBCTA, Quadre FROM vn.XDiario XD
|
||||
INNER JOIN (
|
||||
SELECT ASIEN, SUM(IFNULL(ROUND(Eurodebe,2),0))- SUM(IFNULL(ROUND(EUROHABER,2),0)) as Quadre
|
||||
FROM XDiario
|
||||
FROM vn.XDiario
|
||||
WHERE enlazado = FALSE
|
||||
GROUP BY ASIEN
|
||||
HAVING Quadre != 0
|
||||
|
|
|
@ -23,7 +23,6 @@ proc: BEGIN
|
|||
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 Movimientos_mark WHERE odbc_date < vDate;
|
||||
|
|
|
@ -25,7 +25,7 @@ BEGIN
|
|||
FROM Clientes
|
||||
WHERE Id_Cliente = idCLI;
|
||||
CALL vn.ledger_next(max_asien);
|
||||
INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id)
|
||||
INSERT INTO vn.XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id)
|
||||
SELECT max_asien,datFEC,SUBCTA,CONTRA,strCONCEPTO,EURODEBE,EUROHABER,idEMP
|
||||
FROM(SELECT cuenta_banco SUBCTA, cuenta_cliente CONTRA, 0 EURODEBE, dblIMPORTE EUROHABER
|
||||
UNION ALL
|
||||
|
|
|
@ -31,7 +31,7 @@ BEGIN
|
|||
stock.available
|
||||
FROM vn2008.Tickets t
|
||||
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
||||
JOIN vn2008.warehouse wh ON wh.id = t.warehouse_id
|
||||
JOIN vn.warehouse wh ON wh.id = t.warehouse_id
|
||||
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket
|
||||
JOIN vn2008.Articles i ON i.Id_Article = m.Id_Article
|
||||
JOIN vn2008.Tipos tp ON tp.tipo_id = i.tipo_id
|
||||
|
@ -88,8 +88,8 @@ BEGIN
|
|||
FROM vn2008.Compres c
|
||||
JOIN vn2008.Entradas e ON e.Id_Entrada = c.Id_Entrada
|
||||
JOIN vn2008.travel tr ON tr.id = e.travel_id
|
||||
JOIN vn2008.warehouse whi ON whi.id = tr.warehouse_id
|
||||
JOIN vn2008.warehouse who ON who.id = tr.warehouse_id_out
|
||||
JOIN vn.warehouse whi ON whi.id = tr.warehouse_id
|
||||
JOIN vn.warehouse who ON who.id = tr.warehouse_id_out
|
||||
JOIN vn2008.Articles a ON a.Id_Article = c.Id_Article
|
||||
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
|
||||
JOIN vn.confectionType ct ON ct.id = tp.confeccion
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`Vehiculos`
|
||||
AS SELECT `v`.`id` AS `Id_Vehiculo`,
|
||||
`v`.`numberPlate` AS `Matricula`,
|
||||
`v`.`tradeMark` AS `Marca`,
|
||||
`v`.`model` AS `Modelo`,
|
||||
`v`.`companyFk` AS `empresa_id`,
|
||||
`v`.`warehouseFk` AS `warehouseFk`,
|
||||
`v`.`description` AS `description`,
|
||||
`v`.`m3` AS `m3`,
|
||||
`v`.`isActive` AS `active`,
|
||||
`v`.`deliveryPointFk` AS `deliveryPointFk`
|
||||
FROM `vn`.`vehicle` `v`
|
|
@ -1,56 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`XDiario`
|
||||
AS SELECT `d`.`id` AS `id`,
|
||||
`d`.`ASIEN` AS `ASIEN`,
|
||||
`d`.`FECHA` AS `FECHA`,
|
||||
`d`.`SUBCTA` AS `SUBCTA`,
|
||||
`d`.`CONTRA` AS `CONTRA`,
|
||||
`d`.`CONCEPTO` AS `CONCEPTO`,
|
||||
`d`.`EURODEBE` AS `EURODEBE`,
|
||||
`d`.`EUROHABER` AS `EUROHABER`,
|
||||
`d`.`BASEEURO` AS `BASEEURO`,
|
||||
`d`.`SERIE` AS `SERIE`,
|
||||
`d`.`FACTURA` AS `FACTURA`,
|
||||
`d`.`IVA` AS `IVA`,
|
||||
`d`.`RECEQUIV` AS `RECEQUIV`,
|
||||
`d`.`CLAVE` AS `CLAVE`,
|
||||
`d`.`CAMBIO` AS `CAMBIO`,
|
||||
`d`.`DEBEME` AS `DEBEME`,
|
||||
`d`.`HABERME` AS `HABERME`,
|
||||
`d`.`AUXILIAR` AS `AUXILIAR`,
|
||||
`d`.`MONEDAUSO` AS `MONEDAUSO`,
|
||||
`d`.`TIPOOPE` AS `TIPOOPE`,
|
||||
`d`.`NFACTICK` AS `NFACTICK`,
|
||||
`d`.`TERIDNIF` AS `TERIDNIF`,
|
||||
`d`.`TERNIF` AS `TERNIF`,
|
||||
`d`.`TERNOM` AS `TERNOM`,
|
||||
`d`.`OPBIENES` AS `OPBIENES`,
|
||||
`d`.`L340` AS `L340`,
|
||||
`d`.`enlazado` AS `enlazado`,
|
||||
`d`.`FECHA_EX` AS `FECHA_EX`,
|
||||
`d`.`LRECT349` AS `LRECT349`,
|
||||
`d`.`empresa_id` AS `empresa_id`,
|
||||
`d`.`LDIFADUAN` AS `LDIFADUAN`,
|
||||
`d`.`METAL` AS `METAL`,
|
||||
`d`.`METALIMP` AS `METALIMP`,
|
||||
`d`.`CLIENTE` AS `CLIENTE`,
|
||||
`d`.`METALEJE` AS `METALEJE`,
|
||||
`d`.`FECHA_OP` AS `FECHA_OP`,
|
||||
`d`.`FACTURAEX` AS `FACTURAEX`,
|
||||
`d`.`TIPOCLAVE` AS `TIPOCLAVE`,
|
||||
`d`.`TIPOEXENCI` AS `TIPOEXENCI`,
|
||||
`d`.`TIPONOSUJE` AS `TIPONOSUJE`,
|
||||
`d`.`TIPOFACT` AS `TIPOFACT`,
|
||||
`d`.`TIPORECTIF` AS `TIPORECTIF`,
|
||||
`d`.`SERIE_RT` AS `SERIE_RT`,
|
||||
`d`.`FACTU_RT` AS `FACTU_RT`,
|
||||
`d`.`BASEIMP_RT` AS `BASEIMP_RT`,
|
||||
`d`.`BASEIMP_RF` AS `BASEIMP_RF`,
|
||||
`d`.`RECTIFICA` AS `RECTIFICA`,
|
||||
`d`.`FECHA_RT` AS `FECHA_RT`,
|
||||
`d`.`created` AS `created`,
|
||||
`d`.`updated` AS `updated`,
|
||||
`d`.`FECREGCON` AS `FECREGCON`,
|
||||
`d`.`enlazadoSage` AS `enlazadoSage`
|
||||
FROM `vn`.`XDiario` `d`
|
|
@ -53,7 +53,7 @@ AS SELECT `TP`.`Id_Tipo` AS `Familia`,
|
|||
`A`.`Color` AS `Color`,
|
||||
`A`.`Min` AS `Min`,
|
||||
`C`.`Costefijo` + `C`.`Embalajefijo` + `C`.`Comisionfija` + `C`.`Portefijo` AS `Coste`,
|
||||
`W_OUT`.`fuente` AS `fuente`,
|
||||
`W_OUT`.`isFeedStock` AS `fuente`,
|
||||
IF(
|
||||
`cb`.`Volumen` > 0,
|
||||
`cb`.`Volumen`,
|
||||
|
@ -73,9 +73,9 @@ FROM (
|
|||
)
|
||||
JOIN `vn2008`.`travel` `TR` ON(`TR`.`id` = `E`.`travel_id`)
|
||||
)
|
||||
JOIN `vn2008`.`warehouse` `W_IN` ON(`W_IN`.`id` = `TR`.`warehouse_id`)
|
||||
JOIN `vn`.`warehouse` `W_IN` ON(`W_IN`.`id` = `TR`.`warehouse_id`)
|
||||
)
|
||||
JOIN `vn2008`.`warehouse` `W_OUT` ON(`W_OUT`.`id` = `TR`.`warehouse_id_out`)
|
||||
JOIN `vn`.`warehouse` `W_OUT` ON(`W_OUT`.`id` = `TR`.`warehouse_id_out`)
|
||||
)
|
||||
JOIN `vn2008`.`Articles` `A` ON(`C`.`Id_Article` = `A`.`Id_Article`)
|
||||
)
|
||||
|
@ -85,6 +85,6 @@ FROM (
|
|||
)
|
||||
JOIN `vn2008`.`Cubos` `cb` ON(`cb`.`Id_Cubo` = `C`.`Id_Cubo`)
|
||||
)
|
||||
WHERE `W_IN`.`fuente` = 0
|
||||
WHERE `W_IN`.`isFeedStock` = 0
|
||||
AND `E`.`Inventario` = 0
|
||||
AND `E`.`Redada` = 0
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`v_ventes`
|
||||
AS SELECT `Agencias`.`Agencia` AS `Agencia`,
|
||||
`A`.`Categoria` AS `Categoria`,
|
||||
`A`.`tipo_id` AS `tipo_id`,
|
||||
`A`.`Medida` AS `Medida`,
|
||||
`A`.`Article` AS `Article`,
|
||||
`A`.`Color` AS `Color`,
|
||||
`CS`.`Id_cliente` AS `Id_Cliente`,
|
||||
`TP`.`Id_Tipo` AS `Tipo`,
|
||||
`T`.`Factura` AS `Factura`,
|
||||
`T`.`warehouse_id` AS `warehouse_id`,
|
||||
`M`.`Id_Movimiento` AS `Id_Movimiento`,
|
||||
`M`.`Id_Article` AS `Id_Article`,
|
||||
`TP`.`Id_Tipo` AS `Familia`,
|
||||
`M`.`Id_Ticket` AS `Id_Ticket`,
|
||||
`M`.`Concepte` AS `Concepte`,
|
||||
`M`.`Cantidad` AS `Cantidad`,
|
||||
`M`.`quantity` AS `quantity`,
|
||||
`M`.`Preu` AS `Preu`,
|
||||
`M`.`Descuento` AS `Descuento`,
|
||||
IF(
|
||||
`T`.`Fecha` >= '2015-10-01',
|
||||
`M`.`CostFixat`,
|
||||
`M`.`Preu` * (100 - `M`.`Descuento`) / 100
|
||||
) AS `CostFixat`,
|
||||
`M`.`Reservado` AS `Reservado`,
|
||||
`M`.`OK` AS `OK`,
|
||||
`M`.`PrecioFijado` AS `PrecioFijado`,
|
||||
`M`.`odbc_date` AS `odbc_date`,
|
||||
cast(`T`.`Fecha` AS date) AS `Fecha`,
|
||||
`T`.`Fecha` AS `FechaCompleta`,
|
||||
`CS`.`consignatario` AS `Alias`,
|
||||
`T`.`Id_Consigna` AS `Id_Consigna`,
|
||||
`M`.`Cantidad` * `M`.`Preu` * (100 - `M`.`Descuento`) / 100 AS `Importe`,
|
||||
`O`.`Origen` AS `Origen`,
|
||||
`TP`.`reino_id` AS `reino_id`,
|
||||
`C`.`invoice` AS `invoice`,
|
||||
`A`.`producer_id` AS `producer_id`
|
||||
FROM (
|
||||
(
|
||||
(
|
||||
(
|
||||
(
|
||||
(
|
||||
(
|
||||
(
|
||||
`vn2008`.`Movimientos` `M`
|
||||
JOIN `vn2008`.`Tickets` `T` ON(`M`.`Id_Ticket` = `T`.`Id_Ticket`)
|
||||
)
|
||||
JOIN `vn2008`.`Consignatarios` `CS` ON(`CS`.`id_consigna` = `T`.`Id_Consigna`)
|
||||
)
|
||||
JOIN `vn2008`.`Clientes` `C` ON(`CS`.`Id_cliente` = `C`.`id_cliente`)
|
||||
)
|
||||
JOIN `vn2008`.`Articles` `A` ON(`M`.`Id_Article` = `A`.`Id_Article`)
|
||||
)
|
||||
JOIN `vn2008`.`Origen` `O` ON(`O`.`id` = `A`.`id_origen`)
|
||||
)
|
||||
JOIN `vn2008`.`Tipos` `TP` ON(`A`.`tipo_id` = `TP`.`tipo_id`)
|
||||
)
|
||||
JOIN `vn2008`.`reinos` `r` ON(`TP`.`reino_id` = `r`.`id`)
|
||||
)
|
||||
JOIN `vn2008`.`Agencias` ON(`Agencias`.`Id_Agencia` = `T`.`Id_Agencia`)
|
||||
)
|
||||
WHERE `T`.`Fecha` >= '2013-01-01'
|
||||
AND `C`.`real` > 0
|
||||
AND `r`.`id` <> 6
|
|
@ -1,207 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`v_xsubcuentas`
|
||||
AS SELECT `Clientes`.`Cuenta` AS `COD`,
|
||||
`Clientes`.`razonSocial` AS `TITULO`,
|
||||
concat(
|
||||
IF(
|
||||
`p`.`CEE` = 1
|
||||
AND ascii(left(`Clientes`.`if`, 1)) < 58,
|
||||
`p`.`Codigo`,
|
||||
''
|
||||
),
|
||||
`Clientes`.`if`
|
||||
) AS `NIF`,
|
||||
`Clientes`.`domicilio` AS `DOMICILIO`,
|
||||
`Clientes`.`poblacion` AS `POBLACION`,
|
||||
`province`.`name` AS `PROVINCIA`,
|
||||
`Clientes`.`codPostal` AS `CODPOSTAL`,
|
||||
`p`.`Codigo` AS `country_code`,
|
||||
sub.`empresa_id` AS `empresa_id`,
|
||||
substr(
|
||||
`Clientes`.`e-mail`,
|
||||
1,
|
||||
coalesce(nullif(locate(',', `Clientes`.`e-mail`), 0), 99) - 1
|
||||
) AS `EMAIL`,
|
||||
IF(
|
||||
`p`.`CEE` = 0
|
||||
OR `p`.`CEE` = 1
|
||||
AND `Clientes`.`vies` = 0,
|
||||
1,
|
||||
IF(
|
||||
`p`.`CEE` = 1
|
||||
AND `Clientes`.`vies` <> 0,
|
||||
2,
|
||||
4
|
||||
)
|
||||
) AS `IDNIF`
|
||||
FROM (
|
||||
(
|
||||
(
|
||||
`vn2008`.`Clientes`
|
||||
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`)
|
||||
)
|
||||
JOIN `vn2008`.`province` ON(
|
||||
`Clientes`.`province_id` = `province`.`province_id`
|
||||
)
|
||||
)
|
||||
GROUP BY `Clientes`.`id_cliente`,
|
||||
sub.`empresa_id`
|
||||
UNION ALL
|
||||
SELECT `Proveedores`.`cuenta` AS `Cuenta`,
|
||||
`Proveedores`.`Proveedor` AS `Proveedor`,
|
||||
concat(
|
||||
IF(
|
||||
`p`.`CEE` = 1
|
||||
AND ascii(left(`Proveedores`.`NIF`, 1)) < 58,
|
||||
`p`.`Codigo`,
|
||||
''
|
||||
),
|
||||
`Proveedores`.`NIF`
|
||||
) AS `NIF`,
|
||||
`Proveedores`.`Domicilio` AS `Domicilio`,
|
||||
`Proveedores`.`Localidad` AS `Localidad`,
|
||||
`prov`.`name` AS `Provincia`,
|
||||
`Proveedores`.`codpos` AS `CP`,
|
||||
`p`.`Codigo` AS `country_code`,
|
||||
sub.`empresa_id` AS `empresa_id`,
|
||||
substr(
|
||||
`c`.`email`,
|
||||
1,
|
||||
coalesce(nullif(locate(',', `c`.`email`), 0), 99) - 1
|
||||
) AS `EMAIL`,
|
||||
IF(`p`.`CEE` = 0, 1, IF(`p`.`CEE` = 1, 2, 4)) AS `IDNIF`
|
||||
FROM (
|
||||
(
|
||||
(
|
||||
(
|
||||
`vn2008`.`Proveedores`
|
||||
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`)
|
||||
)
|
||||
LEFT JOIN `vn2008`.`province` `prov` ON(
|
||||
`prov`.`province_id` = `Proveedores`.`province_id`
|
||||
)
|
||||
)
|
||||
LEFT JOIN `vn`.`supplierContact` `c` ON(`c`.`supplierFk` = `Proveedores`.`Id_Proveedor`)
|
||||
)
|
||||
WHERE `Proveedores`.`oficial` <> 0
|
||||
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`,
|
||||
NULL AS `NULL`,
|
||||
NULL AS `My_exp_NULL`,
|
||||
NULL AS `My_exp_1_NULL`,
|
||||
NULL AS `My_exp_2_NULL`,
|
||||
NULL AS `My_exp_3_NULL`,
|
||||
NULL AS `country_code`,
|
||||
`e`.`id` AS `id`,
|
||||
NULL AS `EMAIL`,
|
||||
1 AS `IDNIF`
|
||||
FROM (
|
||||
`vn2008`.`Gastos`
|
||||
JOIN `vn2008`.`empresa` `e` ON(`e`.`id` = 442)
|
||||
)
|
||||
UNION ALL
|
||||
SELECT `Bancos`.`Cuenta` AS `Cuenta`,
|
||||
`Bancos`.`Banco` AS `Banco`,
|
||||
NULL AS `NULL`,
|
||||
NULL AS `My_exp_NULL`,
|
||||
NULL AS `My_exp_1_NULL`,
|
||||
NULL AS `My_exp_2_NULL`,
|
||||
NULL AS `My_exp_3_NULL`,
|
||||
NULL AS `country_code`,
|
||||
`e`.`id` AS `id`,
|
||||
NULL AS `EMAIL`,
|
||||
1 AS `IDNIF`
|
||||
FROM (
|
||||
`vn2008`.`Bancos`
|
||||
JOIN `vn2008`.`empresa` `e` ON(`e`.`id` = 442)
|
||||
)
|
||||
UNION ALL
|
||||
SELECT lpad(right(`Proveedores`.`cuenta`, 5), 10, '47510000') AS `Cuenta`,
|
||||
`Proveedores`.`Proveedor` AS `Proveedor`,
|
||||
`Proveedores`.`NIF` AS `NIF`,
|
||||
`Proveedores`.`Domicilio` AS `Domicilio`,
|
||||
`Proveedores`.`Localidad` AS `Localidad`,
|
||||
`prov`.`name` AS `Provincia`,
|
||||
`Proveedores`.`codpos` AS `CP`,
|
||||
`p`.`Codigo` AS `country_code`,
|
||||
sub.`empresa_id` AS `empresa_id`,
|
||||
substr(
|
||||
`c`.`email`,
|
||||
1,
|
||||
coalesce(nullif(locate(',', `c`.`email`), 0), 99) - 1
|
||||
) AS `EMAIL`,
|
||||
IF(`p`.`CEE` = 0, 1, IF(`p`.`CEE` = 1, 2, 4)) AS `IDNIF`
|
||||
FROM (
|
||||
(
|
||||
(
|
||||
(
|
||||
`vn2008`.`Proveedores`
|
||||
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`)
|
||||
)
|
||||
LEFT JOIN `vn2008`.`province` `prov` ON(
|
||||
`prov`.`province_id` = `Proveedores`.`province_id`
|
||||
)
|
||||
)
|
||||
LEFT JOIN `vn`.`supplierContact` `c` ON(`c`.`supplierFk` = `Proveedores`.`Id_Proveedor`)
|
||||
)
|
||||
WHERE (
|
||||
`Proveedores`.`cuenta` LIKE '_____3____'
|
||||
OR `Proveedores`.`cuenta` LIKE '_____2____'
|
||||
)
|
||||
AND `Proveedores`.`oficial` = 1
|
||||
GROUP BY sub.`proveedor_id`,
|
||||
sub.`empresa_id`
|
|
@ -1,8 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`versiones`
|
||||
AS SELECT `m`.`app` AS `programa`,
|
||||
`m`.`version` AS `version`,
|
||||
0 AS `critical`
|
||||
FROM `vn`.`mdbVersion` `m`
|
||||
WHERE `m`.`branchFk` = 'master'
|
|
@ -1,21 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`warehouse`
|
||||
AS SELECT `w`.`id` AS `id`,
|
||||
`w`.`name` AS `name`,
|
||||
`w`.`isInventory` AS `inventario`,
|
||||
`w`.`isFeedStock` AS `fuente`,
|
||||
`w`.`isComparative` AS `is_comparative`,
|
||||
`w`.`hasComission` AS `comisionantes`,
|
||||
`w`.`hasAvailable` AS `reserve`,
|
||||
`w`.`isManaged` AS `isManaged`,
|
||||
`w`.`isForTicket` AS `tpv`,
|
||||
`w`.`hasStowaway` AS `hasStowaway`,
|
||||
`w`.`hasDms` AS `hasDms`,
|
||||
`w`.`addressName` AS `address_name`,
|
||||
`w`.`delay` AS `delay`,
|
||||
`w`.`countryFk` AS `Id_Paises`,
|
||||
`w`.`labelZone` AS `zone_label`,
|
||||
`w`.`valuatedInventory` AS `valuatedInventory`,
|
||||
`w`.`hasConfectionTeam` AS `hasConfectionTeam`
|
||||
FROM `vn`.`warehouse` `w`
|
|
@ -1,8 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`workerDocument`
|
||||
AS SELECT `vn`.`workerDocument`.`id` AS `id`,
|
||||
`vn`.`workerDocument`.`worker` AS `worker`,
|
||||
`vn`.`workerDocument`.`document` AS `document`,
|
||||
`vn`.`workerDocument`.`isReadableByWorker` AS `isReadableByWorker`
|
||||
FROM `vn`.`workerDocument`
|
|
@ -1,7 +0,0 @@
|
|||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
||||
SQL SECURITY DEFINER
|
||||
VIEW `vn2008`.`workerTeam`
|
||||
AS SELECT `wt`.`team` AS `team`,
|
||||
`wt`.`id` AS `id`,
|
||||
`wt`.`workerFk` AS `user`
|
||||
FROM `vn`.`workerTeam` `wt`
|
|
@ -0,0 +1,15 @@
|
|||
REVOKE UPDATE ON TABLE vn2008.Vehiculos FROM officeBoss;
|
||||
REVOKE SELECT ON TABLE vn2008.Vehiculos FROM claimManager;
|
||||
REVOKE SELECT, INSERT, UPDATE ON TABLE vn2008.Vehiculos FROM deliveryAssistant;
|
||||
REVOKE SELECT ON TABLE vn2008.versiones FROM employee;
|
||||
REVOKE INSERT ON TABLE vn2008.XDiario FROM financial;
|
||||
REVOKE SELECT, INSERT, UPDATE ON TABLE vn2008.XDiario FROM buyer;
|
||||
REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE vn2008.XDiario FROM administrative;
|
||||
REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE vn2008.XDiario FROM hr;
|
||||
REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE vn2008.XDiario FROM buyerBoss;
|
||||
REVOKE SELECT, INSERT ON TABLE vn2008.workerDocument FROM hr;
|
||||
REVOKE SELECT ON TABLE vn2008.warehouse FROM guest;
|
||||
REVOKE SELECT ON TABLE vn2008.warehouse FROM employee;
|
||||
REVOKE SELECT, INSERT, UPDATE ON TABLE vn2008.workerTeam FROM salesAssistant;
|
||||
REVOKE DELETE ON TABLE vn2008.workerTeam FROM salesBoss;
|
||||
REVOKE SELECT ON TABLE vn2008.v_compres FROM administrative;
|
|
@ -336,5 +336,6 @@
|
|||
"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"
|
||||
"No tickets to invoice": "No hay tickets para facturar",
|
||||
"An email is necessary": "Es necesario un email"
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
const UserError = require('vn-loopback/util/user-error');
|
||||
|
||||
module.exports = function(Self) {
|
||||
Self.remoteMethod('createWithUser', {
|
||||
description: 'Creates both client and its web account',
|
||||
|
@ -29,7 +31,11 @@ module.exports = function(Self) {
|
|||
myOptions.transaction = tx;
|
||||
}
|
||||
|
||||
const firstEmail = data.email ? data.email.split(',')[0] : null;
|
||||
if (!data.email)
|
||||
throw new UserError('An email is necessary');
|
||||
|
||||
const firstEmail = data.email.split(',')[0];
|
||||
|
||||
const user = {
|
||||
name: data.userName,
|
||||
email: firstEmail,
|
||||
|
|
|
@ -13,6 +13,8 @@ describe('Client Create', () => {
|
|||
businessTypeFk: 'florist',
|
||||
provinceFk: 1
|
||||
};
|
||||
const newAccountWithoutEmail = JSON.parse(JSON.stringify(newAccount));
|
||||
delete newAccountWithoutEmail.email;
|
||||
|
||||
beforeAll(async() => {
|
||||
const activeCtx = {
|
||||
|
@ -48,6 +50,24 @@ describe('Client Create', () => {
|
|||
}
|
||||
});
|
||||
|
||||
it('should not create a new account', async() => {
|
||||
const tx = await models.Client.beginTransaction({});
|
||||
|
||||
let error;
|
||||
try {
|
||||
const options = {transaction: tx};
|
||||
await models.Client.createWithUser(newAccountWithoutEmail, options);
|
||||
|
||||
await tx.rollback();
|
||||
} catch (e) {
|
||||
error = e.message;
|
||||
|
||||
await tx.rollback();
|
||||
}
|
||||
|
||||
expect(error).toEqual(`An email is necessary`);
|
||||
});
|
||||
|
||||
it('should create a new account', async() => {
|
||||
const tx = await models.Client.beginTransaction({});
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "salix-back",
|
||||
"version": "24.6.0",
|
||||
"version": "24.8.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "salix-back",
|
||||
"version": "24.6.0",
|
||||
"version": "24.8.0",
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"axios": "^1.2.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "salix-back",
|
||||
"version": "24.6.0",
|
||||
"version": "24.8.0",
|
||||
"author": "Verdnatura Levante SL",
|
||||
"description": "Salix backend",
|
||||
"license": "GPL-3.0",
|
||||
|
|
Loading…
Reference in New Issue