diff --git a/CHANGELOG.md b/CHANGELOG.md index 0573a6790..79688cb56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - (Ticket -> Servicios) Se pueden abonar servicios +- (Facturas -> Datos básicos) Muestra valores por defecto +- (Facturas -> Borrado) Notificación al borrar un asiento ya enlazado en Sage ### Changed - (Trabajadores -> Calendario) Icono de check arreglado cuando pulsas un tipo de dia diff --git a/back/models/vn-user.json b/back/models/vn-user.json index 9131c9134..9e3f8df89 100644 --- a/back/models/vn-user.json +++ b/back/models/vn-user.json @@ -84,7 +84,7 @@ "worker": { "type": "hasOne", "model": "Worker", - "foreignKey": "userFk" + "foreignKey": "id" }, "userConfig": { "type": "hasOne", diff --git a/db/.archive/224903/00-timeBusiness_calculate.sql b/db/.archive/224903/00-timeBusiness_calculate.sql index ea13c4a8a..6345475dd 100644 --- a/db/.archive/224903/00-timeBusiness_calculate.sql +++ b/db/.archive/224903/00-timeBusiness_calculate.sql @@ -34,7 +34,7 @@ BEGIN isAllowedToWork FROM(SELECT t.dated, b.id businessFk, - w.userFk, + w.id, b.departmentFk, IF(j.start = NULL, NULL, GROUP_CONCAT(DISTINCT LEFT(j.start,5) ORDER BY j.start ASC SEPARATOR ' - ')) hourStart , IF(j.start = NULL, NULL, GROUP_CONCAT(DISTINCT LEFT(j.end,5) ORDER BY j.end ASC SEPARATOR ' - ')) hourEnd, @@ -48,14 +48,14 @@ BEGIN FROM time t LEFT JOIN business b ON t.dated BETWEEN b.started AND IFNULL(b.ended, vDatedTo) LEFT JOIN worker w ON w.id = b.workerFk - JOIN tmp.`user` u ON u.userFK = w.userFK + JOIN tmp.`user` u ON u.userFK = w.id LEFT JOIN workCenter wc ON wc.id = b.workcenterFK LEFT JOIN postgresql.calendar_labour_type cl ON cl.calendar_labour_type_id = b.calendarTypeFk LEFT JOIN postgresql.journey j ON j.business_id = b.id AND j.day_id = WEEKDAY(t.dated) + 1 LEFT JOIN postgresql.calendar_employee ce ON ce.businessFk = b.id AND ce.date = t.dated LEFT JOIN absenceType at2 ON at2.id = ce.calendar_state_id WHERE t.dated BETWEEN vDatedFrom AND vDatedTo - GROUP BY w.userFk, t.dated + GROUP BY w.id, t.dated )sub; UPDATE tmp.timeBusinessCalculate t diff --git a/db/changes/231401/00-clientBeforeUpdate.sql b/db/changes/231401/00-clientBeforeUpdate.sql index 8f9f70dd5..6bae98f61 100644 --- a/db/changes/231401/00-clientBeforeUpdate.sql +++ b/db/changes/231401/00-clientBeforeUpdate.sql @@ -46,7 +46,7 @@ BEGIN CONCAT('Cliente ', NEW.id), CONCAT('Recibida la documentación: ', vText) FROM worker w - LEFT JOIN account.user u ON w.userFk = u.id AND u.active + LEFT JOIN account.user u ON w.id = u.id AND u.active LEFT JOIN account.account ac ON ac.id = u.id WHERE w.id = NEW.salesPersonFk; END IF; diff --git a/db/changes/234001/00-dropUserFk.sql b/db/changes/234001/00-dropUserFk.sql new file mode 100644 index 000000000..d6ce328a8 --- /dev/null +++ b/db/changes/234001/00-dropUserFk.sql @@ -0,0 +1,4 @@ +ALTER TABLE `vn`.`worker` DROP KEY `user_id_UNIQUE`; + +ALTER TABLE `vn`.`worker` DROP COLUMN `userFk`; + diff --git a/db/changes/234001/00-timeBusiness_calculate.sql b/db/changes/234001/00-timeBusiness_calculate.sql new file mode 100644 index 000000000..599dba74a --- /dev/null +++ b/db/changes/234001/00-timeBusiness_calculate.sql @@ -0,0 +1,86 @@ +DELIMITER $$ +$$ +CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`timeBusiness_calculate`(vDatedFrom DATETIME, vDatedTo DATETIME) +BEGIN +/** + * Horas que debe trabajar un empleado según contrato y día. + * @param vDatedFrom workerTimeControl + * @param vDatedTo workerTimeControl + * @table tmp.user(userFk) + * @return tmp.timeBusinessCalculate + */ + DROP TEMPORARY TABLE IF EXISTS tmp.timeBusinessCalculate; + CREATE TEMPORARY TABLE tmp.timeBusinessCalculate + (INDEX (departmentFk)) + SELECT dated, + businessFk, + sub.id userFk, + departmentFk, + hourStart, + hourEnd, + timeTable, + timeWorkSeconds, + SEC_TO_TIME(timeWorkSeconds) timeWorkSexagesimal, + timeWorkSeconds / 3600 timeWorkDecimal, + timeWorkSeconds timeBusinessSeconds, + SEC_TO_TIME(timeWorkSeconds) timeBusinessSexagesimal, + timeWorkSeconds / 3600 timeBusinessDecimal, + name type, + permissionRate, + hoursWeek, + discountRate, + isAllowedToWork + FROM(SELECT t.dated, + b.id businessFk, + w.id, + b.departmentFk, + IF(bs.started = NULL, NULL, GROUP_CONCAT(DISTINCT LEFT(bs.started,5) ORDER BY bs.started ASC SEPARATOR ' - ')) hourStart , + IF(bs.started = NULL, NULL, GROUP_CONCAT(DISTINCT LEFT(bs.ended,5) ORDER BY bs.ended ASC SEPARATOR ' - ')) hourEnd, + IF(bs.started = NULL, NULL, GROUP_CONCAT(DISTINCT LEFT(bs.started,5), " - ", LEFT(bs.ended,5) ORDER BY bs.ended ASC SEPARATOR ' - ')) timeTable, + IF(bs.started = NULL, 0, IFNULL(SUM(TIME_TO_SEC(bs.ended)) - SUM(TIME_TO_SEC(bs.started)), 0)) timeWorkSeconds, + at2.name, + at2.permissionRate, + at2.discountRate, + ct.hoursWeek hoursWeek, + at2.isAllowedToWork + FROM time t + LEFT JOIN business b ON t.dated BETWEEN b.started AND IFNULL(b.ended, vDatedTo) + LEFT JOIN worker w ON w.id = b.workerFk + JOIN tmp.`user` u ON u.userFK = w.id + LEFT JOIN workCenter wc ON wc.id = b.workcenterFK + LEFT JOIN calendarType ct ON ct.id = b.calendarTypeFk + LEFT JOIN businessSchedule bs ON bs.businessFk = b.id AND bs.weekday = WEEKDAY(t.dated) + 1 + LEFT JOIN calendar c ON c.businessFk = b.id AND c.dated = t.dated + LEFT JOIN absenceType at2 ON at2.id = c.dayOffTypeFk + WHERE t.dated BETWEEN vDatedFrom AND vDatedTo + GROUP BY w.id, t.dated + )sub; + + UPDATE tmp.timeBusinessCalculate t + LEFT JOIN businessSchedule bs ON bs.businessFk = t.businessFk + SET t.timeWorkSeconds = t.hoursWeek / 5 * 3600, + t.timeWorkSexagesimal = SEC_TO_TIME( t.hoursWeek / 5 * 3600), + t.timeWorkDecimal = t.hoursWeek / 5, + t.timeBusinessSeconds = t.hoursWeek / 5 * 3600, + t.timeBusinessSexagesimal = SEC_TO_TIME( t.hoursWeek / 5 * 3600), + t.timeBusinessDecimal = t.hoursWeek / 5 + WHERE DAYOFWEEK(t.dated) IN(2,3,4,5,6) AND bs.id IS NULL ; + + UPDATE tmp.timeBusinessCalculate t + SET t.timeWorkSeconds = t.timeWorkSeconds - (t.timeWorkSeconds * permissionRate) , + t.timeWorkSexagesimal = SEC_TO_TIME ((t.timeWorkDecimal - (t.timeWorkDecimal * permissionRate)) * 3600), + t.timeWorkDecimal = t.timeWorkDecimal - (t.timeWorkDecimal * permissionRate) + WHERE permissionRate <> 0; + + UPDATE tmp.timeBusinessCalculate t + JOIN calendarHolidays ch ON ch.dated = t.dated + JOIN business b ON b.id = t.businessFk + AND b.workcenterFk = ch.workcenterFk + SET t.timeWorkSeconds = 0, + t.timeWorkSexagesimal = 0, + t.timeWorkDecimal = 0, + t.permissionrate = 1, + t.type = 'Festivo' + WHERE t.type IS NULL; +END$$ +DELIMITER ; diff --git a/db/changes/234001/01-deliveryAssistantACL.sql b/db/changes/234001/01-deliveryAssistantACL.sql index 44459c432..504760d6f 100644 --- a/db/changes/234001/01-deliveryAssistantACL.sql +++ b/db/changes/234001/01-deliveryAssistantACL.sql @@ -1,5 +1,5 @@ -- Auto-generated SQL script. Actual values for binary/complex data types may differ - what you see is the default string representation of values. -INSERT INTO `account`.`role` (name,description) +INSERT INTO `account`.`role` (name, description) VALUES ('deliveryAssistant','Jefe auxiliar repartos'); INSERT INTO `account`.`roleInherit` (role, inheritsFrom) diff --git a/db/changes/234001/01-workerCreate.sql b/db/changes/234001/01-workerCreate.sql new file mode 100644 index 000000000..166c65a26 --- /dev/null +++ b/db/changes/234001/01-workerCreate.sql @@ -0,0 +1,20 @@ +DELIMITER $$ +$$ +CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`workerCreate`( + vFirstname VARCHAR(50), + vLastName VARCHAR(50), + vCode CHAR(3), + vBossFk INT, + vUserFk INT, + vFi VARCHAR(15) , + vBirth DATE +) +BEGIN +/** + * Create new worker + * + */ + INSERT INTO worker(id, code, firstName, lastName, bossFk, fi, birth) + VALUES (vUserFk, vCode, vFirstname, vLastName, vBossFk, vFi, vBirth); +END$$ +DELIMITER ; diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql index bb46880bd..1d115af0d 100644 --- a/db/dump/fixtures.sql +++ b/db/dump/fixtures.sql @@ -87,8 +87,8 @@ INSERT INTO `vn`.`educationLevel` (`id`, `name`) (1, 'ESTUDIOS PRIMARIOS COMPLETOS'), (2, 'ENSEÑANZAS DE BACHILLERATO'); -INSERT INTO `vn`.`worker`(`id`,`code`, `firstName`, `lastName`, `userFk`, `bossFk`) - SELECT id,UPPER(LPAD(role, 3, '0')), name, name, id, 9 +INSERT INTO `vn`.`worker`(`id`,`code`, `firstName`, `lastName`, `bossFk`) + SELECT id,UPPER(LPAD(role, 3, '0')), name, name, 9 FROM `account`.`user`; UPDATE `vn`.`worker` SET bossFk = NULL WHERE id = 20; @@ -188,13 +188,13 @@ INSERT INTO `vn`.`printer` (`id`, `name`, `path`, `isLabeler`, `sectorFk`, `ipAd UPDATE `vn`.`sector` SET mainPrinterFk = 1 WHERE id = 1; -INSERT INTO `vn`.`worker`(`id`, `code`, `firstName`, `lastName`, `userFk`,`bossFk`, `phone`) +INSERT INTO `vn`.`worker`(`id`, `code`, `firstName`, `lastName`,`bossFk`, `phone`) VALUES - (1106, 'LGN', 'David Charles', 'Haller', 1106, 19, 432978106), - (1107, 'ANT', 'Hank' , 'Pym' , 1107, 19, 432978107), - (1108, 'DCX', 'Charles' , 'Xavier', 1108, 19, 432978108), - (1109, 'HLK', 'Bruce' , 'Banner', 1109, 19, 432978109), - (1110, 'JJJ', 'Jessica' , 'Jones' , 1110, 19, 432978110); + (1106, 'LGN', 'David Charles', 'Haller', 19, 432978106), + (1107, 'ANT', 'Hank' , 'Pym' , 19, 432978107), + (1108, 'DCX', 'Charles' , 'Xavier', 19, 432978108), + (1109, 'HLK', 'Bruce' , 'Banner', 19, 432978109), + (1110, 'JJJ', 'Jessica' , 'Jones' , 19, 432978110); INSERT INTO `vn`.`parking` (`id`, `column`, `row`, `sectorFk`, `code`, `pickingOrder`) VALUES diff --git a/db/dump/structure.sql b/db/dump/structure.sql index 73f6e92cb..08df0541c 100644 --- a/db/dump/structure.sql +++ b/db/dump/structure.sql @@ -26556,6 +26556,7 @@ CREATE TABLE `deviceLog` ( `created` timestamp NOT NULL DEFAULT current_timestamp(), `nameApp` varchar(45) DEFAULT NULL, `versionApp` varchar(45) DEFAULT NULL, + `serialNumber` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`), KEY `deviceLog_FK` (`userFk`), CONSTRAINT `deviceLog_FK` FOREIGN KEY (`userFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE diff --git a/modules/claim/back/methods/claim-beginning/importToNewRefundTicket.js b/modules/claim/back/methods/claim-beginning/importToNewRefundTicket.js index cdf3fc2c3..be3baccd7 100644 --- a/modules/claim/back/methods/claim-beginning/importToNewRefundTicket.js +++ b/modules/claim/back/methods/claim-beginning/importToNewRefundTicket.js @@ -75,7 +75,7 @@ module.exports = Self => { try { const worker = await models.Worker.findOne({ - where: {userFk: userId} + where: {id: userId} }, myOptions); const obsevationType = await models.ObservationType.findOne({ diff --git a/modules/claim/back/methods/claim/getSummary.js b/modules/claim/back/methods/claim/getSummary.js index d384f7ebb..2731f1e8f 100644 --- a/modules/claim/back/methods/claim/getSummary.js +++ b/modules/claim/back/methods/claim/getSummary.js @@ -35,7 +35,7 @@ module.exports = Self => { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { @@ -109,7 +109,7 @@ module.exports = Self => { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/claim/back/methods/claim/logs.js b/modules/claim/back/methods/claim/logs.js index f47513e9e..4d1b37822 100644 --- a/modules/claim/back/methods/claim/logs.js +++ b/modules/claim/back/methods/claim/logs.js @@ -1,7 +1,7 @@ const ParameterizedSQL = require('loopback-connector').ParameterizedSQL; const buildFilter = require('vn-loopback/util/filter').buildFilter; -const { mergeFilters, mergeWhere } = require('vn-loopback/util/filter'); +const {mergeFilters, mergeWhere} = require('vn-loopback/util/filter'); module.exports = Self => { Self.remoteMethodCtx('logs', { @@ -12,27 +12,27 @@ module.exports = Self => { arg: 'id', type: 'Number', description: 'The claim id', - http: { source: 'path' } + http: {source: 'path'} }, { arg: 'filter', type: 'object', - http: { source: 'query' } + http: {source: 'query'} }, { arg: 'search', type: 'string', - http: { source: 'query' } + http: {source: 'query'} }, { arg: 'userFk', type: 'number', - http: { source: 'query' } + http: {source: 'query'} }, { arg: 'created', type: 'date', - http: { source: 'query' } + http: {source: 'query'} }, ], returns: { @@ -45,7 +45,7 @@ module.exports = Self => { } }); - Self.logs = async (ctx, id, filter, options) => { + Self.logs = async(ctx, id, filter, options) => { const conn = Self.dataSource.connector; const args = ctx.args; const myOptions = {}; @@ -56,25 +56,25 @@ module.exports = Self => { let where = buildFilter(args, (param, value) => { switch (param) { - case 'search': - return { - or: [ - { changedModel: { like: `%${value}%` } }, - { oldInstance: { like: `%${value}%` } } - ] - }; - case 'userFk': - return { 'cl.userFk': value }; - case 'created': - value.setHours(0, 0, 0, 0); - to = new Date(value); - to.setHours(23, 59, 59, 999); + case 'search': + return { + or: [ + {changedModel: {like: `%${value}%`}}, + {oldInstance: {like: `%${value}%`}} + ] + }; + case 'userFk': + return {'cl.userFk': value}; + case 'created': + value.setHours(0, 0, 0, 0); + to = new Date(value); + to.setHours(23, 59, 59, 999); - return { creationDate: { between: [value, to] } }; + return {creationDate: {between: [value, to]}}; } }); - where = mergeWhere(where, { ['cl.originFk']: id }); - filter = mergeFilters(args.filter, { where }); + where = mergeWhere(where, {['cl.originFk']: id}); + filter = mergeFilters(args.filter, {where}); const stmts = []; diff --git a/modules/claim/front/card/index.js b/modules/claim/front/card/index.js index 4a8677c90..5dad0dfc2 100644 --- a/modules/claim/front/card/index.js +++ b/modules/claim/front/card/index.js @@ -8,7 +8,7 @@ class Controller extends ModuleCard { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/claim/front/descriptor/index.html b/modules/claim/front/descriptor/index.html index 5fd198440..8ff1fd791 100644 --- a/modules/claim/front/descriptor/index.html +++ b/modules/claim/front/descriptor/index.html @@ -45,7 +45,7 @@ {{$ctrl.claim.worker.user.name}} diff --git a/modules/client/back/methods/receipt/filter.js b/modules/client/back/methods/receipt/filter.js index 6df5e73f8..7b5d73dae 100644 --- a/modules/client/back/methods/receipt/filter.js +++ b/modules/client/back/methods/receipt/filter.js @@ -60,7 +60,7 @@ module.exports = Self => { at2.id IS NOT NULL as isCompensation FROM vn.receipt r LEFT JOIN vn.worker w ON w.id = r.workerFk - LEFT JOIN account.user u ON u.id = w.userFk + LEFT JOIN account.user u ON u.id = w.id JOIN vn.company c ON c.id = r.companyFk LEFT JOIN vn.accounting a ON a.id = r.bankFk LEFT JOIN vn.accountingType at2 ON at2.id = a.accountingTypeFk AND at2.code = 'compensation' diff --git a/modules/client/back/models/client-observation.js b/modules/client/back/models/client-observation.js index f208cb552..e34eedca9 100644 --- a/modules/client/back/models/client-observation.js +++ b/modules/client/back/models/client-observation.js @@ -9,7 +9,7 @@ module.exports = function(Self) { let token = ctx.options.accessToken; let userId = token && token.userId; - Self.app.models.Worker.findOne({where: {userFk: userId}}, (err, user) => { + Self.app.models.Worker.findOne({where: {id: userId}}, (err, user) => { if (err) return next(err); ctx.instance.workerFk = user.id; next(); diff --git a/modules/client/back/models/client-observation.json b/modules/client/back/models/client-observation.json index b8852b186..95d00d374 100644 --- a/modules/client/back/models/client-observation.json +++ b/modules/client/back/models/client-observation.json @@ -41,7 +41,7 @@ "include": { "relation": "worker", "scope": { - "fields": ["userFk"], + "fields": ["id"], "include": { "relation": "user", "scope": { diff --git a/modules/client/front/credit-management/index.js b/modules/client/front/credit-management/index.js index 856acd27b..7733319e8 100644 --- a/modules/client/front/credit-management/index.js +++ b/modules/client/front/credit-management/index.js @@ -9,7 +9,7 @@ export default class Controller extends Section { include: [{ relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/client/front/credit/index/index.html b/modules/client/front/credit/index/index.html index 989a0129f..d11449268 100644 --- a/modules/client/front/credit/index/index.html +++ b/modules/client/front/credit/index/index.html @@ -24,8 +24,8 @@ {{::credit.created | date:'dd/MM/yyyy HH:mm'}} - {{::credit.worker.user.name}} @@ -41,10 +41,10 @@ ui-sref="client.card.credit.create" vn-acl="teamBoss" vn-acl-action="remove" - vn-tooltip="New credit" + vn-tooltip="New credit" vn-bind="+" fixed-bottom-right> - - \ No newline at end of file + diff --git a/modules/client/front/credit/index/index.js b/modules/client/front/credit/index/index.js index 28160dfeb..3083ac598 100644 --- a/modules/client/front/credit/index/index.js +++ b/modules/client/front/credit/index/index.js @@ -9,7 +9,7 @@ class Controller extends Section { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/client/front/dms/index/index.js b/modules/client/front/dms/index/index.js index a18f195bb..aff64aa4f 100644 --- a/modules/client/front/dms/index/index.js +++ b/modules/client/front/dms/index/index.js @@ -28,7 +28,7 @@ class Controller extends Section { }, { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/item/back/methods/item/filter.js b/modules/item/back/methods/item/filter.js index d5de6a954..909b3dff8 100644 --- a/modules/item/back/methods/item/filter.js +++ b/modules/item/back/methods/item/filter.js @@ -180,7 +180,7 @@ module.exports = Self => { LEFT JOIN itemType it ON it.id = i.typeFk LEFT JOIN itemCategory ic ON ic.id = it.categoryFk LEFT JOIN worker w ON w.id = it.workerFk - LEFT JOIN account.user u ON u.id = w.userFk + LEFT JOIN account.user u ON u.id = w.id LEFT JOIN intrastat intr ON intr.id = i.intrastatFk LEFT JOIN producer pr ON pr.id = i.producerFk LEFT JOIN origin ori ON ori.id = i.originFk diff --git a/modules/item/back/methods/item/getCard.js b/modules/item/back/methods/item/getCard.js index c4ee09d95..49ce3636f 100644 --- a/modules/item/back/methods/item/getCard.js +++ b/modules/item/back/methods/item/getCard.js @@ -34,7 +34,7 @@ module.exports = Self => { include: [{ relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/item/back/methods/item/getSummary.js b/modules/item/back/methods/item/getSummary.js index 6cd9d9511..17a38cf07 100644 --- a/modules/item/back/methods/item/getSummary.js +++ b/modules/item/back/methods/item/getSummary.js @@ -38,7 +38,7 @@ module.exports = Self => { include: [{ relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/item/front/descriptor/index.html b/modules/item/front/descriptor/index.html index 7c442d364..82dfa3c9f 100644 --- a/modules/item/front/descriptor/index.html +++ b/modules/item/front/descriptor/index.html @@ -1,6 +1,6 @@ {{$ctrl.item.itemType.worker.user.name}} diff --git a/modules/item/front/summary/index.html b/modules/item/front/summary/index.html index fcc267b4d..6ec738c7e 100644 --- a/modules/item/front/summary/index.html +++ b/modules/item/front/summary/index.html @@ -70,7 +70,7 @@ {{$ctrl.summary.item.itemType.worker.user.name}} diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index 4f9edd11c..693ae122f 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -215,7 +215,7 @@ module.exports = Self => { LEFT JOIN state st ON st.id = ts.stateFk LEFT JOIN client c ON c.id = t.clientFk LEFT JOIN worker wk ON wk.id = c.salesPersonFk - LEFT JOIN account.user u ON u.id = wk.userFk + LEFT JOIN account.user u ON u.id = wk.id LEFT JOIN zoneEstimatedDelivery zed ON zed.zoneFk = t.zoneFk`); if (args.orderFk) { diff --git a/modules/order/back/methods/order/filter.js b/modules/order/back/methods/order/filter.js index 10185af7e..44d8ccb10 100644 --- a/modules/order/back/methods/order/filter.js +++ b/modules/order/back/methods/order/filter.js @@ -169,7 +169,7 @@ module.exports = Self => { LEFT JOIN agencyMode am ON am.id = o.agency_id LEFT JOIN client c ON c.id = o.customer_id LEFT JOIN worker wk ON wk.id = c.salesPersonFk - LEFT JOIN account.user u ON u.id = wk.userFk + LEFT JOIN account.user u ON u.id = wk.id LEFT JOIN company co ON co.id = o.company_id LEFT JOIN orderTicket ot ON ot.orderFk = o.id LEFT JOIN ticket t ON t.id = ot.ticketFk diff --git a/modules/route/back/methods/route/filter.js b/modules/route/back/methods/route/filter.js index fdec84d4d..fc35e979f 100644 --- a/modules/route/back/methods/route/filter.js +++ b/modules/route/back/methods/route/filter.js @@ -111,7 +111,7 @@ module.exports = Self => { let stmt; stmt = new ParameterizedSQL( - `SELECT + `SELECT r.id, r.workerFk, r.created, @@ -134,7 +134,7 @@ module.exports = Self => { LEFT JOIN agencyMode am ON am.id = r.agencyModeFk LEFT JOIN vehicle v ON v.id = r.vehicleFk LEFT JOIN worker w ON w.id = r.workerFk - LEFT JOIN account.user u ON u.id = w.userFk` + LEFT JOIN account.user u ON u.id = w.id` ); stmt.merge(conn.makeSuffix(filter)); diff --git a/modules/route/back/methods/route/summary.js b/modules/route/back/methods/route/summary.js index 10cfe38ee..acd17759d 100644 --- a/modules/route/back/methods/route/summary.js +++ b/modules/route/back/methods/route/summary.js @@ -33,7 +33,7 @@ module.exports = Self => { }, { relation: 'worker', scope: { - fields: ['id', 'userFk'], + fields: ['id'], include: [ { relation: 'user', diff --git a/modules/route/back/models/roadmap.json b/modules/route/back/models/roadmap.json index 7ca8fe0f6..2f6bb8c02 100644 --- a/modules/route/back/models/roadmap.json +++ b/modules/route/back/models/roadmap.json @@ -47,7 +47,7 @@ "worker": { "type": "belongsTo", "model": "Worker", - "foreignKey": "userFk" + "foreignKey": "id" }, "supplier": { "type": "belongsTo", diff --git a/modules/route/front/card/index.js b/modules/route/front/card/index.js index 6bf233c0a..07b5a547c 100644 --- a/modules/route/front/card/index.js +++ b/modules/route/front/card/index.js @@ -41,7 +41,7 @@ class Controller extends ModuleCard { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/route/front/descriptor/index.js b/modules/route/front/descriptor/index.js index aa47044b1..4377ac617 100644 --- a/modules/route/front/descriptor/index.js +++ b/modules/route/front/descriptor/index.js @@ -79,7 +79,7 @@ class Controller extends Descriptor { }, { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/shelving/back/methods/shelving/getSummary.js b/modules/shelving/back/methods/shelving/getSummary.js index da357c7bf..7488511d0 100644 --- a/modules/shelving/back/methods/shelving/getSummary.js +++ b/modules/shelving/back/methods/shelving/getSummary.js @@ -35,7 +35,7 @@ module.exports = Self => { { relation: 'worker', scope: { - fields: ['id', 'userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/shelving/back/models/shelving.json b/modules/shelving/back/models/shelving.json index 5f60318a5..aab569d7b 100644 --- a/modules/shelving/back/models/shelving.json +++ b/modules/shelving/back/models/shelving.json @@ -41,7 +41,7 @@ "worker": { "type": "belongsTo", "model": "Worker", - "foreignKey": "userFk" + "foreignKey": "id" } } } diff --git a/modules/shelving/front/card/index.js b/modules/shelving/front/card/index.js index 5e2ea9b12..4f571d876 100644 --- a/modules/shelving/front/card/index.js +++ b/modules/shelving/front/card/index.js @@ -7,7 +7,7 @@ class Controller extends ModuleCard { include: [ {relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/shelving/front/summary/index.js b/modules/shelving/front/summary/index.js index 10a905f1d..91f8e2aa7 100644 --- a/modules/shelving/front/summary/index.js +++ b/modules/shelving/front/summary/index.js @@ -12,7 +12,7 @@ class Controller extends Summary { include: [ {relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/supplier/back/methods/supplier/getSummary.js b/modules/supplier/back/methods/supplier/getSummary.js index bf3fa56f5..bc869725c 100644 --- a/modules/supplier/back/methods/supplier/getSummary.js +++ b/modules/supplier/back/methods/supplier/getSummary.js @@ -91,7 +91,7 @@ module.exports = Self => { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/ticket/back/methods/sale-tracking/listSaleTracking.js b/modules/ticket/back/methods/sale-tracking/listSaleTracking.js index 98743d8cc..fbc855501 100644 --- a/modules/ticket/back/methods/sale-tracking/listSaleTracking.js +++ b/modules/ticket/back/methods/sale-tracking/listSaleTracking.js @@ -41,7 +41,7 @@ module.exports = Self => { FROM saleTracking st JOIN sale s ON s.id = st.saleFk JOIN worker w ON w.id = st.workerFk - JOIN account.user u ON u.id = w.userFk + JOIN account.user u ON u.id = w.id JOIN state ste ON ste.id = st.stateFk`); stmt.merge(Self.makeSuffix(filter)); diff --git a/modules/ticket/back/methods/ticket-request/deny.js b/modules/ticket/back/methods/ticket-request/deny.js index 35de765d7..92f020083 100644 --- a/modules/ticket/back/methods/ticket-request/deny.js +++ b/modules/ticket/back/methods/ticket-request/deny.js @@ -39,7 +39,7 @@ module.exports = Self => { try { const userId = ctx.req.accessToken.userId; - const worker = await Self.app.models.Worker.findOne({where: {userFk: userId}}, myOptions); + const worker = await Self.app.models.Worker.findOne({where: {id: userId}}, myOptions); const params = { isOk: false, diff --git a/modules/ticket/back/methods/ticket-request/filter.js b/modules/ticket/back/methods/ticket-request/filter.js index 921598b57..f27ea5018 100644 --- a/modules/ticket/back/methods/ticket-request/filter.js +++ b/modules/ticket/back/methods/ticket-request/filter.js @@ -153,9 +153,9 @@ module.exports = Self => { LEFT JOIN item i ON i.id = tr.itemFk LEFT JOIN sale s ON s.id = tr.saleFk LEFT JOIN worker wk ON wk.id = c.salesPersonFk - LEFT JOIN account.user u ON u.id = wk.userFk + LEFT JOIN account.user u ON u.id = wk.id LEFT JOIN worker wka ON wka.id = tr.attenderFk - LEFT JOIN account.user ua ON ua.id = wka.userFk`); + LEFT JOIN account.user ua ON ua.id = wka.id`); stmt.merge(conn.makeSuffix(filter)); return conn.executeStmt(stmt, myOptions); diff --git a/modules/ticket/back/methods/ticket-tracking/changeState.js b/modules/ticket/back/methods/ticket-tracking/changeState.js index 4ae9ab40c..dbef8762e 100644 --- a/modules/ticket/back/methods/ticket-tracking/changeState.js +++ b/modules/ticket/back/methods/ticket-tracking/changeState.js @@ -53,7 +53,7 @@ module.exports = Self => { if (!params.workerFk) { const worker = await models.Worker.findOne({ - where: {userFk: userId} + where: {id: userId} }, myOptions); params.workerFk = worker.id; diff --git a/modules/ticket/back/methods/ticket-tracking/setDelivered.js b/modules/ticket/back/methods/ticket-tracking/setDelivered.js index bd6e32dcf..df482fd01 100644 --- a/modules/ticket/back/methods/ticket-tracking/setDelivered.js +++ b/modules/ticket/back/methods/ticket-tracking/setDelivered.js @@ -43,7 +43,7 @@ module.exports = Self => { fields: ['id', 'name', 'alertLevel', 'code'] }, myOptions); - const worker = await models.Worker.findOne({where: {userFk: userId}}, myOptions); + const worker = await models.Worker.findOne({where: {id: userId}}, myOptions); const promises = []; for (const id of ticketIds) { diff --git a/modules/ticket/back/methods/ticket/filter.js b/modules/ticket/back/methods/ticket/filter.js index eb3da39af..899fe05cd 100644 --- a/modules/ticket/back/methods/ticket/filter.js +++ b/modules/ticket/back/methods/ticket/filter.js @@ -272,7 +272,7 @@ module.exports = Self => { LEFT JOIN state st ON st.id = ts.stateFk LEFT JOIN client c ON c.id = t.clientFk LEFT JOIN worker wk ON wk.id = c.salesPersonFk - LEFT JOIN account.user u ON u.id = wk.userFk + LEFT JOIN account.user u ON u.id = wk.id LEFT JOIN route r ON r.id = t.routeFk`); if (args.orderFk) { diff --git a/modules/ticket/back/models/ticket-request.js b/modules/ticket/back/models/ticket-request.js index 4125126dc..d133f85d5 100644 --- a/modules/ticket/back/models/ticket-request.js +++ b/modules/ticket/back/models/ticket-request.js @@ -10,7 +10,7 @@ module.exports = function(Self) { Self.observe('before save', async function(ctx) { if (ctx.isNewInstance) { const loopBackContext = LoopBackContext.getCurrentContext(); - const filter = {where: {userFk: loopBackContext.active.accessToken.userId}}; + const filter = {where: {id: loopBackContext.active.accessToken.userId}}; const models = Self.app.models; const worker = await models.Worker.findOne(filter); diff --git a/modules/ticket/front/dms/index/index.js b/modules/ticket/front/dms/index/index.js index 2ec7e03c0..676a28db8 100644 --- a/modules/ticket/front/dms/index/index.js +++ b/modules/ticket/front/dms/index/index.js @@ -29,7 +29,7 @@ class Controller extends Section { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/ticket/front/tracking/index/index.js b/modules/ticket/front/tracking/index/index.js index 38abcd8ab..95665b071 100644 --- a/modules/ticket/front/tracking/index/index.js +++ b/modules/ticket/front/tracking/index/index.js @@ -9,7 +9,7 @@ class Controller extends Section { { relation: 'worker', scope: { - fields: ['userFk'], + fields: ['id'], include: { relation: 'user', scope: { diff --git a/modules/worker/back/methods/worker-time-control/sendMail.js b/modules/worker/back/methods/worker-time-control/sendMail.js index 66fb7cc23..2c5143612 100644 --- a/modules/worker/back/methods/worker-time-control/sendMail.js +++ b/modules/worker/back/methods/worker-time-control/sendMail.js @@ -102,7 +102,7 @@ module.exports = Self => { stmt = new ParameterizedSQL('DROP TEMPORARY TABLE IF EXISTS tmp.`user`'); stmts.push(stmt); - stmt = new ParameterizedSQL('CREATE TEMPORARY TABLE IF NOT EXISTS tmp.`user` SELECT userFk FROM vn.worker w JOIN account.`user` u ON u.id = w.userFk WHERE userFk IS NOT NULL'); + stmt = new ParameterizedSQL('CREATE TEMPORARY TABLE IF NOT EXISTS tmp.`user` SELECT id as userFk FROM vn.worker w JOIN account.`user` u ON u.id = w.id WHERE id IS NOT NULL'); stmts.push(stmt); } diff --git a/modules/worker/back/methods/worker/activeWithInheritedRole.js b/modules/worker/back/methods/worker/activeWithInheritedRole.js index 19038405b..9bd02fec8 100644 --- a/modules/worker/back/methods/worker/activeWithInheritedRole.js +++ b/modules/worker/back/methods/worker/activeWithInheritedRole.js @@ -23,7 +23,7 @@ module.exports = Self => { const query = `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.user u ON u.id = w.id JOIN account.roleRole i ON i.role = u.role JOIN account.role r ON r.id = i.inheritsFrom`; diff --git a/modules/worker/back/methods/worker/filter.js b/modules/worker/back/methods/worker/filter.js index 71a8da96f..2f328d28f 100644 --- a/modules/worker/back/methods/worker/filter.js +++ b/modules/worker/back/methods/worker/filter.js @@ -95,8 +95,6 @@ module.exports = Self => { ]}; case 'id': return {'w.id': value}; - case 'userFk': - return {'w.userFk': value}; case 'firstName': return {'w.firstName': {like: `%${value}%`}}; case 'lastName': @@ -123,8 +121,8 @@ module.exports = Self => { FROM worker w LEFT JOIN workerDepartment wd ON wd.workerFk = w.id LEFT JOIN department d ON d.id = wd.departmentFk - LEFT JOIN client c ON c.id = w.userFk - LEFT JOIN account.user u ON u.id = w.userFk + LEFT JOIN client c ON c.id = w.id + LEFT JOIN account.user u ON u.id = w.id LEFT JOIN pbx.sip p ON p.user_id = u.id LEFT JOIN account.emailUser mu ON mu.userFk = u.id` ); diff --git a/modules/worker/back/methods/worker/getWorkedHours.js b/modules/worker/back/methods/worker/getWorkedHours.js index 44f3eca3a..cac74a416 100644 --- a/modules/worker/back/methods/worker/getWorkedHours.js +++ b/modules/worker/back/methods/worker/getWorkedHours.js @@ -38,12 +38,12 @@ module.exports = Self => { const conn = Self.dataSource.connector; const worker = await models.Worker.findById(id); - const userId = worker.userFk; + const userId = worker.id; const stmts = []; stmts.push(` - DROP TEMPORARY TABLE IF EXISTS + DROP TEMPORARY TABLE IF EXISTS tmp.timeControlCalculate, tmp.timeBusinessCalculate `); @@ -54,7 +54,7 @@ module.exports = Self => { const resultIndex = stmts.push(new ParameterizedSQL(` SELECT tcc.dated, tbc.timeWorkSeconds expectedHours, tcc.timeWorkSeconds workedHours - FROM tmp.timeControlCalculate tcc + FROM tmp.timeControlCalculate tcc LEFT JOIN tmp.timeBusinessCalculate tbc ON tcc.dated = tbc.dated WHERE tcc.dated BETWEEN DATE(?) AND DATE(?) `, [started, ended])) - 1; diff --git a/modules/worker/back/models/device-log.json b/modules/worker/back/models/device-log.json index 9278b9038..2b55e9474 100644 --- a/modules/worker/back/models/device-log.json +++ b/modules/worker/back/models/device-log.json @@ -28,6 +28,9 @@ }, "deviceProductionFk": { "type": "number" + }, + "serialNumber": { + "type": "string" } }, "relations": { diff --git a/modules/worker/back/models/worker-time-control.json b/modules/worker/back/models/worker-time-control.json index b045946e7..c40989d84 100644 --- a/modules/worker/back/models/worker-time-control.json +++ b/modules/worker/back/models/worker-time-control.json @@ -36,7 +36,7 @@ "worker": { "type": "hasOne", "model": "Worker", - "foreignKey": "userFk" + "foreignKey": "id" }, "warehouse": { "type": "belongsTo", diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index 6e1371055..dbb3ed23f 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -24,9 +24,6 @@ "phone": { "type" : "string" }, - "userFk": { - "type" : "number" - }, "bossFk": { "type" : "number" }, @@ -66,12 +63,12 @@ "client": { "type": "belongsTo", "model": "Client", - "foreignKey": "userFk" + "foreignKey": "id" }, "sip": { "type": "belongsTo", "model": "Sip", - "foreignKey": "userFk" + "foreignKey": "id" }, "department": { "type": "belongsTo", diff --git a/modules/worker/front/search-panel/index.html b/modules/worker/front/search-panel/index.html index 2adb56587..c93eef78b 100644 --- a/modules/worker/front/search-panel/index.html +++ b/modules/worker/front/search-panel/index.html @@ -18,7 +18,7 @@ + ng-model="filter.id"> @@ -64,4 +64,4 @@ - \ No newline at end of file + diff --git a/modules/worker/front/summary/index.html b/modules/worker/front/summary/index.html index 2607d9b2f..6604ef6ca 100644 --- a/modules/worker/front/summary/index.html +++ b/modules/worker/front/summary/index.html @@ -58,7 +58,7 @@

User data

+ value="{{worker.id}}"> diff --git a/modules/zone/back/methods/zone/deleteZone.js b/modules/zone/back/methods/zone/deleteZone.js index bcfb91e3d..13d45428c 100644 --- a/modules/zone/back/methods/zone/deleteZone.js +++ b/modules/zone/back/methods/zone/deleteZone.js @@ -54,7 +54,7 @@ module.exports = Self => { const ticketList = await models.Ticket.find(filter, myOptions); const fixingState = await models.State.findOne({where: {code: 'FIXING'}}, myOptions); const worker = await models.Worker.findOne({ - where: {userFk: userId} + where: {id: userId} }, myOptions); await models.Ticket.rawSql('UPDATE ticket SET zoneFk = NULL WHERE zoneFk = ?', [id], myOptions); diff --git a/print/templates/email/client-welcome/sql/client.sql b/print/templates/email/client-welcome/sql/client.sql index 49e1d4bf6..59bdeae4a 100644 --- a/print/templates/email/client-welcome/sql/client.sql +++ b/print/templates/email/client-welcome/sql/client.sql @@ -7,5 +7,5 @@ SELECT FROM client c JOIN account.user u ON u.id = c.id LEFT JOIN worker w ON w.id = c.salesPersonFk - LEFT JOIN account.user wu ON wu.id = w.userFk -WHERE c.id = ? \ No newline at end of file + LEFT JOIN account.user wu ON wu.id = w.id +WHERE c.id = ? diff --git a/print/templates/email/printer-setup/sql/client.sql b/print/templates/email/printer-setup/sql/client.sql index 2a8a751e0..31454408f 100644 --- a/print/templates/email/printer-setup/sql/client.sql +++ b/print/templates/email/printer-setup/sql/client.sql @@ -8,5 +8,5 @@ SELECT FROM client c JOIN account.user u ON u.id = c.id LEFT JOIN worker w ON w.id = c.salesPersonFk - LEFT JOIN account.user wu ON wu.id = w.userFk -WHERE c.id = ? \ No newline at end of file + LEFT JOIN account.user wu ON wu.id = w.id +WHERE c.id = ? diff --git a/print/templates/reports/driver-route/sql/routes.sql b/print/templates/reports/driver-route/sql/routes.sql index 4b6f6a318..79bede5b2 100644 --- a/print/templates/reports/driver-route/sql/routes.sql +++ b/print/templates/reports/driver-route/sql/routes.sql @@ -1,4 +1,4 @@ -SELECT +SELECT r.id, r.m3, r.created, @@ -11,9 +11,9 @@ SELECT FROM route r LEFT JOIN vehicle v ON v.id = r.vehicleFk LEFT JOIN worker w ON w.id = r.workerFk - LEFT JOIN account.user u ON u.id = w.userFk + LEFT JOIN account.user u ON u.id = w.id LEFT JOIN agencyMode am ON am.id = r.agencyModeFk LEFT JOIN agency a ON a.id = am.agencyFk LEFT JOIN supplierAgencyTerm sa ON sa.agencyFk = a.id LEFT JOIN supplier s ON s.id = sa.supplierFk -WHERE r.id IN(?) \ No newline at end of file +WHERE r.id IN(?)