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 Pdata = require('./models/pdata');
|
||||
let Component= require('./models/component');
|
||||
require('./js/cmHelper')
|
||||
|
||||
//let Tool = require('./models/tool')
|
||||
var wCounter=0;
|
||||
|
|
@ -91,7 +92,7 @@ var utils = require('./js/utils');
|
|||
function ensureExists(path, mask, cb) {
|
||||
if (typeof mask == 'function') { // allow the `mask` parameter to be optional
|
||||
cb = mask;
|
||||
mask = 0777;
|
||||
mask = 0o777;
|
||||
}
|
||||
fs.mkdir(path, mask, function(err) {
|
||||
if (err) {
|
||||
|
|
@ -526,7 +527,7 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
|||
wc+=el.employeeList.length;
|
||||
});
|
||||
work.wc=wc*8;
|
||||
|
||||
var megrendelo=work.megrendelo || '-'
|
||||
//for (var i = 0; i < works.length; i++) {
|
||||
var po='-';
|
||||
// var work=works[i];
|
||||
|
|
@ -544,17 +545,18 @@ app.get('/filter', utils.ensureAuthenticated, function(req, res) {
|
|||
if (work.wc>0)
|
||||
drCount= '<td style="text-align:right"><span class="badge badge-success">' + work.wc+'</td>';
|
||||
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>'+
|
||||
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>'+
|
||||
'<td><a href="/work/'+work._id+'">'+ work.title+'</a></td>'+
|
||||
'<td style="text-align:center">' + work.workDate + '</td>'+
|
||||
'<td style="text-align:center">' + state+'</td>'+
|
||||
'<td style="text-align:right">' + work.workNumber+'</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="text-align:center;vertical-align:middle">' + work.workDate + '</td>'+
|
||||
'<td style="text-align:center;vertical-align:middle">' + state+'</td>'+
|
||||
'<td style="text-align:left;vertical-align:middle">' + work.workNumber+'</td>'+
|
||||
drCount+
|
||||
'<td style="text-align:right">' + po+'</td>'+
|
||||
'<td style="text-align:right"><span class="badge">' + work.devicesArray.length+'</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>'
|
||||
|
||||
});
|
||||
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
|
||||
var a = require('./article');
|
||||
let workSchema = mongoose.Schema({
|
||||
// CM DATA
|
||||
megrendelo:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
cmId:{
|
||||
type: Number,
|
||||
require: true
|
||||
},
|
||||
cmRendAzonosito:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Megnevezés
|
||||
title:{
|
||||
type: String,
|
||||
|
|
|
|||
|
|
@ -21,4 +21,9 @@
|
|||
color: #fff;
|
||||
background-color: #007d99dc;
|
||||
border-color: #285e8e; /*set the color you want here*/
|
||||
}
|
||||
.mainContainer{
|
||||
|
||||
margin-left: 5%;
|
||||
width: 90%;
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
extends layout
|
||||
|
||||
block content
|
||||
.mainContainer
|
||||
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='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css')
|
||||
|
|
@ -104,7 +105,9 @@ block content
|
|||
li
|
||||
a(href='#',data-value='2022') 2022
|
||||
li
|
||||
a(href='#',data-value='2022') 2023
|
||||
a(href='#',data-value='2023') 2023
|
||||
li
|
||||
a(href='#',data-value='2024') 2024
|
||||
li
|
||||
a(href='#',data-value='') Mind
|
||||
//.input-group
|
||||
|
|
@ -135,22 +138,25 @@ block content
|
|||
col(width='1%')
|
||||
col(width='1%')
|
||||
col(width='auto')
|
||||
col(width='auto')
|
||||
col(width='15%')
|
||||
col(width='5%')
|
||||
col(width='10%')
|
||||
col(width='10%')
|
||||
col(width='5%')
|
||||
col(width='5%')
|
||||
col(width='5%')
|
||||
col(width='5%')
|
||||
thead
|
||||
tr
|
||||
th #
|
||||
th
|
||||
th
|
||||
th(style='text-align:left') Megrendelő
|
||||
th Megnevezés
|
||||
th(style='text-align:center') Létrehozva
|
||||
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') PO szám
|
||||
th Berendezések
|
||||
th(style='text-align:left') Ber.
|
||||
tbody(id='workTable',style='overflow-y: auto;')
|
||||
each work, i in works
|
||||
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')
|
||||
else
|
||||
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
|
||||
td(style='text-align:center') #{work.workDate}
|
||||
td(style='text-align:center;vertical-align:middle') #{work.workDate}
|
||||
if (work.state==='Opened')
|
||||
td(style='text-align:center') Folyamatban
|
||||
td(style='text-align:center;vertical-align:middle') Folyamatban
|
||||
else
|
||||
if (work.state==='Closed')
|
||||
td(style='text-align:center') Lezárva
|
||||
td(style='text-align:center;vertical-align:middle') Lezárva
|
||||
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:center')
|
||||
td(style='text-align:left;vertical-align:middle') #{work.workNumber}
|
||||
td(style='text-align:center;vertical-align:middle')
|
||||
if (work.wc>0)
|
||||
span.badge.badge-success #{work.wc}
|
||||
else
|
||||
span.badge #{work.wc}
|
||||
td(style='text-align:right') #{work.poNumber}
|
||||
td(style='text-align:right')
|
||||
td(style='text-align:center;vertical-align:middle') #{work.poNumber}
|
||||
td(style='text-align:left;vertical-align:middle')
|
||||
span.badge #{work.devicesArray.length}
|
||||
script(src='/bower_components/jquery/dist/jquery.js')
|
||||
script(type='text/javascript',src='/build/pdfmake.js')
|
||||
|
|
|
|||
|
|
@ -106,25 +106,25 @@ html
|
|||
if errors
|
||||
each error, i in errors
|
||||
div(class="alert alert-danger") #{error.msg}
|
||||
block content
|
||||
#exampleModal.modal.fade(tabindex='-1', role='dialog', aria-labelledby='exampleModalLabel', aria-hidden='true')
|
||||
.modal-dialog(role='document')
|
||||
.modal-content
|
||||
.modal-header
|
||||
h4#exampleModalLabel.modal-title Gyártási szám megadása
|
||||
button.close(type='button', data-dismiss='modal', aria-label='Mégsem')
|
||||
span(aria-hidden='true') ×
|
||||
.modal-body
|
||||
label(for='refuelPicker') EAN kód:
|
||||
input.form-control(id='txtean1',name='txtean1',type=text, tabindex='2',autofocus,onFocus='this.select()',style='background-color:#c9ddfc;', value= vjkvtitle)
|
||||
br
|
||||
.modal-footer
|
||||
button.btn.btn-secondary(type='button', data-dismiss='modal') Mégsem
|
||||
button.btn.btn-primary(type='button',onclick='submitDeviceNumber()') Rendben
|
||||
br
|
||||
hr
|
||||
footer
|
||||
p IO-Technic Hungary Copyright © 2018
|
||||
block content
|
||||
#exampleModal.modal.fade(tabindex='-1', role='dialog', aria-labelledby='exampleModalLabel', aria-hidden='true')
|
||||
.modal-dialog(role='document')
|
||||
.modal-content
|
||||
.modal-header
|
||||
h4#exampleModalLabel.modal-title Gyártási szám megadása
|
||||
button.close(type='button', data-dismiss='modal', aria-label='Mégsem')
|
||||
span(aria-hidden='true') ×
|
||||
.modal-body
|
||||
label(for='refuelPicker') EAN kód:
|
||||
input.form-control(id='txtean1',name='txtean1',type=text, tabindex='2',autofocus,onFocus='this.select()',style='background-color:#c9ddfc;', value= vjkvtitle)
|
||||
br
|
||||
.modal-footer
|
||||
button.btn.btn-secondary(type='button', data-dismiss='modal') Mégsem
|
||||
button.btn.btn-primary(type='button',onclick='submitDeviceNumber()') Rendben
|
||||
br
|
||||
hr
|
||||
footer
|
||||
p IO-Technic Hungary Copyright © 2018
|
||||
script(src='/bower_components/jquery/dist/jquery.js')
|
||||
//script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js')
|
||||
//script(type='text/javascript', src='/bower_components/jquery/dist/jquery.min.js')
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
extends layout
|
||||
|
||||
block content
|
||||
.container
|
||||
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')
|
||||
style(type="text/css").
|
||||
|
|
@ -41,6 +42,7 @@ block content
|
|||
h4(id='entemp',style='display:none;') #{work.enaploTemplate}
|
||||
h4(style="text-align:right;") Munka szám:
|
||||
h4(style="text-align:right;") PO szám:
|
||||
h4(style="text-align:right;") CMR Rendszám:
|
||||
if (enaplodata.azonosito)
|
||||
h5(style="text-align:right;") e-napló:
|
||||
h5(style="text-align:right;") Projekt:
|
||||
|
|
@ -48,6 +50,7 @@ block content
|
|||
div.col-md-7
|
||||
h4 #{work.workNumber}
|
||||
h4 #{work.poNumber}
|
||||
h4 #{work.cmRendAzonosito}
|
||||
if (enaplodata.azonosito)
|
||||
h5 #{enaplodata.azonosito}
|
||||
h5 #{enaplodata.project+' '+enaplodata.helyszin}
|
||||
|
|
|
|||
Loading…
Reference in New Issue