Commit 29a473b4ecacdfc1b80a267e757542c88b4d1300

Authored by 김태훈
1 parent d66410abd6
Exists in master and in 2 other branches fhd, fhd-demo

청결/관리 상태 기능 뼈대 추가

app/gui/oven_control/dirtylevel.cpp
@@ -6,6 +6,33 @@ namespace { @@ -6,6 +6,33 @@ namespace {
6 QDateTime cookStartTime; 6 QDateTime cookStartTime;
7 qint64 cookingTime; 7 qint64 cookingTime;
8 int cookingCount; 8 int cookingCount;
  9 +
  10 +void decountState(int level)
  11 +{
  12 + int current = DirtyLevel::state();
  13 + int target = qMax(current - level, 0);
  14 + switch (target)
  15 + {
  16 + case 0:
  17 + cookingCount = 0;
  18 + break;
  19 + case 1:
  20 + cookingCount = 1;
  21 + break;
  22 + case 2:
  23 + cookingCount = 6;
  24 + break;
  25 + case 3:
  26 + cookingCount = 11;
  27 + break;
  28 + case 4:
  29 + cookingCount = 16;
  30 + break;
  31 + case 5:
  32 + cookingCount = 21;
  33 + break;
  34 + }
  35 +}
9 } 36 }
10 37
11 38
@@ -20,6 +47,33 @@ void DirtyLevel::cookEnd() @@ -20,6 +47,33 @@ void DirtyLevel::cookEnd()
20 cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime()); 47 cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime());
21 } 48 }
22 49
  50 +void DirtyLevel::wash(int type)
  51 +{
  52 + switch (type)
  53 + {
  54 + case 1:
  55 + cookingTime = qMax(cookingTime - 2 * 3600, 0);
  56 + decountState(1);
  57 + break;
  58 + case 2:
  59 + cookingTime = qMax(cookingTime - 3 * 3600, 0);
  60 + decountState(1);
  61 + break;
  62 + case 3:
  63 + cookingTime = qMax(cookingTime - 4 * 3600, 0);
  64 + decountState(2);
  65 + break;
  66 + case 4:
  67 + cookingTime = qMax(cookingTime - 10 * 3600, 0);
  68 + decountState(2);
  69 + break;
  70 + case 5:
  71 + cookingTime = qMax(cookingTime - 2 * 3600, 0);
  72 + decountState(1);
  73 + break;
  74 + }
  75 +}
  76 +
23 int DirtyLevel::dirty() 77 int DirtyLevel::dirty()
24 { 78 {
25 if (cookingCount < 1) 79 if (cookingCount < 1)
@@ -39,13 +93,13 @@ int DirtyLevel::state() @@ -39,13 +93,13 @@ int DirtyLevel::state()
39 { 93 {
40 if (cookingCount < 1) 94 if (cookingCount < 1)
41 return 0; 95 return 0;
42 - if (cookingCount < 4) 96 + if (cookingCount <= 5)
43 return 1; 97 return 1;
44 - if (cookingCount < 7) 98 + if (cookingCount <= 10)
45 return 2; 99 return 2;
46 - if (cookingCount < 10) 100 + if (cookingCount <= 15)
47 return 3; 101 return 3;
48 - if (cookingCount < 13) 102 + if (cookingCount <= 20)
49 return 4; 103 return 4;
50 return 5; 104 return 5;
51 } 105 }
app/gui/oven_control/dirtylevel.h
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 namespace DirtyLevel { 5 namespace DirtyLevel {
6 void cookStart(); 6 void cookStart();
7 void cookEnd(); 7 void cookEnd();
  8 +void wash(int type);
8 9
9 int dirty(); 10 int dirty();
10 int state(); 11 int state();