klnodekb/models/kabelcert.js

87 lines
1.7 KiB
JavaScript

let mongoose = require('mongoose');
var CounterSchema = mongoose.Schema({
name: {type: String, required: true},
seq: { type: Number, default: 0 }
});
var counter = mongoose.model('counter', CounterSchema);
// KifCert Schema
let kabelCertSchema = mongoose.Schema({
// Jegyzőkönyv azonosító
deviceId:{
type: String,
require: true
},
// Létrehozás dátuma
bornDate:{
type: Date,
require: true
},
// Létrehozó
author:{
type: mongoose.Schema.Types.ObjectId,
require: true
},
// Jegyzőkönyv neve
jkvTitle:{
type: String,
require: true
},
// Megrendelő
megrendelo:{
type: String,
require: true
},
// Hossz
hossz:{
type: Number,
require: true
},
// Típus
tipus:{//
type: String,
require: true
},
// Munka szam
munkaszam:{//
type: String,
require: true
},
// Gyartasi szam
gyariszam:{//
type: String,
require: true
},
// Névleges feszültség
feszultseg:{
type: String,
require: true
},
// Keresztmetszet
keresztmetszet:{
type: String,
require: true
},
// Védettség
nyomvonal:{
type: String,
require: true
},
});
kabelCertSchema.pre('save', function(next) {
var doc = this;
var year = new Date().getFullYear().toString().slice(-2);
counter.findOneAndUpdate({name: 'kabelcert'}, {$inc: { seq: 1} },{ new: true, upsert: true }, function(error, counter) {
if(error)
return next(error);
const padded = (counter.seq + "").padStart(3, "0");
doc.gyariszam = 'KL/'+padded+'/'+year;
next();
});
});
var KabelCert = module.exports = mongoose.model('KabelCert',kabelCertSchema);