diff --git a/back/methods/chat/sendCheckingPresence.js b/back/methods/chat/sendCheckingPresence.js
index 85b66e94b..7ab5d63fe 100644
--- a/back/methods/chat/sendCheckingPresence.js
+++ b/back/methods/chat/sendCheckingPresence.js
@@ -1,3 +1,5 @@
+const isProduction = require('vn-loopback/server/boot/isProduction');
+
module.exports = Self => {
Self.remoteMethodCtx('sendCheckingPresence', {
description: 'Creates a message in the chat model checking the user status',
@@ -37,7 +39,7 @@ module.exports = Self => {
if (!recipient)
throw new Error(`Could not send message "${message}" to worker id ${recipientId} from user ${userId}`);
- if (process.env.NODE_ENV == 'test')
+ if (!isProduction())
message = `[Test:Environment to user ${userId}] ` + message;
const chat = await models.Chat.create({
diff --git a/back/methods/chat/sendQueued.js b/back/methods/chat/sendQueued.js
index 9a23af379..abda2ddc1 100644
--- a/back/methods/chat/sendQueued.js
+++ b/back/methods/chat/sendQueued.js
@@ -1,4 +1,6 @@
const axios = require('axios');
+const isProduction = require('vn-loopback/server/boot/isProduction');
+
module.exports = Self => {
Self.remoteMethodCtx('sendQueued', {
description: 'Send a RocketChat message',
@@ -94,7 +96,7 @@ module.exports = Self => {
* @return {Promise} - The request promise
*/
Self.sendMessage = async function sendMessage(senderFk, recipient, message) {
- if (process.env.NODE_ENV !== 'production') {
+ if (!isProduction(false)) {
return new Promise(resolve => {
return resolve({
statusCode: 200,
@@ -149,7 +151,7 @@ module.exports = Self => {
* @return {Promise} - The request promise
*/
Self.getUserStatus = async function getUserStatus(username) {
- if (process.env.NODE_ENV !== 'production') {
+ if (!isProduction(false)) {
return new Promise(resolve => {
return resolve({
data: {
diff --git a/back/methods/dms/deleteTrashFiles.js b/back/methods/dms/deleteTrashFiles.js
index 239d654ef..e07f93c90 100644
--- a/back/methods/dms/deleteTrashFiles.js
+++ b/back/methods/dms/deleteTrashFiles.js
@@ -1,6 +1,7 @@
const UserError = require('vn-loopback/util/user-error');
const fs = require('fs-extra');
const path = require('path');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethod('deleteTrashFiles', {
@@ -22,7 +23,7 @@ module.exports = Self => {
if (typeof options == 'object')
Object.assign(myOptions, options);
- if (process.env.NODE_ENV == 'test')
+ if (!isProduction())
throw new UserError(`Action not allowed on the test environment`);
const models = Self.app.models;
diff --git a/back/methods/docuware/upload.js b/back/methods/docuware/upload.js
index 27be72295..0102911e0 100644
--- a/back/methods/docuware/upload.js
+++ b/back/methods/docuware/upload.js
@@ -1,5 +1,6 @@
const UserError = require('vn-loopback/util/user-error');
const axios = require('axios');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethodCtx('upload', {
@@ -119,7 +120,7 @@ module.exports = Self => {
]
};
- if (process.env.NODE_ENV != 'production')
+ if (!isProduction(false))
throw new UserError('Action not allowed on the test environment');
// delete old
diff --git a/back/methods/image/scrub.js b/back/methods/image/scrub.js
index 99c6bcbf3..3c83b3be7 100644
--- a/back/methods/image/scrub.js
+++ b/back/methods/image/scrub.js
@@ -1,6 +1,7 @@
const fs = require('fs-extra');
const path = require('path');
const UserError = require('vn-loopback/util/user-error');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethod('scrub', {
@@ -43,8 +44,7 @@ module.exports = Self => {
Self.scrub = async function(collection, remove, limit, dryRun, skipLock) {
const $ = Self.app.models;
- const env = process.env.NODE_ENV;
- dryRun = dryRun || (env && env !== 'production');
+ dryRun = dryRun || !isProduction(false);
const instance = await $.ImageCollection.findOne({
fields: ['id'],
diff --git a/back/methods/image/upload.js b/back/methods/image/upload.js
index 51da327f6..b3cdfb88b 100644
--- a/back/methods/image/upload.js
+++ b/back/methods/image/upload.js
@@ -1,6 +1,7 @@
const UserError = require('vn-loopback/util/user-error');
const fs = require('fs/promises');
const path = require('path');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethodCtx('upload', {
@@ -41,7 +42,7 @@ module.exports = Self => {
if (!hasWriteRole)
throw new UserError(`You don't have enough privileges`);
- if (process.env.NODE_ENV == 'test')
+ if (!isProduction())
throw new UserError(`Action not allowed on the test environment`);
// Upload file to temporary path
diff --git a/back/methods/mrw-config/cancelShipment.js b/back/methods/mrw-config/cancelShipment.js
index 218b6a96b..86bbb7410 100644
--- a/back/methods/mrw-config/cancelShipment.js
+++ b/back/methods/mrw-config/cancelShipment.js
@@ -39,8 +39,6 @@ module.exports = Self => {
const xmlString = response.data;
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
- const [resultElement] = xmlDoc.getElementsByTagName('Mensaje');
-
- return resultElement.textContent;
+ return xmlDoc.getElementsByTagName('Mensaje')[0].textContent;
};
};
diff --git a/back/methods/mrw-config/createShipment.js b/back/methods/mrw-config/createShipment.js
index 12263de03..081a83382 100644
--- a/back/methods/mrw-config/createShipment.js
+++ b/back/methods/mrw-config/createShipment.js
@@ -42,7 +42,8 @@ module.exports = Self => {
throw new UserError(`Some mrwConfig parameters are not set`);
const query =
- `SELECT CASE co.code
+ `SELECT
+ CASE co.code
WHEN 'ES' THEN a.postalCode
WHEN 'PT' THEN LEFT(a.postalCode, 4)
WHEN 'AD' THEN REPLACE(a.postalCode, 'AD', '00')
@@ -89,14 +90,9 @@ module.exports = Self => {
const getLabelResponse = await sendXmlDoc('getLabel', {mrw, shipmentId}, 'text/xml');
const file = getTextByTag(getLabelResponse, 'EtiquetaFile');
- try {
- await models.Expedition.updateAll({id: expeditionFk}, {externalId: shipmentId}, myOptions);
- if (tx) await tx.commit();
- } catch (error) {
- if (tx) await tx.rollback();
- throw error;
- }
- return file;
+ if (tx) await tx.commit();
+
+ return {shipmentId, file};
};
function getTextByTag(xmlDoc, tag) {
diff --git a/back/methods/mrw-config/specs/createShipment.spec.js b/back/methods/mrw-config/specs/createShipment.spec.js
index 0f48bc2d3..f05f9a81d 100644
--- a/back/methods/mrw-config/specs/createShipment.spec.js
+++ b/back/methods/mrw-config/specs/createShipment.spec.js
@@ -81,9 +81,9 @@ describe('MRWConfig createShipment()', () => {
spyOn(axios, 'post').and.callFake(() => Promise.resolve(mockPostResponses.pop()));
- const base64Binary = await models.MrwConfig.createShipment(expedition1.id, options);
+ const {file} = await models.MrwConfig.createShipment(expedition1.id, options);
- expect(base64Binary).toEqual(mockBase64Binary);
+ expect(file).toEqual(mockBase64Binary);
});
it('should fail if mrwConfig has no data', async() => {
diff --git a/back/methods/notification/send.js b/back/methods/notification/send.js
index b2748477d..1bff7f686 100644
--- a/back/methods/notification/send.js
+++ b/back/methods/notification/send.js
@@ -1,4 +1,5 @@
const {Email} = require('vn-print');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethod('send', {
@@ -70,7 +71,7 @@ module.exports = Self => {
const newParams = Object.assign({}, queueParams, sendParams);
const email = new Email(queueName, newParams);
- if (process.env.NODE_ENV != 'test')
+ if (isProduction())
await email.send();
await queue.updateAttribute('status', statusSent);
diff --git a/back/model-config.json b/back/model-config.json
index e64386300..b643ab54f 100644
--- a/back/model-config.json
+++ b/back/model-config.json
@@ -186,5 +186,8 @@
},
"AgencyWorkCenter": {
"dataSource": "vn"
+ },
+ "RouteConfig": {
+ "dataSource": "vn"
}
}
diff --git a/back/models/routeConfig.json b/back/models/routeConfig.json
new file mode 100644
index 000000000..f3d929749
--- /dev/null
+++ b/back/models/routeConfig.json
@@ -0,0 +1,18 @@
+{
+ "name": "RouteConfig",
+ "base": "VnModel",
+ "options": {
+ "mysql": {
+ "table": "routeConfig"
+ }
+ },
+ "properties": {
+ "id": {
+ "type": "number",
+ "description": "Identifier"
+ },
+ "kmMax": {
+ "type": "number"
+ }
+ }
+}
diff --git a/db/.pullinfo.json b/db/.pullinfo.json
index f4afbc5fb..0defed845 100644
--- a/db/.pullinfo.json
+++ b/db/.pullinfo.json
@@ -9,7 +9,7 @@
},
"vn": {
"view": {
- "expeditionPallet_Print": "288cbd6e8289df083ed5eb1a2c808f7a82ba4c90c8ad9781104808a7a54471fb"
+ "expeditionPallet_Print": "06613719475fcdba8309607c38cc78efc2e348cca7bc96b48dc3ae3c12426f54"
}
}
}
diff --git a/db/routines/edi/procedures/ekt_scan.sql b/db/routines/edi/procedures/ekt_scan.sql
index b0b75a6a7..0cf8bb466 100644
--- a/db/routines/edi/procedures/ekt_scan.sql
+++ b/db/routines/edi/procedures/ekt_scan.sql
@@ -23,42 +23,39 @@ BEGIN
DECLARE vXtraLongAgj INT;
DECLARE vDefaultKlo INT;
- SELECT
- ec.usefulAuctionLeftSegmentLength,
- ec.standardBarcodeLength,
- ec.floridayBarcodeLength,
- ec.floramondoBarcodeLength,
- ec.defaultKlo
- INTO
- vUsefulAuctionLeftSegmentLength,
+ SELECT usefulAuctionLeftSegmentLength,
+ standardBarcodeLength,
+ floridayBarcodeLength,
+ floramondoBarcodeLength,
+ defaultKlo
+ INTO vUsefulAuctionLeftSegmentLength,
vStandardBarcodeLength,
vFloridayBarcodeLength,
vFloramondoBarcodeLength,
vDefaultKlo
- FROM edi.ektConfig ec;
+ FROM ektConfig;
- DROP TEMPORARY TABLE IF EXISTS tmp.ekt;
- CREATE TEMPORARY TABLE tmp.ekt
+ CREATE OR REPLACE TEMPORARY TABLE tmp.ekt
ENGINE = MEMORY
SELECT id ektFk FROM ekt LIMIT 0;
- CASE
+ CASE
WHEN LENGTH(vBarcode) <= vFloridayBarcodeLength THEN
INSERT INTO tmp.ekt
SELECT id
- FROM edi.ektRecent e
+ FROM ektRecent e
WHERE e.cps = vBarcode
OR e.batchNumber = vBarcode;
WHEN LENGTH(vBarcode) = vFloramondoBarcodeLength THEN
INSERT INTO tmp.ekt
SELECT e.id
- FROM edi.ektRecent e
+ FROM ektRecent e
WHERE e.pro = MID(vBarcode,2,6)
- AND CAST(e.ptd AS SIGNED) = MID(vBarcode,8,5);
+ AND CAST(e.ptd AS SIGNED) = MID(vBarcode, 8, 5);
ELSE
- SET vBarcode = LPAD(vBarcode,vStandardBarcodeLength,'0');
+ SET vBarcode = LPAD(vBarcode, vStandardBarcodeLength, '0');
SET vAuction = MID(vBarcode, 1, 3);
SET vKlo = MID(vBarcode, 4, 2);
SET vFec = MAKEDATE(YEAR(util.VN_CURDATE()), MID(vBarcode, 6, 3));
@@ -69,21 +66,23 @@ BEGIN
-- Clásico de subasta
-- Trade standard
-- Trade que construye como la subasta
- -- Trade como el anterior pero sin trade code
+ -- Trade como el anterior pero sin trade code
INSERT INTO tmp.ekt
SELECT id
FROM ekt
WHERE fec >= vFec - INTERVAL 1 DAY
- AND ((
- vKlo = vDefaultKlo
+ AND (
+ (vKlo = vDefaultKlo
AND (klo = vKlo OR klo IS NULL OR klo = 0)
- AND agj IN (vShortAgj, vLongAgj, vXtraLongAgj))
- OR (klo = vKlo
+ AND agj IN (vShortAgj, vLongAgj, vXtraLongAgj)
+ ) OR (
+ klo = vKlo
AND auction = vAuction
- AND agj = vShortAgj)
+ AND agj = vShortAgj
+ )
)
- ORDER BY agj DESC, fec DESC
- LIMIT 1;
+ ORDER BY agj DESC, fec DESC
+ LIMIT 1;
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
@@ -91,9 +90,11 @@ BEGIN
IF NOT vIsFound THEN
INSERT INTO tmp.ekt
SELECT id
- FROM edi.ektRecent e
- WHERE e.batchNumber
- = LEFT(vBarcode,vUsefulAuctionLeftSegmentLength)
+ FROM ektRecent e
+ WHERE e.batchNumber = LEFT(
+ vBarcode,
+ vUsefulAuctionLeftSegmentLength
+ )
AND e.batchNumber > 0;
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
@@ -103,7 +104,7 @@ BEGIN
IF NOT vIsFound THEN
INSERT INTO tmp.ekt
SELECT id
- FROM edi.ektRecent e
+ FROM ektRecent e
WHERE e.putOrderFk = vBarcode;
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
@@ -113,18 +114,28 @@ BEGIN
IF NOT vIsFound THEN
INSERT INTO tmp.ekt
SELECT id
- FROM edi.ektRecent e
- WHERE e.deliveryNumber
- = MID(vBarcode, 4, 13)
+ FROM ektRecent e
+ WHERE e.deliveryNumber = MID(vBarcode, 4, 13)
AND e.deliveryNumber > 0;
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
END IF;
+
+ -- Solo campo agj
+ IF NOT vIsFound THEN
+ INSERT INTO tmp.ekt
+ SELECT id
+ FROM ektRecent
+ WHERE agj = vShortAgj;
+
+ SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
+ END IF;
+
END CASE;
IF vIsFound THEN
UPDATE ekt e
- JOIN tmp.ekt t ON t.ektFk = e.id
+ JOIN tmp.ekt t ON t.ektFk = e.id
SET e.scanned = TRUE;
END IF;
END$$
diff --git a/db/routines/vn/events/client_userDisable.sql b/db/routines/vn/events/client_userDisable.sql
new file mode 100644
index 000000000..b3354f8fd
--- /dev/null
+++ b/db/routines/vn/events/client_userDisable.sql
@@ -0,0 +1,8 @@
+DELIMITER $$
+CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`client_userDisable`
+ ON SCHEDULE EVERY 1 MONTH
+ STARTS '2023-06-01 00:00:00.000'
+ ON COMPLETION PRESERVE
+ ENABLE
+DO CALL client_userDisable()$$
+DELIMITER ;
diff --git a/db/routines/vn/events/clientsDisable.sql b/db/routines/vn/events/clientsDisable.sql
deleted file mode 100644
index 35e6554a2..000000000
--- a/db/routines/vn/events/clientsDisable.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-DELIMITER $$
-CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`clientsDisable`
- ON SCHEDULE EVERY 1 MONTH
- STARTS '2023-06-01 00:00:00.000'
- ON COMPLETION PRESERVE
- ENABLE
-DO BEGIN
- UPDATE account.user u
- JOIN client c ON c.id = u.id
- LEFT JOIN account.account a ON a.id = u.id
- SET u.active = FALSE
- WHERE c.typeFk = 'normal'
- AND a.id IS NULL
- AND u.active
- AND c.created < util.VN_CURDATE() - INTERVAL 12 MONTH
- AND u.id NOT IN (
- SELECT DISTINCT c.id
- FROM client c
- LEFT JOIN ticket t ON t.clientFk = c.id
- WHERE c.salesPersonFk IS NOT NULL
- OR t.created > util.VN_CURDATE() - INTERVAL 12 MONTH
- OR shipped > util.VN_CURDATE() - INTERVAL 12 MONTH
- );
-END$$
-DELIMITER ;
diff --git a/db/routines/vn/procedures/buy_clone.sql b/db/routines/vn/procedures/buy_clone.sql
index d3fbf888d..7b77204c9 100644
--- a/db/routines/vn/procedures/buy_clone.sql
+++ b/db/routines/vn/procedures/buy_clone.sql
@@ -19,7 +19,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
price1,
@@ -41,7 +40,6 @@ BEGIN
b.packing,
b.`grouping`,
b.groupingMode,
- b.containerFk,
b.comissionValue,
b.packageValue,
b.price1,
diff --git a/db/routines/vn/procedures/client_userDisable.sql b/db/routines/vn/procedures/client_userDisable.sql
new file mode 100644
index 000000000..f2ba65c1c
--- /dev/null
+++ b/db/routines/vn/procedures/client_userDisable.sql
@@ -0,0 +1,33 @@
+DELIMITER $$
+CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`client_userDisable`()
+BEGIN
+/**
+* Desactiva los clientes inactivos en los últimos X meses.
+*/
+ DECLARE vMonths INT;
+
+ SELECT monthsToDisableUser INTO vMonths
+ FROM clientConfig;
+
+ IF vMonths IS NULL THEN
+ CALL util.throw('Config parameter not set');
+ END IF;
+
+ UPDATE account.user u
+ JOIN client c ON c.id = u.id
+ LEFT JOIN account.account a ON a.id = u.id
+ SET u.active = FALSE
+ WHERE c.typeFk = 'normal'
+ AND a.id IS NULL
+ AND u.active
+ AND c.created < util.VN_CURDATE() - INTERVAL vMonths MONTH
+ AND u.id NOT IN (
+ SELECT DISTINCT c.id
+ FROM client c
+ LEFT JOIN ticket t ON t.clientFk = c.id
+ WHERE c.salesPersonFk IS NOT NULL
+ OR t.created > util.VN_CURDATE() - INTERVAL vMonths MONTH
+ OR shipped > util.VN_CURDATE() - INTERVAL vMonths MONTH
+ );
+END$$
+DELIMITER ;
diff --git a/db/routines/vn/procedures/entry_fixMisfit.sql b/db/routines/vn/procedures/entry_fixMisfit.sql
index 3e57d362e..986a0ae9e 100644
--- a/db/routines/vn/procedures/entry_fixMisfit.sql
+++ b/db/routines/vn/procedures/entry_fixMisfit.sql
@@ -26,7 +26,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
@@ -46,7 +45,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
diff --git a/db/routines/vn/procedures/entry_moveNotPrinted.sql b/db/routines/vn/procedures/entry_moveNotPrinted.sql
index 526ae9d43..3a12007d1 100644
--- a/db/routines/vn/procedures/entry_moveNotPrinted.sql
+++ b/db/routines/vn/procedures/entry_moveNotPrinted.sql
@@ -56,7 +56,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
packagingFk,
@@ -77,7 +76,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
packagingFk,
@@ -114,7 +112,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
@@ -133,7 +130,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
diff --git a/db/routines/vn/procedures/entry_splitByShelving.sql b/db/routines/vn/procedures/entry_splitByShelving.sql
index b7d9c77b3..2898141ea 100644
--- a/db/routines/vn/procedures/entry_splitByShelving.sql
+++ b/db/routines/vn/procedures/entry_splitByShelving.sql
@@ -76,7 +76,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
@@ -103,7 +102,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
location,
diff --git a/db/routines/vn/procedures/itemPlacementSupplyStockGetTargetList.sql b/db/routines/vn/procedures/itemPlacementSupplyStockGetTargetList.sql
index bdc13ae9d..86d62cad4 100644
--- a/db/routines/vn/procedures/itemPlacementSupplyStockGetTargetList.sql
+++ b/db/routines/vn/procedures/itemPlacementSupplyStockGetTargetList.sql
@@ -18,11 +18,12 @@ BEGIN
JOIN vn.parking p ON p.id = sh.parkingFk
JOIN vn.sector sc ON sc.id = p.sectorFk
JOIN vn.warehouse w ON w.id = sc.warehouseFk
- WHERE sc.id = vSectorFk
- AND ish.visible > 0
+ WHERE ish.visible > 0
AND ish.itemFk = vItemFk
GROUP BY ish.id
- ORDER BY sh.priority DESC,
+ ORDER BY
+ (sc.id = vSectorFk) DESC,
+ sh.priority DESC,
ish.created,
p.pickingOrder;
END$$
diff --git a/db/routines/vn/procedures/item_devalueA2.sql b/db/routines/vn/procedures/item_devalueA2.sql
index f331c7230..c9f716d8f 100644
--- a/db/routines/vn/procedures/item_devalueA2.sql
+++ b/db/routines/vn/procedures/item_devalueA2.sql
@@ -319,7 +319,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
price1,
@@ -341,7 +340,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
price1,
@@ -366,7 +364,6 @@ BEGIN
packing,
`grouping`,
groupingMode,
- containerFk,
comissionValue,
packageValue,
price1,
diff --git a/db/routines/vn/procedures/supplierPackaging_ReportSource.sql b/db/routines/vn/procedures/supplierPackaging_ReportSource.sql
index 2cf9b85c5..a3401843a 100644
--- a/db/routines/vn/procedures/supplierPackaging_ReportSource.sql
+++ b/db/routines/vn/procedures/supplierPackaging_ReportSource.sql
@@ -151,8 +151,8 @@ BEGIN
supplier,
entryFk,
landed,
- `in`,
- `out`,
+ CAST(`in` AS DECIMAL(10,0)) `in`,
+ CAST(`out` AS DECIMAL(10,0)) `out`,
warehouse,
buyingValue,
balance
diff --git a/db/routines/vn/procedures/ticketPackaging_add.sql b/db/routines/vn/procedures/ticketPackaging_add.sql
index d669b95f5..f96068b56 100644
--- a/db/routines/vn/procedures/ticketPackaging_add.sql
+++ b/db/routines/vn/procedures/ticketPackaging_add.sql
@@ -27,7 +27,10 @@ BEGIN
SELECT DISTINCT clientFk
FROM (
SELECT clientFk, SUM(quantity) totalQuantity
- FROM tmp.packagingToInvoice
+ FROM tmp.packagingToInvoice tpi
+ JOIN client c ON c.id = tpi.clientFk
+ LEFT JOIN supplier s ON s.nif = c.fi
+ WHERE s.id IS NULL
GROUP BY itemFk, clientFk
HAVING totalQuantity > 0)sub;
diff --git a/db/routines/vn2008/views/Compres.sql b/db/routines/vn2008/views/Compres.sql
index 557136192..b99dd2b73 100644
--- a/db/routines/vn2008/views/Compres.sql
+++ b/db/routines/vn2008/views/Compres.sql
@@ -28,6 +28,5 @@ AS SELECT `c`.`id` AS `Id_Compra`,
`c`.`workerFk` AS `Id_Trabajador`,
`c`.`weight` AS `weight`,
`c`.`dispatched` AS `dispatched`,
- `c`.`containerFk` AS `container_id`,
`c`.`itemOriginalFk` AS `itemOriginalFk`
FROM `vn`.`buy` `c`
diff --git a/db/versions/11055-wheatPaniculata/00-firstScript.sql b/db/versions/11055-wheatPaniculata/00-firstScript.sql
new file mode 100644
index 000000000..6eec62fd8
--- /dev/null
+++ b/db/versions/11055-wheatPaniculata/00-firstScript.sql
@@ -0,0 +1,5 @@
+ALTER TABLE vn.clientConfig
+ ADD monthsToDisableUser int(10) unsigned DEFAULT NULL NULL;
+
+UPDATE IGNORE vn.clientConfig
+ SET monthsToDisableUser = 12;
\ No newline at end of file
diff --git a/db/versions/11057-chocolateMoss/00-part.sql b/db/versions/11057-chocolateMoss/00-part.sql
new file mode 100644
index 000000000..bd6c69955
--- /dev/null
+++ b/db/versions/11057-chocolateMoss/00-part.sql
@@ -0,0 +1,26 @@
+DROP TABLE IF EXISTS vn2008.scanTree__;
+DROP TABLE IF EXISTS vn2008.payroll_embargos__;
+DROP TABLE IF EXISTS vn2008.unary_source__;
+DROP TABLE IF EXISTS vn2008.unary_scan_line_buy__;
+DROP TABLE IF EXISTS vn2008.unary_scan_line__;
+DROP TABLE IF EXISTS vn2008.unary_scan__;
+DROP TABLE IF EXISTS vn2008.scan_line__;
+DROP TABLE IF EXISTS vn2008.Familias__;
+DROP TABLE IF EXISTS vn2008.language__;
+DROP TABLE IF EXISTS vn2008.Clientes_dits__;
+DROP TABLE IF EXISTS vn2008.unary_scan_line_expedition__;
+DROP TABLE IF EXISTS vn2008.warehouse_group__;
+DROP TABLE IF EXISTS vn2008.Espionajes__;
+DROP TABLE IF EXISTS vn2008.jerarquia__;
+DROP TABLE IF EXISTS vn2008.wks__;
+DROP TABLE IF EXISTS vn2008.Proveedores_comunicados__;
+DROP TABLE IF EXISTS vn2008.integra2_escala__;
+DROP TABLE IF EXISTS vn2008.cp__;
+DROP TABLE IF EXISTS vn2008.unary__;
+DROP TABLE IF EXISTS vn2008.Estados__;
+DROP TABLE IF EXISTS vn2008.agency_hour__;
+DROP TABLE IF EXISTS vn2008.Reservas__;
+DROP TABLE IF EXISTS vn2008.cyc_declaration__;
+DROP TABLE IF EXISTS vn2008.route__;
+DROP TABLE IF EXISTS vn2008.Proveedores_escritos__;
+DROP TABLE IF EXISTS vn2008.config__;
diff --git a/db/versions/11057-chocolateMoss/01-part.sql b/db/versions/11057-chocolateMoss/01-part.sql
new file mode 100644
index 000000000..59df77f20
--- /dev/null
+++ b/db/versions/11057-chocolateMoss/01-part.sql
@@ -0,0 +1,41 @@
+DROP TABLE IF EXISTS vn2008.form_query__;
+DROP TABLE IF EXISTS vn2008.filtros__;
+DROP TABLE IF EXISTS vn2008.Objetivos__;
+UPDATE IGNORE vn.province
+ SET zoneFk = NULL
+ WHERE zoneFk IN (
+ SELECT zoneFk
+ FROM vn.province
+ WHERE zoneFk IS NOT NULL AND zoneFk NOT IN (SELECT id FROM vn.`zone`)
+ );
+ALTER TABLE vn.province DROP FOREIGN KEY province_zone_fk;
+ALTER TABLE vn.province MODIFY COLUMN zoneFk int(11) DEFAULT NULL NULL;
+ALTER TABLE vn.province ADD CONSTRAINT
+ province_zone_FK FOREIGN KEY (zoneFk) REFERENCES vn.`zone`(id) ON DELETE CASCADE ON UPDATE CASCADE;
+DROP TABLE IF EXISTS vn2008.zones__;
+DROP TABLE IF EXISTS vn2008.rec_translator__;
+DROP TABLE IF EXISTS vn2008.warehouse_joined__;
+DROP TABLE IF EXISTS vn2008.warehouse_filtro__;
+DROP TABLE IF EXISTS vn2008.viaxpress__;
+DROP TABLE IF EXISTS vn2008.cl_que__;
+DROP TABLE IF EXISTS vn2008.Recibos_recorded__;
+RENAME TABLE vn.coolerPathDetail TO vn.coolerPathDetail__;
+ALTER TABLE vn.coolerPathDetail__ DROP FOREIGN KEY coolerPathDetail_FK;
+DROP TABLE IF EXISTS vn2008.cooler_path__;
+DROP TABLE IF EXISTS vn2008.payrroll_apEmpresarial__;
+DROP TABLE IF EXISTS vn2008.Compres_ok__;
+DROP TABLE IF EXISTS vn2008.Movimientos_avisar__;
+DROP TABLE IF EXISTS vn2008.Clases__;
+DROP TABLE IF EXISTS vn2008.payroll_basess__;
+DROP TABLE IF EXISTS vn2008.payroll_tipobasess__;
+DROP TABLE IF EXISTS vn2008.guillen__;
+DROP TABLE IF EXISTS vn2008.guillen_carry__;
+DROP TABLE IF EXISTS vn2008.Series__;
+DROP TABLE IF EXISTS vn2008.Permisos__;
+ALTER TABLE vn.buy DROP FOREIGN KEY buy_FK_1;
+DROP TABLE IF EXISTS vn2008.container__;
+DROP TABLE IF EXISTS vn2008.travel_reserve__;
+DROP TABLE IF EXISTS vn2008.tmpNEWTARIFAS__;
+DROP TABLE IF EXISTS vn2008.Clientes_potenciales__;
+DROP TABLE IF EXISTS vn2008.duaDismissed__;
+DROP TABLE IF EXISTS vn2008.cl_pet__;
diff --git a/db/versions/11057-chocolateMoss/02-part.sql b/db/versions/11057-chocolateMoss/02-part.sql
new file mode 100644
index 000000000..46cda539a
--- /dev/null
+++ b/db/versions/11057-chocolateMoss/02-part.sql
@@ -0,0 +1,27 @@
+DROP TABLE IF EXISTS vn2008.expeditions_deleted__;
+DROP TABLE IF EXISTS vn2008.Tipos_f11__;
+DROP TABLE IF EXISTS vn2008.commission__;
+DROP TABLE IF EXISTS vn2008.Movimientos_revisar__;
+DROP TABLE IF EXISTS vn2008.recibida_agricola__;
+DROP TABLE IF EXISTS vn2008.tipsa__;
+DROP TABLE IF EXISTS vn2008.rounding__;
+DROP TABLE IF EXISTS vn2008.Informes__;
+DROP TABLE IF EXISTS vn2008.Monitoring__;
+DROP TABLE IF EXISTS vn2008.Forms__;
+DROP TABLE IF EXISTS vn2008.Clientes_event__;
+DROP TABLE IF EXISTS vn2008.wh_selection__;
+DROP TABLE IF EXISTS vn2008.template_bionic_component__;
+DROP TABLE IF EXISTS vn2008.Agencias_province__;
+DROP TABLE IF EXISTS vn2008.travel_pattern__;
+DROP TABLE IF EXISTS vn2008.sort_merge_results_ernesto__;
+DROP TABLE IF EXISTS vn2008.Conteo__;
+DROP TABLE IF EXISTS vn2008.Consignatarios_devices__;
+DROP TABLE IF EXISTS vn2008.link__;
+DROP TABLE IF EXISTS vn2008.agency_warehouse__;
+DROP TABLE IF EXISTS vn2008.warehouse_lc__;
+DROP TABLE IF EXISTS vn2008.emp_day_pay__;
+DROP TABLE IF EXISTS vn2008.Entradas_kop__;
+DROP TABLE IF EXISTS vn2008.dock__;
+DROP TABLE IF EXISTS vn2008.unaryScanFilter__;
+DROP TABLE IF EXISTS vn2008.Grupos__;
+DROP TABLE IF EXISTS vn2008.nichos__;
diff --git a/db/versions/11057-chocolateMoss/03-part.sql b/db/versions/11057-chocolateMoss/03-part.sql
new file mode 100644
index 000000000..e1947f064
--- /dev/null
+++ b/db/versions/11057-chocolateMoss/03-part.sql
@@ -0,0 +1,26 @@
+DROP TABLE IF EXISTS vn2008.preparation_exception__;
+DROP TABLE IF EXISTS vn2008.Clientes_empresa__;
+DROP TABLE IF EXISTS vn2008.call_information__;
+DROP TABLE IF EXISTS vn2008.template_bionic_price__;
+DROP TABLE IF EXISTS vn2008.invoice_observation__;
+DROP TABLE IF EXISTS vn2008.edi_testigos__;
+DROP TABLE IF EXISTS vn2008.cl_dep__;
+DROP TABLE IF EXISTS vn2008.agencia_descuadre__;
+DROP TABLE IF EXISTS vn2008.payroll_datos__;
+DROP TABLE IF EXISTS vn2008.tblIVA__;
+DROP TABLE IF EXISTS vn2008.cyc__;
+DROP TABLE IF EXISTS vn2008.Tickets_stack__;
+DROP TABLE IF EXISTS vn2008.config_host_forms__;
+DROP TABLE IF EXISTS vn2008.template_bionic_lot__;
+DROP TABLE IF EXISTS vn2008.payroll_bonificaciones__;
+DROP TABLE IF EXISTS vn2008.widget__;
+DROP TABLE IF EXISTS vn2008.accion_dits__;
+DROP TABLE IF EXISTS vn2008.credit_card__;
+DROP TABLE IF EXISTS vn2008.Brasa__;
+DROP TABLE IF EXISTS vn2008.Jefes__;
+DROP TABLE IF EXISTS vn2008.call_option__;
+DROP TABLE IF EXISTS vn2008.expeditions_pictures__;
+DROP TABLE IF EXISTS vn2008.scan__;
+DROP TABLE IF EXISTS vn2008.trolley__;
+DROP TABLE IF EXISTS vn2008.transport__;
+DROP TABLE IF EXISTS vn2008.Baldas__;
diff --git a/db/versions/11058-aquaCataractarum/00-firstScript.sql b/db/versions/11058-aquaCataractarum/00-firstScript.sql
new file mode 100644
index 000000000..98fc910ad
--- /dev/null
+++ b/db/versions/11058-aquaCataractarum/00-firstScript.sql
@@ -0,0 +1,2 @@
+-- Place your SQL code here
+ALTER TABLE floranet.`order` ADD IF NOT EXISTS observations TEXT NULL;
diff --git a/db/versions/11059-crimsonAnthurium/00-firstScript.sql b/db/versions/11059-crimsonAnthurium/00-firstScript.sql
new file mode 100644
index 000000000..b0eade302
--- /dev/null
+++ b/db/versions/11059-crimsonAnthurium/00-firstScript.sql
@@ -0,0 +1,3 @@
+-- Place your SQL code here
+INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId)
+ VALUES ('RouteConfig','*','READ','ALLOW','ROLE','employee');
diff --git a/db/versions/11061-silverMastic/00-firstScript.sql b/db/versions/11061-silverMastic/00-firstScript.sql
new file mode 100644
index 000000000..32dbc0c2e
--- /dev/null
+++ b/db/versions/11061-silverMastic/00-firstScript.sql
@@ -0,0 +1 @@
+ALTER TABLE vn.buy CHANGE containerFk containerFk__ smallint(5) unsigned DEFAULT NULL NULL;
diff --git a/e2e/paths/03-worker/07_pda.spec.js b/e2e/paths/03-worker/07_pda.spec.js
deleted file mode 100644
index 2b743823e..000000000
--- a/e2e/paths/03-worker/07_pda.spec.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('Worker pda path', () => {
- let browser;
- let page;
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('hr', 'worker');
- await page.accessToSearchResult('employeeNick');
- await page.accessToSection('worker.card.pda');
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it('should check if worker has already a PDA allocated', async() => {
- expect(await page.waitToGetProperty(selectors.workerPda.currentPDA, 'value')).toContain('serialNumber1');
- });
-
- it('should deallocate the PDA', async() => {
- await page.waitToClick(selectors.workerPda.delete);
- let message = await page.waitForSnackbar();
-
- expect(message.text).toContain('PDA deallocated');
- });
-
- it('should allocate a new PDA', async() => {
- await page.autocompleteSearch(selectors.workerPda.newPDA, 'serialNumber2');
- await page.waitToClick(selectors.workerPda.submit);
- let message = await page.waitForSnackbar();
-
- expect(message.text).toContain('PDA allocated');
- });
-
- it('should check if a new PDA has been allocated', async() => {
- expect(await page.waitToGetProperty(selectors.workerPda.currentPDA, 'value')).toContain('serialNumber2');
- });
-});
diff --git a/loopback/common/models/application.js b/loopback/common/models/application.js
index 6bdc2c13a..80c58ddc1 100644
--- a/loopback/common/models/application.js
+++ b/loopback/common/models/application.js
@@ -1,4 +1,3 @@
-
module.exports = function(Self) {
require('../methods/application/status')(Self);
require('../methods/application/post')(Self);
diff --git a/loopback/server/boot/isProduction.js b/loopback/server/boot/isProduction.js
new file mode 100644
index 000000000..151afa9cb
--- /dev/null
+++ b/loopback/server/boot/isProduction.js
@@ -0,0 +1,3 @@
+module.exports = (localAsProduction = true) => {
+ return (!process.env.NODE_ENV && localAsProduction) || process.env.NODE_ENV == 'production';
+};
diff --git a/modules/account/back/models/ldap-config.js b/modules/account/back/models/ldap-config.js
index 89f0add48..583ce084b 100644
--- a/modules/account/back/models/ldap-config.js
+++ b/modules/account/back/models/ldap-config.js
@@ -3,9 +3,10 @@ const app = require('vn-loopback/server/server');
const ldap = require('../util/ldapjs-extra');
const crypto = require('crypto');
const nthash = require('smbhash').nthash;
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
- const shouldSync = process.env.NODE_ENV !== 'test';
+ const shouldSync = isProduction();
Self.getLinker = async function() {
return await Self.findOne({
diff --git a/modules/account/back/models/samba-config.js b/modules/account/back/models/samba-config.js
index 927510a29..359b4b187 100644
--- a/modules/account/back/models/samba-config.js
+++ b/modules/account/back/models/samba-config.js
@@ -1,6 +1,7 @@
const ldap = require('../util/ldapjs-extra');
const execFile = require('child_process').execFile;
+const isProduction = require('vn-loopback/server/boot/isProduction');
/**
* Summary of userAccountControl flags:
@@ -12,7 +13,7 @@ const UserAccountControlFlags = {
};
module.exports = Self => {
- const shouldSync = process.env.NODE_ENV !== 'test';
+ const shouldSync = isProduction();
Self.getLinker = async function() {
return await Self.findOne({
diff --git a/modules/client/back/methods/sms/send.js b/modules/client/back/methods/sms/send.js
index 94b2b6c27..2b5674f86 100644
--- a/modules/client/back/methods/sms/send.js
+++ b/modules/client/back/methods/sms/send.js
@@ -1,5 +1,6 @@
const got = require('got');
const UserError = require('vn-loopback/util/user-error');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethod('send', {
@@ -47,7 +48,7 @@ module.exports = Self => {
let response;
try {
- if (process.env.NODE_ENV !== 'production')
+ if (!isProduction(false))
response = {result: [{status: 'ok'}]};
else {
const jsonTest = {
diff --git a/modules/entry/back/methods/entry/addFromBuy.js b/modules/entry/back/methods/entry/addFromBuy.js
index 307c04b97..e5cc427a8 100644
--- a/modules/entry/back/methods/entry/addFromBuy.js
+++ b/modules/entry/back/methods/entry/addFromBuy.js
@@ -76,7 +76,6 @@ module.exports = Self => {
packing: buyUltimate.packing,
grouping: buyUltimate.grouping,
groupingMode: buyUltimate.groupingMode,
- containerFk: buyUltimate.containerFk,
comissionValue: buyUltimate.comissionValue,
packageValue: buyUltimate.packageValue,
location: buyUltimate.location,
diff --git a/modules/entry/back/models/buy.json b/modules/entry/back/models/buy.json
index 35861fd81..14cafde06 100644
--- a/modules/entry/back/models/buy.json
+++ b/modules/entry/back/models/buy.json
@@ -63,9 +63,6 @@
"isIgnored": {
"type": "boolean"
},
- "containerFk": {
- "type": "number"
- },
"location": {
"type": "number"
},
diff --git a/modules/invoiceOut/back/methods/invoiceOut/download.js b/modules/invoiceOut/back/methods/invoiceOut/download.js
index 748e2df17..f8d42072c 100644
--- a/modules/invoiceOut/back/methods/invoiceOut/download.js
+++ b/modules/invoiceOut/back/methods/invoiceOut/download.js
@@ -1,5 +1,6 @@
const fs = require('fs-extra');
const path = require('path');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethodCtx('download', {
@@ -66,7 +67,7 @@ module.exports = Self => {
console.error(err);
});
- if (process.env.NODE_ENV == 'test') {
+ if (!isProduction()) {
try {
await fs.access(file.path);
} catch (error) {
diff --git a/modules/invoiceOut/back/models/invoice-out.js b/modules/invoiceOut/back/models/invoice-out.js
index e4fcc1a69..b0e05b626 100644
--- a/modules/invoiceOut/back/models/invoice-out.js
+++ b/modules/invoiceOut/back/models/invoice-out.js
@@ -1,6 +1,7 @@
const print = require('vn-print');
const path = require('path');
const UserError = require('vn-loopback/util/user-error');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
require('../methods/invoiceOut/filter')(Self);
@@ -59,7 +60,7 @@ module.exports = Self => {
hasPdf: true
}, options);
- if (process.env.NODE_ENV !== 'test') {
+ if (isProduction()) {
await print.storage.write(buffer, {
type: 'invoice',
path: pdfFile.path,
diff --git a/modules/mdb/back/methods/mdbVersion/upload.js b/modules/mdb/back/methods/mdbVersion/upload.js
index 58fc46abb..64de72679 100644
--- a/modules/mdb/back/methods/mdbVersion/upload.js
+++ b/modules/mdb/back/methods/mdbVersion/upload.js
@@ -1,6 +1,7 @@
const fs = require('fs-extra');
const path = require('path');
const UserError = require('vn-loopback/util/user-error');
+const isProduction = require('vn-loopback/server/boot/isProduction');
module.exports = Self => {
Self.remoteMethodCtx('upload', {
@@ -111,7 +112,7 @@ module.exports = Self => {
const destinationFile = path.join(
accessContainer.client.root, accessContainer.name, appName, `${toVersion}.7z`);
- if (process.env.NODE_ENV == 'test')
+ if (!isProduction())
await fs.unlink(srcFile);
else {
await fs.move(srcFile, destinationFile, {
diff --git a/modules/route/back/methods/roadmap/clone.js b/modules/route/back/methods/roadmap/clone.js
index 456ed823d..b74cf803c 100644
--- a/modules/route/back/methods/roadmap/clone.js
+++ b/modules/route/back/methods/roadmap/clone.js
@@ -62,12 +62,12 @@ module.exports = Self => {
const clone = await models.Roadmap.create(roadmap, options);
- const expeditionTrucks = roadmap.expeditionTruck();
- expeditionTrucks.map(expeditionTruck => {
- expeditionTruck.roadmapFk = clone.id;
- return expeditionTruck;
+ const roadmapStops = roadmap.roadmapStop();
+ roadmapStops.map(roadmapStop => {
+ roadmapStop.roadmapFk = clone.id;
+ return roadmapStop;
});
- await models.ExpeditionTruck.create(expeditionTrucks, options);
+ await models.RoadmapStop.create(roadmapStops, options);
}
await tx.commit();
diff --git a/modules/route/back/model-config.json b/modules/route/back/model-config.json
index 6cf8da986..09cda6b2d 100644
--- a/modules/route/back/model-config.json
+++ b/modules/route/back/model-config.json
@@ -8,7 +8,7 @@
"DeliveryPoint": {
"dataSource": "vn"
},
- "ExpeditionTruck": {
+ "RoadmapStop": {
"dataSource": "vn"
},
"Roadmap": {
diff --git a/modules/route/back/models/roadmap.json b/modules/route/back/models/roadmap.json
index 2f6bb8c02..01572d718 100644
--- a/modules/route/back/models/roadmap.json
+++ b/modules/route/back/models/roadmap.json
@@ -54,9 +54,9 @@
"model": "Supplier",
"foreignKey": "supplierFk"
},
- "expeditionTruck": {
+ "roadmapStop": {
"type": "hasMany",
- "model": "ExpeditionTruck",
+ "model": "RoadmapStop",
"foreignKey": "roadmapFk"
}
}
diff --git a/modules/route/back/models/expedition-truck.json b/modules/route/back/models/roadmapStop.json
similarity index 92%
rename from modules/route/back/models/expedition-truck.json
rename to modules/route/back/models/roadmapStop.json
index 8edc7347f..51aa3a6db 100644
--- a/modules/route/back/models/expedition-truck.json
+++ b/modules/route/back/models/roadmapStop.json
@@ -1,9 +1,9 @@
{
- "name": "ExpeditionTruck",
+ "name": "RoadmapStop",
"base": "VnModel",
"options": {
"mysql": {
- "table": "expeditionTruck"
+ "table": "roadmapStop"
}
},
"properties": {
diff --git a/modules/route/front/roadmap/stops/index.html b/modules/route/front/roadmap/stops/index.html
index b69492a21..82f30c326 100644
--- a/modules/route/front/roadmap/stops/index.html
+++ b/modules/route/front/roadmap/stops/index.html
@@ -1,22 +1,22 @@