QR kód ugrás hozzáadva.
This commit is contained in:
parent
ccb625c366
commit
bef86df5d4
|
|
@ -46,7 +46,7 @@ exports.apiRegisterDevice=function(deviceId,username,password,deviceType,callbac
|
|||
}
|
||||
else {
|
||||
if (rfidDevice)
|
||||
callback(null,{'message':'Az eszköz már regisztrálva van!'});
|
||||
callback(null,{'message':'Az eszköz már regisztrálva van!','apiKey':employee.apiKey});
|
||||
else
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@ let employeeSchema = mongoose.Schema({
|
|||
type: String,
|
||||
require: true
|
||||
},
|
||||
qrCode:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
address:{
|
||||
type: String,
|
||||
require: true
|
||||
|
|
|
|||
|
|
@ -511,7 +511,177 @@ transporter = nodemailer.createTransport({
|
|||
}
|
||||
});
|
||||
break;
|
||||
case 'ACCESSQR': // Bejelentezés QR kóddal
|
||||
moment.locale('HU');
|
||||
var response = {
|
||||
status : 200,
|
||||
data : 'INVALID QUERY'
|
||||
}
|
||||
if (!data.CID1 | !data.CID2)
|
||||
{
|
||||
//console.log("Invalid Client ID!");
|
||||
createLog("INVALID CID",data);//JSON.stringify(data));
|
||||
response.status=200;
|
||||
response.data='INVALID CLIENT ID';
|
||||
socket.write(JSON.stringify(response));
|
||||
break;
|
||||
}
|
||||
if (!data.LAT | !data.LON)
|
||||
{
|
||||
//console.log("Invalid Client POS!");
|
||||
createLog("INVALID LOCATION ",data);//JSON.stringify(data));
|
||||
response.status=200;
|
||||
response.data='INVALID LOCATION ID';
|
||||
socket.write(JSON.stringify(response));
|
||||
break;
|
||||
}
|
||||
//var address=getAddress(data.LAT,data.LON);
|
||||
DeviceRemote.findOne({imei:data.CID1,ccid:data.CID2}, function(err,device){
|
||||
if (err)
|
||||
{
|
||||
console.log("Device DB err:"+err);
|
||||
}
|
||||
else
|
||||
{
|
||||
//if (!device.length)
|
||||
if (typeof device === 'undefined' || !device)
|
||||
{
|
||||
//console.log(ma+' Invalid device! RAW: '+JSON.stringify(data)+'\r\n');
|
||||
createLog("INVALID DEVICE",data);//JSON.stringify(data));
|
||||
socket.write(JSON.stringify({
|
||||
status: 200,
|
||||
data: 'Invalid device!'
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!data.loc)
|
||||
{
|
||||
response.status=200;
|
||||
response.data='INVALID LOCATION';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.mode!='ARRIVAL' && data.mode!='GETAWAY' && data.mode!='FREEDOM' && data.mode!='SICKPAY')
|
||||
{
|
||||
response.status=200;
|
||||
response.data='INVALID MODE';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log(data.rfid);
|
||||
Employee.findOne({'qrCode':data.qrCode},function(err,employee){
|
||||
|
||||
if(err)
|
||||
{
|
||||
response.status=200;
|
||||
response.data='DB ERROR 1';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (employee)
|
||||
{
|
||||
// Ha pozíció szöveges (fix telepítésű WiFi-nél)
|
||||
//Utca név is kell;
|
||||
//var addr=address.city+","+address.road+" "+address.number;
|
||||
getAddress(data.LAT,data.LON,data.loc,function(err,address){
|
||||
|
||||
if (err)
|
||||
{
|
||||
console.log("GeoAddress Error! "+err);
|
||||
// response.status=200;
|
||||
// response.data='GeoErr! ';
|
||||
//socket.write(JSON.stringify(response));
|
||||
// return;
|
||||
// Nincs GPS!!!!!!!!!!!!!!!!!!!!!!
|
||||
addr=device.assignment;
|
||||
registerAccess(employee,addr,null,null,device,function(err,result){
|
||||
//registerAccess(employee,data.loc,function(err,result){
|
||||
if (err)
|
||||
{
|
||||
console.log(err);
|
||||
socket.write(JSON.stringify(err));
|
||||
}
|
||||
else
|
||||
{
|
||||
checkIsHoliday(employee._id,ma,function(err,cb){
|
||||
if (err)
|
||||
{
|
||||
console.log('Holiday Split Error: '+err);
|
||||
}
|
||||
else
|
||||
{
|
||||
socket.write(JSON.stringify(result));
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
var addr=address.city+","+address.road+" "+address.number;
|
||||
/* if (data.loc==='G'){
|
||||
var dec=convertDeg2Dec(data.LAT,data.LON);
|
||||
}
|
||||
else*/
|
||||
if (data.loc==="G2"){
|
||||
var dec={'latdec':data.LAT,'londec':data.LON}
|
||||
}
|
||||
else
|
||||
{
|
||||
var dec=convertDeg2Dec(data.LAT,data.LON);
|
||||
}
|
||||
registerAccess(employee,addr,dec.latdec,dec.londec,device,function(err,result){
|
||||
//registerAccess(employee,data.loc,function(err,result){
|
||||
if (err)
|
||||
{
|
||||
console.log(err);
|
||||
socket.write(JSON.stringify(err));
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log('Access: '+JSON.stringify(result));
|
||||
createLog("ACCESS",result);//JSON.stringify(result));
|
||||
checkIsHoliday(employee._id,ma,function(err,cb){
|
||||
if (err)
|
||||
{
|
||||
console.log('Holiday Split Error: '+err);
|
||||
}
|
||||
else
|
||||
{
|
||||
socket.write(JSON.stringify(result));
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log("Nincs munkavállaló ezzel az azonosítóval!");
|
||||
createLog("INVALID CODE",data.rfid);//JSON.stringify(data.rfid));
|
||||
response.status=200;
|
||||
response.data='INVALID CODE';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'ACCESSNOGEO': // Bejelentkezés telefonról Ha a címadat már megvan
|
||||
moment.locale('HU');
|
||||
var response = {
|
||||
|
|
@ -633,7 +803,128 @@ transporter = nodemailer.createTransport({
|
|||
}
|
||||
});
|
||||
break;
|
||||
case 'NTRK':
|
||||
case 'ACCESSNOGEOQR': // Bejelentkezés telefonról QR kóddal Ha a címadat már megvan
|
||||
moment.locale('HU');
|
||||
var response = {
|
||||
status : 200,
|
||||
data : 'INVALID QUERY'
|
||||
}
|
||||
if (!data.CID1 | !data.CID2)
|
||||
{
|
||||
//console.log("Invalid Client ID!");
|
||||
createLog("INVALID CID",data);//JSON.stringify(data));
|
||||
response.status=200;
|
||||
response.data='INVALID CLIENT ID';
|
||||
socket.write(JSON.stringify(response));
|
||||
break;
|
||||
}
|
||||
if (!data.LAT | !data.LON)
|
||||
{
|
||||
//console.log("Invalid Client POS!");
|
||||
createLog("INVALID LOCATION",data);//JSON.stringify(data));
|
||||
response.status=200;
|
||||
response.data='INVALID LOCATION ID';
|
||||
socket.write(JSON.stringify(response));
|
||||
break;
|
||||
}
|
||||
//var address=getAddress(data.LAT,data.LON);
|
||||
DeviceRemote.find({imei:data.CID1,ccid:data.CID2}, function(err,device){
|
||||
if (err)
|
||||
{
|
||||
console.log("Device DB err:"+err);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!device.length)
|
||||
{
|
||||
// console.log('Invalid device!\r\n');
|
||||
//console.log(ma+' Invalid device! RAW: '+JSON.stringify(data)+'\r\n');
|
||||
createLog("INVALID DEVICE",data);//JSON.stringify(data));
|
||||
socket.write(JSON.stringify({
|
||||
status: 200,
|
||||
data: 'Invalid device!'
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!data.address)
|
||||
{
|
||||
response.status=200;
|
||||
response.data='INVALID ADDRESS';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.mode!='ARRIVAL' && data.mode!='GETAWAY' && data.mode!='FREEDOM' && data.mode!='SICKPAY')
|
||||
{
|
||||
response.status=200;
|
||||
response.data='INVALID MODE';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log(data.rfid);
|
||||
Employee.findOne({'qrCode':data.qrCode},function(err,employee){
|
||||
|
||||
if(err)
|
||||
{
|
||||
response.status=200;
|
||||
response.data='DB ERROR 1';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (employee)
|
||||
{
|
||||
// Ha pozíció szöveges (fix telepítésű WiFi-nél)
|
||||
|
||||
|
||||
|
||||
registerAccess(employee,data.address,data.LAT,data.LON,device,function(err,result){
|
||||
//registerAccess(employee,data.loc,function(err,result){
|
||||
if (err)
|
||||
{
|
||||
console.log(err);
|
||||
socket.write(JSON.stringify(err));
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log('Access: '+JSON.stringify(result));
|
||||
createLog("ACCESS",result);//JSON.stringify(result));
|
||||
checkIsHoliday(employee._id,ma,function(err,cb){
|
||||
if (err)
|
||||
{
|
||||
console.log('Holiday Split Error: '+err);
|
||||
}
|
||||
else
|
||||
{
|
||||
socket.write(JSON.stringify(result));
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//console.log("Nincs munkavállaló ezzel az azonosítóval!");
|
||||
createLog("INVALID CODE",data.rfid);//JSON.stringify(data.rfid));
|
||||
response.status=200;
|
||||
response.data='INVALID CODE';
|
||||
socket.write(JSON.stringify(response));
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'NTRK':
|
||||
tracker.newTrack(data.id,function(err,result){
|
||||
if (err)
|
||||
{
|
||||
|
|
@ -4014,6 +4305,7 @@ router.post('/getLocationInfo',function(req,res){
|
|||
function registerAccess(employee,city,lat,lon,device, callback)
|
||||
{
|
||||
console.log("ACCESS: "+employee.name+" City: "+city+" WTID: "+employee.workingtimeId);
|
||||
const newQrCode = uuidAPIKey.create().uuid;//crypto.randomBytes(16).toString('hex');
|
||||
// Ha van megkezdett munkaidő beolvassuk
|
||||
if (employee.workingtimeId)
|
||||
{
|
||||
|
|
@ -4045,6 +4337,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
access.locationStop=city;
|
||||
access.latitudeE=lat;
|
||||
access.longitudeE=lon;
|
||||
|
||||
access.deviceId=device._id;
|
||||
var a = moment(wt.timeArrive, "YYYY.MM.DD. HH:mm");
|
||||
var b = moment(access.timeGetaway, "YYYY.MM.DD. HH:mm");
|
||||
|
|
@ -4076,6 +4369,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
{
|
||||
sendEmailGetavayNotify(employee,city,wt.timeArrive,access.timeGetaway,convertMinsToHrsMins(access.workHours));
|
||||
}
|
||||
emp.qrCode=newQrCode;
|
||||
Employee.updateOne({_id:employee._id},emp,function(err){
|
||||
if (err)
|
||||
{
|
||||
|
|
@ -4134,6 +4428,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
access.timeGetaway="-";
|
||||
access.deviceId=device._id;
|
||||
access.vehicleId=device.vehicle_id;
|
||||
|
||||
access.save(function(err){
|
||||
if(err){
|
||||
var err={'status':200,'error':'DB ERROR 5'};
|
||||
|
|
@ -4150,6 +4445,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
sendEmailArriveNotify(employee,city,access.timeArrive);
|
||||
}
|
||||
emp.workingtimeId=access._id;
|
||||
emp.qrCode=newQrCode;
|
||||
Employee.updateOne({_id:employee._id},emp,function(err){
|
||||
if (err)
|
||||
{
|
||||
|
|
@ -4208,6 +4504,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
access.timeGetaway="-";
|
||||
access.deviceId=device._id;
|
||||
access.vehicleId=device.vehicle_id;
|
||||
|
||||
if (employee.emailNotifyFlags.arriving)
|
||||
{
|
||||
sendEmailArriveNotify(employee,city,access.timeArrive);
|
||||
|
|
@ -4224,6 +4521,7 @@ function registerAccess(employee,city,lat,lon,device, callback)
|
|||
|
||||
let emp={};
|
||||
emp.workingtimeId=access._id;
|
||||
emp.qrCode=newQrCode;
|
||||
Employee.updateOne({_id:employee._id},emp,function(err){
|
||||
if (err)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue