Newer
Older
// example url:
// http://localhost:5984/vaclab_db/_design/e-share/_show/dup/73eda2bf9694bb4f78edaecba90cdc49
//
var share = require("lib/share"),
dc = doc.Calibration;
if(doc &&
dc &&
typeof dc == "object"){
var
ds = dc.Sign,
dcm = dc.Measurement,
dcp = dc.Presettings;
if(dcm &&
typeof dcm == "object" &&
dcp &&
typeof dcp == "object"){
var
dcmco = dcm.CalibrationObject,
dcpt = dcp.Todo,
dcpc = dcp.Customer;
if(dcmco &&
typeof dcmco == "object"){
var
dcmco0 = dcmco[0],
ss = ds.split(/[-_]+/),
nd = new Date(),
s0 = ss[0], // main sign
s1 = ss[1], // sub sign
ns1 = ""; // new sub sign
var tn1 = "" + (parseInt("1" + s1, 10) + 1);
tn1 = tn1.substr(1,tn1.length-1);
// code is data!
var dupd = {
Calibration:{
Sign: s0 + "_" + tn1,
Type: req.query.type || dc.Type,
Year: "" + nd.getFullYear(),
Standard: req.query.standard || dc.Standard,
Presettings:{
Date: [
{Value: share.vlDateString(nd),
Type: "duplicated"
}
]
},
Measurement:{
CalibrationObject:[dcmco0]
}
}
};
if(dcpt){
dupd.Calibration.Presettings.ToDo = dcpt;
if(dcpc){
dupd.Calibration.Presettings.Customer = dcpc;
}
}
}else{
var dupd = {error: "Doc contains no measurement block"};
}
return {
"headers" : {"Content-Type" : "application/json"},
"body" : toJSON(dupd)
};