From b53c48f6a7f6e5c3a2ad0816e6e8f9d6294ff7f3 Mon Sep 17 00:00:00 2001 From: victor Date: Fri, 28 Jul 2017 10:34:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=B8=EC=B2=99=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EA=B4=80=EB=A6=AC=20=EC=9E=90=EB=A3=8C=EB=A5=BC=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/gui/oven_control/dirtylevel.cpp | 96 +++++++++++++++++++++++++------------ 1 file changed, 66 insertions(+), 30 deletions(-) diff --git a/app/gui/oven_control/dirtylevel.cpp b/app/gui/oven_control/dirtylevel.cpp index fd052f2..d4acfab 100644 --- a/app/gui/oven_control/dirtylevel.cpp +++ b/app/gui/oven_control/dirtylevel.cpp @@ -2,11 +2,41 @@ #include +#include "ovenstatics.h" + namespace { QDateTime cookStartTime; bool cookStarted = false; -qint64 cookingTime; -int cookingCount; + +void setCookingTime(qint64 t) +{ + OvenStatistics::getInstance()->setTotalCookingTime(t, false); +} + +void addCookingTime(qint64 t) +{ + OvenStatistics::getInstance()->addTotalCookingTime(t, false); +} + +qint64 getCookingTime() +{ + return OvenStatistics::getInstance()->loadTotalCookingTime(); +} + +void setCookingCount(int c) +{ + OvenStatistics::getInstance()->setTotalCookingCount(c, false); +} + +void addCookingCount(int c) +{ + OvenStatistics::getInstance()->addTotalCookingCount(c, false); +} + +int getCookingCount() +{ + return OvenStatistics::getInstance()->loadTotalCookingCount(); +} void decountState(int level) { @@ -15,22 +45,22 @@ void decountState(int level) switch (target) { case 0: - cookingCount = 0; + setCookingCount(0); break; case 1: - cookingCount = 1; + setCookingCount(1); break; case 2: - cookingCount = 6; + setCookingCount(6); break; case 3: - cookingCount = 11; + setCookingCount(11); break; case 4: - cookingCount = 16; + setCookingCount(16); break; case 5: - cookingCount = 21; + setCookingCount(21); break; } } @@ -41,91 +71,97 @@ void DirtyLevel::cookStart() { cookStarted = true; cookStartTime = QDateTime::currentDateTime(); - ::cookingCount++; + ::addCookingCount(1); } void DirtyLevel::cookEnd() { if (cookStarted) { - cookStarted = true; - ::cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime()); + cookStarted = false; + + ::addCookingTime(cookStartTime.secsTo(QDateTime::currentDateTime())); } } void DirtyLevel::wash(int type) { + qint64 cookingTime = ::getCookingTime(); switch (type) { case 1: - ::cookingTime = qMax(::cookingTime - 2 * 3600, (qint64) 0); + cookingTime = qMax(cookingTime - 2 * 3600, (qint64) 0); decountState(1); break; case 2: - ::cookingTime = qMax(::cookingTime - 3 * 3600, (qint64) 0); + cookingTime = qMax(cookingTime - 3 * 3600, (qint64) 0); decountState(1); break; case 3: - ::cookingTime = qMax(::cookingTime - 4 * 3600, (qint64) 0); + cookingTime = qMax(cookingTime - 4 * 3600, (qint64) 0); decountState(2); break; case 4: - ::cookingTime = qMax(::cookingTime - 10 * 3600, (qint64) 0); + cookingTime = qMax(cookingTime - 10 * 3600, (qint64) 0); decountState(2); break; case 5: - ::cookingTime = qMax(::cookingTime - 2 * 3600, (qint64) 0); + cookingTime = qMax(cookingTime - 2 * 3600, (qint64) 0); decountState(1); break; } + ::setCookingTime(cookingTime); } int DirtyLevel::dirty() { - if (::cookingCount < 1) + if (::getCookingCount() < 1) return 0; - if (::cookingTime < 1 * 3600) + + qint64 cookingTime = ::getCookingTime(); + if (cookingTime < 1 * 3600) return 1; - if (::cookingTime < 3 * 3600) + if (cookingTime < 3 * 3600) return 2; - if (::cookingTime < 5 * 3600) + if (cookingTime < 5 * 3600) return 3; - if (::cookingTime < 7 * 3600) + if (cookingTime < 7 * 3600) return 4; return 5; } int DirtyLevel::state() { - if (::cookingCount < 1) + int cookingCount = ::getCookingCount(); + if (cookingCount < 1) return 0; - if (::cookingCount <= 5) + if (cookingCount <= 5) return 1; - if (::cookingCount <= 10) + if (cookingCount <= 10) return 2; - if (::cookingCount <= 15) + if (cookingCount <= 15) return 3; - if (::cookingCount <= 20) + if (cookingCount <= 20) return 4; return 5; } void DirtyLevel::setCookingTime(qint64 secs) { - ::cookingTime = secs; + ::setCookingTime(secs); } int DirtyLevel::cookingTime() { - return ::cookingTime; + return ::getCookingTime(); } int DirtyLevel::cookingCount() { - return ::cookingCount; + return ::getCookingCount(); } void DirtyLevel::setCookingCount(int count) { - ::cookingCount = count; + ::setCookingCount(count); } -- 2.1.4