Skip to content

Commit bd6706a

Browse files
#TDP - 5 Fixed bug
Fixed with count complete task Fixed info about work machine Add compution percent for time wait machine
1 parent 8917939 commit bd6706a

File tree

1 file changed

+41
-15
lines changed

1 file changed

+41
-15
lines changed

ModelingSystemInfiniteQueue/ModelingInfinityQeueForm.cpp

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,20 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::setTextForLa
3131
int middleTimeQueueForOneTask = 1;
3232

3333
if (completeTask != 0)
34-
{
3534
middleTimeWorkForOneTask = std::round(totalTimeExectuionTasksCurPC / completeTask);
36-
}
35+
3736
if(countQueue!=0)
3837
middleTimeQueueForOneTask = std::round(totalTimeQueueCurPC / countQueue);
3938

39+
double percentQueue = (int)(double)(((double)totalTimeWaitCurPC / (double)totalTimeExectuionTasksCurPC) * 100.0);
40+
4041
curLabel->Text = "Âðåìÿ íà âûïîëíåíèå âñåõ çàäà÷: " + (totalTimeExectuionTasksCurPC / 60).ToString() + " ÷. " + (totalTimeExectuionTasksCurPC % 60).ToString() + " ìèí.\n"
4142
+ "Êîëè÷åñòâî âûïîëíåííûõ çàäà÷: " + completeTask + "\n"
4243
+ "Êîëè÷åñòâî çàäà÷ îñòàâøèõñÿ â î÷åðåäè: " + countTaskInQueueAfterTask + "\n "
4344
+ " Ñðåäíåå âðåìÿ âûïîëíåíèÿ \n íà îäíó çàäà÷ó : " + (middleTimeWorkForOneTask / 60).ToString() + " ÷. " + (middleTimeWorkForOneTask % 60).ToString() + " ìèí. \n"
4445
//+ "Âñå âðåìÿ îæèäàíèÿ â î÷åðåäè: " + (totalTimeQueueCurPC / 60).ToString() + " ÷. " + (totalTimeQueueCurPC % 60).ToString() + " ìèí. \n"
4546
+ "Ñðåäíåå âðåìÿ â î÷åðåäè: " + (middleTimeQueueForOneTask / 60).ToString() + " ÷. " + (middleTimeQueueForOneTask % 60).ToString() + " ìèí. \n"
46-
+ "Âðåìÿ ïðîñòîÿ: " + (totalTimeWaitCurPC / 60).ToString() + " ÷. " + (totalTimeWaitCurPC % 60).ToString() + " ìèí. \n ---- \n";
47+
+ "Âðåìÿ ïðîñòîÿ: " + (totalTimeWaitCurPC / 60).ToString() + " ÷. " + (totalTimeWaitCurPC % 60).ToString() + " ìèí. " + percentQueue.ToString() + "%\n ---- \n";
4748
//" Ñðåäíåå êîëè÷åñòâî çàäà÷ ñêîïèâøèõñÿ\n â î÷åðåäè : " + maxCountTaskInQueueCurPC.ToString() + " çàäà÷ \n ---- \n";
4849

4950
if (totalTimeExectuionTasksCurPC == 0)
@@ -53,13 +54,37 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::setTextForLa
5354
if(totalTimeExectuionTasksCurPC == totalTimeWaitCurPC)
5455
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ ñðåäíÿÿ. \nÈñïîëüçóåòñÿ ëèøü íà ïîëîâèíó, \nñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ.";
5556
else
56-
if(maxTimeCurrentQueueCurPC > totalTimeExectuionTasksCurPC * 0.3)
57-
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ âûøå ñðåäíåãî. \nÄîëãîå âûïîëíåíèå, ðåêîìåíäóåòñÿ \nïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ.";
57+
{
58+
if (totalTimeWaitCurPC > totalTimeExectuionTasksCurPC * 0.3)
59+
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \nÑëèøêîì äîëãèé ïðîñòîé, \nñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ.";
5860
else
59-
if(totalTimeWaitCurPC > totalTimeExectuionTasksCurPC * 0.3)
60-
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \nÑëèøêîì äîëãèé ïðîñòîé, \nñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ.";
61-
else
61+
{
62+
if (middleTimeQueueForOneTask > totalTimeExectuionTasksCurPC * 0.05)
63+
{
64+
65+
if (middleTimeQueueForOneTask > totalTimeExectuionTasksCurPC * 0.2)
66+
{
67+
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \nÝÂÌ ïåðåãðóæåííà, ðåêîìåíäóåòñÿ \nïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ.";
68+
}
69+
else
70+
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ âûøå ñðåäíåãî. \nÄîëãîå âûïîëíåíèå, ðåêîìåíäóåòñÿ \nïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ.";
71+
}else
6272
curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íîðìàëüíàÿ. \nÈñïîëüçóåòñÿ â ïðåäåëàõ íîðìû.";
73+
}
74+
75+
if (countTaskInQueueAfterTask > completeTask *0.25)
76+
{
77+
if (countTaskInQueueAfterTask > completeTask * 0.5)
78+
if (countTaskInQueueAfterTask >= completeTask)
79+
curLabel->Text += " \nÎ÷åíü áîëüøîå êîëè÷åñòâî \nçàäà÷ â î÷åðåäè, ñëåäóåò âûïîëíèòü \nóâåëè÷åíèå ñêîðîñòè âûïîëíåíèÿ";
80+
else
81+
curLabel->Text += " \nÊîëè÷åñòâî \nçàäà÷ â î÷åðåäè îêîëî 50%, ñëåäóåò \nïîíèçèòü âðåìÿ âûïîëíåíèÿ";
82+
else
83+
curLabel->Text += " \n Êîëè÷åñòâî \nçàäà÷ â î÷åðåäè (25-50)% ðåêîìåíäóåòñÿ \nïîíèçèòü âðåìÿ âûïîëíåíèÿ";
84+
}
85+
else
86+
curLabel->Text += " \nÊîëè÷åòñâî çàäà÷ â î÷åðåäè ìåíåå 25%";
87+
}
6388
}
6489
curLabel->Text += "\n ---- \n";
6590
}
@@ -384,8 +409,8 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
384409
if(listTimeExecutionTasksFirstPC.size() == 0)
385410
totalTimeWaitFirstPC++;
386411

387-
checkWorkPC(listTimeExecutionTasksSecondPC, currentTimeExecutionSecondPC, totalTimeExectuionTasksSecondPC, countCompleteSecondPC, maxCountTaskInQueueSecondPC, totalTimeQueueSecondPC, totalTimeWaitSecondPC,timeCurrentQueueSecondPC,maxTimeQueueSecondPC,countCompleteSecondPC);
388-
checkWorkPC(listTimeExecutionTasksThirdPC, currentTimeExecutionThirdPC, totalTimeExectuionTasksThirdPC, countCompleteThirdPC, maxCountTaskInQueueThirdPC, totalTimeQueueThirdPC, totalTimeWaitThirdPC,timeCurrentQueueThridPC,maxTimeQueueThirdPC,countCompleteThirdPC);
412+
checkWorkPC(listTimeExecutionTasksSecondPC, currentTimeExecutionSecondPC, totalTimeExectuionTasksSecondPC, countCompleteSecondPC, maxCountTaskInQueueSecondPC, totalTimeQueueSecondPC, totalTimeWaitSecondPC,timeCurrentQueueSecondPC,maxTimeQueueSecondPC,countQueueSecondPC);
413+
checkWorkPC(listTimeExecutionTasksThirdPC, currentTimeExecutionThirdPC, totalTimeExectuionTasksThirdPC, countCompleteThirdPC, maxCountTaskInQueueThirdPC, totalTimeQueueThirdPC, totalTimeWaitThirdPC,timeCurrentQueueThridPC,maxTimeQueueThirdPC,countQueueThirdPC);
389414

390415
//logFile << " First PC : \n";
391416
//logFile << " totalTimeExectuionTasksFristPC = " << totalTimeExectuionTasksFristPC << " totalTimeWaitFirstPC = " << totalTimeWaitFirstPC << " currentTimeExecutionFirstPC =" << currentTimeExecutionFirstPC << "\n";
@@ -402,6 +427,7 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
402427
countTaskInQueueAfterGetAllTaskFirstPC = listTimeExecutionTasksFirstPC.size();
403428
countTaskInQueueAfterGetAllTaskSecondPC = listTimeExecutionTasksSecondPC.size();
404429
countTaskInQueueAfterGetAllTaskThirdPC = listTimeExecutionTasksThirdPC.size();
430+
break;
405431
}
406432

407433
totalTimeWork++;
@@ -442,18 +468,18 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
442468
lbl_total->Text += "\n Àáñîëþòíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü: " + (timeExecutionOneTaskFirstPC + timeExecutionOneTaskSecondPC + timeExecutionOneTaskThirdPC / 3) + "\n";
443469

444470
lbl_total->Text += "\n\n Êðàòêàÿ ñâîäêà îá ýôôåêòèâíîñòè:\n---\n";
445-
if (middleQueue > totalTimeWork * 0.4)
471+
if (middleQueue > totalTimeWork * 0.3)
446472
lbl_total->Text += "Ñðåäíåå âðåìÿ î÷åðåäè âûñîêîå,\n ðåêîìåíäóåòñÿ ñíèçèòü íàãðóçêó\n ñ íàãðóæåííîé ÝÂÌ è ïîâûñèòü íà ìåíåå\n íàãðóæåííóþ \n(ñì. ñâîäêà äëÿ òåêóùåé ÝÂÌ)\n---\n";
447473
else
448-
lbl_total->Text += "Ñðåäíåå âðåìÿ î÷åðåäè íèçêîå \n, ÝÂÌ ðàáîòàþò õîðîøî \n---\n";
474+
lbl_total->Text += "Ñðåäíåå âðåìÿ î÷åðåäè íå áîëüøîå \n, ÝÂÌ ðàáîòàþò õîðîøî \n---\n";
449475

450-
if (middleWait > totalTimeWork * 0.5)
476+
if (middleWait > totalTimeWork * 0.3)
451477
lbl_total->Text += "Ñðåäíåå âðåìÿ ïðîñòîÿ âûñîêîå, \nÝÂÌ ïðàêòè÷åñêè íå ðàáîòàþò\n---\n";
452478
else
453-
if(middleWait > totalTimeWork * 0.3)
479+
if(middleWait > totalTimeWork * 0.1)
454480
lbl_total->Text += "Ñðåäíåå âðåìÿ ïðîñòîÿ ñðåäíåå, \nÝÂÌ ÷àñòè÷íî ðàáîòàåò\n---\n";
455481
else
456-
lbl_total->Text += "Ñðåäíåå âðåìÿ ïðîñòîÿ íåáîëüøîå \n ÝÂÌ ðàáîòàþò â ñòàáèëüíîì ðåæèìå\n---\n";
482+
lbl_total->Text += "Ñðåäíåå âðåìÿ ïðîñòîÿ íèçêîå \n ÝÂÌ ðàáîòàþò â ñòàáèëüíîì ðåæèìå\n---\n";
457483

458484
//logFile.close();
459485
}

0 commit comments

Comments
 (0)