CM Munkafelvétel működik
This commit is contained in:
parent
0ef413acb1
commit
ccb625c366
20
app.js
20
app.js
|
|
@ -78,6 +78,7 @@ let Log = require('./models/logmodel');
|
||||||
let Item = require('./models/item');
|
let Item = require('./models/item');
|
||||||
let Pdata = require('./models/pdata');
|
let Pdata = require('./models/pdata');
|
||||||
let Component= require('./models/component');
|
let Component= require('./models/component');
|
||||||
|
require('./js/cmHelper')
|
||||||
|
|
||||||
//let Tool = require('./models/tool')
|
//let Tool = require('./models/tool')
|
||||||
var wCounter=0;
|
var wCounter=0;
|
||||||
|
|
@ -91,7 +92,7 @@ var utils = require('./js/utils');
|
||||||
function ensureExists(path, mask, cb) {
|
function ensureExists(path, mask, cb) {
|
||||||
if (typeof mask == 'function') { // allow the `mask` parameter to be optional
|
if (typeof mask == 'function') { // allow the `mask` parameter to be optional
|
||||||
cb = mask;
|
cb = mask;
|
||||||
mask = 0777;
|
mask = 0o777;
|
||||||
}
|
}
|
||||||
fs.mkdir(path, mask, function(err) {
|
fs.mkdir(path, mask, function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
@ -526,7 +527,7 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
||||||
wc+=el.employeeList.length;
|
wc+=el.employeeList.length;
|
||||||
});
|
});
|
||||||
work.wc=wc*8;
|
work.wc=wc*8;
|
||||||
|
var megrendelo=work.megrendelo || '-'
|
||||||
//for (var i = 0; i < works.length; i++) {
|
//for (var i = 0; i < works.length; i++) {
|
||||||
var po='-';
|
var po='-';
|
||||||
// var work=works[i];
|
// var work=works[i];
|
||||||
|
|
@ -544,17 +545,18 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
||||||
if (work.wc>0)
|
if (work.wc>0)
|
||||||
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"><span class="badge">' + work.wc+'</td>';
|
drCount='<td style="text-align:right;vertical-align:middle"><span class="badge">' + work.wc+'</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><a href="/work/'+work._id+'">'+ work.title+'</a></td>'+
|
'<td style="text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;">' +megrendelo+'</td>'+
|
||||||
'<td style="text-align:center">' + work.workDate + '</td>'+
|
'<td style="vertical-align:middle"><a href="/work/'+work._id+'">'+ work.title+'</a></td>'+
|
||||||
'<td style="text-align:center">' + state+'</td>'+
|
'<td style="text-align:center;vertical-align:middle">' + work.workDate + '</td>'+
|
||||||
'<td style="text-align:right">' + work.workNumber+'</td>'+
|
'<td style="text-align:center;vertical-align:middle">' + state+'</td>'+
|
||||||
|
'<td style="text-align:left;vertical-align:middle">' + work.workNumber+'</td>'+
|
||||||
drCount+
|
drCount+
|
||||||
'<td style="text-align:right">' + po+'</td>'+
|
'<td style="text-align:center;vertical-align:middle">' + po+'</td>'+
|
||||||
'<td style="text-align:right"><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);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
const fetch = require("node-fetch");
|
||||||
|
let User = require('../models/user');
|
||||||
|
let Work=require('../models/works')
|
||||||
|
const moment = require('moment');
|
||||||
|
var fse = require('fs-extra');
|
||||||
|
|
||||||
|
const url = "https://cmmunkaszam.klelectro.eu/api/db/getLastWorknumber";
|
||||||
|
|
||||||
|
const CM_Fetch_WorkNumbers=async()=>
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
const response = await fetch(url)
|
||||||
|
const jsonData = await response.json();
|
||||||
|
|
||||||
|
if (jsonData.success)
|
||||||
|
{
|
||||||
|
cmWorks=jsonData.val;
|
||||||
|
const user = await User.findOne({username: 'cmr'});
|
||||||
|
if (!user) return;
|
||||||
|
if (!user.canAdd.work) return;
|
||||||
|
cmWorks.forEach( async element => {
|
||||||
|
const foundWork= await Work.findOne({$or:[
|
||||||
|
{ cmId: element.ID},
|
||||||
|
{ workNumber: element.Szovertek},
|
||||||
|
{ title : element.Megnevezes},
|
||||||
|
{ cmRendAzonosito:element.RendAzon}
|
||||||
|
]})
|
||||||
|
if (!foundWork)
|
||||||
|
{
|
||||||
|
var vnValid=/^[2-9][0-9][0-9][0-9]\/[0-9][0-9][0-9][0-9]$/.test(element.Szovertek);
|
||||||
|
if (!vnValid)
|
||||||
|
{
|
||||||
|
console.log(`Hibás munkaszám: ${element.Szovertek}`)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log(`Új munka: ${element.Szovertek+' '+element.munkanev}`);
|
||||||
|
let work=new Work();
|
||||||
|
|
||||||
|
work.title = element.munkanev;
|
||||||
|
work.author = user._id;
|
||||||
|
work.body = element.Megjegyzes;
|
||||||
|
work.poNumber=element.KulsoRendSzam;
|
||||||
|
work.megrendelo=element.SzamlNev;
|
||||||
|
work.workNumber=element.Szovertek;
|
||||||
|
work.cmRendAzonosito=element.RendAzon;
|
||||||
|
// console.log(work.workNumber);
|
||||||
|
work.workDate= moment().format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
|
||||||
|
|
||||||
|
// Munka státusza
|
||||||
|
work.state='Opened'; // Nyitva
|
||||||
|
// Ütemterv
|
||||||
|
work.ganttData.id=work._id;
|
||||||
|
work.ganttData.text=work.title;
|
||||||
|
work.ganttData.start_date=moment().format('DD-MM-YYYY');
|
||||||
|
work.ganttData.duration=5;//req.body.duration;
|
||||||
|
work.ganttData.progress=0;
|
||||||
|
|
||||||
|
//db.users.findOne({"username" : {$regex : ".*son.*"}});
|
||||||
|
Work.findOne({'workNumber': work.workNumber}, function(err,wn) // Megnézzük van e már
|
||||||
|
{
|
||||||
|
if (err){
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (wn)
|
||||||
|
{
|
||||||
|
console.log("Már van ilyen munka");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
work.save(function(err){
|
||||||
|
if(err){
|
||||||
|
console.log(err);
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
// Munka könyvtár létrehozása
|
||||||
|
//logging.logAppend("Munka hozzáadása.",req.user,work.id,Work.db.name,'WORKADD');
|
||||||
|
fse.mkdirs('/filedata/'+work._id, function(err){
|
||||||
|
if (err) return console.error(err);
|
||||||
|
|
||||||
|
console.log("Könyvtár létrehozva! ->"+"/filedata/"+work._id);
|
||||||
|
});
|
||||||
|
console.log('Work added.');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
//console.log(jsonData.val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(error) {
|
||||||
|
console.log(error);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Esemény indítása éjjfélkor
|
||||||
|
setInterval(CM_Fetch_WorkNumbers,15000);
|
||||||
|
|
@ -3,6 +3,19 @@ let mongoose = require('mongoose');
|
||||||
// Article Schema
|
// Article Schema
|
||||||
var a = require('./article');
|
var a = require('./article');
|
||||||
let workSchema = mongoose.Schema({
|
let workSchema = mongoose.Schema({
|
||||||
|
// CM DATA
|
||||||
|
megrendelo:{
|
||||||
|
type: String,
|
||||||
|
require: true
|
||||||
|
},
|
||||||
|
cmId:{
|
||||||
|
type: Number,
|
||||||
|
require: true
|
||||||
|
},
|
||||||
|
cmRendAzonosito:{
|
||||||
|
type: String,
|
||||||
|
require: true
|
||||||
|
},
|
||||||
// Megnevezés
|
// Megnevezés
|
||||||
title:{
|
title:{
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -22,3 +22,8 @@
|
||||||
background-color: #007d99dc;
|
background-color: #007d99dc;
|
||||||
border-color: #285e8e; /*set the color you want here*/
|
border-color: #285e8e; /*set the color you want here*/
|
||||||
}
|
}
|
||||||
|
.mainContainer{
|
||||||
|
|
||||||
|
margin-left: 5%;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
extends layout
|
extends layout
|
||||||
|
|
||||||
block content
|
block content
|
||||||
|
.mainContainer
|
||||||
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
|
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
|
||||||
link(rel='stylesheet' href='/bower_components/bootstrap-select/dist/css/bootstrap-select.css')
|
link(rel='stylesheet' href='/bower_components/bootstrap-select/dist/css/bootstrap-select.css')
|
||||||
link(rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css')
|
link(rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css')
|
||||||
|
|
@ -104,7 +105,9 @@ block content
|
||||||
li
|
li
|
||||||
a(href='#',data-value='2022') 2022
|
a(href='#',data-value='2022') 2022
|
||||||
li
|
li
|
||||||
a(href='#',data-value='2022') 2023
|
a(href='#',data-value='2023') 2023
|
||||||
|
li
|
||||||
|
a(href='#',data-value='2024') 2024
|
||||||
li
|
li
|
||||||
a(href='#',data-value='') Mind
|
a(href='#',data-value='') Mind
|
||||||
//.input-group
|
//.input-group
|
||||||
|
|
@ -135,22 +138,25 @@ block content
|
||||||
col(width='1%')
|
col(width='1%')
|
||||||
col(width='1%')
|
col(width='1%')
|
||||||
col(width='auto')
|
col(width='auto')
|
||||||
|
col(width='auto')
|
||||||
col(width='15%')
|
col(width='15%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
col(width='10%')
|
col(width='5%')
|
||||||
col(width='10%')
|
col(width='5%')
|
||||||
|
col(width='5%')
|
||||||
col(width='5%')
|
col(width='5%')
|
||||||
thead
|
thead
|
||||||
tr
|
tr
|
||||||
th #
|
th #
|
||||||
th
|
th
|
||||||
|
th(style='text-align:left') Megrendelő
|
||||||
th Megnevezés
|
th Megnevezés
|
||||||
th(style='text-align:center') Létrehozva
|
th(style='text-align:center') Létrehozva
|
||||||
th(style='text-align:center') Státusz
|
th(style='text-align:center') Státusz
|
||||||
th(style='text-align:right') Munka szám
|
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') PO szám
|
th(style='text-align:center') PO szám
|
||||||
th Berendezések
|
th(style='text-align:left') Ber.
|
||||||
tbody(id='workTable',style='overflow-y: auto;')
|
tbody(id='workTable',style='overflow-y: auto;')
|
||||||
each work, i in works
|
each work, i in works
|
||||||
tr
|
tr
|
||||||
|
|
@ -160,25 +166,26 @@ block content
|
||||||
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')
|
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')
|
||||||
else
|
else
|
||||||
td
|
td
|
||||||
td
|
td(style='text-align:left; vertical-align:middle;font-size: 9px;font-weight: bold;') #{work.megrendelo || "-"}
|
||||||
|
td(style='vertical-align:middle')
|
||||||
a(href="/work/"+work._id)= work.title
|
a(href="/work/"+work._id)= work.title
|
||||||
td(style='text-align:center') #{work.workDate}
|
td(style='text-align:center;vertical-align:middle') #{work.workDate}
|
||||||
if (work.state==='Opened')
|
if (work.state==='Opened')
|
||||||
td(style='text-align:center') Folyamatban
|
td(style='text-align:center;vertical-align:middle') Folyamatban
|
||||||
else
|
else
|
||||||
if (work.state==='Closed')
|
if (work.state==='Closed')
|
||||||
td(style='text-align:center') Lezárva
|
td(style='text-align:center;vertical-align:middle') Lezárva
|
||||||
else
|
else
|
||||||
td(style='text-align:center')
|
td(style='text-align:center;vertical-align:middle')
|
||||||
|
|
||||||
td(style='text-align:right') #{work.workNumber}
|
td(style='text-align:left;vertical-align:middle') #{work.workNumber}
|
||||||
td(style='text-align:center')
|
td(style='text-align:center;vertical-align:middle')
|
||||||
if (work.wc>0)
|
if (work.wc>0)
|
||||||
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:right') #{work.poNumber}
|
td(style='text-align:center;vertical-align:middle') #{work.poNumber}
|
||||||
td(style='text-align:right')
|
td(style='text-align:left;vertical-align:middle')
|
||||||
span.badge #{work.devicesArray.length}
|
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')
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
extends layout
|
extends layout
|
||||||
|
|
||||||
block content
|
block content
|
||||||
|
.container
|
||||||
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
|
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
|
||||||
link(href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css', rel='stylesheet')
|
link(href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css', rel='stylesheet')
|
||||||
style(type="text/css").
|
style(type="text/css").
|
||||||
|
|
@ -41,6 +42,7 @@ block content
|
||||||
h4(id='entemp',style='display:none;') #{work.enaploTemplate}
|
h4(id='entemp',style='display:none;') #{work.enaploTemplate}
|
||||||
h4(style="text-align:right;") Munka szám:
|
h4(style="text-align:right;") Munka szám:
|
||||||
h4(style="text-align:right;") PO szám:
|
h4(style="text-align:right;") PO szám:
|
||||||
|
h4(style="text-align:right;") CMR Rendszám:
|
||||||
if (enaplodata.azonosito)
|
if (enaplodata.azonosito)
|
||||||
h5(style="text-align:right;") e-napló:
|
h5(style="text-align:right;") e-napló:
|
||||||
h5(style="text-align:right;") Projekt:
|
h5(style="text-align:right;") Projekt:
|
||||||
|
|
@ -48,6 +50,7 @@ block content
|
||||||
div.col-md-7
|
div.col-md-7
|
||||||
h4 #{work.workNumber}
|
h4 #{work.workNumber}
|
||||||
h4 #{work.poNumber}
|
h4 #{work.poNumber}
|
||||||
|
h4 #{work.cmRendAzonosito}
|
||||||
if (enaplodata.azonosito)
|
if (enaplodata.azonosito)
|
||||||
h5 #{enaplodata.azonosito}
|
h5 #{enaplodata.azonosito}
|
||||||
h5 #{enaplodata.project+' '+enaplodata.helyszin}
|
h5 #{enaplodata.project+' '+enaplodata.helyszin}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue