Műhelymunka számítása a főképernyőn
This commit is contained in:
parent
1e3988c09d
commit
79b54d6fb9
400
app.js
400
app.js
|
|
@ -25,6 +25,7 @@ var PdfPrinter=require('pdfmake');
|
||||||
//var currentWorkNumber=0;
|
//var currentWorkNumber=0;
|
||||||
const { XMLParser, XMLBuilder, XMLValidator} = require("fast-xml-parser/src/fxp");
|
const { XMLParser, XMLBuilder, XMLValidator} = require("fast-xml-parser/src/fxp");
|
||||||
const { apiSaveReport, apiGetReport, apiGetReportList, apiGetUsers, apiGetReportDates, apiUpdateReport } = require('./js/workReport.js');
|
const { apiSaveReport, apiGetReport, apiGetReportList, apiGetUsers, apiGetReportDates, apiUpdateReport } = require('./js/workReport.js');
|
||||||
|
let WorkReport = require('./models/workReportModel');
|
||||||
moment.locale('HU');
|
moment.locale('HU');
|
||||||
const fss = require('fs');
|
const fss = require('fs');
|
||||||
global.currentWorkNumber=0;
|
global.currentWorkNumber=0;
|
||||||
|
|
@ -549,7 +550,7 @@ app.post('/apiPostDailyReport/:apiKey',function(req,res){
|
||||||
|
|
||||||
|
|
||||||
// Munka lista lekérése és szűrése AJAX CALL
|
// Munka lista lekérése és szűrése AJAX CALL
|
||||||
app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
app.get('/filter', utils.ensureAuthenticated, async function(req, res) {
|
||||||
//console.log(req.query.year.value);
|
//console.log(req.query.year.value);
|
||||||
|
|
||||||
var query={
|
var query={
|
||||||
|
|
@ -569,20 +570,60 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
Work.find(query,null,{sort: {workNumber: -1}} ,function(err, works){
|
var works=await Work.find(query,null,{sort: {workNumber: -1}})// ,function(err, works){
|
||||||
if (err)
|
if (!works)
|
||||||
{
|
{
|
||||||
console.log('ERR:'+err);
|
console.log('ERR:'+err);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
|
var workrReportCount= await WorkReport.aggregate(
|
||||||
|
[
|
||||||
|
{$unwind: '$workFlow'},
|
||||||
|
{"$project":
|
||||||
|
{
|
||||||
|
"_id":"$workFlow._id",
|
||||||
|
"wid":"$workId",
|
||||||
|
"el":"$workFlow.employeeList",
|
||||||
|
"count": {$size:"$workFlow.employeeList"},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$group: {
|
||||||
|
_id: '$wid',
|
||||||
|
'workName': {$push:'$count'}
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
$project: {
|
||||||
|
total: {
|
||||||
|
$reduce: {
|
||||||
|
input: "$workName",
|
||||||
|
initialValue: 0,
|
||||||
|
in: { $add: ["$$value", "$$this"] }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
)
|
||||||
// Server side table generation
|
// Server side table generation
|
||||||
|
|
||||||
var drCount='';
|
var drCount='';
|
||||||
|
var wrCount='';
|
||||||
var tr='';
|
var tr='';
|
||||||
works.forEach((work,index,array) =>{
|
works.forEach((work,index,array) =>{
|
||||||
var dr=work.dailyReport;
|
var dr=work.dailyReport;
|
||||||
var wc=0;
|
var wc=0;
|
||||||
var etemp="<td></td>";
|
var etemp="<td></td>";
|
||||||
|
var wrc=findById(workrReportCount,work._id)
|
||||||
|
if (wrc)
|
||||||
|
{
|
||||||
|
work.wrc=wrc.total*8
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
work.wrc=0;
|
||||||
|
}
|
||||||
dr.forEach((el,index,arr)=>{
|
dr.forEach((el,index,arr)=>{
|
||||||
wc+=el.employeeList.length;
|
wc+=el.employeeList.length;
|
||||||
});
|
});
|
||||||
|
|
@ -595,9 +636,9 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
||||||
if (work.poNumber!=undefined)
|
if (work.poNumber!=undefined)
|
||||||
po=work.poNumber;
|
po=work.poNumber;
|
||||||
if (work.state==='Opened')
|
if (work.state==='Opened')
|
||||||
state="Folyamatban";
|
state='<td style="text-align:center;vertical-align:middle; color:green"><i class="fa fa-unlock"></i></td>';
|
||||||
else
|
else
|
||||||
state="Lezárva";
|
state='<td style="text-align:center;vertical-align:middle; color:red"><i class="fa fa-lock"></i></td>'
|
||||||
if (work.enaploTemplate)
|
if (work.enaploTemplate)
|
||||||
{
|
{
|
||||||
etemp='<td><img src="enaplo.png" alt="" height=16 width=16 style="text-align:center;vertical-align: middle;data-original-title="Enapló köteles";data-toggle="tooltip";data-placement="bottom"; data-container="body"></img>';
|
etemp='<td><img src="enaplo.png" alt="" height=16 width=16 style="text-align:center;vertical-align: middle;data-original-title="Enapló köteles";data-toggle="tooltip";data-placement="bottom"; data-container="body"></img>';
|
||||||
|
|
@ -606,22 +647,28 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
||||||
drCount= '<td style="text-align:right"><span class="badge badge-success">' + work.wc+'</td>';
|
drCount= '<td style="text-align:right"><span class="badge badge-success">' + work.wc+'</td>';
|
||||||
else
|
else
|
||||||
drCount='<td style="text-align:right;vertical-align:middle"><span class="badge">' + work.wc+'</td>';
|
drCount='<td style="text-align:right;vertical-align:middle"><span class="badge">' + work.wc+'</td>';
|
||||||
|
if (work.wrc>0)
|
||||||
|
wrCount= '<td style="text-align:right"><span class="badge" style="background-color: DodgerBlue !important">' + work.wrc+'</td>';
|
||||||
|
else
|
||||||
|
wrCount='<td style="text-align:right;vertical-align:middle"><span class="badge">' + work.wrc+'</td>';
|
||||||
|
|
||||||
tr+='<tr><td>'+(index+1)+'</td>'+
|
tr+='<tr><td>'+(index+1)+'</td>'+
|
||||||
etemp+
|
etemp+
|
||||||
//img(src='enaplo.png', width='16px', height='16px',style='text-align:center;vertical-align: middle',data-original-title='Enapló köteles' data-toggle='tooltip' data-placement='bottom' data-container='body')</td>'+
|
//img(src='enaplo.png', width='16px', height='16px',style='text-align:center;vertical-align: middle',data-original-title='Enapló köteles' data-toggle='tooltip' data-placement='bottom' data-container='body')</td>'+
|
||||||
'<td style="text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;">' +megrendelo+'</td>'+
|
'<td style="text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;">' +megrendelo+'</td>'+
|
||||||
'<td style="vertical-align:middle"><a href="/work/'+work._id+'">'+ work.title+'</a></td>'+
|
'<td style="vertical-align:middle"><a href="/work/'+work._id+'">'+ work.title+'</a></td>'+
|
||||||
'<td style="text-align:center;vertical-align:middle">' + work.workDate + '</td>'+
|
'<td style="text-align:center;vertical-align:middle">' + moment(work.workDate).format('YYYY.MM.DD') + '</td>'+
|
||||||
'<td style="text-align:center;vertical-align:middle">' + state+'</td>'+
|
state+
|
||||||
'<td style="text-align:left;vertical-align:middle">' + work.workNumber+'</td>'+
|
'<td style="text-align:left;vertical-align:middle">' + work.workNumber+'</td>'+
|
||||||
drCount+
|
drCount+
|
||||||
|
wrCount+
|
||||||
'<td style="text-align:center;vertical-align:middle">' + po+'</td>'+
|
'<td style="text-align:center;vertical-align:middle">' + po+'</td>'+
|
||||||
'<td style="text-align:left;vertical-align:middle"><span class="badge">' + work.devicesArray.length+'</td>'
|
'<td style="text-align:left;vertical-align:middle"><span class="badge">' + work.devicesArray.length+'</td>'
|
||||||
|
|
||||||
});
|
});
|
||||||
res.send(tr);
|
res.send(tr);
|
||||||
}
|
// }
|
||||||
});
|
//});
|
||||||
|
|
||||||
});
|
});
|
||||||
var charToByte = exports.charToByte = function charToByte(c) {
|
var charToByte = exports.charToByte = function charToByte(c) {
|
||||||
|
|
@ -748,8 +795,16 @@ app.get('/work/generateXML/:wid/:drid',utils.ensureAuthenticated,function(req,re
|
||||||
// var data={result:'HAHA'};
|
// var data={result:'HAHA'};
|
||||||
// res.send(data);
|
// res.send(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function findById(array, id) {
|
||||||
|
return array.find(item => {
|
||||||
|
const a=String(item._id)
|
||||||
|
const b=String(id)
|
||||||
|
//if (a===b)console.log(`IDS A: ${a} B: ${b}`)
|
||||||
|
return a===b;});
|
||||||
|
}
|
||||||
// Works Route
|
// Works Route
|
||||||
app.get('/', utils.ensureAuthenticated, function(req, res) {
|
app.get('/', utils.ensureAuthenticated,async function(req, res) {
|
||||||
var admin=false;
|
var admin=false;
|
||||||
|
|
||||||
//var ver=gitVersion();
|
//var ver=gitVersion();
|
||||||
|
|
@ -760,78 +815,60 @@ app.get('/', utils.ensureAuthenticated, function(req, res) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A munkában reésztvevők számítása
|
|
||||||
db.getCollection('dailyreports').aggregate([
|
|
||||||
{$match:{"workId" : ObjectId("61a9c4bee9b30661f1883c19")}},
|
|
||||||
{$unwind: '$dailyReport'},
|
|
||||||
|
|
||||||
{$unwind: '$dailyReport.employeeList'},
|
|
||||||
|
|
||||||
{ $group: {_id: '$dailyReport._id', list: {$push: '$dailyReport.employeeList'},'date': {$first: '$dailyReport.date'},'title': {$first: '$dailyReport.workTitle'}}},
|
|
||||||
|
|
||||||
|
|
||||||
{$project: {
|
var works=await Work.find({},null,{sort: {workNumber: -1}})// ,function(err, works){
|
||||||
item: 1,
|
if (!works)
|
||||||
numberOfColors: { $cond: { if: { $isArray: "$list" }, then: { $size: "$list" }, else: "NA"} }
|
|
||||||
}},
|
|
||||||
{$group: {_id: null, total_sum: {'$sum': '$numberOfColors'}}},
|
|
||||||
*/
|
|
||||||
// var worksRender=[];
|
|
||||||
Work.find({},null,{sort: {workNumber: -1}} ,function(err, works){
|
|
||||||
if (err)
|
|
||||||
{
|
{
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
else {
|
// else {
|
||||||
// ----------------------------------
|
var workrReportCount= await WorkReport.aggregate(
|
||||||
/* var bar2 = new Promise((resolve, reject) => {
|
[
|
||||||
works.forEach((element,index,array) =>{
|
{$unwind: '$workFlow'},
|
||||||
|
{"$project":
|
||||||
//if (element.dailyReportId){
|
{
|
||||||
|
"_id":"$workFlow._id",
|
||||||
DailyReport.aggregate([
|
"wid":"$workId",
|
||||||
{$match:{'_id' : element.dailyReportId}},
|
"el":"$workFlow.employeeList",
|
||||||
{$unwind: '$dailyReport'},
|
"count": {$size:"$workFlow.employeeList"},
|
||||||
|
}
|
||||||
{$unwind: '$dailyReport.employeeList'},
|
},
|
||||||
|
{
|
||||||
{ $group: {_id: '$dailyReport._id', list: {$push: '$dailyReport.employeeList'},'date': {$first: '$dailyReport.date'},'title': {$first: '$dailyReport.workTitle'}}},
|
$group: {
|
||||||
|
_id: '$wid',
|
||||||
{$project: {
|
'workName': {$push:'$count'}
|
||||||
item: 1,
|
}
|
||||||
numberOfColors: { $cond: { if: { $isArray: "$list" }, then: { $size: "$list" }, else: "NA"} }
|
},{
|
||||||
}},
|
$project: {
|
||||||
{$group: {_id: null, total_sum: {'$sum': '$numberOfColors'}}},
|
total: {
|
||||||
]).exec((err,results)=>{
|
$reduce: {
|
||||||
if (results.length>0)
|
input: "$workName",
|
||||||
{
|
initialValue: 0,
|
||||||
//JSON(element).
|
in: { $add: ["$$value", "$$this"] }
|
||||||
element.totalSum=4;//results[0].total_sum;
|
|
||||||
// worksRender.push(element);
|
|
||||||
console.log('TS: '+results[0].total_sum);
|
|
||||||
if (index === array.length -1) resolve();
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
//}
|
}
|
||||||
// else
|
}
|
||||||
// {
|
|
||||||
// element.totalSum=4;//results[0].total_sum;
|
|
||||||
// worksRender.push(element);
|
|
||||||
|
|
||||||
// if (index === array.length -1) resolve();
|
]
|
||||||
// }
|
)
|
||||||
|
|
||||||
}); // forEach
|
|
||||||
|
|
||||||
});// Promise
|
|
||||||
*/
|
|
||||||
works.forEach((element,index,array) =>{
|
works.forEach((element,index,array) =>{
|
||||||
var dr=element.dailyReport;
|
var dr=element.dailyReport;
|
||||||
|
var wrc=findById(workrReportCount,element._id)
|
||||||
var wc=0;
|
var wc=0;
|
||||||
dr.forEach((el,index,arr)=>{
|
dr.forEach((el,index,arr)=>{
|
||||||
wc+=el.employeeList.length;
|
wc+=el.employeeList.length;
|
||||||
});
|
});
|
||||||
element.wc=wc*8;
|
element.wc=wc*8;
|
||||||
|
if (wrc)
|
||||||
|
{
|
||||||
|
element.wrc=wrc.total*8
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
element.wrc=0;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
//---------------------------------
|
//---------------------------------
|
||||||
res.render('index', {
|
res.render('index', {
|
||||||
|
|
@ -839,9 +876,9 @@ app.get('/', utils.ensureAuthenticated, function(req, res) {
|
||||||
works: works,
|
works: works,
|
||||||
rot: req.user.isAdmin,
|
rot: req.user.isAdmin,
|
||||||
});
|
});
|
||||||
} //else
|
// } //else
|
||||||
});
|
});
|
||||||
});
|
//});
|
||||||
|
|
||||||
|
|
||||||
// Works Route
|
// Works Route
|
||||||
|
|
@ -1295,8 +1332,6 @@ app.get('/print_report/:id',utils.ensureAuthenticated,function(req,res){
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Napi jelentés Nyomtatási kép generálás
|
// Napi jelentés Nyomtatási kép generálás
|
||||||
function printWork(id,callback)
|
function printWork(id,callback)
|
||||||
{
|
{
|
||||||
|
|
@ -1704,6 +1739,224 @@ function printWork(id,callback)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Napi műhely jelentések nyomtatása
|
||||||
|
// Get Single Work
|
||||||
|
app.get('/print_workreport/:id',utils.ensureAuthenticated,async function(req,res){
|
||||||
|
var PdfPrinter=require('pdfmake');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
try{
|
||||||
|
var wtSum=0;
|
||||||
|
const reports=await WorkReport.find({workId: mongoose.Types.ObjectId(req.params.id)})
|
||||||
|
const workHeader=await Work.findOne({"_id":mongoose.Types.ObjectId(req.params.id)},{poNumber:1,workNumber:1,megrendelo:1})
|
||||||
|
const workTimesSum=await WorkReport.aggregate(
|
||||||
|
[
|
||||||
|
{ $match: { 'workId': mongoose.Types.ObjectId(req.params.id)} },
|
||||||
|
{$unwind: '$workFlow'},
|
||||||
|
{$unwind: '$workFlow.employeeList'},
|
||||||
|
{$group: {_id: '$workFlow.EmployeeList', count:{$sum:1}}},
|
||||||
|
{ "$limit": 1 },
|
||||||
|
{"$project": {"_id":0,
|
||||||
|
"count": 1,}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
if (workTimesSum.length>0) wtSum=workTimesSum[0].count*8
|
||||||
|
var data=await printWorkReport(reports,workHeader)
|
||||||
|
console.log(JSON.stringify(data));
|
||||||
|
// fss.writeFile(path.normalize('d:\\test.json'), JSON.stringify(data));
|
||||||
|
res.send(data);
|
||||||
|
//res.send({'response':'ok','reports':reports, 'workTimesSum':wtSum});
|
||||||
|
}catch(err){
|
||||||
|
|
||||||
|
res.status(500).json({'response':'fail','message':'Hiba a mentésnél !\n'+err.message});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// Műhely Napi jelentés Nyomtatási kép generálás
|
||||||
|
async function printWorkReport(reports, workHeader)
|
||||||
|
{
|
||||||
|
|
||||||
|
var item=[];
|
||||||
|
var wName=workHeader;
|
||||||
|
var i=0;
|
||||||
|
moment.locale('hu');
|
||||||
|
item.push([ {text:'#', alignment: 'left'},{text:'Dátum', alignment: 'center'}, {text:'Munkafolyamat', alignment: 'center'}, {text:'Résztvevők', alignment: 'center'}]);
|
||||||
|
|
||||||
|
|
||||||
|
wName=reports[0].workTitle;
|
||||||
|
reports.forEach((report,index)=>{
|
||||||
|
|
||||||
|
|
||||||
|
report.workFlow.forEach((wf,idx)=>{
|
||||||
|
var emps="";
|
||||||
|
wf.employeeList.forEach((employee,ind)=>{
|
||||||
|
emps=emps+employee.name+'\r\n';
|
||||||
|
i++;
|
||||||
|
})
|
||||||
|
item.push([
|
||||||
|
{id:i,text: index+1, style:'tableData',rowSpan: report.workFlow.length},
|
||||||
|
{text: moment(report.date).format('YYYY.MM.DD'), style:'tableData', alignment: 'center',rowSpan: report.workFlow.length},
|
||||||
|
{text: wf.Title, style:'tableData', alignment: 'center'},
|
||||||
|
{text: emps, style:'tableData', alignment: 'center'},
|
||||||
|
]);
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// playground requires you to assign document definition to a variable called dd
|
||||||
|
|
||||||
|
var dd = {
|
||||||
|
pageSize: 'A4',
|
||||||
|
pageOrientation: 'portrait',//'landscape',
|
||||||
|
pageMargins: [ 20, 20, 20, 40 ],
|
||||||
|
keepWithHeaderRows: true,
|
||||||
|
info: {
|
||||||
|
title: 'Műhelymunkák',
|
||||||
|
author: 'IO-Technic Munkanyílvántartó',
|
||||||
|
subject: 'Műhely munkák naplója',
|
||||||
|
keywords: 'Napló',
|
||||||
|
},
|
||||||
|
/* pageBreakBefore: function(currentNode, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage) {
|
||||||
|
return currentNode.id === 6 && followingNodesOnPage.length != 0;
|
||||||
|
},*/
|
||||||
|
pageBreakBefore: function(currentNode, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage) {
|
||||||
|
return currentNode.startPosition.top >= 150;
|
||||||
|
},
|
||||||
|
//header: 'dsadad',
|
||||||
|
footer: function(currentPage, pageCount){
|
||||||
|
return {
|
||||||
|
|
||||||
|
height: 30,
|
||||||
|
stack:[
|
||||||
|
{text:currentPage.toString() + ' / ' + pageCount.toString(), alignment: 'center'},
|
||||||
|
{
|
||||||
|
columns: [
|
||||||
|
|
||||||
|
{width: '*',text:'IO-Technic Munkaidő és munkanyílvántartó rendszer. www.iotechnic.eu', alignment: 'center'},
|
||||||
|
{width: '20%',text: new Date().toString(), alignment: 'center'},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
content: [
|
||||||
|
|
||||||
|
{
|
||||||
|
alignment: 'justify',
|
||||||
|
columns: [
|
||||||
|
{text: 'Munka Jelentés ', style: 'header'},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stack:[
|
||||||
|
{text: 'Megnevezés: '+ wName ,style:workHeader},
|
||||||
|
{text: 'Megrendelő: '+workHeader.megrendelo,style:workHeader },
|
||||||
|
{text: 'Munkaszám: '+workHeader.workNumber,style:workHeader},
|
||||||
|
{text: 'PO: '+workHeader.poNumber,style:workHeader},
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
width: auto,
|
||||||
|
style: 'tableExample',
|
||||||
|
table: {
|
||||||
|
headerRows: 1,
|
||||||
|
//dontBreakRows: true,
|
||||||
|
|
||||||
|
//widths: [20, 'auto', 80, 80,'*','*','*'],
|
||||||
|
// widths: [20, '*', 70, 70,50,'auto','auto'],
|
||||||
|
widths: [20, 70,'*', 100],
|
||||||
|
body: item,//[],
|
||||||
|
|
||||||
|
},
|
||||||
|
layout: {
|
||||||
|
fillColor: function (rowIndex, node, columnIndex) {
|
||||||
|
return (rowIndex % 2 === 0) ? '#CCCCCC' : null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
],
|
||||||
|
styles: {
|
||||||
|
header: {
|
||||||
|
fontSize: 18,
|
||||||
|
bold: true,
|
||||||
|
fillColor: '#eeeeee',
|
||||||
|
margin: [0, 0, 0, 10]
|
||||||
|
},
|
||||||
|
footerBrandText:{
|
||||||
|
fontSize: 12,
|
||||||
|
bold: false,
|
||||||
|
fillColor: '#eeeeee',
|
||||||
|
alignment: 'center'
|
||||||
|
},
|
||||||
|
datum: {
|
||||||
|
fontSize: 18,
|
||||||
|
bold: true,
|
||||||
|
fillColor: '#eeeeee',
|
||||||
|
alignment: 'right'
|
||||||
|
},
|
||||||
|
subheader: {
|
||||||
|
fontSize: 16,
|
||||||
|
bold: true,
|
||||||
|
fillColor: '#eeeeee',
|
||||||
|
margin: [0, 10, 0, 5]
|
||||||
|
},
|
||||||
|
tableExample: {
|
||||||
|
margin: [0, 5, 0, 15]
|
||||||
|
},
|
||||||
|
tableHeader: {
|
||||||
|
bold: true,
|
||||||
|
fontSize: 10,
|
||||||
|
fillColor: '#eeeeee',
|
||||||
|
color: 'red'
|
||||||
|
},
|
||||||
|
workHeader: {
|
||||||
|
bold: false,
|
||||||
|
fontSize: 10,
|
||||||
|
italics: true,
|
||||||
|
color: 'blue'
|
||||||
|
},
|
||||||
|
tableData: {
|
||||||
|
bold: false,
|
||||||
|
fontSize: 10,
|
||||||
|
italics: true,
|
||||||
|
color: 'green'
|
||||||
|
},
|
||||||
|
tableDataWe: {
|
||||||
|
bold: false,
|
||||||
|
fontSize: 10,
|
||||||
|
italics: true,
|
||||||
|
fillColor: '#eeffee',
|
||||||
|
color: 'red'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
defaultStyle: {
|
||||||
|
// alignment: 'justify'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// dd.content[2].table.body=item;
|
||||||
|
|
||||||
|
//pdf.createPdf(dd).open();
|
||||||
|
// callback(null,dd);
|
||||||
|
// ...
|
||||||
|
return dd;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nyomtatási kép generálás
|
// Nyomtatási kép generálás
|
||||||
|
|
@ -1905,6 +2158,7 @@ const { date } = require('jszip/lib/defaults');
|
||||||
const { apiGetWorkList, apiGetEmployeeList, apiGetDailyReport, apiEmployee, apiGetAllReport, apiCheckDevice, apiRegisterDevice,apiRequestAPIkey, apiGetQRCode,apiGetWorkState } = require('./js/androidApi');
|
const { apiGetWorkList, apiGetEmployeeList, apiGetDailyReport, apiEmployee, apiGetAllReport, apiCheckDevice, apiRegisterDevice,apiRequestAPIkey, apiGetQRCode,apiGetWorkState } = require('./js/androidApi');
|
||||||
const { string } = require('jszip/lib/support');
|
const { string } = require('jszip/lib/support');
|
||||||
const { generateXML } = require('./js/enaploGen');
|
const { generateXML } = require('./js/enaploGen');
|
||||||
|
const { auto } = require('async');
|
||||||
|
|
||||||
app.use('/devicesrfid', devices_rfid);
|
app.use('/devicesrfid', devices_rfid);
|
||||||
app.use('/vehicles', vehicles);
|
app.use('/vehicles', vehicles);
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
"passport": "^0.4.1",
|
"passport": "^0.4.1",
|
||||||
"passport-local": "^1.0.0",
|
"passport-local": "^1.0.0",
|
||||||
"pdfkit": "^0.9.1",
|
"pdfkit": "^0.9.1",
|
||||||
"pdfmake": "^0.2.4",
|
"pdfmake": "^0.2.18",
|
||||||
"pizzip": "^3.1.3",
|
"pizzip": "^3.1.3",
|
||||||
"pug": "^3.0.2",
|
"pug": "^3.0.2",
|
||||||
"semantic-ui-table": "^2.3.1",
|
"semantic-ui-table": "^2.3.1",
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,32 @@
|
||||||
alert('Nincs mit nyomtatni!');
|
alert('Nincs mit nyomtatni!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Műhely munka nyomtatása
|
||||||
|
$("#printWorkReport").click(function(ev) {
|
||||||
|
|
||||||
|
isLoaded=false;
|
||||||
|
var workId = $(this).attr('data-Id');
|
||||||
|
if (workId)
|
||||||
|
{
|
||||||
|
//$.get('/invoices/print2' , function(data) { console.log(data);
|
||||||
|
$.get('/print_workreport/'+workId , function(data) {
|
||||||
|
|
||||||
|
if (!isLoaded)
|
||||||
|
{ isLoaded=true;
|
||||||
|
|
||||||
|
//console.log(data);
|
||||||
|
pdfMake.createPdf(data).open();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
alert('Nincs mit nyomtatni!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function getXML(workId,drId,reportDate){
|
function getXML(workId,drId,reportDate){
|
||||||
let filename = '';
|
let filename = '';
|
||||||
fetch("/work/generateXML/"+workId+"/"+drId)
|
fetch("/work/generateXML/"+workId+"/"+drId)
|
||||||
|
|
|
||||||
|
|
@ -142,10 +142,11 @@ block content
|
||||||
col(width='1%')
|
col(width='1%')
|
||||||
col(width='auto')
|
col(width='auto')
|
||||||
col(width='auto')
|
col(width='auto')
|
||||||
col(width='15%')
|
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
|
col(width='3%')
|
||||||
|
col(width='3%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
thead
|
thead
|
||||||
|
|
@ -158,6 +159,7 @@ block content
|
||||||
th(style='text-align:center') Státusz
|
th(style='text-align:center') Státusz
|
||||||
th(style='text-align:left') M.SZ.
|
th(style='text-align:left') M.SZ.
|
||||||
th(style='text-align:center') Órák
|
th(style='text-align:center') Órák
|
||||||
|
th(style='text-align:center') Műhely
|
||||||
th(style='text-align:center') PO szám
|
th(style='text-align:center') PO szám
|
||||||
th(style='text-align:left') Ber.
|
th(style='text-align:left') Ber.
|
||||||
tbody(id='workTable',style='overflow-y: auto;')
|
tbody(id='workTable',style='overflow-y: auto;')
|
||||||
|
|
@ -172,12 +174,14 @@ block content
|
||||||
td(style='text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;') #{work.megrendelo || "-"}
|
td(style='text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;') #{work.megrendelo || "-"}
|
||||||
td(style='vertical-align:middle')
|
td(style='vertical-align:middle')
|
||||||
a(href="/work/"+work._id)= work.title
|
a(href="/work/"+work._id)= work.title
|
||||||
td(style='text-align:center;vertical-align:middle') #{work.workDate}
|
td(style='text-align:center;vertical-align:middle') #{moment(work.workDate).format("YYYY.MM.DD")}
|
||||||
if (work.state==='Opened')
|
if (work.state==='Opened')
|
||||||
td(style='text-align:center;vertical-align:middle') Folyamatban
|
td(style='text-align:center;vertical-align:middle; color:green')
|
||||||
|
i.fa.fa-unlock
|
||||||
else
|
else
|
||||||
if (work.state==='Closed')
|
if (work.state==='Closed')
|
||||||
td(style='text-align:center;vertical-align:middle') Lezárva
|
td(style='text-align:center;vertical-align:middle; color:red')
|
||||||
|
i.fa.fa-lock
|
||||||
else
|
else
|
||||||
td(style='text-align:center;vertical-align:middle')
|
td(style='text-align:center;vertical-align:middle')
|
||||||
|
|
||||||
|
|
@ -187,9 +191,17 @@ block content
|
||||||
span.badge.badge-success #{work.wc}
|
span.badge.badge-success #{work.wc}
|
||||||
else
|
else
|
||||||
span.badge #{work.wc}
|
span.badge #{work.wc}
|
||||||
|
td(style='text-align:center;vertical-align:middle')
|
||||||
|
if (work.wrc>0)
|
||||||
|
span.badge(style="background-color: DodgerBlue !important") #{work.wrc}
|
||||||
|
else
|
||||||
|
span.badge #{work.wrc}
|
||||||
td(style='text-align:center;vertical-align:middle') #{work.poNumber}
|
td(style='text-align:center;vertical-align:middle') #{work.poNumber}
|
||||||
td(style='text-align:left;vertical-align:middle')
|
td(style='text-align:left;vertical-align:middle')
|
||||||
span.badge #{work.devicesArray.length}
|
if (work.devicesArray.length>0)
|
||||||
|
span.badge.badge-success #{work.devicesArray.length}
|
||||||
|
else
|
||||||
|
span.badge #{work.devicesArray.length}
|
||||||
script(src='/bower_components/jquery/dist/jquery.js')
|
script(src='/bower_components/jquery/dist/jquery.js')
|
||||||
script(type='text/javascript',src='/build/pdfmake.js')
|
script(type='text/javascript',src='/build/pdfmake.js')
|
||||||
script(type='text/javascript',src='/build/vfs_fonts.js')
|
script(type='text/javascript',src='/build/vfs_fonts.js')
|
||||||
|
|
@ -311,6 +323,7 @@ block content
|
||||||
var parameters = { year: yr,condition: cond };
|
var parameters = { year: yr,condition: cond };
|
||||||
$.get( '/filter',parameters, function(data) {
|
$.get( '/filter',parameters, function(data) {
|
||||||
//console.log(data);
|
//console.log(data);
|
||||||
|
$('#workTable').empty();
|
||||||
var wTable=document.getElementById("workTable");
|
var wTable=document.getElementById("workTable");
|
||||||
wTable.innerHTML=data;
|
wTable.innerHTML=data;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -170,10 +170,13 @@ block content
|
||||||
.panel.panel-warning
|
.panel.panel-warning
|
||||||
.panel-heading
|
.panel-heading
|
||||||
.row
|
.row
|
||||||
.col-md-8
|
.col-md-7
|
||||||
h4 Műhely munkavégzés
|
h4 Műhely munkavégzés
|
||||||
.col-md-2
|
.col-md-2
|
||||||
h5#workTimesSum
|
h5#workTimesSum
|
||||||
|
.col-md-1.float-right
|
||||||
|
button.btn.btn-success.button-spacer(id='printWorkReport',name='printWorkReport', data-id=work._id,type='button')
|
||||||
|
span.fa.fa-solid.fa-print
|
||||||
.col-md-2.float-right
|
.col-md-2.float-right
|
||||||
span.pull-right.clickable
|
span.pull-right.clickable
|
||||||
i.glyphicon.glyphicon-chevron-up
|
i.glyphicon.glyphicon-chevron-up
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue