87 lines
1.7 KiB
JavaScript
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); |