require('../connections/mysql-server'); require('../helpers/CheckToken'); const express = require('express'); const router = express.Router(); const bodyParser = require('body-parser'); router.use(bodyParser.urlencoded({ extended: true })); router.use(bodyParser.json()); var routes = function () { //#region PRODUTOS - MATERIAIS router.post('/insert', verifyJWT, (req, res) => { const barcode = req.body.barcode; const description = req.body.description; const value = parseFloat(req.body.value); const service = req.body.service ? 1 : 0; const registerdate = req.body.registerdate; const amountstock = req.body.amountstock; const minstock = req.body.minstock; const maxstock = req.body.maxstock; const idealstock = req.body.idealstock; const present = req.body.present ? 1 : 0; const amountplotspresent = req.body.amountplotspresent ? 1 : 0; const disabled = req.body.disabled ? 1 : 0; execSQLQuery(`INSERT INTO products (barcode, description, value, service, registerdate, amountstock, minstock, maxstock, idealstock, present, amountplotspresent, disabled) VALUES (?, ?, ?, ?, now(), ?, ?, ?, ?, ?, ?, ?);`, res, req.originalUrl, [barcode, description, value, service, amountstock, minstock, maxstock, idealstock, present, amountplotspresent, disabled]); }); router.patch('/update', verifyJWT, (req, res) => { const idproducts = req.body.idproducts; const barcode = req.body.barcode; const description = req.body.description; const value = parseFloat(req.body.value); const service = req.body.service ? 1 : 0; const registerdate = req.body.registerdate; const amountstock = req.body.amountstock; const minstock = req.body.minstock; const maxstock = req.body.maxstock; const idealstock = req.body.idealstock; const present = req.body.present ? 1 : 0; const amountplotspresent = req.body.amountplotspresent ? 1 : 0; const disabled = req.body.disabled ? 1 : 0; execSQLQuery(`UPDATE products SET barcode = ?, description = ?, value = ?, service = ?, amountstock = ?, minstock = ?, maxstock = ?, idealstock = ?, present = ?, amountplotspresent = ?, disabled = ? WHERE idproducts = ?;`, res, req.originalUrl, [barcode, description, value, service, amountstock, minstock, maxstock, idealstock, present, amountplotspresent, disabled, idproducts]); }); router.get('/getProduct/:idproducts', verifyJWT, (req, res) => { const idproducts = parseInt(req.params.idproducts); execSQLQuery(`SELECT * FROM products WHERE idproducts = ${idproducts};`, res, req.originalUrl); }) router.get('/list', verifyJWT, (req, res) => { execSQLQuery(`SELECT idproducts, barcode, description, concat('R$ ',format(value,2,'de_DE')) as value, disabled FROM products;`, res, req.originalUrl); }) router.get('/getAll', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM products;`, res, req.originalUrl); }) router.get('/getMySQLinSQLServerProducts', verifyJWT, (req, res) => { execSQLQuery(`SELECT idproducts AS 'IDProduto', barcode AS 'Codigo', description AS 'Descricao', value AS 'Valor', case when service = 0 then false else true end AS 'Servico', registerdate AS 'DataCadastro', amountstock AS 'QtdEstoque', minstock AS 'QtdMinima', maxstock AS 'QtdMaxima', idealstock AS 'QtdIdeal', present AS 'Brinde', amountplotspresent AS 'qtdParcelasBrinde', case when disabled = 1 then true else false end as 'Desativado' FROM products;`, res, req.originalUrl); }) router.get('/getSQLServerProducts/:db', verifyJWT, (req, res) => { const db = req.params.db; execSQLQuery2(`SELECT * FROM ${db}Produtos;`, res, req.originalUrl); }) router.patch('/disable', verifyJWT, (req, res) => { const idproducts = parseInt(req.body.idproducts); execSQLQuery(` UPDATE products SET disabled = not disabled WHERE idproducts = ${idproducts}`, res, req.originalUrl ); }) //#endregion //#region PRODUTOS VENDAS router.post('/InserirProdutovenda', verifyJWT, (req, res) => { const description = req.body.description; const disabled = req.body.disabled ? 1 : 0; execSQLQuery(`INSERT INTO productsale (description, disabled) VALUES (?, ?);`, res, req.originalUrl, [description, disabled]); }); router.patch('/AtualizarProdutovenda', verifyJWT, (req, res) => { const idproductsale = req.body.idproductsale; const description = req.body.description; const disabled = req.body.disabled ? 1 : 0; execSQLQuery(`UPDATE productsale SET description = ?, disabled = ? WHERE idproductsale = ?;`, res, req.originalUrl, [description, disabled, idproductsale]); }); router.get('/getProductSale/:idproductsale', verifyJWT, (req, res) => { const idproductsale = parseInt(req.params.idproductsale); execSQLQuery(`SELECT * FROM productsale WHERE idproductsale = ${idproductsale};`, res, req.originalUrl); }) router.get('/getAllProductSale', verifyJWT, (req, res) => { execSQLQuery(`SELECT * FROM productsale;`, res, req.originalUrl); }) router.get('/getMySQLinSQLServerProductSale', verifyJWT, (req, res) => { execSQLQuery(`SELECT idproductsale AS 'IDProduto', description AS 'Descricao', case when disabled = 1 then true else false end as 'Desativado' FROM productsale;`, res, req.originalUrl); }) router.get('/getSQLServerProductSale/:db', verifyJWT, (req, res) => { const db = req.params.db; execSQLQuery2(`SELECT * FROM ${db}ProdutosVendas;`, res, req.originalUrl); }) router.patch('/disableProductSale', verifyJWT, (req, res) => { const idproductsale = parseInt(req.body.idproductsale); execSQLQuery(`UPDATE productsale SET disabled = not disabled WHERE idproductsale = ${idproductsale};`, res, req.originalUrl); }); //#endregion return router; } module.exports = routes;