ZoeApi/controllers/productsController.js

181 lines
6.6 KiB
JavaScript

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;