klnodekb/routes/receipts.js

262 lines
7.3 KiB
JavaScript

const express = require('express');
const router = express.Router();
const mongoose=require('mongoose');
// User Model
let User = require('../models/user');
var utils = require('../js/utils');
const path = require('path');
let Item = require('../models/item');
let Client = require('../models/client');
let Warehouse = require('../models/warehouse');
let Recipt = require('../models/recipt');
const checkUserAdmin3 = require('../js/helperFuncs');
var fs = require('fs');
// Új raktár létrehozás
router.get('/new', utils.ensureAuthenticated,function(req,res){
var admin=false;
Warehouse.find({}, function(err,warehouses)
{
if(req.user)
{
checkUserAdmin3(req,function(err,res){
admin=res;
});
}
if (err)
{
console.log(err);
res.send('Hiba történt az oldal betöltése során. ');
}
else
{
res.render('receiptsNew', {
title: 'Új bevételezés',
warehouses: warehouses,
rot:admin,
});
}
});
});
// Ügyfelek keresése
// Find Clients on keypress
router.post('/find', utils.ensureAuthenticated,function (req,res) {
let man=new Item();
var findman=Item.findOne( {'name' : req.body.content});
var q = Client.find({'name': new RegExp(req.body.content, 'i')}).limit(20);
var response = {
status : 200,
data : 'null'
}
q.exec(function(err,t){
if (err)
{
console.log(err);
return;
}
if (t)
{
t.forEach(function(tetel){
//console.log('Tools find:' +tetel.name);
})
response = {
status : 200,
data : t
}
}
else
{
response = {
status : 200,
data : null
}
console.log('Tools find: null');
}
res.send(response);
});
});
// Find ItemsBy Number on keypress
router.post('/findItemCikk', utils.ensureAuthenticated,function (req,res) {
let man=new Item();
//console.log(req.body.content);
var q = Item.find({'itemNumber': new RegExp(req.body.content, 'i')}).limit(20);
q.exec(function(err,t){
if (err)
{
console.log(err);
return;
}
if (t)
{
t.forEach(function(tetel){
//console.log('Tools find:' +tetel.name);
})
response = {
status : 200,
data : t
}
}
else
{
response = {
status : 200,
data : null
}
console.log('Tools find: null');
}
res.send(response);
});
});
// Find ItemsBy Name on keypress
router.post('/findItemName', utils.ensureAuthenticated,function (req,res) {
let man=new Item();
// console.log(req.body.content);
var q = Item.find({'title': new RegExp(req.body.content, 'i')}).limit(20);
q.exec(function(err,t){
if (err)
{
console.log(err);
return;
}
if (t)
{
t.forEach(function(tetel){
//console.log('Tools find:' +tetel.name);
})
response = {
status : 200,
data : t
}
}
else
{
response = {
status : 200,
data : null
}
console.log('Tools find: null');
}
res.send(response);
});
});
// Új bevételezés rögzítése
router.post('/receiptNewReceipt', utils.ensureAuthenticated,function (req,res) {
console.log(req.body);
// var rec=JSON.parse(req.body);
var newRec=new Recipt();
var q=Client.findOne({'name' : req.body.client})
q.exec(function(err,client){
if (err)
{
console.log(err);
response = {
status : 400,
data : err
}
res.send(response);
}
if (client)
{
newRec.warehouseId= req.body.warehouse;//mongoose.Types.ObjectId(req.body.warehouse);
newRec.certSerial=req.body.certSerial;
newRec.clientId=client.id;
req.body.Items.forEach(element => {
newRec.Items.push(element);
});
//newRec.Items=req.body.Items;
var priceN=0;
req.body.Items.forEach(item => {
priceN+=(item.netListPrice * item.stock);
// newRec.Items.push()
});
newRec.priceNet=priceN;
newRec.priceBr=(priceN*1.27);
var warehouseId=newRec.warehouseId;
newRec.save(function(err){
if(err){
response = {
status : 400,
data : { eredmeny:'SZAR'}
}
res.send(response);
}
else
{
// Elemek hozzáadása a raktárkészlethez
//Warehouse.findById({"_id":warehouseId}, function(err,warehouse)
//req.body.Items.forEach(item => {
Warehouse.findOneAndUpdate({"_id":warehouseId},{ $push:{'Items': req.body.Items}},{'upsert':true},function(err,resp)
{
if (err)
{
console.log(err);
response = {
status : 404,
data : { eredmeny:'Hiba történt az oldal betöltése során. '}
}
res.send(response);
}
else
{
response = {
status : 200,
data : { eredmeny:'Fasza!'}
}
res.send(response);
// newRec.Items.push()
}
//});
});
/* response = {
status : 200,
data : { eredmeny:'RAKTARHIBA'}
}
res.send(response);*/
}
});
}
});
});
module.exports = router;