Merge branch 'dev' into 7899-deleteUnusedStates
gitea/salix/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Ivan Mas 2024-11-26 12:22:30 +00:00
commit f32d709b9d
11 changed files with 229 additions and 22 deletions

View File

@ -1,3 +1,117 @@
# Version 24.48 - 2024-11-25
### Added 🆕
- feat: refs #4948 Added ticket_selfConsumptionPackaging by:guillermo
- feat: refs #6818 add config table by:jorgep
- feat: refs #6818 add records by:jorgep
- feat: refs #6818 saysimple integration by:jorgep
- feat: refs #6845 userInterface by:sergiodt
- feat: refs #6869 add back by:jorgep
- feat: refs #6869 define model by:jorgep
- feat: refs #6869 refs#6869 itemShelving_get (origin/6869-createGetDetails) by:sergiodt
- feat: refs #7006 itemTypeLog by:guillermo
- feat: refs #7006 itemTypeLog created by:guillermo
- feat: refs #7006 Requested changes by:guillermo
- feat: refs #7193 added scope in parking model by:Jon
- feat: refs #7244 Requested changes by:guillermo
- feat: refs #7266 Added details and improvements in item label reports by:guillermo
- feat: refs #7266 buyFkForPrint by:sergiodt
- feat: refs #7266 First commit by:guillermo
- feat: refs #7266 Item label barcode by:guillermo
- feat: refs #7266 Item label QR by:guillermo
- feat: refs #7266 Item label QR finished by:guillermo
- feat: refs #7266 Minor change by:guillermo
- feat: refs #7266 Print corrections by:guillermo
- feat: refs #7266 Requested changes and improvements by:guillermo
- feat: refs #7266 Requested changes and query optimization by:guillermo
- feat: refs #7266 Version by:guillermo
- feat: refs #7289 #7289 apply option 1 by:Javier Segarra
- feat: refs #7289 #7289 remove bad translation by:Javier Segarra
- feat: refs #7524 restrict fields by:jorgep
- feat: refs #7641 fine tunning by:jorgep
- feat: refs #7641 improve style by:jorgep
- feat: refs #7743 add simple spec for sendMail by:pablone
- feat: refs #7743 add try catch stmt to the test by:pablone
- feat: refs #7874 add default type by:jorgep
- feat: refs #7874 use name by:jorgep
- feat: refs #7920 Added ItemShelving in shelvingLog by:guillermo
- feat: refs #7921 refs#7921 sendLostExpedition by:sergiodt
- feat: refs #7922 refs #792 scanOrder by:sergiodt
- feat: refs #7943 quitar lectura en metodos comunes by:jgallego
- feat: refs #7943 return just the required content by:jorgep
- feat: refs #7943 usa back con permisos by:jgallego
- feat: refs #8020 machineWorkerDeprecated by:sergiodt
- feat: refs #8057 Added data updates by:guillermo
- feat: refs #8057 Added data updates (origin/8057-geoFk) by:guillermo
- feat: refs #8057 Added geoFk columns by:guillermo
- feat: refs #8057 Fix version by:guillermo
- feat: refs #8057 More precision in getGeo by:guillermo
- feat: refs #8057 Requested changes by:guillermo
- feat: refs #8071 quitar esquema by:robert
- feat: refs #8071 travel_weeklyClone by:robert
- feat: refs #8080 Added column comment by:guillermo
- feat: refs #8083 add prop by:jorgep
- feat: refs #8087 Traspasar redadas a travels by:Carlos Andrés
- feat: refs #8099 refs#8099 addComplmentSalary by:sergiodt
- feat: refs #8124 Enrutadores nuevos requerimientos by:Carlos Andrés
- feat: refs #8124 Enrutadores nuevos requerimientos (origin/8124-enrutadoresNuevosRequerimientos) by:Carlos Andrés
- feat: refs #8127 entry_getCommission by:robert
- feat: refs #8127 quitar esquemas by:robert
- feat: refs #8135 refs#8135 updateTicketACL (origin/8135-ticketACL) by:sergiodt
- feat: refs #8143 deprecate recoverPass and sync from account.user by:ivanm
- feat: refs #8150 movExpeditions by:sergiodt
- feat: refs #8151 Added test by:guillermo
- feat: refs #8151 moveExpeditions by:guillermo
- feat: refs #8151 Requested changes by:guillermo
- feat(Supplier): refs #6828 add companySize by:alexm
- refactor: refs #7641 entry report style by:jorgep
### Changed 📦
- refactor: refs #6920 add correct role by:alexm
- refactor: refs #7242 Deleted select column by:guillermo
- refactor: refs #7457 Added from param if not exists by:guillermo
- refactor: refs #7641 entry report style by:jorgep
- refactor: refs #7715 Deleted hasNewLabelMrwMethod column by:guillermo
- refactor: refs #7920 Fix tests by:guillermo
- refactor: refs #7920 Fix version by:guillermo
- refactor: refs #7920 itemShelvingLog by:guillermo
- refactor: refs #7920 Main change by:guillermo
- refactor: refs #7920 Major changes by:guillermo
- refactor: refs #7920 No changes in itemShelvingLog table by:guillermo
- refactor: refs #7920 Requested changes by:guillermo
- refactor: refs #7950 Created cmr model (7950-cmrModelUnify) by:guillermo
- refactor: refs #7950 Requested changes by:guillermo
- refactor: refs #8153 Optimized order_getTax by:guillermo
### Fixed 🛠️
- fix: clean deletes also zoneEvent range records by:jgallego
- fix: more data for fixture.before by:Pako
- fix: refs #4948 Tests by:guillermo
- fix: refs #6644 email and translations by:carlossa
- fix: refs #6818 add config by:jorgep
- fix: refs #6818 add defaultChannel by:jorgep
- fix: refs #6818 use right col type by:jorgep
- fix: refs #6869 use id as primaryKey by:jorgep
- fix: refs #7244 Added collection ACL by:guillermo
- fix: refs #7283 item filters by:carlossa
- fix: refs #7283 remove by:carlossa
- fix: refs #7283 remove tests by:carlossa
- fix: refs #7283 tback by:carlossa
- fix: refs #7323 add remaining fields (origin/7323-warfix-addRemainingFields) by:jorgep
- fix: refs #7457 add with on select to reduce by:pablone
- fix: refs #7457 empty commit for gitea by:pablone
- fix: refs #7457 error on empty from param and add translate by:pablone
- fix: refs #7457 remove group by calc time reduce bellow 1s by:pablone
- fix: refs #7457 remove translate and use param definition for restriction by:pablone
- fix: refs #7641 align columns by:jorgep
- fix: refs #7641 drop boilerplate code by:jorgep
- fix: refs #7920 refs#7920 itemShelvingLog by:sergiodt
- fix: refs #8153 Version by:guillermo
- revert cd7ed6987a88e00275b562d3248f368b6333620c by:Javier Segarra
# Version 24.38 - 2024-09-17 # Version 24.38 - 2024-09-17
### Added 🆕 ### Added 🆕

View File

@ -63,7 +63,8 @@ module.exports = Self => {
p.pickingOrder pickingOrder, p.pickingOrder pickingOrder,
iss.id itemShelvingSaleFk, iss.id itemShelvingSaleFk,
iss.isPicked, iss.isPicked,
iss.itemShelvingFk iss.itemShelvingFk,
st.code stateCode
FROM ticketCollection tc FROM ticketCollection tc
LEFT JOIN collection c ON c.id = tc.collectionFk LEFT JOIN collection c ON c.id = tc.collectionFk
JOIN sale s ON s.ticketFk = tc.ticketFk JOIN sale s ON s.ticketFk = tc.ticketFk
@ -77,6 +78,7 @@ module.exports = Self => {
LEFT JOIN parking p ON p.id = sh.parkingFk LEFT JOIN parking p ON p.id = sh.parkingFk
LEFT JOIN itemColor ic ON ic.itemFk = s.itemFk LEFT JOIN itemColor ic ON ic.itemFk = s.itemFk
LEFT JOIN origin o ON o.id = i.originFk LEFT JOIN origin o ON o.id = i.originFk
LEFT JOIN state st ON st.id = sg.stateFk
WHERE tc.collectionFk = ? WHERE tc.collectionFk = ?
GROUP BY s.id, ish.id, p.code, p2.code GROUP BY s.id, ish.id, p.code, p2.code
UNION ALL UNION ALL
@ -104,7 +106,8 @@ module.exports = Self => {
p.pickingOrder, p.pickingOrder,
iss.id itemShelvingSaleFk, iss.id itemShelvingSaleFk,
iss.isPicked, iss.isPicked,
iss.itemShelvingFk iss.itemShelvingFk,
st.code stateCode
FROM sectorCollection sc FROM sectorCollection sc
JOIN sectorCollectionSaleGroup ss ON ss.sectorCollectionFk = sc.id JOIN sectorCollectionSaleGroup ss ON ss.sectorCollectionFk = sc.id
JOIN saleGroup sg ON sg.id = ss.saleGroupFk JOIN saleGroup sg ON sg.id = ss.saleGroupFk
@ -118,6 +121,7 @@ module.exports = Self => {
LEFT JOIN parking p ON p.id = sh.parkingFk LEFT JOIN parking p ON p.id = sh.parkingFk
LEFT JOIN itemColor ic ON ic.itemFk = s.itemFk LEFT JOIN itemColor ic ON ic.itemFk = s.itemFk
LEFT JOIN origin o ON o.id = i.originFk LEFT JOIN origin o ON o.id = i.originFk
LEFT JOIN state st ON st.id = sg.stateFk
WHERE sc.id = ? WHERE sc.id = ?
AND sgd.saleGroupFk AND sgd.saleGroupFk
GROUP BY s.id, ish.id, p.code, p2.code`, [id, id], myOptions); GROUP BY s.id, ish.id, p.code, p2.code`, [id, id], myOptions);

View File

@ -22,7 +22,7 @@ module.exports = Self => {
const url = await Self.app.models.Url.findOne({ const url = await Self.app.models.Url.findOne({
where: { where: {
appName, appName,
environment: process.env.NODE_ENV || 'dev' environment: process.env.NODE_ENV || 'development'
} }
}); });
return url?.url; return url?.url;

View File

@ -26,7 +26,7 @@ BEGIN
DECLARE vCursor CURSOR FOR DECLARE vCursor CURSOR FOR
SELECT it.taxableBase, SELECT it.taxableBase,
CAST((( it.taxableBase / 100) * t.PorcentajeIva) AS DECIMAL (10,2)), CAST(SUM((( it.taxableBase / 100) * t.PorcentajeIva)) AS DECIMAL (10,2)),
t.PorcentajeIva, t.PorcentajeIva,
it.transactionTypeSageFk, it.transactionTypeSageFk,
it.taxTypeSageFk, it.taxTypeSageFk,
@ -39,7 +39,8 @@ BEGIN
JOIN TiposTransacciones tt ON tt.CodigoTransaccion = it.transactionTypeSageFk JOIN TiposTransacciones tt ON tt.CodigoTransaccion = it.transactionTypeSageFk
LEFT JOIN vn.dua d ON d.id = vInvoiceInFk LEFT JOIN vn.dua d ON d.id = vInvoiceInFk
WHERE i.id = vInvoiceInFk WHERE i.id = vInvoiceInFk
AND d.id IS NULL; AND d.id IS NULL
GROUP BY it.taxTypeSageFk;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE;

View File

@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`expedition_selfConsum
vSelf INT, vSelf INT,
vAction ENUM('add', 'remove') vAction ENUM('add', 'remove')
) )
BEGIN proc:BEGIN
/** /**
* Maneja el consumo de cajas para autoconsumo, permitiendo * Maneja el consumo de cajas para autoconsumo, permitiendo
* añadir o quitar cajas utilizadas según la acción indicada. * añadir o quitar cajas utilizadas según la acción indicada.
@ -37,14 +37,14 @@ BEGIN
vWarehouseFk, vWarehouseFk,
vCreated vCreated
FROM expedition e FROM expedition e
JOIN packaging p ON p.id = e.packagingFk LEFT JOIN packaging p ON p.id = e.packagingFk
JOIN item i ON i.id = p.itemFk LEFT JOIN item i ON i.id = p.itemFk
JOIN ticket t ON t.id = e.ticketFk JOIN ticket t ON t.id = e.ticketFk
JOIN productionConfig pc JOIN productionConfig pc
WHERE e.id = vSelf; WHERE e.id = vSelf;
IF vClientFk IS NULL OR vAddressFk IS NULL THEN IF vClientFk IS NULL OR vItemFk IS NULL THEN
CALL util.throw('Some config parameters are not set'); LEAVE proc;
END IF; END IF;
SET vCreated = DATE(vCreated); SET vCreated = DATE(vCreated);

View File

@ -219,7 +219,7 @@ BEGIN
) eWithheld ON TRUE ) eWithheld ON TRUE
WHERE tii.taxTypeSageFk IS NOT NULL WHERE tii.taxTypeSageFk IS NOT NULL
AND (tii.taxCode IS NULL OR tii.taxCode NOT IN ('import10', 'import21')) AND (tii.taxCode IS NULL OR tii.taxCode NOT IN ('import10', 'import21'))
GROUP BY tii.PorcentajeIva, tii.expenseFk; GROUP BY tii.CuentaIvaRepercutido;
-- Línea iva inversor sujeto pasivo -- Línea iva inversor sujeto pasivo
INSERT INTO XDiario( INSERT INTO XDiario(
@ -284,7 +284,7 @@ BEGIN
AND NOT(tii.isVies AND NOT(tii.isVies
AND c.nontaxableTransactionTypeFk = tii.transactionTypeSageFk AND c.nontaxableTransactionTypeFk = tii.transactionTypeSageFk
AND tii.taxCode = 'nonTaxable') AND tii.taxCode = 'nonTaxable')
GROUP BY tii.PorcentajeIva, tii.expenseFk; GROUP BY tii.CuentaIvaRepercutido;
-- Actualización del registro original -- Actualización del registro original
UPDATE invoiceIn ii UPDATE invoiceIn ii

View File

@ -11,6 +11,8 @@ BEGIN
*/ */
DECLARE vIsUpdatable, vIsFreelance BOOL DEFAULT 0; DECLARE vIsUpdatable, vIsFreelance BOOL DEFAULT 0;
DECLARE vAgencyModePricePercentage DOUBLE; DECLARE vAgencyModePricePercentage DOUBLE;
DECLARE vIsKmTruckRate BOOL;
DECLARE vCountryFk INT;
SELECT r.created >= rc.cutoffDated INTO vIsUpdatable SELECT r.created >= rc.cutoffDated INTO vIsUpdatable
FROM route r FROM route r
@ -21,10 +23,17 @@ BEGIN
DELETE FROM routeCommission DELETE FROM routeCommission
WHERE routeFk = vSelf; WHERE routeFk = vSelf;
SELECT w.isFreelance INTO vIsFreelance SELECT w.isFreelance, v.isKmTruckRate, p.countryFk INTO vIsFreelance, vIsKmTruckRate, vCountryFk
FROM route r FROM route r
JOIN worker w ON w.id = r.workerFk JOIN worker w ON w.id = r.workerFk
WHERE r.id = vSelf; JOIN vehicle v ON v.id = r.vehicleFk
LEFT JOIN ticket t ON t.routeFk = r.id
LEFT JOIN address a ON a.id = t.addressFk
LEFT JOIN province p ON p.id = a.provinceFk
WHERE r.id = vSelf
GROUP BY p.countryFk
ORDER BY COUNT(*) DESC
LIMIT 1;
SELECT ampp.percentage INTO vAgencyModePricePercentage SELECT ampp.percentage INTO vAgencyModePricePercentage
FROM route r FROM route r
@ -39,7 +48,9 @@ BEGIN
workCenterFk, workCenterFk,
freelanceYearlyM3, freelanceYearlyM3,
cat4m3, cat4m3,
cat5m3 cat5m3,
isKmTruckRate,
countryFk
) )
SELECT vSelf, SELECT vSelf,
r.commissionWorkCenterFk, r.commissionWorkCenterFk,
@ -51,11 +62,14 @@ BEGIN
IFNULL(r.m3, 0), IFNULL(r.m3, 0),
0 0
), ),
rc.distributionCat4M3 * IFNULL(r.m3, 0), IFNULL(wc.distributionCat4M3, rc.distributionCat4M3) * IFNULL(r.m3, 0),
rc.distributionCat5M3 * IFNULL(r.m3, 0) IFNULL(wc.distributionCat5M3, rc.distributionCat5M3) * IFNULL(r.m3, 0),
vIsKmTruckRate,
vCountryFk
FROM route r FROM route r
JOIN vehicle v ON v.id = r.vehicleFk JOIN vehicle v ON v.id = r.vehicleFk
JOIN routeConfig rc JOIN routeConfig rc
LEFT JOIN workCenterCommission wc ON wc.workCenterFk = r.commissionWorkCenterFk
WHERE r.id = vSelf WHERE r.id = vSelf
AND r.workerFk AND r.workerFk
AND r.commissionWorkCenterFk; AND r.commissionWorkCenterFk;
@ -68,21 +82,28 @@ BEGIN
yearlyKm, yearlyKm,
yearlyM3, yearlyM3,
cat4m3, cat4m3,
cat5m3 cat5m3,
isKmTruckRate,
countryFk
) )
SELECT vSelf, SELECT vSelf,
r.commissionWorkCenterFk, r.commissionWorkCenterFk,
(r.kmEnd - r.kmStart) * (r.kmEnd - r.kmStart) *
IF(v.isKmTruckRate, rc.kmHeavy, rc.kmLight), IF(v.isKmTruckRate, rc.kmHeavy, rc.kmLight),
IFNULL(r.m3, 0) * IFNULL(r.m3, 0) *
IF(v.isKmTruckRate, rc.deliveryM3Cat5, rc.deliveryM3Cat4), IF(v.isKmTruckRate,
IFNULL(wc.deliveryM3Cat5, rc.deliveryM3Cat5),
IFNULL(wc.deliveryM3Cat4, rc.deliveryM3Cat4)),
(r.kmEnd - r.kmStart) * rc.kmYearly, (r.kmEnd - r.kmStart) * rc.kmYearly,
IFNULL(r.m3, 0) * rc.m3Yearly, IFNULL(r.m3, 0) * rc.m3Yearly,
rc.distributionCat4M3 * IFNULL(r.m3, 0), IFNULL(wc.distributionCat4M3, rc.distributionCat4M3) * IFNULL(r.m3, 0),
rc.distributionCat5M3 * IFNULL(r.m3, 0) IFNULL(wc.distributionCat5M3, rc.distributionCat5M3) * IFNULL(r.m3, 0),
vIsKmTruckRate,
vCountryFk
FROM route r FROM route r
JOIN vehicle v ON v.id = r.vehicleFk JOIN vehicle v ON v.id = r.vehicleFk
JOIN routeConfig rc JOIN routeConfig rc
LEFT JOIN workCenterCommission wc ON wc.workCenterFk = r.commissionWorkCenterFk
WHERE r.id = vSelf WHERE r.id = vSelf
AND r.kmStart AND r.kmStart
AND r.kmEnd AND r.kmEnd

View File

@ -0,0 +1,51 @@
ALTER TABLE vn.routeCommission ADD IF NOT EXISTS countryFk mediumint(8) unsigned DEFAULT NULL NULL;
ALTER TABLE vn.routeCommission ADD IF NOT EXISTS isKmTruckRate TINYINT(1) DEFAULT NULL NULL;
ALTER TABLE vn.routeCommission DROP FOREIGN KEY IF EXISTS routeCommission_country_FK;
ALTER TABLE vn.routeCommission ADD CONSTRAINT routeCommission_country_FK FOREIGN KEY (countryFk)
REFERENCES vn.country(id) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE IF NOT EXISTS vn.workCenterCommission (
`workCenterFk` INT(11) NOT NULL,
`deliveryManAdjustment` DECIMAL(4,2) DEFAULT NULL
COMMENT 'Número de trabajadores para equilibrar los repartidores de diferentes centros.
Utilizado en repartidores de grafana',
`distributionM3Category1` decimal(5,2) DEFAULT NULL,
`distributionM3Category2` decimal(5,2) DEFAULT NULL,
`distributionCat4M3` DECIMAL(5,2) DEFAULT NULL
COMMENT 'Comisión por gestión de la distribución Cat IV',
`distributionCat5M3` DECIMAL(5,2) DEFAULT NULL
COMMENT 'Comisión por gestión de la distribución Cat V',
PRIMARY KEY (`workCenterFk`),
CONSTRAINT `workCenterCommission_workCenterFk` FOREIGN KEY (`workCenterFk`)
REFERENCES `workCenter` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT
);
UPDATE vn.routeCommission rc
JOIN (SELECT id, countryFk, isKmTruckRate
FROM (SELECT r.id, c.countryFk, v.isKmTruckRate
FROM vn.route r
JOIN vn.routeCommission rc ON rc.routeFk = r.id
LEFT JOIN vn.ticket t ON t.routeFk = r.id
LEFT JOIN vn.client c ON c.id = t.clientFk
LEFT JOIN vn.vehicle v ON v.id = r.vehicleFk
WHERE r.created >= '2023-12-01'
GROUP BY r.id, c.countryFk
ORDER BY r.id, COUNT(*) DESC
LIMIT 100000000000
)sub
GROUP BY id
)sub ON sub.id = rc.routeFk
SET rc.isKmTruckRate = sub.isKmTruckRate,
rc.countryFk = sub.countryFk;
ALTER TABLE vn.workerDistributionCategory ADD IF NOT EXISTS countryFk mediumint(8) unsigned DEFAULT NULL NULL;
ALTER TABLE vn.workerDistributionCategory ADD IF NOT EXISTS isKmTruckRate TINYINT(1) DEFAULT NULL NULL;
ALTER TABLE vn.workerDistributionCategory DROP FOREIGN KEY IF EXISTS workerDistributionCategory_country_FK;
ALTER TABLE vn.workerDistributionCategory ADD CONSTRAINT workerDistributionCategory_country_FK FOREIGN KEY (countryFk)
REFERENCES vn.country(id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE vn.workerDistributionCategory ADD IF NOT EXISTS commissionSplitWorkers INT UNSIGNED NOT NULL DEFAULT 1
COMMENT 'Número de enrutadores entr los que se reparte la comsión';

View File

@ -0,0 +1,4 @@
INSERT INTO salix.ACL (model, property, accessType, permission, principalType, principalId)
VALUES('SaleGroup', 'find', 'READ', 'ALLOW', 'ROLE', 'production');

View File

@ -0,0 +1,7 @@
ALTER TABLE vn.workCenterCommission ADD IF NOT EXISTS deliveryM3Cat4 DECIMAL(5,2) DEFAULT NULL NULL;
ALTER TABLE vn.workCenterCommission ADD IF NOT EXISTS deliveryM3Cat5 DECIMAL(5,2) DEFAULT NULL NULL;
INSERT IGNORE INTO vn.workCenterCommission (workCenterFk, deliveryM3Cat4, deliveryM3Cat5)
VALUES (5,8.0,8.0);

View File

@ -29,6 +29,11 @@
"type": "belongsTo", "type": "belongsTo",
"model": "Parking", "model": "Parking",
"foreignKey": "parkingFk" "foreignKey": "parkingFk"
},
"state": {
"type": "belongsTo",
"model": "State",
"foreignKey": "stateFk"
} }
} }
} }