diff --git a/back/methods/dms/saveSign.js b/back/methods/dms/saveSign.js
index 7c69db3555..f668c5ed25 100644
--- a/back/methods/dms/saveSign.js
+++ b/back/methods/dms/saveSign.js
@@ -8,7 +8,7 @@ module.exports = Self => {
         accepts:
         [
             {
-                arg: 'singContent',
+                arg: 'signContent',
                 type: 'string',
                 required: true,
                 description: 'The sign content'
@@ -39,83 +39,95 @@ module.exports = Self => {
     });
 
     async function createGestDoc(ticketId, userFk) {
-        if (! await gestDocExists(ticketId)) {
-            const query = `SELECT t.warehouseFk,
-                t.companyFk,
-                c.name,
-                r.id
-                FROM vn.ticket t
-                JOIN vn.client c ON t.clientFk = c.id
-                JOIN vn.route r ON t.routeFk = r.id
-                WHERE t.id = ?`;
-
-            const result = await Self.rawSql(query, [ticketId]);
-
-            const warehouseFk = result[0].warehouseFk;
-            const companyFk = result[0].companyFk;
-            const client = result[0].name;
-            const route = result[0].id;
-
-            const queryDmsType = `SELECT id
-                FROM vn.dmsType
-                WHERE code='Ticket'`;
-
-            const resultDmsType = await Self.rawSql(queryDmsType, []);
-
-            const dmsInsert = `INSERT INTO vn.dms 
-                (dmsTypeFk, reference, description, companyFk, warehouseFk, workerFk)
-                VALUES (?, ?, ?, ?, ?, ?)`;
-
-            const resultDms = await Self.rawSql(
-                dmsInsert,
-                [
-                    resultDmsType[0].id, ticketId,
-                    `Ticket ${ticketId} Cliente ${client} Ruta ${route}`,
-                    companyFk, warehouseFk, userFk
+        const models = Self.app.models;
+        if (!await gestDocExists(ticketId)) {
+            const result = await models.Ticket.findOne({
+                where: {
+                    id: ticketId
+                },
+                include: [
+                    {
+                        relation: 'warehouse',
+                        scope: {
+                            fields: ['id']
+                        }
+                    }, {
+                        relation: 'client',
+                        scope: {
+                            fields: ['name']
+                        }
+                    }, {
+                        relation: 'route',
+                        scope: {
+                            fields: ['id']
+                        }
+                    }
                 ]
-            );
+            });
+
+            const warehouseFk = result.warehouseFk;
+            const companyFk = result.companyFk;
+            const client = result.client.name;
+            const route = result.route.id;
+
+            const resultDmsType = await models.DmsType.findOne({
+                where: {
+                    code: 'Ticket'
+                }
+            });
+
+            const resultDms = await models.Dms.create({
+                dmsTypeFk: resultDmsType.id,
+                reference: ticketId,
+                description: `Ticket ${ticketId} Cliente ${client} Ruta ${route}`,
+                companyFk: companyFk,
+                warehouseFk: warehouseFk,
+                workerFk: userFk
+            });
 
             return resultDms.insertId;
         }
-
-        return 'null';
     }
 
     async function gestDocExists(ticket) {
-        const dMSQuery = `SELECT dmsFk as id FROM vn.ticketDms WHERE ticketFk = ?`;
+        const models = Self.app.models;
+        const result = await models.TicketDms.findOne({
+            where: {
+                ticketFk: ticket
+            },
+            fields: ['dmsFk']
+        });
 
-        result = await Self.rawSql(dMSQuery, [ticket]);
-
-        if (result.length < 0)
+        if (result == null)
             return false;
 
-        const isSigned = await Self.rawSql(
-            `SELECT isSigned FROM vn.ticket WHERE id = ?`, [ticket]
-        );
+        const isSigned = await models.Ticket.findOne({
+            where: {
+                id: ticket
+            },
+            fields: ['isSigned']
+        });
 
-        if (isSigned[0].isSigned)
+        if (isSigned)
             return true;
         else
-            deleteFromGestDoc(ticket);
-    }
-
-    async function deleteFromGestDoc(ticket) {
-        await Self.rawSql(
-            `DELETE FROM vn.dms WHERE reference = ?`, [ticket]
-        );
+            await models.Dms.destroyById(ticket);
     }
 
     async function dmsRecover(ticket, signContent) {
-        const query = `INSERT INTO vn.dmsRecover (ticketFk, sign) VALUES (?, ?)`;
-
-        await Self.rawSql(query, [ticket, signContent]);
+        const models = Self.app.models;
+        await models.DmsRecover.create({
+            ticketFk: ticket,
+            sign: signContent
+        });
     }
 
     async function ticketGestdoc(ticket, dmsFk) {
-        const query = `REPLACE INTO vn.ticketDms(ticketFk, dmsFk)
-        VALUES (?, ?)`;
-
-        await Self.rawSql(query, [ticket, dmsFk]);
+        const models = Self.app.models;
+        models.TicketDms.replaceOrCreate({
+            ticketFk: ticket,
+            dmsFk: dmsFk
+        });
 
         const queryVnTicketSetState = `CALL vn.ticket_setState(?, ?)`;
 
@@ -123,12 +135,18 @@ module.exports = Self => {
     }
 
     async function updateGestdoc(file, ticket) {
-        const query = `UPDATE vn.dms SET file=?, contentType = 'image/png' WHERE id=?`;
-
-        await Self.rawSql(query, [file, ticket]);
+        const models = Self.app.models;
+        models.Dms.updateOne({
+            where: {
+                id: ticket
+            },
+            file: file,
+            contentType: 'image/png'
+        });
     }
 
-    Self.saveSign = async(ctx, signContent, tickets, signedTime, addressFk) => {
+    Self.saveSign = async(ctx, signContent, tickets, signedTime) => {
+        const models = Self.app.models;
         let tx = await Self.beginTransaction({});
         try {
             const userId = ctx.req.accessToken.userId;
@@ -138,10 +156,12 @@ module.exports = Self => {
             let image = null;
 
             for (let i = 0; i < tickets.length; i++) {
-                const call = `SELECT alertLevel FROM vn.ticketState WHERE ticketFk = ${tickets[i]}`;
-                const result = await Self.rawSql(call);
-
-                alertLevel = result[0].alertLevel;
+                const alertLevel = await models.TicketState.findOne({
+                    where: {
+                        ticketFk: tickets[i]
+                    },
+                    fields: ['alertLevel']
+                });
 
                 signedTime ? signedTime != undefined : signedTime = new Date();
 
@@ -161,7 +181,7 @@ module.exports = Self => {
 
                         fileName = `${id}.png`;
                         image = `${dir}/${fileName}`;
-                    }
+                    } else
 
                     if (image != null) {
                         if (!fs.existsSync(dir))