NUEVA BUSQUEDA DE DATOS SRI
This commit is contained in:
@@ -4,7 +4,9 @@ const morgan = require('morgan');
|
||||
const mysql = require('mysql');
|
||||
const cloud_file = require('express-fileupload');
|
||||
const myConecction = require('express-myconnection');
|
||||
const cors_origins = require('cors');
|
||||
//const jwt = require('jwt');
|
||||
//const pool = require('./db.js');
|
||||
|
||||
var puerto = 3001;
|
||||
global.config = require('./config.js');
|
||||
@@ -25,6 +27,8 @@ app.set('views',path.join(__dirname, 'views'));
|
||||
app.locals = global.config;
|
||||
//app.locals.pretty;//true minificado//false minificado
|
||||
|
||||
//***** CONTROL DE CORDS ******/
|
||||
app.use(cors_origins({origin:global.config.origin.any}));
|
||||
|
||||
//middlewares
|
||||
app.use(express.static(__dirname+'/public'));//para usar la carpeta public *js*css*img
|
||||
@@ -35,7 +39,7 @@ app.use(myConecction(mysql,{
|
||||
password:global.config.db.pswd,
|
||||
port:global.config.db.port,
|
||||
database:global.config.db.db_a
|
||||
},'single'));
|
||||
},'pool'));
|
||||
//cuando reciba dato desde req body
|
||||
app.use(express.json({limit: '25mb'}));
|
||||
app.use(express.urlencoded({limit:'25mb',extended:false}));
|
||||
|
||||
@@ -20,5 +20,9 @@ const config = {
|
||||
empresa:"",
|
||||
role:"",
|
||||
},
|
||||
origin:{
|
||||
whiteList : ['https://factura-e.net','https://app.factura-e.net'],
|
||||
any:{},
|
||||
},
|
||||
}
|
||||
module.exports = config;
|
||||
@@ -4,14 +4,14 @@ const axios = require('axios').default;
|
||||
controlador.verClientesJsonApp = (req, res) => {
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT client_rucCed, client_nombre, client_direccion, client_celular, client_email FROM clientes order by client_nombre DESC LIMIT 100', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
//conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
if(err){
|
||||
//conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
if (err) {
|
||||
res.json(err);
|
||||
//next(err);
|
||||
}
|
||||
//console.log(rows);
|
||||
//var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]};
|
||||
var client = {Clientes:rows};
|
||||
var client = { Clientes: rows };
|
||||
res.json(client);
|
||||
//res.render('clientesV',{ data:rows });
|
||||
});
|
||||
@@ -22,31 +22,31 @@ controlador.verClientesJsonApp = (req, res) => {
|
||||
controlador.ver = (req, res) => {
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT * FROM clientes order by client_id DESC LIMIT 50', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
//conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
if(err){
|
||||
//conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows)
|
||||
if (err) {
|
||||
res.json(err);
|
||||
//next(err);
|
||||
}
|
||||
//console.log(rows);
|
||||
res.render('clientesV',{
|
||||
data:rows
|
||||
res.render('clientesV', {
|
||||
data: rows
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
controlador.verClientJson = (req,res) => {
|
||||
controlador.verClientJson = (req, res) => {
|
||||
console.log(req.params);
|
||||
const idCl = req.params.client_rucCed;
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT * FROM clientes WHERE client_rucCed = ?',[idCl],(err,rows)=>{
|
||||
conn.query('SELECT * FROM clientes WHERE client_rucCed = ?', [idCl], (err, rows) => {
|
||||
res.json(rows);
|
||||
//res.render('clientesV',{ data:rows });
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
controlador.verClientJsonPost = (req,res) => {
|
||||
controlador.verClientJsonPost = (req, res) => {
|
||||
console.log(req.body);//requerimiento
|
||||
const dato = req.body;
|
||||
res.send('working...');
|
||||
@@ -60,37 +60,37 @@ controlador.verClientJsonPost = (req,res) => {
|
||||
});*/
|
||||
};
|
||||
|
||||
controlador.verClientForm = (req,res) => {
|
||||
controlador.verClientForm = (req, res) => {
|
||||
//console.log(req.params);
|
||||
//const idCl = req.params.client_rucCed;
|
||||
const {client_rucCed} = req.params;
|
||||
const { client_rucCed } = req.params;
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT * FROM clientes WHERE client_rucCed = ?',[client_rucCed],(err,rows)=>{
|
||||
if(err){
|
||||
conn.query('SELECT * FROM clientes WHERE client_rucCed = ?', [client_rucCed], (err, rows) => {
|
||||
if (err) {
|
||||
res.json(err);
|
||||
//next(err);
|
||||
}
|
||||
console.log(rows);
|
||||
res.render('clientesV',{
|
||||
data:rows
|
||||
res.render('clientesV', {
|
||||
data: rows
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
//***Nuevos Clientes***//
|
||||
controlador.verFormNclientes = (req,res)=>{
|
||||
controlador.verFormNclientes = (req, res) => {
|
||||
console.log('form nuevo cliente');
|
||||
res.render('clienteNuevo');
|
||||
};
|
||||
controlador.guardaCliente = (req, res) => {
|
||||
console.log(req.body);
|
||||
const data = req.body;
|
||||
req.getConnection((err,conn)=>{
|
||||
conn.query('INSERT INTO clientes set ?',[data],(err,rows)=>{
|
||||
if(err){
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('INSERT INTO clientes set ?', [data], (err, rows) => {
|
||||
if (err) {
|
||||
next(res.json(err));
|
||||
}else{
|
||||
} else {
|
||||
console.log(rows);
|
||||
//res.send('working...');
|
||||
res.redirect('/clientes');//redireciona a la ruta inical de la app
|
||||
@@ -99,24 +99,24 @@ controlador.guardaCliente = (req, res) => {
|
||||
});
|
||||
};
|
||||
|
||||
controlador.VerClienteA_Modificar = (req,res) => {
|
||||
const {client_id} = req.params;
|
||||
req.getConnection((err,conn) => {
|
||||
conn.query('SELECT * FROM clientes WHERE client_id = ?',[client_id],(err,rows)=>{
|
||||
controlador.VerClienteA_Modificar = (req, res) => {
|
||||
const { client_id } = req.params;
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT * FROM clientes WHERE client_id = ?', [client_id], (err, rows) => {
|
||||
console.log(rows);
|
||||
res.render('clientesEdit',{
|
||||
res.render('clientesEdit', {
|
||||
data: rows[0]
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
controlador.modificaCliente = (req,res) => {
|
||||
const {client_id} = req.params;
|
||||
controlador.modificaCliente = (req, res) => {
|
||||
const { client_id } = req.params;
|
||||
const nCliente = req.body;
|
||||
|
||||
req.getConnection((err,conn) => {
|
||||
conn.query('UPDATE clientes SET ? WHERE client_id = ?',[nCliente,client_id],(err,rows)=>{
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('UPDATE clientes SET ? WHERE client_id = ?', [nCliente, client_id], (err, rows) => {
|
||||
console.log(rows);
|
||||
res.redirect("/");
|
||||
//res.render('clientesEdit',{ data: rows[0] });
|
||||
@@ -124,21 +124,21 @@ controlador.modificaCliente = (req,res) => {
|
||||
});
|
||||
};
|
||||
|
||||
controlador.eliminarCliente = (req,res) => {
|
||||
controlador.eliminarCliente = (req, res) => {
|
||||
//console.log(req.params.client_id);
|
||||
//const id = req.params.client_id;
|
||||
const {client_id} = req.params;
|
||||
const { client_id } = req.params;
|
||||
//res.send('Eliminar ');
|
||||
req.getConnection((err,conn)=>{
|
||||
conn.query('DELETE FROM clientes WHERE client_id=?',[client_id],(err,rows)=>{
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('DELETE FROM clientes WHERE client_id=?', [client_id], (err, rows) => {
|
||||
res.redirect('/');//redireciona a la ruta inical de la app
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//********* CONSULTA CLIENTES APP-SIGMA********//
|
||||
controlador.app_pedidos_clientes = (req,res) => {
|
||||
const consulta = "%"+req.query.consulta+"%";
|
||||
controlador.app_pedidos_clientes = (req, res) => {
|
||||
const consulta = "%" + req.query.consulta + "%";
|
||||
//let data = req.stringify;
|
||||
console.log(req.query);
|
||||
|
||||
@@ -146,7 +146,7 @@ controlador.app_pedidos_clientes = (req,res) => {
|
||||
req.getConnection((err, conn) => {
|
||||
//codigo_prdcto
|
||||
//conn.query('SELECT codigo_prdcto,detalle_prdcto,describe_prdcto FROM productos WHERE detalle_prdcto like ? or describe_prdcto like ?',[item,item],(err,rows)=>{
|
||||
conn.query(`SELECT client_rucCed,client_nombre,client_direccion,client_celular,client_email FROM clientes WHERE client_nombre like ? or client_rucCed like ?`,[consulta,consulta],(err,rows)=>{
|
||||
conn.query(`SELECT client_rucCed,client_nombre,client_direccion,client_celular,client_email FROM clientes WHERE client_nombre like ? or client_rucCed like ?`, [consulta, consulta], (err, rows) => {
|
||||
//res.json(rows);
|
||||
res.json(rows);
|
||||
console.log(err);
|
||||
@@ -174,52 +174,83 @@ controlador.buscarCli_sri = (req, res) => {
|
||||
|
||||
switch (selc) {
|
||||
case 0:
|
||||
axios.post(arrayUrl[selc]+"?ruc="+idCli)
|
||||
.then(function(resp_sri){
|
||||
//console.log(resp_sri.data);
|
||||
//var consulta = {"resp_consulta":resp_sri};
|
||||
var json = {nombre:"NOMBRE",empresa:"empresa",direccion:"Santo Domingo"};
|
||||
var consulta = {"resp_consulta":json};
|
||||
res.json(json);
|
||||
});
|
||||
axios.post(arrayUrl[selc] + "?ruc=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
//console.log(resp_sri.data);
|
||||
//var consulta = {"resp_consulta":resp_sri};
|
||||
var json = { nombre: "NOMBRE", empresa: "empresa", direccion: "Santo Domingo" };
|
||||
var consulta = { "resp_consulta": json };
|
||||
res.json(json);
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
axios.post(arrayUrl[selc]+"?ruc="+idCli)
|
||||
.then(function(resp_sri){
|
||||
console.log(resp_sri.data);
|
||||
var consulta = {"resp_consulta":resp_sri};
|
||||
res.json(consulta);
|
||||
});
|
||||
axios.post(arrayUrl[selc] + "?ruc=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
console.log(resp_sri.data);
|
||||
var consulta = { "resp_consulta": resp_sri };
|
||||
res.json(consulta);
|
||||
});
|
||||
break;
|
||||
case 2:
|
||||
axios.post(arrayUrl[selc]+"?ruc="+idCli)
|
||||
.then(function(resp_sri){
|
||||
console.log(resp_sri.data);
|
||||
var data_toArray = resp_sri.data;
|
||||
let arr = data_toArray.split('***');
|
||||
console.log(arr);
|
||||
var obj_json = {nombre:arr[1],empresa:arr[2],direccion:arr[9]};
|
||||
//var consulta = {"resp_consulta":json};
|
||||
res.json(obj_json);
|
||||
});
|
||||
axios.post(arrayUrl[selc] + "?ruc=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
console.log(resp_sri.data);
|
||||
var data_toArray = resp_sri.data;
|
||||
let arr = data_toArray.split('***');
|
||||
console.log(arr);
|
||||
var obj_json = { nombre: arr[1], empresa: arr[2], direccion: arr[9] };
|
||||
//var consulta = {"resp_consulta":json};
|
||||
res.json(obj_json);
|
||||
});
|
||||
break;
|
||||
|
||||
case 4:
|
||||
var json = {nombre:"NOMBRE",empresa:"empresa",direccion:"Santo Domingo"};
|
||||
var consulta = {"resp_consulta":json};
|
||||
var json = { nombre: "NOMBRE", empresa: "empresa", direccion: "Santo Domingo" };
|
||||
var consulta = { "resp_consulta": json };
|
||||
res.json(json);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
// conectarme a SRI FALSO
|
||||
/*axios.post(data_url,{
|
||||
data: {
|
||||
func:'GETDATA',
|
||||
ruc:numeroruc
|
||||
}
|
||||
}).then(function(res) {
|
||||
console.log(res.data);
|
||||
});*/
|
||||
/*axios.post(data_url,{
|
||||
data: {
|
||||
func:'GETDATA',
|
||||
ruc:numeroruc
|
||||
}
|
||||
}).then(function(res) {
|
||||
console.log(res.data);
|
||||
});*/
|
||||
}
|
||||
|
||||
controlador.api_consultaCliente = (req, res) => {
|
||||
var idCli = req.query.id;
|
||||
console.log(`Peticion => Consulta ID: ${idCli}`);
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT client_nombre as nombre,client_razonSocial as nombre_comercial,client_direccion as direccion,IFNULL(client_celular,client_telefono) as telefono,client_email as email FROM clientes WHERE client_rucCed = ?', [idCli], (err, rows) => {
|
||||
//conn.query('SELECT * FROM clientes WHERE client_rucCed = ?',[idCli],(err,rows)=>{
|
||||
if (rows.length > 0) {
|
||||
res.json(rows);
|
||||
} else {
|
||||
axios.post(arrayUrl[2] + "?ruc=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
//console.log(resp_sri.data);
|
||||
var data_toArray = resp_sri.data;
|
||||
let arr = data_toArray.split('***');
|
||||
//console.log(arr);
|
||||
var obj_json = { nombre: arr[1], nombre_comercial: arr[2], direccion: arr[5],telefono:"",email:"" };
|
||||
console.log(obj_json);
|
||||
res.json(obj_json);
|
||||
}).catch(function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function consulta_clientes(idCli) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
module.exports = controlador;
|
||||
|
||||
@@ -238,15 +238,13 @@ controlador.cat_json = (req, res) => {
|
||||
res.json(err);
|
||||
next(err);
|
||||
}
|
||||
//conn.end();
|
||||
});
|
||||
}
|
||||
controlador.item_xCat = (req, res) => {
|
||||
const catg = req.params;
|
||||
console.log(catg);
|
||||
try{
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('select * from ver_inventario_precios_app where categoria = ? and grupo_precio = ?', [catg.cat,catg.gpp], (err, rows) => {
|
||||
conn.query('select * from ver_inventario_precios_app where categoria = ? and grupo_precio = ?', [catg.cat, catg.gpp], (err, rows) => {
|
||||
rows.map(
|
||||
dat => {
|
||||
dat.img = blob_a_b64(dat.img);
|
||||
@@ -255,10 +253,7 @@ controlador.item_xCat = (req, res) => {
|
||||
res.json(rows);
|
||||
console.log(err);
|
||||
});
|
||||
});}catch(err){
|
||||
res.json(err);
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
12
src/db.js
Normal file
12
src/db.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const db = {};
|
||||
//import { createPool } from "mysql2";
|
||||
const createPool = require('mysql2');
|
||||
|
||||
db.pool = createPool({
|
||||
host: 'localhost',
|
||||
user: 'admin',
|
||||
password: 'Dx.1706%',
|
||||
port: 3306,
|
||||
database: 'zuba'
|
||||
});
|
||||
module.exports = db;
|
||||
BIN
src/public/img/icon_notfcionMail/icons8-email-16.png
Normal file
BIN
src/public/img/icon_notfcionMail/icons8-email-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 425 B |
BIN
src/public/img/icon_notfcionMail/icons8-telefono-16.png
Normal file
BIN
src/public/img/icon_notfcionMail/icons8-telefono-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 270 B |
BIN
src/public/img/icon_notfcionMail/icons8-teléfono-16.png
Normal file
BIN
src/public/img/icon_notfcionMail/icons8-teléfono-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 288 B |
BIN
src/public/img/icon_notfcionMail/icons8-whatsapp-16.png
Normal file
BIN
src/public/img/icon_notfcionMail/icons8-whatsapp-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 780 B |
@@ -107,16 +107,30 @@ function add_toping(cod){
|
||||
<br><br>
|
||||
<div class="select_topping">
|
||||
<select>
|
||||
<option>Termino Crudo</option>
|
||||
<option>Termino Medio</option>
|
||||
<option>Termino Casi Cocido</option>
|
||||
<option value="1">Termino Crudo</option>
|
||||
<option value="2">Termino Medio</option>
|
||||
<option value="3">Termino Casi Cocido</option>
|
||||
</select>
|
||||
</div><br><br>
|
||||
<div class="bt_group">
|
||||
<button class="btn" onClick="">Aceptar</button>
|
||||
<button class="btn" onClick="add_topingLista('${cod}')">Aceptar</button>
|
||||
<button class="btn" onclick="window.dialog.close();">Cancelar</button>
|
||||
</div>`;
|
||||
var mesg = document.getElementById("dialog");
|
||||
mesg.innerHTML = contHtml;
|
||||
window.dialog.showModal();
|
||||
}
|
||||
function add_topingLista(codItems){
|
||||
var sel = document.querySelector(".select_topping select");
|
||||
var pos;
|
||||
lista_items.forEach(element => {
|
||||
if (element.codigo === codItems) {
|
||||
pos = lista_items.indexOf(element);//posicion del vector
|
||||
element.toping = sel.value;
|
||||
console.log("Agregando Tp: " + sel.value);
|
||||
}
|
||||
});
|
||||
//lista_items.splice(pos, 1);
|
||||
render_tabla_items(lista_items);
|
||||
window.dialog.close();
|
||||
}
|
||||
|
||||
94
src/public/plantilla_mail/comprobante.html
Normal file
94
src/public/plantilla_mail/comprobante.html
Normal file
@@ -0,0 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<style>
|
||||
.border {
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
|
||||
integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container" style="font-family:Arial,sans-serif">
|
||||
<div class="header">
|
||||
<div class="title"
|
||||
style="background-color:#435161;color: azure; text-align: center;padding: 20px; height:50px;font-size: 25px; margin: top 10px;">
|
||||
PERÍODO MARZO 2023
|
||||
</div>
|
||||
<h2><strong>Estimado/a: </strong><span class="nombre">PABLO XAVIER FARIAS</span></h2>
|
||||
|
||||
</div>
|
||||
<div class="content" style="border-radius: 10px;background: #f3f3f3; padding: 10px">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Identificación:</strong></td>
|
||||
<td>1722237896001</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Documento:</strong></td>
|
||||
<td>FACTURA</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Numero:</strong></td>
|
||||
<td>001-011-035177897</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>No. de autorización:</strong></td>
|
||||
<td>1503202301179128754100120010110351778972175345216</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Fecha de emisión:</strong></td>
|
||||
<td>15/03/2023</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Forma de pago: </strong></td>
|
||||
<td>EFECTIVO</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><br><br>
|
||||
<div style="font-size: 32px;"><strong>TOTAL: $29.68</strong></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
Gracias por utilizar nuestro servicio <br><br>
|
||||
Atentamente,<br>
|
||||
<span style="font-size:26px">Telcotronics</span><br><br>
|
||||
Adjunto encontrarás el <strong>XML</strong> y <strong>RIDE</strong> que te servirá para declaración
|
||||
tributaria
|
||||
</div>
|
||||
<div class="info" style="font-size: 12px; background-color: #435161; padding: 8px; color: white; display: flex;">
|
||||
<div> Documento generado por:
|
||||
<a href="https://sigmac.app" style="color:#f3f3f3; margin-top: 5px;">
|
||||
<strong>SIGMA-APP </strong>
|
||||
<img src="https://telcotronics.com/img/APP_SIGMA48.png" alt="logo" width="16px"
|
||||
style="vertical-align: bottom;">
|
||||
</a><br><br>
|
||||
<a href="tel:+593961002767" style="color: #f3f3f3; margin-top: 5px;">
|
||||
<img src="https://telcotronics.com/img/icon_appEMail/icons8-telefono-16.png" alt="" style="vertical-align: bottom;">
|
||||
Telef: +593 961002767
|
||||
</a><br>
|
||||
<a href="mailto:info@sigmac.app?subject=Informacion Sobre el SIGMA" style="color: #f3f3f3; margin-top: 5px;">
|
||||
<img src="https://telcotronics.com/img/icon_appEMail/icons8-email-16.png" alt="" style="vertical-align: bottom;">
|
||||
Email: info@sigmac.app
|
||||
</a><br>
|
||||
<a href="https://wa.me/?text=AYUDA" style="color: #fff; margin-top: 20px;">
|
||||
<img src="https://telcotronics.com/img/icon_appEMail/icons8-whatsapp-16.png" alt="" style="vertical-align: bottom;">
|
||||
WhatsApp 24h
|
||||
</a>
|
||||
</div>
|
||||
<div style="position: fixed; right: 10px;">
|
||||
<img src="https://telcotronics.com/img/item/mi_web.png" alt="" width="64">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
130
src/public/plantilla_mail/plntillaMail2.html
Normal file
130
src/public/plantilla_mail/plntillaMail2.html
Normal file
@@ -0,0 +1,130 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-structure x_es-p5" bgcolor="#f67006" align="left" style="background-color:#f67006">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-container-frame" width="590" valign="top" align="center">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-block-text" align="center">
|
||||
<p style="color:#ffffff"><strong>PERÍODO MARZO 2023</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="x_esd-structure x_es-p20t x_es-p20r x_es-p20l" bgcolor="#ffffff" align="left"
|
||||
style="background-color:#ffffff">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-container-frame" width="560" valign="top" align="center">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-block-text" align="center">
|
||||
<h2 style="text-align:center"><strong>PABLO XAVIER FARIAS</strong>
|
||||
</h2>
|
||||
<p><strong>Identificación: 1722237896001</strong><br
|
||||
aria-hidden="true"></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="x_esd-structure x_es-p15t x_es-p20l" bgcolor="#ffffff" align="left"
|
||||
style="background-color:#ffffff; border:1px solid #666; border-radius:5px; padding-top:5px; padding-bottom:5px; padding-left:1px; padding-right:1px">
|
||||
<table class="x_es-left" cellspacing="0" cellpadding="0" align="left">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_es-m-p20b x_esd-container-frame" width="600" align="left">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_esd-block-text" align="left">
|
||||
<p style="line-height:1.4"><strong
|
||||
style="color:#f27b00">Documento:</strong>
|
||||
<strong>FACTURA</strong> <strong
|
||||
style="color:#f27b00">Nro.:</strong><strong>001-011-035177897</strong><br
|
||||
aria-hidden="true"><strong style="color:#f27b00">No. de
|
||||
autorización:</strong><br aria-hidden="true"><strong
|
||||
style="font-size:15px">1503202301179128754100120010110351778972175345216</strong><br
|
||||
aria-hidden="true"><strong style="color:#f27b00">Fecha de
|
||||
emisión:</strong> <strong>15/03/2023</strong><br
|
||||
aria-hidden="true"><strong style="color:#f27b00">Forma de
|
||||
pago: </strong><strong>EFECTIVO</strong> <strong
|
||||
style="color:#f27b00"><br aria-hidden="true">FECHA MÁXIMA DE
|
||||
PAGO:</strong> <strong>25/03/2023</strong><br
|
||||
aria-hidden="true"></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="x_esd-block-text" align="left"><br aria-hidden="true">
|
||||
<p style="text-align:center"><strong
|
||||
style="font-size:25px; color:#f27b00">TOTAL:</strong>
|
||||
<strong
|
||||
style="text-align:center; font-size:34px">$29.68</strong> <br
|
||||
aria-hidden="true"></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="x_esd-structure x_es-p20t x_es-p20r x_es-p20l" bgcolor="#ffffff" align="left"
|
||||
style="background-color:#ffffff">
|
||||
<table class="x_es-left" cellspacing="0" cellpadding="0" align="left">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="x_es-m-p20b x_esd-container-frame" width="300" align="left">
|
||||
<table width="100%" height="20px" cellspacing="0" cellpadding="0 ">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><br aria-hidden="true"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
34
src/public/plantilla_mail/tes.html
Normal file
34
src/public/plantilla_mail/tes.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
1 - RETENCIÓN IVA 30%
|
||||
10 - RETENCIÓN IVA 20%
|
||||
11 - RETENCIÓN IVA 50%
|
||||
2 - RETENCIÓN IVA 70%
|
||||
3 - RETENCIÓN IVA 100%
|
||||
9 - RETENCIÓN IVA 10%
|
||||
</head>
|
||||
|
||||
<body>
|
||||
303 - HONORARIOS PROFESIONALES Y DEMÁS PAGOS POR SERVICIOS RELACIONADOS CON EL TÍTULO PROFESIONAL
|
||||
304 - SERVICIOS PREDOMINA EL INTELECTO NO RELACIONADOS CON EL TÍTULO PROFESIONAL
|
||||
304A - COMISIONES Y DEMÁS PAGOS POR SERVICIOS PREDOMINA INTELECTO NO RELACIONADOS CON EL TÍTULO PROFESIONAL
|
||||
304B - PAGOS A NOTARIOS Y REGISTRADORES DE LA PROPIEDAD Y MERCANTIL POR SUS ACTIVIDADES EJERCIDAS COMO TALES
|
||||
307 - SERVICIOS PREDOMINA LA MANO DE OBRA
|
||||
309 - SERVICIOS PRESTADOS POR MEDIOS DE COMUNICACIÓN Y AGENCIAS DE PUBLICIDAD
|
||||
310 - SERVICIO DE TRANSPORTE PRIVADO DE PASAJEROS O TRANSPORTE PÚBLICO O PRIVADO DE CARGA
|
||||
311 - PAGOS A TRAVÉS DE LIQUIDACIÓN DE COMPRA (NIVEL CULTURAL O RUSTICIDAD)
|
||||
312 - TRANSFERENCIA DE BIENES MUEBLES DE NATURALEZA CORPORAL
|
||||
312A - COMPRA DE BIENES DE ORIGEN AGRÍCOLA, AVÍCOLA, PECUARIO, APÍCOLA, CUNÍCULA, BIOACUÁTICO, FORESTAL Y CARNES EN ESTADO NATURAL
|
||||
322 - SEGUROS Y REASEGUROS (PRIMAS Y CESIONES)
|
||||
332 - RENDIMIENTOS FINANCIEROS: DEPÓSITO A PLAZO FIJO EXENTOS
|
||||
343 - OTRAS RETENCIONES RÉGIMEN RIMPE
|
||||
343A - ENERGÍA ELÉCTRICA
|
||||
343B - ACTIVIDADES DE CONSTRUCCIÓN
|
||||
3440 - OTRAS RETENCIONES APLICABLES EL 2,75%
|
||||
351 - RETENCIONES MICROEMPRESAS
|
||||
501 - PAGO A NO RESIDENTES - BENEFICIOS/SERVICIOS EMPRESARIALES
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -24,4 +24,5 @@ rutas.get('/addClienteForm', controladorClientes.verFormNclientes);//muesta form
|
||||
//APP_SIGMA consultas
|
||||
rutas.get('/consultaClientesJson', controladorClientes.app_pedidos_clientes);//consulta clientes app-sigma
|
||||
rutas.get('/busquedaSRI/', controladorClientes.buscarCli_sri);//consulta grupo precios
|
||||
rutas.get('/api_consultaClientes/', controladorClientes.api_consultaCliente);//API consulta clientes
|
||||
module.exports = rutas;
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
<div class="box">
|
||||
<div class="login-box">
|
||||
<div class="login-logo">
|
||||
<a href="https://sigmac.app"><strong><img src="img/pedidos64.png" alt="logo" width="52"> <span class="nom_app">SIGMA</span></strong>
|
||||
<a href="https://sigmac.app"><strong><img src="img/pedidos64.png" alt="logo" width="52"> <span
|
||||
class="nom_app">SIGMA</span></strong>
|
||||
Pedidos</a>
|
||||
</div>
|
||||
<div class="card">
|
||||
@@ -100,8 +101,10 @@
|
||||
})
|
||||
</script>
|
||||
<script src="https://www.gstatic.com/dialogflow-console/fast/messenger/bootstrap.js?v=1"></script>
|
||||
<df-messenger intent="WELCOME" chat-title="Chat SIAX" agent-id="eea5ca65-ded3-4c89-bd8a-9e6378cb4686"
|
||||
language-code="es" chat-icon="https://telcotronics.com/app/ftp/logo/logoTelcotronics36.png"
|
||||
<df-messenger intent="WELCOME" chat-title="Chat SIAX"
|
||||
agent-id="eea5ca65-ded3-4c89-bd8a-9e6378cb4686"
|
||||
language-code="es"
|
||||
chat-icon="https://telcotronics.com/img/APP_TELCOTRONICS48.png"
|
||||
class="pulse-button">
|
||||
</df-messenger>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user