From db2ed2432cf1de3dde035d1c63aec58c38421eea Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Thu, 16 Feb 2017 17:07:23 -0600 Subject: [PATCH] Fixes issue of measurements not storing seconds to store were being multiplied by 1000 --- .../java/com/henrypump/poc/Measurement.java | 42 ++++++++----------- src/main/java/com/henrypump/poc/Well.java | 38 ++++++++--------- 2 files changed, 36 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/henrypump/poc/Measurement.java b/src/main/java/com/henrypump/poc/Measurement.java index 5d00dc6..438951e 100644 --- a/src/main/java/com/henrypump/poc/Measurement.java +++ b/src/main/java/com/henrypump/poc/Measurement.java @@ -22,14 +22,13 @@ public class Measurement { private double[] totalHistory = new double[30]; private double[] averageHistory = new double[30]; private long numMeasurements; - private boolean storeInDatabase; private double lastSentValue; private double sendDelta; private Database db; private long lastSentTimestamp; private long sendTimeDelta; - Measurement(String tagName, boolean storeInDatabase, Database db, double sendDelta, long sendTimeDelta){ + Measurement(String tagName, Database db, double sendDelta, long sendTimeDelta){ this.tagName = tagName; average = 0; total = 0; @@ -38,7 +37,6 @@ public class Measurement { dailyMin = Double.MAX_VALUE; // Database code - this.storeInDatabase = storeInDatabase; this.db = db; this.sendDelta = sendDelta; this.lastSentValue = 0.0; @@ -67,17 +65,17 @@ public class Measurement { } - Measurement(String tagName, boolean storeInDatabase){ - this.tagName = tagName; - average = 0; - total = 0; - numMeasurements = 0; - dailyMax = Double.MIN_VALUE; - dailyMin = Double.MAX_VALUE; - - // Database code - this.storeInDatabase = storeInDatabase; - } +// Measurement(String tagName, boolean storeInDatabase){ +// this.tagName = tagName; +// average = 0; +// total = 0; +// numMeasurements = 0; +// dailyMax = Double.MIN_VALUE; +// dailyMin = Double.MAX_VALUE; +// +// // Database code +// this.storeInDatabase = storeInDatabase; +// } public double getCurrentValue() { return currentValue; @@ -132,21 +130,15 @@ public class Measurement { dailyMax = Math.max(dailyMax, currentValue); dailyMin = Math.min(dailyMin, currentValue); - if(storeInDatabase){ - if(abs(currentValue - lastSentValue) > sendDelta || - currentTimestamp - lastSentTimestamp > (sendTimeDelta * 1000)){ - long l = db.newMeasurement(this); - lastSentValue = currentValue; - lastSentTimestamp = currentTimestamp; - } + if(abs(currentValue - lastSentValue) > sendDelta || (currentTimestamp - lastSentTimestamp) > (sendTimeDelta)){ + long l = db.newMeasurement(this); + lastSentValue = currentValue; + lastSentTimestamp = currentTimestamp; } } void endOfDay(){ - if (storeInDatabase){ - db.newDailyTotal(this); - } - + db.newDailyTotal(this); System.arraycopy(totalHistory, 0, totalHistory, 1, totalHistory.length-1); System.arraycopy(averageHistory, 0, averageHistory, 1, averageHistory.length-1); diff --git a/src/main/java/com/henrypump/poc/Well.java b/src/main/java/com/henrypump/poc/Well.java index b15f8f0..5db05be 100644 --- a/src/main/java/com/henrypump/poc/Well.java +++ b/src/main/java/com/henrypump/poc/Well.java @@ -197,25 +197,25 @@ public class Well { } private void initializeMeasurements(){ - strokeSpeed = new Measurement("Stroke Speed", true, db, 0.5, 600); - downholeGrossStroke = new Measurement("Downhole Gross Stroke", true, db, 0.5, 600); - downholeNetStroke = new Measurement("Downhole Net Stroke", true, db, 0.5, 600); - fluidLevel = new Measurement("Fluid Level", true, db, 10, 600); - fluidLoad = new Measurement("Fluid Load", true, db, 20, 600); - inflowRate = new Measurement("Inflow Rate", true, db, 0.5, 600); - peakPolishedRodLoad = new Measurement("Peak PRL", true, db, 50, 600); - minPolishedRodLoad = new Measurement("Min PRL", true, db, 50, 600); - percentRun = new Measurement("Percent Run", true, db, 1.0, 600); - polishedRodHP = new Measurement("Polished Rod HP", true, db, 0.25, 600); - pumpHP = new Measurement("Pump HP", true, db, 0.25, 600); - fluidProduced = new Measurement("Fluid Produced", true, db, 1.0, 600); - fluidProducedAdjusted = new Measurement("Fluid Produced (adjusted)", true, db, 1.0, 600); - oilProduced = new Measurement("Oil Produced", true, db, 1.0, 600); - waterProduced = new Measurement("Water Produced", true, db, 1.0, 600); - gasProduced = new Measurement("Gas Produced", true, db, 1.0, 600); - pumpIntakePressure = new Measurement("Pump Intake Pressure", true, db, 5.0, 600); - surfaceStrokeLength = new Measurement("Surface Stroke", true, db, 0.5, 1800); - tubingMovement = new Measurement("Tubing Movement", true, db, 0.5, 600); + strokeSpeed = new Measurement("Stroke Speed", db, 0.5, 600); + downholeGrossStroke = new Measurement("Downhole Gross Stroke", db, 0.5, 600); + downholeNetStroke = new Measurement("Downhole Net Stroke", db, 0.5, 600); + fluidLevel = new Measurement("Fluid Level", db, 10, 600); + fluidLoad = new Measurement("Fluid Load", db, 20, 600); + inflowRate = new Measurement("Inflow Rate", db, 0.5, 600); + peakPolishedRodLoad = new Measurement("Peak PRL", db, 50, 600); + minPolishedRodLoad = new Measurement("Min PRL", db, 50, 600); + percentRun = new Measurement("Percent Run", db, 1.0, 600); + polishedRodHP = new Measurement("Polished Rod HP", db, 0.25, 600); + pumpHP = new Measurement("Pump HP", db, 0.25, 600); + fluidProduced = new Measurement("Fluid Produced", db, 1.0, 600); + fluidProducedAdjusted = new Measurement("Fluid Produced (adjusted)", db, 1.0, 600); + oilProduced = new Measurement("Oil Produced", db, 1.0, 600); + waterProduced = new Measurement("Water Produced", db, 1.0, 600); + gasProduced = new Measurement("Gas Produced", db, 1.0, 600); + pumpIntakePressure = new Measurement("Pump Intake Pressure", db, 5.0, 600); + surfaceStrokeLength = new Measurement("Surface Stroke", db, 0.5, 1800); + tubingMovement = new Measurement("Tubing Movement", db, 0.5, 600); } public double getDt() {