2024-11-21 17:41:55 +00:00
|
|
|
|
|
|
|
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;
|
|
|
|
|
2024-11-21 17:44:47 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS vn.workCenterCommission (
|
2024-11-21 17:41:55 +00:00
|
|
|
`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`),
|
2024-11-21 17:44:47 +00:00
|
|
|
CONSTRAINT `workCenterCommission_workCenterFk` FOREIGN KEY (`workCenterFk`)
|
2024-11-21 17:41:55 +00:00
|
|
|
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';
|