From 3ea413bd3ef1819dd756c4773229cb5f31e57c56 Mon Sep 17 00:00:00 2001 From: wactbprot <thsteinbock@web.de> Date: Fri, 24 May 2013 16:08:40 +0200 Subject: [PATCH] neues KD mit _show/new --- language | 1 + lib/share.js | 4 +- shows/dup.js | 103 +++++++++++++++++++++++++++++++++++---------------- shows/new.js | 36 ++++++++++++++++++ 4 files changed, 110 insertions(+), 34 deletions(-) create mode 100644 language create mode 100644 shows/new.js diff --git a/language b/language new file mode 100644 index 0000000..f504a95 --- /dev/null +++ b/language @@ -0,0 +1 @@ +javascript \ No newline at end of file diff --git a/lib/share.js b/lib/share.js index 66b30ed..b487b49 100644 --- a/lib/share.js +++ b/lib/share.js @@ -92,8 +92,8 @@ var pad0 = function(n){ }; exports.pad0 = pad0; -var vlDateString = function(){ - var dt = new Date(), +var vlDateString = function(d){ + var dt = d || new Date(), Y = dt.getFullYear(), M = pad0(dt.getMonth()+1), D = pad0(dt.getDate()), diff --git a/shows/dup.js b/shows/dup.js index 9d64992..bdded7a 100644 --- a/shows/dup.js +++ b/shows/dup.js @@ -1,41 +1,80 @@ function (doc, req) { - -// example url: -// http://localhost:5984/vaclab_db/_design/e-share/_show/dup/73eda2bf9694bb4f78edaecba90cdc49 - var - dc = doc.Calibration, - ds = dc.Sign, - ss = ds.split(/[-_]+/), - nd = new Date(), - s0 = ss[0], // main sign - s1 = ss[1], // sub sign - ns1 = ""; // new sub sign - + // 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); - if(doc && - dc && - typeof dc == "object" && - ds){ - var tn1 = "" + (parseInt("1" + s1, 10) + 1); - tn1 = tn1.substr(1,tn1.length-1); - var dupd = { - Calibration:{ - Sign: s0 + "_" + tn1, - Type: req.query.type || dc.Type, - Year: "" + nd.getFullYear(), - Standard: req.query.standard || dc.Standard, - Presettings:{ - + // 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"}; + } }else{ - var dupd = {error: "Doc seems to be no calibration"}; + var dupd = {error: "Doc seems to be no calibration"}; } - - return toJSON(dupd); + + return { + "headers" : {"Content-Type" : "application/json"}, + "body" : toJSON(dupd) + }; }; diff --git a/shows/new.js b/shows/new.js new file mode 100644 index 0000000..9301f68 --- /dev/null +++ b/shows/new.js @@ -0,0 +1,36 @@ +function (doc, req) { + // example url: + // http://localhost:5984/vaclab_db/_design/e-share/_show/new + // + + var share = require("lib/share"), + nd = new Date(), + ndoc = { + Calibration:{ + Sign: req.query.sign || "99999_0001", + Type: req.query.type || "NN", + Year: "" + nd.getFullYear(), + Standard: req.query.standard || "", + Presettings:{ + Maintainer:req.query.maintainer || "", + Date: [ + {Value: share.vlDateString(nd), + Type: "generated" + } + ] + }, + Measurement:{ + CalibrationObject:[{ + Type: "", + Sign: "", + Name: "" + }] + } + } + }; + + return { + "headers" : {"Content-Type" : "application/json"}, + "body" : toJSON(ndoc) + }; +}; -- GitLab