diff --git a/db/install/changes/00-workerGetHierarch.sql b/db/install/changes/00-workerGetHierarch.sql new file mode 100644 index 000000000..8070a0ee2 --- /dev/null +++ b/db/install/changes/00-workerGetHierarch.sql @@ -0,0 +1,46 @@ +DROP procedure IF EXISTS `vn`.`worker_getHierarch`; + +DELIMITER $$ +CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`worker_getHierarch`(vBoss INT) +BEGIN + DECLARE EXIT HANDLER FOR 1062 BEGIN + CALL util.throw('INFINITE_LOOP'); + END; + + DROP TEMPORARY TABLE IF EXISTS workerHierarch; + CREATE TEMPORARY TABLE workerHierarch + (PRIMARY KEY (workerFk)) + ENGINE = MEMORY + SELECT vBoss AS workerFk; + + DROP TEMPORARY TABLE IF EXISTS tmp.workerHierarchList; + CREATE TEMPORARY TABLE tmp.workerHierarchList + (PRIMARY KEY (workerFk)) + ENGINE = MEMORY + SELECT vBoss AS workerFk, 0 AS isChecked; + + + WHILE (SELECT COUNT(*) FROM tmp.workerHierarchList WHERE NOT isChecked) > 0 DO + + INSERT INTO tmp.workerHierarchList + SELECT w.id, 0 + FROM worker w + JOIN workerHierarch wh ON wh.workerFk = w.bossFk; + + UPDATE tmp.workerHierarchList whl + JOIN workerHierarch wh ON wh.workerFk = whl.workerFk + SET whl.isChecked = 1; + + TRUNCATE workerHierarch; + + INSERT INTO workerHierarch + SELECT workerFk + FROM tmp.workerHierarchList + WHERE NOT isChecked; + + END WHILE; + + DROP TEMPORARY TABLE IF EXISTS workerHierarch; +END$$ + +DELIMITER ; \ No newline at end of file diff --git a/front/core/styles/salixfont.css b/front/core/styles/salixfont.css index 4ee650d19..09bf5c425 100644 --- a/front/core/styles/salixfont.css +++ b/front/core/styles/salixfont.css @@ -23,6 +23,9 @@ -moz-osx-font-smoothing: grayscale; } +.icon-buscaman:before { + content: "\e951"; +} .icon-pbx:before { content: "\e950"; } diff --git a/front/core/styles/salixfont.svg b/front/core/styles/salixfont.svg index 42207cb24..89332991a 100644 --- a/front/core/styles/salixfont.svg +++ b/front/core/styles/salixfont.svg @@ -88,4 +88,5 @@ + \ No newline at end of file diff --git a/front/core/styles/salixfont.ttf b/front/core/styles/salixfont.ttf index 46b210de7..c7057654d 100644 Binary files a/front/core/styles/salixfont.ttf and b/front/core/styles/salixfont.ttf differ diff --git a/front/core/styles/salixfont.woff b/front/core/styles/salixfont.woff index 66122fec8..f3bdd62f0 100644 Binary files a/front/core/styles/salixfont.woff and b/front/core/styles/salixfont.woff differ diff --git a/modules/client/back/methods/client/activeWorkersWithRole.js b/modules/client/back/methods/client/activeWorkersWithRole.js index 3b0ccaac2..cf0bc6597 100644 --- a/modules/client/back/methods/client/activeWorkersWithRole.js +++ b/modules/client/back/methods/client/activeWorkersWithRole.js @@ -39,7 +39,8 @@ module.exports = Self => { case 'firstName': return {or: [ {'w.firstName': {like: `%${value}%`}}, - {'w.name': {like: `%${value}%`}}, + {'w.lastName': {like: `%${value}%`}}, + {'u.name': {like: `%${value}%`}}, {'u.nickname': {like: `%${value}%`}} ]}; case 'id': @@ -54,7 +55,7 @@ module.exports = Self => { myFilter = mergeFilters(myFilter, clientFilter); let stmt = new ParameterizedSQL( - `SELECT DISTINCT w.id, w.firstName, w.name, u.nickname + `SELECT DISTINCT w.id, w.firstName, w.lastName, u.name, u.nickname FROM worker w JOIN account.user u ON u.id = w.userFk JOIN account.roleRole i ON i.role = u.role