Commit b53c48f6a7f6e5c3a2ad0816e6e8f9d6294ff7f3
1 parent
f345e373f6
Exists in
master
and in
2 other branches
세척 관련 관리 자료를 저장하지 않던 문제 수정
Showing
1 changed file
with
66 additions
and
30 deletions
Show diff stats
app/gui/oven_control/dirtylevel.cpp
| ... | ... | @@ -2,11 +2,41 @@ |
| 2 | 2 | |
| 3 | 3 | #include <QDateTime> |
| 4 | 4 | |
| 5 | +#include "ovenstatics.h" | |
| 6 | + | |
| 5 | 7 | namespace { |
| 6 | 8 | QDateTime cookStartTime; |
| 7 | 9 | bool cookStarted = false; |
| 8 | -qint64 cookingTime; | |
| 9 | -int cookingCount; | |
| 10 | + | |
| 11 | +void setCookingTime(qint64 t) | |
| 12 | +{ | |
| 13 | + OvenStatistics::getInstance()->setTotalCookingTime(t, false); | |
| 14 | +} | |
| 15 | + | |
| 16 | +void addCookingTime(qint64 t) | |
| 17 | +{ | |
| 18 | + OvenStatistics::getInstance()->addTotalCookingTime(t, false); | |
| 19 | +} | |
| 20 | + | |
| 21 | +qint64 getCookingTime() | |
| 22 | +{ | |
| 23 | + return OvenStatistics::getInstance()->loadTotalCookingTime(); | |
| 24 | +} | |
| 25 | + | |
| 26 | +void setCookingCount(int c) | |
| 27 | +{ | |
| 28 | + OvenStatistics::getInstance()->setTotalCookingCount(c, false); | |
| 29 | +} | |
| 30 | + | |
| 31 | +void addCookingCount(int c) | |
| 32 | +{ | |
| 33 | + OvenStatistics::getInstance()->addTotalCookingCount(c, false); | |
| 34 | +} | |
| 35 | + | |
| 36 | +int getCookingCount() | |
| 37 | +{ | |
| 38 | + return OvenStatistics::getInstance()->loadTotalCookingCount(); | |
| 39 | +} | |
| 10 | 40 | |
| 11 | 41 | void decountState(int level) |
| 12 | 42 | { |
| ... | ... | @@ -15,22 +45,22 @@ void decountState(int level) |
| 15 | 45 | switch (target) |
| 16 | 46 | { |
| 17 | 47 | case 0: |
| 18 | - cookingCount = 0; | |
| 48 | + setCookingCount(0); | |
| 19 | 49 | break; |
| 20 | 50 | case 1: |
| 21 | - cookingCount = 1; | |
| 51 | + setCookingCount(1); | |
| 22 | 52 | break; |
| 23 | 53 | case 2: |
| 24 | - cookingCount = 6; | |
| 54 | + setCookingCount(6); | |
| 25 | 55 | break; |
| 26 | 56 | case 3: |
| 27 | - cookingCount = 11; | |
| 57 | + setCookingCount(11); | |
| 28 | 58 | break; |
| 29 | 59 | case 4: |
| 30 | - cookingCount = 16; | |
| 60 | + setCookingCount(16); | |
| 31 | 61 | break; |
| 32 | 62 | case 5: |
| 33 | - cookingCount = 21; | |
| 63 | + setCookingCount(21); | |
| 34 | 64 | break; |
| 35 | 65 | } |
| 36 | 66 | } |
| ... | ... | @@ -41,91 +71,97 @@ void DirtyLevel::cookStart() |
| 41 | 71 | { |
| 42 | 72 | cookStarted = true; |
| 43 | 73 | cookStartTime = QDateTime::currentDateTime(); |
| 44 | - ::cookingCount++; | |
| 74 | + ::addCookingCount(1); | |
| 45 | 75 | } |
| 46 | 76 | |
| 47 | 77 | void DirtyLevel::cookEnd() |
| 48 | 78 | { |
| 49 | 79 | if (cookStarted) |
| 50 | 80 | { |
| 51 | - cookStarted = true; | |
| 52 | - ::cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime()); | |
| 81 | + cookStarted = false; | |
| 82 | + | |
| 83 | + ::addCookingTime(cookStartTime.secsTo(QDateTime::currentDateTime())); | |
| 53 | 84 | } |
| 54 | 85 | } |
| 55 | 86 | |
| 56 | 87 | void DirtyLevel::wash(int type) |
| 57 | 88 | { |
| 89 | + qint64 cookingTime = ::getCookingTime(); | |
| 58 | 90 | switch (type) |
| 59 | 91 | { |
| 60 | 92 | case 1: |
| 61 | - ::cookingTime = qMax(::cookingTime - 2 * 3600, (qint64) 0); | |
| 93 | + cookingTime = qMax(cookingTime - 2 * 3600, (qint64) 0); | |
| 62 | 94 | decountState(1); |
| 63 | 95 | break; |
| 64 | 96 | case 2: |
| 65 | - ::cookingTime = qMax(::cookingTime - 3 * 3600, (qint64) 0); | |
| 97 | + cookingTime = qMax(cookingTime - 3 * 3600, (qint64) 0); | |
| 66 | 98 | decountState(1); |
| 67 | 99 | break; |
| 68 | 100 | case 3: |
| 69 | - ::cookingTime = qMax(::cookingTime - 4 * 3600, (qint64) 0); | |
| 101 | + cookingTime = qMax(cookingTime - 4 * 3600, (qint64) 0); | |
| 70 | 102 | decountState(2); |
| 71 | 103 | break; |
| 72 | 104 | case 4: |
| 73 | - ::cookingTime = qMax(::cookingTime - 10 * 3600, (qint64) 0); | |
| 105 | + cookingTime = qMax(cookingTime - 10 * 3600, (qint64) 0); | |
| 74 | 106 | decountState(2); |
| 75 | 107 | break; |
| 76 | 108 | case 5: |
| 77 | - ::cookingTime = qMax(::cookingTime - 2 * 3600, (qint64) 0); | |
| 109 | + cookingTime = qMax(cookingTime - 2 * 3600, (qint64) 0); | |
| 78 | 110 | decountState(1); |
| 79 | 111 | break; |
| 80 | 112 | } |
| 113 | + ::setCookingTime(cookingTime); | |
| 81 | 114 | } |
| 82 | 115 | |
| 83 | 116 | int DirtyLevel::dirty() |
| 84 | 117 | { |
| 85 | - if (::cookingCount < 1) | |
| 118 | + if (::getCookingCount() < 1) | |
| 86 | 119 | return 0; |
| 87 | - if (::cookingTime < 1 * 3600) | |
| 120 | + | |
| 121 | + qint64 cookingTime = ::getCookingTime(); | |
| 122 | + if (cookingTime < 1 * 3600) | |
| 88 | 123 | return 1; |
| 89 | - if (::cookingTime < 3 * 3600) | |
| 124 | + if (cookingTime < 3 * 3600) | |
| 90 | 125 | return 2; |
| 91 | - if (::cookingTime < 5 * 3600) | |
| 126 | + if (cookingTime < 5 * 3600) | |
| 92 | 127 | return 3; |
| 93 | - if (::cookingTime < 7 * 3600) | |
| 128 | + if (cookingTime < 7 * 3600) | |
| 94 | 129 | return 4; |
| 95 | 130 | return 5; |
| 96 | 131 | } |
| 97 | 132 | |
| 98 | 133 | int DirtyLevel::state() |
| 99 | 134 | { |
| 100 | - if (::cookingCount < 1) | |
| 135 | + int cookingCount = ::getCookingCount(); | |
| 136 | + if (cookingCount < 1) | |
| 101 | 137 | return 0; |
| 102 | - if (::cookingCount <= 5) | |
| 138 | + if (cookingCount <= 5) | |
| 103 | 139 | return 1; |
| 104 | - if (::cookingCount <= 10) | |
| 140 | + if (cookingCount <= 10) | |
| 105 | 141 | return 2; |
| 106 | - if (::cookingCount <= 15) | |
| 142 | + if (cookingCount <= 15) | |
| 107 | 143 | return 3; |
| 108 | - if (::cookingCount <= 20) | |
| 144 | + if (cookingCount <= 20) | |
| 109 | 145 | return 4; |
| 110 | 146 | return 5; |
| 111 | 147 | } |
| 112 | 148 | |
| 113 | 149 | void DirtyLevel::setCookingTime(qint64 secs) |
| 114 | 150 | { |
| 115 | - ::cookingTime = secs; | |
| 151 | + ::setCookingTime(secs); | |
| 116 | 152 | } |
| 117 | 153 | |
| 118 | 154 | int DirtyLevel::cookingTime() |
| 119 | 155 | { |
| 120 | - return ::cookingTime; | |
| 156 | + return ::getCookingTime(); | |
| 121 | 157 | } |
| 122 | 158 | |
| 123 | 159 | int DirtyLevel::cookingCount() |
| 124 | 160 | { |
| 125 | - return ::cookingCount; | |
| 161 | + return ::getCookingCount(); | |
| 126 | 162 | } |
| 127 | 163 | |
| 128 | 164 | void DirtyLevel::setCookingCount(int count) |
| 129 | 165 | { |
| 130 | - ::cookingCount = count; | |
| 166 | + ::setCookingCount(count); | |
| 131 | 167 | } | ... | ... |