logic 추가
git-svn-id: svn://192.168.0.12/source@302 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -26,7 +26,8 @@ SOURCES += main.cpp\
|
|||||||
scompanyprocess.cpp \
|
scompanyprocess.cpp \
|
||||||
serrorprocess.cpp \
|
serrorprocess.cpp \
|
||||||
srunningprocess.cpp \
|
srunningprocess.cpp \
|
||||||
slogwidget.cpp
|
slogwidget.cpp \
|
||||||
|
seffectlogic.cpp
|
||||||
|
|
||||||
HEADERS += widget.h \
|
HEADERS += widget.h \
|
||||||
scompanylistwidget.h \
|
scompanylistwidget.h \
|
||||||
@@ -40,6 +41,7 @@ HEADERS += widget.h \
|
|||||||
scompanyprocess.h \
|
scompanyprocess.h \
|
||||||
serrorprocess.h \
|
serrorprocess.h \
|
||||||
srunningprocess.h \
|
srunningprocess.h \
|
||||||
slogwidget.h
|
slogwidget.h \
|
||||||
|
seffectlogic.h
|
||||||
|
|
||||||
FORMS += widget.ui
|
FORMS += widget.ui
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 3.3.0, 2016-10-19T19:14:14. -->
|
<!-- Written by QtCreator 3.3.0, 2016-10-21T19:00:52. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
@@ -24,11 +25,13 @@ SCompanyProcess::SCompanyProcess():SParentProcess(),
|
|||||||
|
|
||||||
void SCompanyProcess::setList(const QVector<int>& _list)
|
void SCompanyProcess::setList(const QVector<int>& _list)
|
||||||
{
|
{
|
||||||
|
clear();
|
||||||
m_vecRunList = _list;
|
m_vecRunList = _list;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SCompanyProcess::setList(QVector<int>&& _list)
|
void SCompanyProcess::setList(QVector<int>&& _list)
|
||||||
{
|
{
|
||||||
|
clear();
|
||||||
m_vecRunList = std::move(_list);
|
m_vecRunList = std::move(_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,6 +48,7 @@ void SCompanyProcess::setList(QVector<SEffectRow>&& _list)
|
|||||||
void SCompanyProcess::runInit()
|
void SCompanyProcess::runInit()
|
||||||
{
|
{
|
||||||
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_INIT);
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_INIT);
|
||||||
|
|
||||||
QSqlDatabase db = QSqlDatabase::database(strDatabaseName);
|
QSqlDatabase db = QSqlDatabase::database(strDatabaseName);
|
||||||
if (!db.open())
|
if (!db.open())
|
||||||
{
|
{
|
||||||
@@ -53,13 +57,14 @@ void SCompanyProcess::runInit()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString strQuery("select num, enddate from company where enddate in (");
|
QString strQuery("select num, enddate from company where num in (");
|
||||||
foreach (auto& num, m_vecRunList)
|
foreach (auto num, m_vecRunList)
|
||||||
{
|
{
|
||||||
strQuery += (QString::number(num) + ",");
|
strQuery += (QString::number(num) + ",");
|
||||||
}
|
}
|
||||||
strQuery = strQuery.left(strQuery.length() - 1);
|
strQuery = strQuery.left(strQuery.length() - 1);
|
||||||
strQuery += ")";
|
strQuery += ")";
|
||||||
|
signalLog(strQuery);
|
||||||
|
|
||||||
QSqlQuery query(db);
|
QSqlQuery query(db);
|
||||||
if (!query.exec(strQuery))
|
if (!query.exec(strQuery))
|
||||||
@@ -68,12 +73,10 @@ void SCompanyProcess::runInit()
|
|||||||
emit signalTerminateError(getError());
|
emit signalTerminateError(getError());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (query.next())
|
while (query.next())
|
||||||
{
|
{
|
||||||
QDate enddate = QDate::fromString(query.value(1).toString(), "yyyy-MM-dd");
|
QDate enddate = QDate::fromString(query.value(1).toString(), "yyyy-MM-dd");
|
||||||
QDate today = QDate::currentDate();
|
QDate today = QDate::currentDate();
|
||||||
|
|
||||||
if (today <= enddate.addMonths(1))
|
if (today <= enddate.addMonths(1))
|
||||||
{
|
{
|
||||||
m_vecRunOrderList.push_back(query.value(0).toInt());
|
m_vecRunOrderList.push_back(query.value(0).toInt());
|
||||||
@@ -133,9 +136,9 @@ void SCompanyProcess::runInit()
|
|||||||
|
|
||||||
void SCompanyProcess::initIterator()
|
void SCompanyProcess::initIterator()
|
||||||
{
|
{
|
||||||
m_iterRunOrderList = m_vecRunList.begin();
|
m_iterRunOrderList = m_vecRunOrderList.begin();
|
||||||
|
|
||||||
while (m_iterRunOrderList != m_vecRunList.end())
|
while (m_iterRunOrderList != m_vecRunOrderList.end())
|
||||||
{
|
{
|
||||||
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
||||||
{
|
{
|
||||||
@@ -155,17 +158,19 @@ void SCompanyProcess::nextIterator()
|
|||||||
if (m_iterEffectRow == m_mapEffectRow[*m_iterRunOrderList].end())
|
if (m_iterEffectRow == m_mapEffectRow[*m_iterRunOrderList].end())
|
||||||
{
|
{
|
||||||
m_bDoneCompany = true;
|
m_bDoneCompany = true;
|
||||||
while (m_iterRunOrderList != m_vecRunList.end())
|
while (++m_iterRunOrderList != m_vecRunOrderList.end())
|
||||||
{
|
{
|
||||||
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
if (m_mapEffectRow.contains(*m_iterRunOrderList))
|
||||||
{
|
{
|
||||||
m_iterEffectRow = m_mapEffectRow[*m_iterRunOrderList].begin();
|
m_iterEffectRow = m_mapEffectRow[*m_iterRunOrderList].begin();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
++m_iterRunOrderList;
|
++m_iterRunOrderList;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -174,7 +179,7 @@ void SCompanyProcess::nextIterator()
|
|||||||
|
|
||||||
bool SCompanyProcess::isDone()
|
bool SCompanyProcess::isDone()
|
||||||
{
|
{
|
||||||
return m_iterRunOrderList == m_vecRunList.end();
|
return m_iterRunOrderList == m_vecRunOrderList.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SCompanyProcess::runEventCode()
|
void SCompanyProcess::runEventCode()
|
||||||
@@ -189,6 +194,7 @@ void SCompanyProcess::runEventCode()
|
|||||||
|
|
||||||
if (isDone())
|
if (isDone())
|
||||||
{
|
{
|
||||||
|
qDebug() << "Done";
|
||||||
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_TERMINATE);
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_TERMINATE);
|
||||||
emit signalTerminateNormal();
|
emit signalTerminateNormal();
|
||||||
return;
|
return;
|
||||||
@@ -198,6 +204,8 @@ void SCompanyProcess::runEventCode()
|
|||||||
setCurrentEffectRow(row);
|
setCurrentEffectRow(row);
|
||||||
nextIterator();
|
nextIterator();
|
||||||
|
|
||||||
|
emit signalCompanyStart(row.company_num);
|
||||||
|
|
||||||
runProcess(getProcessArguments(row));
|
runProcess(getProcessArguments(row));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void signalTerminateCompany(int _company_num);
|
void signalTerminateCompany(int _company_num);
|
||||||
|
void signalCompanyStart(int _company_num);
|
||||||
|
void signalCompanyOutdated(const QVector<int>& _vecCompanyNum);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initIterator();
|
void initIterator();
|
||||||
|
|||||||
@@ -19,17 +19,21 @@ void SErrorProcess::setList(QVector<int>&& _list)
|
|||||||
|
|
||||||
void SErrorProcess::setList(const QVector<SEffectRow>& _list)
|
void SErrorProcess::setList(const QVector<SEffectRow>& _list)
|
||||||
{
|
{
|
||||||
|
clear();
|
||||||
m_vecRunList = _list;
|
m_vecRunList = _list;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SErrorProcess::setList(QVector<SEffectRow>&& _list)
|
void SErrorProcess::setList(QVector<SEffectRow>&& _list)
|
||||||
{
|
{
|
||||||
|
clear();
|
||||||
m_vecRunList = std::move(_list);
|
m_vecRunList = std::move(_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SErrorProcess::runInit()
|
void SErrorProcess::runInit()
|
||||||
{
|
{
|
||||||
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_INIT);
|
||||||
initIterator();
|
initIterator();
|
||||||
|
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SErrorProcess::runEventCode()
|
void SErrorProcess::runEventCode()
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ SLogWidget::SLogWidget(QWidget *parent):QWidget(parent),
|
|||||||
{
|
{
|
||||||
m_pLayout->addWidget(m_plwLog);
|
m_pLayout->addWidget(m_plwLog);
|
||||||
setLayout(m_pLayout);
|
setLayout(m_pLayout);
|
||||||
|
//m_plwLog->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#include "sutilfunction.h"
|
#include "sutilfunction.h"
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
extern QString ERROR_MESSAGE[];
|
extern QString ERROR_MESSAGE[];
|
||||||
|
|
||||||
@@ -15,8 +16,8 @@ const QString SPLIT_KEYWORD = "!@#";
|
|||||||
SParentProcess::SParentProcess():m_pProcess(new QProcess(this)), m_bRunning(false), nTime(0),
|
SParentProcess::SParentProcess():m_pProcess(new QProcess(this)), m_bRunning(false), nTime(0),
|
||||||
m_bUserAbort(false), m_eInnerMode(E_INNER_RUN_MODE::MODE_WAIT)
|
m_bUserAbort(false), m_eInnerMode(E_INNER_RUN_MODE::MODE_WAIT)
|
||||||
{
|
{
|
||||||
QObject::connect(m_pProcess, SIGNAL(QProcess::finished(int, QProcess::ExitStatus)),
|
QObject::connect(m_pProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
|
||||||
this, SLOT(SParentProcess::finishedProcess(int, QProcess::ExitStatus)));
|
this, SLOT(finishedProcess(int, QProcess::ExitStatus)));
|
||||||
QObject::connect(this, &SParentProcess::signalTerminateError,
|
QObject::connect(this, &SParentProcess::signalTerminateError,
|
||||||
this, &SParentProcess::slotTerminateError);
|
this, &SParentProcess::slotTerminateError);
|
||||||
}
|
}
|
||||||
@@ -44,7 +45,7 @@ QVector<SEffectRow> SParentProcess::getErrorList() const
|
|||||||
|
|
||||||
SReportSummary SParentProcess::getReportSummary(int _id) const
|
SReportSummary SParentProcess::getReportSummary(int _id) const
|
||||||
{
|
{
|
||||||
return m_mapReportSummary[_id];
|
return m_mapReportSummary.value(_id, SReportSummary());
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<int, SReportSummary> SParentProcess::getReportSummary() const
|
QMap<int, SReportSummary> SParentProcess::getReportSummary() const
|
||||||
@@ -78,14 +79,22 @@ QStringList SParentProcess::getProcessArguments(SEffectRow&& _row) const
|
|||||||
return QStringList();
|
return QStringList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SParentProcess::runProcess(QStringList _arguments)
|
void SParentProcess::runProcess(QStringList _arguments)
|
||||||
{
|
{
|
||||||
|
if (_arguments.size() > 0)
|
||||||
|
{
|
||||||
QString arg = _arguments.at(0);
|
QString arg = _arguments.at(0);
|
||||||
_arguments.removeFirst();
|
_arguments.removeFirst();
|
||||||
|
|
||||||
m_pProcess->start(arg, _arguments);
|
m_pProcess->start(arg, _arguments);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
emit signalLog("x " + m_erCurrentRow.eventcode + " " + m_erCurrentRow.url + "\nERROR:NO_PROGRAM");
|
||||||
|
emit signalTerminateEachEvent(m_erCurrentRow.company_num, E_CRAWL_STATE::FAIL);
|
||||||
|
m_vecError.append(m_erCurrentRow);
|
||||||
|
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SParentProcess::setError(const SError& _error)
|
void SParentProcess::setError(const SError& _error)
|
||||||
@@ -110,7 +119,6 @@ void SParentProcess::update()
|
|||||||
|
|
||||||
case E_INNER_RUN_MODE::MODE_WAIT:
|
case E_INNER_RUN_MODE::MODE_WAIT:
|
||||||
{
|
{
|
||||||
clear();
|
|
||||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_INIT);
|
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_INIT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -190,6 +198,7 @@ void SParentProcess::finishedProcess(int exitCode, QProcess::ExitStatus exitStat
|
|||||||
emit signalLog(strLog);
|
emit signalLog(strLog);
|
||||||
emit signalTerminateEachEvent(analyzedResult.company_num, analyzedResult.state);
|
emit signalTerminateEachEvent(analyzedResult.company_num, analyzedResult.state);
|
||||||
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
setInnerMode(E_INNER_RUN_MODE::MODE_RUN_EVENTCODE);
|
||||||
|
|
||||||
//This may be unnecessary :(
|
//This may be unnecessary :(
|
||||||
//pPro->kill();
|
//pPro->kill();
|
||||||
}
|
}
|
||||||
@@ -354,5 +363,6 @@ void SParentProcess::setCurrentEffectRow(const SEffectRow& _row)
|
|||||||
|
|
||||||
void SParentProcess::setCurrentEffectRow(SEffectRow&& _row)
|
void SParentProcess::setCurrentEffectRow(SEffectRow&& _row)
|
||||||
{
|
{
|
||||||
|
m_erCurrentRow = _row;
|
||||||
m_erCurrentRow = std::move(_row);
|
m_erCurrentRow = std::move(_row);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -288,9 +288,12 @@ void SRunningListWidget::setWaiting(int _id)
|
|||||||
|
|
||||||
void SRunningListWidget::setComplete(int _id)
|
void SRunningListWidget::setComplete(int _id)
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::LAST_UPDATE_TIME);
|
if (QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::LAST_UPDATE_TIME))
|
||||||
if (item)
|
|
||||||
item->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
item->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||||
|
|
||||||
|
if (QTableWidgetItem* item = findWidgetItembyID(_id, E_TABLE_HEADER::STATUS))
|
||||||
|
item->setText("Complete");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SRunningListWidget::setOutDate(int _id)
|
void SRunningListWidget::setOutDate(int _id)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#include "srunningprocess.h"
|
#include "srunningprocess.h"
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
namespace{
|
namespace{
|
||||||
const int ONE_SECOND = 1000; // 1 second
|
const int ONE_SECOND = 1000; // 1 second
|
||||||
const int HALF_SECOND = 500; // 0.5 second
|
const int HALF_SECOND = 500; // 0.5 second
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SRunningProcess::SRunningProcess():
|
SRunningProcess::SRunningProcess():
|
||||||
m_pTimer(new QTimer(this)), m_pErrorProcess(new SErrorProcess),
|
m_pTimer(new QTimer(this)), m_pErrorProcess(new SErrorProcess),
|
||||||
m_pCompanyProcess(new SCompanyProcess), m_eMode(E_PROCESS_MODE::WAIT),
|
m_pCompanyProcess(new SCompanyProcess), m_eMode(E_PROCESS_MODE::WAIT),
|
||||||
@@ -19,13 +19,15 @@ SRunningProcess::SRunningProcess():
|
|||||||
bool SRunningProcess::isRunning()
|
bool SRunningProcess::isRunning()
|
||||||
{
|
{
|
||||||
if (m_pCurrentProcess == nullptr && !m_pTimer->isActive())
|
if (m_pCurrentProcess == nullptr && !m_pTimer->isActive())
|
||||||
return true;
|
return false;
|
||||||
else
|
else
|
||||||
return m_pCurrentProcess->isWaiting() && !m_pTimer->isActive();
|
return !(m_pCurrentProcess->isWaiting() && !m_pTimer->isActive());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SRunningProcess::setList(const QVector<SEffectRow>& _list)
|
void SRunningProcess::setList(const QVector<SEffectRow>& _list)
|
||||||
{
|
{
|
||||||
|
qDebug() << isRunning();
|
||||||
|
|
||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
m_pCurrentProcess = m_pErrorProcess;
|
m_pCurrentProcess = m_pErrorProcess;
|
||||||
@@ -35,6 +37,8 @@ void SRunningProcess::setList(const QVector<SEffectRow>& _list)
|
|||||||
|
|
||||||
void SRunningProcess::setList(QVector<SEffectRow>&& _list)
|
void SRunningProcess::setList(QVector<SEffectRow>&& _list)
|
||||||
{
|
{
|
||||||
|
qDebug() << isRunning();
|
||||||
|
|
||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
m_pCurrentProcess = m_pErrorProcess;
|
m_pCurrentProcess = m_pErrorProcess;
|
||||||
@@ -44,6 +48,7 @@ void SRunningProcess::setList(QVector<SEffectRow>&& _list)
|
|||||||
|
|
||||||
void SRunningProcess::setList(const QVector<int>& _list)
|
void SRunningProcess::setList(const QVector<int>& _list)
|
||||||
{
|
{
|
||||||
|
qDebug() << isRunning();
|
||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
m_pCurrentProcess = m_pCompanyProcess;
|
m_pCurrentProcess = m_pCompanyProcess;
|
||||||
@@ -53,6 +58,7 @@ void SRunningProcess::setList(const QVector<int>& _list)
|
|||||||
|
|
||||||
void SRunningProcess::setList(QVector<int>&& _list)
|
void SRunningProcess::setList(QVector<int>&& _list)
|
||||||
{
|
{
|
||||||
|
qDebug() << isRunning();
|
||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
m_pCurrentProcess = m_pCompanyProcess;
|
m_pCurrentProcess = m_pCompanyProcess;
|
||||||
@@ -110,6 +116,7 @@ void SRunningProcess::stop()
|
|||||||
|
|
||||||
void SRunningProcess::slotCompanyComplete(int _num)
|
void SRunningProcess::slotCompanyComplete(int _num)
|
||||||
{
|
{
|
||||||
|
qDebug() << "slotCompanyComplete";
|
||||||
SReportSummary summary = m_pCurrentProcess->getReportSummary(_num);
|
SReportSummary summary = m_pCurrentProcess->getReportSummary(_num);
|
||||||
emit signalCompanyComplete(_num, summary);
|
emit signalCompanyComplete(_num, summary);
|
||||||
}
|
}
|
||||||
@@ -122,15 +129,16 @@ void SRunningProcess::slotSuccessErrorCompany(int _num)
|
|||||||
void SRunningProcess::slotTerminateError()
|
void SRunningProcess::slotTerminateError()
|
||||||
{
|
{
|
||||||
terminate();
|
terminate();
|
||||||
SError error = m_pCurrentProcess->getError();
|
//SError error = m_pCurrentProcess->getError();
|
||||||
emit signalTerminateError(error);
|
emit signalTerminateError();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SRunningProcess::slotTerminateNormal()
|
void SRunningProcess::slotTerminateNormal()
|
||||||
{
|
{
|
||||||
terminate();
|
qDebug() << "slotTerminteNormal ??";
|
||||||
QVector<SEffectRow> errors = m_pCurrentProcess->getErrorList();
|
QVector<SEffectRow> errors = m_pCurrentProcess->getErrorList();
|
||||||
QMap<int, SReportSummary> reportSummary = m_pCurrentProcess->getReportSummary();
|
QMap<int, SReportSummary> reportSummary = m_pCurrentProcess->getReportSummary();
|
||||||
|
terminate();
|
||||||
emit signalTerminateNormal(errors, reportSummary);
|
emit signalTerminateNormal(errors, reportSummary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,5 +157,21 @@ void SRunningProcess::initConnect()
|
|||||||
|
|
||||||
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalTerminateCompany, this, &SRunningProcess::slotCompanyComplete);
|
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalTerminateCompany, this, &SRunningProcess::slotCompanyComplete);
|
||||||
QObject::connect(&(*m_pErrorProcess), &SErrorProcess::signalTerminateCompany, this, &SRunningProcess::slotSuccessErrorCompany);
|
QObject::connect(&(*m_pErrorProcess), &SErrorProcess::signalTerminateCompany, this, &SRunningProcess::slotSuccessErrorCompany);
|
||||||
|
|
||||||
|
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalUserAbort, this, &SRunningProcess::slotUserAbort);
|
||||||
|
QObject::connect(&(*m_pErrorProcess), &SErrorProcess::signalUserAbort, this, &SRunningProcess::slotUserAbort);
|
||||||
|
|
||||||
|
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalCompanyStart, this, &SRunningProcess::slotCompanyStart);
|
||||||
|
QObject::connect(&(*m_pCompanyProcess), &SCompanyProcess::signalCompanyOutdated, this, &SRunningProcess::slotCompanyOutDated);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SRunningProcess::slotCompanyOutDated(const QVector<int>& _vecCompanyNum)
|
||||||
|
{
|
||||||
|
emit signalCompanyOutDated(_vecCompanyNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SRunningProcess::slotCompanyStart(int _companyNum)
|
||||||
|
{
|
||||||
|
emit signalCompanyStart(_companyNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ private slots:
|
|||||||
void slotSuccessErrorCompany(int _num);
|
void slotSuccessErrorCompany(int _num);
|
||||||
void slotTerminateError();
|
void slotTerminateError();
|
||||||
void slotTerminateNormal();
|
void slotTerminateNormal();
|
||||||
|
void slotCompanyOutDated(const QVector<int>& _vecCompanyNum);
|
||||||
|
void slotCompanyStart(int _companyNum);
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@@ -51,9 +53,11 @@ signals:
|
|||||||
void signalUserAbort();
|
void signalUserAbort();
|
||||||
void signalTerminateNormal(const QVector<SEffectRow>& _error,
|
void signalTerminateNormal(const QVector<SEffectRow>& _error,
|
||||||
const QMap<int, SReportSummary>& _report);
|
const QMap<int, SReportSummary>& _report);
|
||||||
void signalTerminateError(const SError& _error);
|
void signalTerminateError();
|
||||||
void signalCompanyComplete(int _num, const SReportSummary& summary);
|
void signalCompanyComplete(int _num, const SReportSummary& summary);
|
||||||
void signalSuccessErrorCompany(int _num);
|
void signalSuccessErrorCompany(int _num);
|
||||||
|
void signalCompanyOutDated(const QVector<int>& _vecCompanyNum);
|
||||||
|
void signalCompanyStart(int _companyNum);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<QTimer> m_pTimer;
|
std::unique_ptr<QTimer> m_pTimer;
|
||||||
|
|||||||
@@ -225,7 +225,8 @@ void SRunProcess::runInitCompany()
|
|||||||
if (!query.exec(strQuery))
|
if (!query.exec(strQuery))
|
||||||
{
|
{
|
||||||
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
||||||
processError(std::move(err));
|
//processError(std::move(err));
|
||||||
|
processError(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +257,8 @@ void SRunProcess::runInitCompany()
|
|||||||
if (!query.exec(strQuery))
|
if (!query.exec(strQuery))
|
||||||
{
|
{
|
||||||
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
SError err(E_ERROR_CODE::DB_QUERY_ERROR, query.lastQuery() + "\n" + query.lastError().text());
|
||||||
processError(std::move(err));
|
//processError(std::move(err));
|
||||||
|
processError(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,42 +4,64 @@
|
|||||||
#include "srunninglistwidget.h"
|
#include "srunninglistwidget.h"
|
||||||
#include "sadddelwidget.h"
|
#include "sadddelwidget.h"
|
||||||
#include "slogwidget.h"
|
#include "slogwidget.h"
|
||||||
|
#include "stimer.h"
|
||||||
|
#include "seffectlogic.h"
|
||||||
|
#include "srunningprocess.h"
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
|
||||||
Widget::Widget(QWidget *parent) :
|
SCompanyListWidget *m_pCompanyWidget;
|
||||||
QWidget(parent),
|
SRunningListWidget *m_pRunningListWidget;
|
||||||
|
SAddDelWidget *m_pAddDelWidget;
|
||||||
|
SLogWidget *m_pLogWidget;
|
||||||
|
STimer *m_pTimer;
|
||||||
|
SEffectLogic *m_pLogic;
|
||||||
|
|
||||||
|
Widget::Widget(QWidget *parent) : m_pCompanyWidget(new SCompanyListWidget),
|
||||||
|
m_pRunningListWidget(new SRunningListWidget), m_pAddDelWidget(new SAddDelWidget),
|
||||||
|
m_pLogWidget(new SLogWidget), m_pTimer(new STimer), m_pLogic(new SEffectLogic),
|
||||||
|
m_pProcess(new SRunningProcess),
|
||||||
ui(new Ui::Widget)
|
ui(new Ui::Widget)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
SCompanyListWidget *c = new SCompanyListWidget;
|
|
||||||
SRunningListWidget *d = new SRunningListWidget;
|
|
||||||
SAddDelWidget *e = new SAddDelWidget;
|
|
||||||
SLogWidget *f = new SLogWidget;
|
|
||||||
QHBoxLayout* mainLayout = new QHBoxLayout(this);
|
|
||||||
|
|
||||||
mainLayout->addWidget(c);
|
QHBoxLayout* mainLayout = new QHBoxLayout();
|
||||||
mainLayout->addWidget(e);
|
QVBoxLayout* vmainLayout = new QVBoxLayout(this);
|
||||||
|
|
||||||
mainLayout->addWidget(d);
|
mainLayout->addWidget(m_pCompanyWidget);
|
||||||
mainLayout->addWidget(f);
|
mainLayout->addWidget(m_pAddDelWidget);
|
||||||
|
mainLayout->addWidget(m_pRunningListWidget);
|
||||||
|
vmainLayout->addLayout(mainLayout);
|
||||||
|
vmainLayout->addWidget(m_pLogWidget);
|
||||||
|
|
||||||
connect(e, &SAddDelWidget::signalClickedAddBtn, [&c, &d](){
|
connect(m_pAddDelWidget, &SAddDelWidget::signalClickedAddBtn, this, &Widget::slotClickAdd);
|
||||||
d->addList(c->getSelectedList());
|
connect(m_pAddDelWidget, &SAddDelWidget::signalClickedDelBtn, this, &Widget::slotClickDel);
|
||||||
});
|
|
||||||
|
|
||||||
connect(e, &SAddDelWidget::signalClickedDelBtn, [&c, &d](){
|
m_pLogic->setSAddDelWidget(m_pAddDelWidget);
|
||||||
d->removeSelectedList();
|
m_pLogic->setSLogWidget(m_pLogWidget);
|
||||||
});
|
m_pLogic->setSTimer(m_pTimer);
|
||||||
|
m_pLogic->setSRunningProcess(m_pProcess);
|
||||||
|
m_pLogic->setSRunningWidget(m_pRunningListWidget);
|
||||||
|
|
||||||
setLayout(mainLayout);
|
m_pLogic->initConnect();
|
||||||
|
|
||||||
|
setLayout(vmainLayout);
|
||||||
setWindowTitle("EffectUI " + QString::number(QCoreApplication::applicationPid()));
|
setWindowTitle("EffectUI " + QString::number(QCoreApplication::applicationPid()));
|
||||||
|
|
||||||
show();
|
show();
|
||||||
|
|
||||||
c->refresh();
|
m_pCompanyWidget->refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget::~Widget()
|
Widget::~Widget()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
void Widget::slotClickAdd()
|
||||||
|
{
|
||||||
|
m_pRunningListWidget->addList(m_pCompanyWidget->getSelectedList());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::slotClickDel()
|
||||||
|
{
|
||||||
|
m_pRunningListWidget->removeSelectedList();
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,6 +4,14 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
class SCompanyListWidget;
|
||||||
|
class SRunningListWidget;
|
||||||
|
class SAddDelWidget;
|
||||||
|
class STimer;
|
||||||
|
class SLogWidget;
|
||||||
|
class SEffectLogic;
|
||||||
|
class SRunningProcess;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class Widget;
|
class Widget;
|
||||||
}
|
}
|
||||||
@@ -16,11 +24,20 @@ public:
|
|||||||
explicit Widget(QWidget *parent = 0);
|
explicit Widget(QWidget *parent = 0);
|
||||||
~Widget();
|
~Widget();
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
void slotClickAdd();
|
||||||
|
void slotClickDel();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<Ui::Widget> ui;
|
std::unique_ptr<Ui::Widget> ui;
|
||||||
|
SCompanyListWidget *m_pCompanyWidget;
|
||||||
|
SRunningListWidget *m_pRunningListWidget;
|
||||||
|
SAddDelWidget *m_pAddDelWidget;
|
||||||
|
SLogWidget *m_pLogWidget;
|
||||||
|
STimer *m_pTimer;
|
||||||
|
SEffectLogic *m_pLogic;
|
||||||
|
SRunningProcess* m_pProcess;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // WIDGET_H
|
#endif // WIDGET_H
|
||||||
|
|||||||
Reference in New Issue
Block a user