diff --git a/db/changes/231601/00-ACLgetVehiclesSorted.sql b/db/changes/231601/00-ACLgetVehiclesSorted.sql
new file mode 100644
index 0000000000..5d3ec454d6
--- /dev/null
+++ b/db/changes/231601/00-ACLgetVehiclesSorted.sql
@@ -0,0 +1,3 @@
+INSERT INTO `salix`.`ACL` (`model`,`property`,`accessType`,`permission`,`principalId`)
+ VALUES
+ ('Vehicle','getVehiclesSorted','WRITE','ALLOW','employee');
\ No newline at end of file
diff --git a/modules/route/back/methods/vehicle/getVehiclesSorted.js b/modules/route/back/methods/vehicle/getVehiclesSorted.js
new file mode 100644
index 0000000000..b785e5dc8e
--- /dev/null
+++ b/modules/route/back/methods/vehicle/getVehiclesSorted.js
@@ -0,0 +1,28 @@
+module.exports = Self => {
+ Self.remoteMethod('getVehiclesSorted', {
+ description: 'Sort the vehicles by a warehouse',
+ accessType: 'WRITE',
+ accepts: [{
+ arg: 'warehouseFk',
+ type: 'number'
+ }],
+ returns: {
+ type: ['object'],
+ root: true
+ },
+ http: {
+ path: `/getVehiclesSorted`,
+ verb: `POST`
+ }
+ });
+
+ Self.getVehiclesSorted = async warehouseFk => {
+ const vehicles = await Self.rawSql(`
+ SELECT v.id, v.numberPlate, w.name
+ FROM vehicle v
+ JOIN warehouse w ON w.id = v.warehouseFk
+ ORDER BY v.warehouseFk = ? DESC, v.numberPlate ASC`, [warehouseFk]);
+
+ return vehicles;
+ };
+};
diff --git a/modules/route/back/models/vehicle.js b/modules/route/back/models/vehicle.js
new file mode 100644
index 0000000000..459afe1c2e
--- /dev/null
+++ b/modules/route/back/models/vehicle.js
@@ -0,0 +1,3 @@
+module.exports = Self => {
+ require('../methods/vehicle/getVehiclesSorted')(Self);
+};
diff --git a/modules/route/front/basic-data/index.html b/modules/route/front/basic-data/index.html
index 831599ae8f..9888a6859f 100644
--- a/modules/route/front/basic-data/index.html
+++ b/modules/route/front/basic-data/index.html
@@ -24,10 +24,13 @@
+
+ {{numberPlate}} - {{name}}
+
diff --git a/modules/route/front/basic-data/index.js b/modules/route/front/basic-data/index.js
index b8602ed126..80626e97e7 100644
--- a/modules/route/front/basic-data/index.js
+++ b/modules/route/front/basic-data/index.js
@@ -7,6 +7,19 @@ class Controller extends Section {
this.card.reload()
);
}
+ constructor($element, $) {
+ super($element, $);
+ this.$http.get(`UserConfigs/getUserConfig`)
+ .then(res => {
+ if (res && res.data) {
+ this.$http.post(`Vehicles/getVehiclesSorted`, {warehouseFk: res.data.warehouseFk})
+ .then(res => {
+ if (res && res.data)
+ this.vehicles = res.data;
+ });
+ }
+ });
+ }
}
ngModule.vnComponent('vnRouteBasicData', {