diff --git a/db/changes/240401/01-saleGroupDetailDefaultSize.sql b/db/changes/240401/01-saleGroupDetailDefaultSize.sql
new file mode 100644
index 0000000000..12f17c5e71
--- /dev/null
+++ b/db/changes/240401/01-saleGroupDetailDefaultSize.sql
@@ -0,0 +1,2 @@
+ALTER TABLE vn.productionConfig ADD itemPreviousDefaultSize int NULL COMMENT 'Altura por defecto para los artículos de previa';
+UPDATE IGNORE vn.productionConfig SET itemPreviousDefaultSize = 40 WHERE id = 1;
diff --git a/modules/route/back/models/routesMonitor.json b/modules/route/back/models/routesMonitor.json
index e5a0f60621..1220263364 100644
--- a/modules/route/back/models/routesMonitor.json
+++ b/modules/route/back/models/routesMonitor.json
@@ -1,6 +1,9 @@
{
"name": "RoutesMonitor",
- "base": "Loggable",
+ "base": "VnModel",
+ "mixins": {
+ "Loggable": true
+ },
"options": {
"mysql": {
"table": "routesMonitor"
diff --git a/print/templates/reports/collection-label/collection-label.html b/print/templates/reports/collection-label/collection-label.html
index a699d4ac5c..a0bfcad0ee 100644
--- a/print/templates/reports/collection-label/collection-label.html
+++ b/print/templates/reports/collection-label/collection-label.html
@@ -15,7 +15,7 @@
{{labelData.workerCode || '---'}} |
- {{labelCount || labelData.labelCount || 0}} |
+ {{labelData.labelCount || 0}} |
{{labelData.code == 'V' ? (labelData.size || 0) + 'cm' : (labelData.volume || 0) + 'm³'}} |
diff --git a/print/templates/reports/collection-label/collection-label.js b/print/templates/reports/collection-label/collection-label.js
index d45ecb2bce..cd6ff719a1 100644
--- a/print/templates/reports/collection-label/collection-label.js
+++ b/print/templates/reports/collection-label/collection-label.js
@@ -18,9 +18,9 @@ module.exports = {
}
},
async serverPrefetch() {
+ await this.rawSql('SET @hasPrevia := 0');
let ticketIds;
const res = await this.rawSqlFromDef('tickets', [this.id]);
-
if (res.length) {
ticketIds = [];
for (const row of res)
diff --git a/print/templates/reports/collection-label/sql/labelsData.sql b/print/templates/reports/collection-label/sql/labelsData.sql
index fef692272c..7a12a56d33 100644
--- a/print/templates/reports/collection-label/sql/labelsData.sql
+++ b/print/templates/reports/collection-label/sql/labelsData.sql
@@ -7,14 +7,16 @@ SELECT c.itemPackingTypeFk code,
cc.code color,
t.clientFk,
CAST(SUM(sv.volume) AS DECIMAL(5, 2)) volume,
- MAX(i.`size`) `size`,
+ MAX(
+ IF(sgd.id, IFNULL(pc.itemPreviousDefaultSize, i.`size`), i.`size`)
+ ) `size`,
w.code workerCode,
TIME_FORMAT(t.shipped, '%H:%i') shippedHour,
TIME_FORMAT(zo.`hour`, '%H:%i') zoneHour,
DATE_FORMAT(t.shipped, '%d/%m/%y') shipped,
tt.labelCount,
t.nickName,
- COUNT(*) lineCount,
+ SUM(IF(sgd.id, IF(@hasPrevia, 0, @hasPrevia := 1), 1)) lineCount,
rm.routeFk
FROM vn.ticket t
JOIN vn.ticketCollection tc ON tc.ticketFk = t.id
@@ -23,7 +25,7 @@ SELECT c.itemPackingTypeFk code,
AND cc.wagon = tc.wagon
AND cc.trainFk = c.trainFk
JOIN vn.sale s ON s.ticketFk = t.id
- LEFT JOIN vn.saleVolume sv ON sv.saleFk = s.id
+ LEFT JOIN vn.saleVolume sv ON sv.saleFk = s.id
JOIN vn.item i ON i.id = s.itemFk
JOIN vn.itemType it ON it.id = i.typeFk
JOIN vn.itemCategory ic ON ic.id = it.categoryFk
@@ -32,7 +34,9 @@ SELECT c.itemPackingTypeFk code,
LEFT JOIN vn.ticketTrolley tt ON tt.ticket = t.id
LEFT JOIN vn.`zone` zo ON t.zoneFk = zo.id
LEFT JOIN vn.routesMonitor rm ON rm.routeFk = t.routeFk
- LEFT JOIN vn.expeditionTruck et ON et.id = rm.expeditionTruckFk
+ LEFT JOIN vn.expeditionTruck et ON et.id = rm.expeditionTruckFk
+ LEFT JOIN vn.saleGroupDetail sgd ON sgd.saleFk = s.id
+ JOIN vn.productionConfig pc
WHERE t.id IN (?)
GROUP BY t.id
- ORDER BY cc.`code`;
\ No newline at end of file
+ ORDER BY cc.`code`
\ No newline at end of file