Commit 1fe2b99730a943facd5b3769149f867587bb83f7
1 parent
7fa4fdb0e3
Exists in
master
and in
2 other branches
시스템 관리 기능 버그 수정
- 인포데이터 다운로드 버그 수정 - 서비스데이터 다운로드 버그 수정 - 기본 설정 다운로드 버그 수정 - 기본 설정 업로드 버그 수정
Showing
1 changed file
with
124 additions
and
10 deletions
Show diff stats
app/gui/oven_control/fileprocessdlg.cpp
1 | 1 | #include <QTimer> |
2 | +#include <unistd.h> | |
2 | 3 | #include "fileprocessdlg.h" |
3 | 4 | #include "ui_fileprocessdlg.h" |
4 | 5 | #include "fileprocessor.h" |
... | ... | @@ -7,10 +8,11 @@ |
7 | 8 | #include <QDebug> |
8 | 9 | |
9 | 10 | |
10 | -#define ERROR_LOG_FILE_TOP "/GasErrorHistoryTop.log" | |
11 | -#define ERROR_LOG_FILE_STEAM "/GasErrorHistorySteam.log" | |
12 | -#define ERROR_LOG_FILE_BOTTOM "/GasErrorHistoryBottom.log" | |
13 | -#define ERROR_LOG_FILE_TOTAL "/TotalError.log" | |
11 | +#define ERROR_LOG_FILE_TOP "/GasErrorHistoryTop.csv" | |
12 | +#define ERROR_LOG_FILE_STEAM "/GasErrorHistorySteam.csv" | |
13 | +#define ERROR_LOG_FILE_BOTTOM "/GasErrorHistoryBottom.csv" | |
14 | +#define ERROR_LOG_FILE_TOTAL "/TotalError.csv" | |
15 | +#define SERVICE_DATA_FILE "/ServiceData.csv" | |
14 | 16 | |
15 | 17 | FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : |
16 | 18 | QDialog(parent), |
... | ... | @@ -254,6 +256,7 @@ void FileProcessDlg::infodataDownload(){ |
254 | 256 | saveHistoryLineData(out, erridx,firecntbuf,firsttimebuf,lasttimebuf);erridx++; |
255 | 257 | file.close(); |
256 | 258 | } |
259 | + sync(); | |
257 | 260 | ui->ctrWjProcess->setValue(100); |
258 | 261 | ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); |
259 | 262 | QTimer::singleShot(1000,this,SLOT(close())); |
... | ... | @@ -261,8 +264,85 @@ void FileProcessDlg::infodataDownload(){ |
261 | 264 | } |
262 | 265 | |
263 | 266 | void FileProcessDlg::servicedataDownload(){ |
267 | + QString strUsbPath; | |
268 | + QString strHeader = "no,name,time\n"; | |
269 | + QString strFile; | |
270 | + QFile file; | |
271 | + error_item *item; | |
272 | + uint32_t timetemp, totaltime=0; | |
273 | + int i = 1; | |
274 | + OvenStatistics *ovs = OvenStatistics::getInstance(); | |
275 | + if(FileProcessor::detectUSB(strUsbPath)){ | |
276 | + strFile = strUsbPath + SERVICE_DATA_FILE; | |
277 | + file.setFileName(strFile); | |
278 | + if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)){ | |
279 | + QTextStream out(&file); | |
280 | + out.setCodec("UTF-8"); | |
281 | + out<< strHeader; | |
282 | + timetemp = ovs->srvdata->use_log.items.steam_heat/3600; | |
283 | + out << i++ << tr(",Steam Heating Time,") << timetemp << "h\n"; | |
284 | + timetemp = ovs->srvdata->use_log.items.dry_heat/3600; | |
285 | + out << i++ << tr(",Hot Air Heating Time,") << timetemp << "h\n"; | |
264 | 286 | |
287 | + i=1;out<< strHeader; | |
288 | + timetemp = ovs->srvdata->use_log.items.cook_dry_mode/3600; | |
289 | + totaltime+= ovs->srvdata->use_log.items.cook_dry_mode; | |
290 | + out << i++ << tr(",Hot Air Mode,") << timetemp << "h\n"; | |
291 | + timetemp = ovs->srvdata->use_log.items.cook_steam_mode/3600; | |
292 | + totaltime += ovs->srvdata->use_log.items.cook_steam_mode; | |
293 | + out << i++ << tr(",Steam Mode,") << timetemp << "h\n"; | |
294 | + timetemp = ovs->srvdata->use_log.items.cook_combi_mode/3600; | |
295 | + totaltime += ovs->srvdata->use_log.items.cook_combi_mode; | |
296 | + out << i++ << tr(",Combi Mode,") << timetemp << "h\n"; | |
297 | + timetemp = ovs->srvdata->use_log.items.wash_mode_nocleanser/3600; | |
298 | + totaltime += ovs->srvdata->use_log.items.wash_mode_nocleanser; | |
299 | + out << i++ << tr(",세제없이 헹굼,").toUtf8() << timetemp << "h\n"; | |
300 | + timetemp = ovs->srvdata->use_log.items.wash_mode_simple/3600; | |
301 | + totaltime += ovs->srvdata->use_log.items.wash_mode_simple; | |
302 | + out << i++ << tr(",간이세척,").toUtf8() << timetemp << "h\n"; | |
303 | + timetemp = ovs->srvdata->use_log.items.wash_mode_standard/3600; | |
304 | + totaltime += ovs->srvdata->use_log.items.wash_mode_standard; | |
305 | + out << i++ << tr(",표준세척,").toUtf8() << timetemp << "h\n"; | |
306 | + timetemp = ovs->srvdata->use_log.items.wash_mode_strong/3600; | |
307 | + totaltime += ovs->srvdata->use_log.items.wash_mode_strong; | |
308 | + out << i++ << tr(",강세척").toUtf8() << timetemp << "h\n"; | |
309 | + timetemp = ovs->srvdata->use_log.items.wash_mode_speed/3600; | |
310 | + totaltime +=ovs->srvdata->use_log.items.wash_mode_speed; | |
311 | + out << i++ << tr(",고속세척,").toUtf8() << timetemp << "h\n"; | |
312 | + timetemp = ovs->srvdata->use_log.items.cooldown_mode/3600; | |
313 | + totaltime += ovs->srvdata->use_log.items.cooldown_mode; | |
314 | + out << i++ << tr(",쿨다운,").toUtf8() << timetemp << "h\n"; | |
315 | + timetemp = totaltime/3600; | |
316 | + out << i++ << tr(",전체작동시간,").toUtf8() << timetemp << "h\n"; | |
265 | 317 | |
318 | + i=1;out<< strHeader; | |
319 | + timetemp = ovs->srvdata->use_log.items.door_open/60; | |
320 | + out << i++ << tr(",도어 Open,").toUtf8() << timetemp << "min\n"; | |
321 | + timetemp = ovs->srvdata->use_log.items.dv_open/60; | |
322 | + out << i++ << tr(",볼밸브 Open,").toUtf8() << timetemp << "min\n"; | |
323 | + timetemp = ovs->srvdata->use_log.items.ssv_open/60; | |
324 | + out << i++ << tr(",S/G 급수 솔레노이드,").toUtf8() << timetemp << "min\n"; | |
325 | + timetemp = ovs->srvdata->use_log.items.qnv_open/60; | |
326 | + out << i++ << tr(",퀀칭 솔레노이드,").toUtf8() << timetemp << "min\n"; | |
327 | + timetemp = ovs->srvdata->use_log.items.snv_open/60; | |
328 | + out << i++ << tr(",고내살수 노즐 솔레노이드 ,").toUtf8() << timetemp << "min\n"; | |
329 | + timetemp = 0; | |
330 | + out << i++ << tr(",호스릴 솔레노이드,").toUtf8() << timetemp << "min\n"; | |
331 | + timetemp = ovs->srvdata->use_log.items.ssp_open/60; | |
332 | + out << i++ << tr(",세제공급장치,").toUtf8() << timetemp << "min\n"; | |
333 | + timetemp = ovs->srvdata->use_log.items.hdm_open/60; | |
334 | + out << i++ << tr(",배습댐퍼,").toUtf8() << timetemp << "min\n"; | |
335 | + timetemp = ovs->srvdata->use_log.items.dp_open/60; | |
336 | + out << i++ << tr(",소형펌프모터,").toUtf8() << timetemp << "min\n"; | |
337 | + timetemp = ovs->srvdata->use_log.items.unp_open/60; | |
338 | + out << i++ << tr(",중형펌프모터,").toUtf8() << timetemp << "min\n"; | |
339 | + ui->ctrWjProcess->setValue(100); | |
340 | + ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); | |
341 | + file.close(); | |
342 | + sync(); | |
343 | + QTimer::singleShot(1000,this,SLOT(close())); | |
344 | + } | |
345 | + } | |
266 | 346 | } |
267 | 347 | |
268 | 348 | void FileProcessDlg::programDownload(){ |
... | ... | @@ -278,44 +358,78 @@ void FileProcessDlg::configDownload(){ |
278 | 358 | if(FileProcessor::detectUSB(strUsbPath)){ |
279 | 359 | strUsbPath.append("/config.ini"); |
280 | 360 | qDebug() << strUsbPath; |
361 | + QFile file; | |
362 | + file.setFileName(strUsbPath); | |
363 | + if(file.exists()) file.remove(); | |
281 | 364 | if(QFile::copy("/prime/config/config.ini", strUsbPath)){ |
365 | + sync(); | |
366 | + ui->ctrWjProcess->setValue(50); | |
367 | + ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 1초")); | |
368 | + } | |
369 | + else{ | |
370 | + ui->ctrLbRemainTime->setText(tr("설정 다운로드에 실패하였습니다.")); | |
371 | + QTimer::singleShot(1000,this,SLOT(close())); | |
372 | + return; | |
373 | + } | |
374 | + strUsbPath.replace("/config.ini","/favorite.ini"); | |
375 | + file.setFileName(strUsbPath); | |
376 | + if(file.exists()) file.remove(); | |
377 | + if(QFile::copy("/prime/config/favorite.ini", strUsbPath)){ | |
378 | + sync(); | |
282 | 379 | ui->ctrWjProcess->setValue(100); |
283 | 380 | ui->ctrLbRemainTime->setText("남은 예상 시간 : 0초"); |
284 | 381 | ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); |
285 | 382 | QTimer::singleShot(1000,this,SLOT(close())); |
286 | 383 | } |
287 | 384 | else{ |
288 | - ui->ctrLbRemainTime->setText(tr("다운로드에 실패하였습니다.")); | |
385 | + ui->ctrLbRemainTime->setText(tr("즐겨찾기 다운로드에 실패하였습니다.")); | |
289 | 386 | QTimer::singleShot(1000,this,SLOT(close())); |
290 | 387 | } |
291 | 388 | } |
292 | 389 | else{ |
293 | - ui->ctrLbRemainTime->setText(tr("다운로드에 실패하였습니다.")); | |
390 | + ui->ctrLbRemainTime->setText(tr("USB 인식을 실패하였습니다.")); | |
294 | 391 | QTimer::singleShot(1000,this,SLOT(close())); |
295 | 392 | } |
296 | 393 | } |
297 | 394 | |
298 | 395 | void FileProcessDlg::configUpload(){ |
299 | 396 | QString strUsbPath; |
397 | + Config *cfg = Config::getInstance(); | |
300 | 398 | if(FileProcessor::detectUSB(strUsbPath)){ |
301 | 399 | strUsbPath.append("/config.ini"); |
302 | 400 | qDebug() << strUsbPath; |
303 | 401 | QFile file("/prime/config/config.ini"); |
304 | 402 | file.remove(); |
305 | 403 | if(QFile::copy( strUsbPath , "/prime/config/config.ini")){ |
306 | - OvenStatistics* ovs = OvenStatistics::getInstance(); | |
307 | - ovs->srvdata->loadServiceData(); | |
404 | + sync(); | |
405 | + cfg->loadConfig(); | |
406 | + cfg->applyConfig(); | |
407 | + ui->ctrWjProcess->setValue(50); | |
408 | + ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 1초")); | |
409 | + } | |
410 | + else{ | |
411 | + ui->ctrLbRemainTime->setText(tr("설정 업로드에 실패하였습니다.")); | |
412 | + QTimer::singleShot(1000,this,SLOT(close())); | |
413 | + return; | |
414 | + } | |
415 | + QFile file2("/prime/config/favorite.ini"); | |
416 | + file2.remove(); | |
417 | + strUsbPath.replace("/config.ini", "/favorite.ini"); | |
418 | + qDebug() << strUsbPath; | |
419 | + if(QFile::copy( strUsbPath , "/prime/config/favorite.ini")){ | |
420 | + sync(); | |
421 | + cfg->loadFavorite(); | |
308 | 422 | ui->ctrWjProcess->setValue(100); |
309 | 423 | ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); |
310 | 424 | QTimer::singleShot(1000,this,SLOT(close())); |
311 | 425 | } |
312 | 426 | else{ |
313 | - ui->ctrLbRemainTime->setText(tr("업로드에 실패하였습니다.")); | |
427 | + ui->ctrLbRemainTime->setText(tr("즐겨찾기 업로드에 실패하였습니다.")); | |
314 | 428 | QTimer::singleShot(1000,this,SLOT(close())); |
315 | 429 | } |
316 | 430 | } |
317 | 431 | else{ |
318 | - ui->ctrLbRemainTime->setText(tr("업로드에 실패하였습니다.")); | |
432 | + ui->ctrLbRemainTime->setText(tr("USB 인식을 실패하였습니다.")); | |
319 | 433 | QTimer::singleShot(1000,this,SLOT(close())); |
320 | 434 | } |
321 | 435 | } | ... | ... |