first commit
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
#include "MainInstruction.h"
|
||||
#include "ui_MainInstruction.h"
|
||||
#include <QMessageBox>
|
||||
#include <QDebug>
|
||||
|
||||
MainInstruction::MainInstruction(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::MainInstruction)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_graphicsEditor = new ZkEdit();
|
||||
|
||||
// 连接几个特殊按钮,这些按钮将由外部处理
|
||||
connect(ui->closeBtn, &QPushButton::clicked, this, std::bind(&MainInstruction::onSpecialButtonClicked, this, 1));
|
||||
connect(ui->sysMgtBtn, &QPushButton::clicked, this, std::bind(&MainInstruction::onSpecialButtonClicked, this, 2));
|
||||
connect(ui->sysSetBtn, &QPushButton::clicked, this, std::bind(&MainInstruction::onSpecialButtonClicked, this, 3));
|
||||
connect(ui->otherSetBtn, &QPushButton::clicked, this, std::bind(&MainInstruction::onSpecialButtonClicked, this, 4));
|
||||
connect(ui->sysUpdateBtn,&QPushButton::clicked, this, std::bind(&MainInstruction::onSpecialButtonClicked, this, 5));
|
||||
// 其他信号槽连接在ui文件中
|
||||
|
||||
dlgInputAddr = new DlgInputAddr(parent);
|
||||
dialogAuthorization = new DialogAuthorization(parent);
|
||||
|
||||
dlgInputAddr->GetAddr();
|
||||
dlgInputAddr->vpnConnect();
|
||||
dlgInputAddr->hide();
|
||||
|
||||
dialogMaintenanceTimeSettingAuth = new DialogAuthorization;
|
||||
connect(dialogMaintenanceTimeSettingAuth,SIGNAL(accepted()),this,SLOT(onDlgAuthMaintenanceTimeAccepted()));
|
||||
|
||||
connect(dialogAuthorization,SIGNAL(accepted()),this,SLOT(ondialogAuthorizationAccepted()));
|
||||
|
||||
MTimeSetting = new DialogMaintenanceTimeSetting(this);
|
||||
connect(MTimeSetting,SIGNAL(accepted()),this,SLOT(onMTimeSettingAccepted()));
|
||||
|
||||
|
||||
// setStyleSheet(styleSheet);
|
||||
}
|
||||
|
||||
MainInstruction::~MainInstruction()
|
||||
{
|
||||
delete ui;
|
||||
delete m_graphicsEditor;
|
||||
}
|
||||
|
||||
void MainInstruction::bindSysPara(SysPara *sysPara){
|
||||
this->sysPara = sysPara;
|
||||
}
|
||||
|
||||
void MainInstruction::onGraphicsEditBtnClicked()
|
||||
{
|
||||
// 在arm主机上以全屏模式显示,而在x86上无所谓
|
||||
#if defined(ARCH_AARCH64_GNU)
|
||||
m_graphicsEditor->showFullScreen();
|
||||
#else
|
||||
m_graphicsEditor->show();
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainInstruction::onSpecialButtonClicked(int btnID)
|
||||
{
|
||||
emit sendButtonClickedSignal(btnID);
|
||||
}
|
||||
|
||||
void MainInstruction::on_createNewFileBtn_clicked()
|
||||
{
|
||||
emit newFileBtnClick();
|
||||
}
|
||||
|
||||
void MainInstruction::on_maintenanceIntervalBtn_clicked()
|
||||
{
|
||||
// dialogMaintenanceTimeSettingAuth->clearAuth();
|
||||
// dialogMaintenanceTimeSettingAuth->show();
|
||||
|
||||
onDlgAuthMaintenanceTimeAccepted();
|
||||
}
|
||||
|
||||
|
||||
void MainInstruction::onDlgAuthMaintenanceTimeAccepted(){
|
||||
// QString authString= dialogMaintenanceTimeSettingAuth->getAuth();
|
||||
// if(dlgInputAddr->checWhJmDate(authString)) // 0xa001
|
||||
// {
|
||||
QDate curDate = QDate::currentDate();
|
||||
QString mtEndDatestr = "20" + QString::number(sysPara->RFIDPara.maintenanceEndDate);
|
||||
QDate mtEndDate = QDate::fromString(mtEndDatestr,"yyyyMMdd");
|
||||
int timeoutDay = curDate.daysTo(mtEndDate);
|
||||
MTimeSetting->updateMaintenanceTime(QString("%1 Days").arg(timeoutDay));
|
||||
MTimeSetting->updateMaintenanceIntervalToUI(sysPara->RFIDPara.maintenanceInterval);
|
||||
MTimeSetting->disableMaintenanceTimeSet(false);
|
||||
MTimeSetting->show();
|
||||
// }else
|
||||
// {
|
||||
// QMessageBox::about(this, tr("提示"), tr("密码不正确!"));
|
||||
// return;
|
||||
// }
|
||||
}
|
||||
|
||||
void MainInstruction::maintenanceDialogShow(){
|
||||
QDate curDate = QDate::currentDate();
|
||||
QString mtEndDatestr = "20" + QString::number(sysPara->RFIDPara.maintenanceEndDate);
|
||||
QDate mtEndDate = QDate::fromString(mtEndDatestr,"yyyyMMdd");
|
||||
int timeoutDay = curDate.daysTo(mtEndDate);
|
||||
MTimeSetting->updateMaintenanceTime(QString("%1 Days").arg(timeoutDay));
|
||||
MTimeSetting->updateMaintenanceIntervalToUI(sysPara->RFIDPara.maintenanceInterval);
|
||||
MTimeSetting->disableMaintenanceTimeSet(true);
|
||||
MTimeSetting->show();
|
||||
}
|
||||
|
||||
void MainInstruction::onMTimeSettingAccepted(){
|
||||
sysPara->RFIDPara.maintenanceInterval = MTimeSetting->getInterval();
|
||||
if(MTimeSetting->getResetSchedule()){
|
||||
QDate curDate = QDate::currentDate();
|
||||
int curdate = curDate.toString("yyMMdd").toInt();
|
||||
sysPara->RFIDPara.maintenanceDate = curdate;
|
||||
}
|
||||
QString mtDatestr = QString::number(sysPara->RFIDPara.maintenanceDate);
|
||||
QDate mtDate = QDate::fromString(mtDatestr,"yyMMdd");
|
||||
QDate mtEndDate = mtDate.addMonths(sysPara->RFIDPara.maintenanceInterval);
|
||||
sysPara->RFIDPara.maintenanceEndDate = mtEndDate.toString("yyMMdd").toInt();
|
||||
LogInfo::setRunStatusText(tr("mtDate1: %1").arg(sysPara->RFIDPara.maintenanceDate));
|
||||
LogInfo::setRunStatusText(tr("mtInterval1: %1").arg(sysPara->RFIDPara.maintenanceInterval));
|
||||
LogInfo::setRunStatusText(tr("mtEndDate1: %1").arg(sysPara->RFIDPara.maintenanceEndDate));
|
||||
LogInfo::setRunStatusText(tr("mtFlog1: %1").arg(sysPara->RFIDPara.needMaintenance));
|
||||
sysPara->saveRFIDPara();
|
||||
}
|
||||
|
||||
void MainInstruction::ondialogAuthorizationAccepted(){
|
||||
|
||||
QString authString = dialogAuthorization->getAuth();
|
||||
|
||||
if((authString.left(4) == "nnyp") && ( dlgInputAddr->checkSupperJm(authString.mid(4))))
|
||||
{
|
||||
#ifdef __RFID_CARD
|
||||
/**********超级密码,除了维护时间的3个参数,其他参数清零*****************/
|
||||
unsigned int mtDate = sysPara->RFIDPara.maintenanceDate;
|
||||
unsigned int mtInterval = sysPara->RFIDPara.maintenanceInterval;
|
||||
unsigned int mtEndDate = sysPara->RFIDPara.maintenanceEndDate;
|
||||
qDebug()<<"mtDate2: "<<sysPara->RFIDPara.maintenanceDate;
|
||||
qDebug()<<"mtInterval2: "<<sysPara->RFIDPara.maintenanceInterval;
|
||||
qDebug()<<"mtEndDate2: "<<sysPara->RFIDPara.maintenanceEndDate;
|
||||
memset(&sysPara->RFIDPara,0,sizeof(sysPara->RFIDPara));
|
||||
sysPara->RFIDPara.maintenanceDate = mtDate;
|
||||
sysPara->RFIDPara.maintenanceInterval = mtInterval;
|
||||
sysPara->RFIDPara.maintenanceEndDate = mtEndDate;
|
||||
qDebug()<<"mtDate3: "<<sysPara->RFIDPara.maintenanceDate;
|
||||
qDebug()<<"mtInterval3: "<<sysPara->RFIDPara.maintenanceInterval;
|
||||
qDebug()<<"mtEndDate3: "<<sysPara->RFIDPara.maintenanceEndDate;
|
||||
sysPara->saveRFIDPara();
|
||||
QMessageBox::warning(0,tr("提示"),tr("RFID卡清零!") );
|
||||
sysPara->para.flagOfInkWarning = false;
|
||||
sysPara->para.flagOfSolventWarning = false;
|
||||
sysPara->status.needMaintenanceRemind = false;
|
||||
sysPara->para.inkWarnDate = 0;
|
||||
sysPara->para.inkWarnTime = 0;
|
||||
sysPara->para.solventWarnDate = 0;
|
||||
sysPara->para.solventWarnTime = 0;
|
||||
sysPara->saveParaToFile();
|
||||
#endif
|
||||
}
|
||||
else if( dlgInputAddr->checkSupperJm(authString))
|
||||
{
|
||||
sysPara->status.WorkTimeOut=0;
|
||||
dlgInputAddr->ReadJm();
|
||||
dlgInputAddr->show();
|
||||
// ui->labMac->setText(QString("Mac:%1").arg(dlgInputAddr->jd.addr));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MainInstruction::on_pushButtonAuth_clicked()
|
||||
{
|
||||
dialogAuthorization->clearAuth();
|
||||
dialogAuthorization->show();
|
||||
}
|
||||
|
||||
|
||||
void MainInstruction::on_btn_time_clicked()
|
||||
{
|
||||
QTime tm = QTime::currentTime();
|
||||
QDate date = QDate::currentDate();
|
||||
timeDia.setYear(date.year());
|
||||
timeDia.setMonth(date.month());
|
||||
timeDia.setDay(date.day());
|
||||
timeDia.setHour(tm.hour());
|
||||
timeDia.setMinute(tm.minute());
|
||||
timeDia.setSecond(tm.second());
|
||||
timeDia.hide();
|
||||
timeDia.show();
|
||||
connect(&timeDia,SIGNAL(accepted()),this,SLOT(slt_timeSetting()));
|
||||
}
|
||||
|
||||
#include <time.h>
|
||||
void m_adjustdate(int year, int mon, int mday, int hour, int min, int sec) {
|
||||
time_t t;
|
||||
struct tm nowtime;
|
||||
nowtime.tm_sec = sec; // Seconds.[0-60] (1 leap second)
|
||||
nowtime.tm_min = min; // Minutes.[0-59]
|
||||
nowtime.tm_hour = hour; // Hours. [0-23]
|
||||
nowtime.tm_mday = mday; // Day.[1-31]
|
||||
nowtime.tm_mon = mon - 1; // Month. [0-11]
|
||||
nowtime.tm_year = year - 1900; // Year- 1900.
|
||||
nowtime.tm_isdst = -1; // DST.[-1/0/1]
|
||||
t = mktime(&nowtime);
|
||||
|
||||
#if __GLIBC_MINOR__ >= 31
|
||||
struct timespec res;
|
||||
res.tv_sec = t;
|
||||
clock_settime(CLOCK_REALTIME, &res);
|
||||
#else
|
||||
stime(&t);
|
||||
#endif
|
||||
}
|
||||
|
||||
uint8_t m_datatime[8] = {};
|
||||
void MainInstruction::slt_timeSetting()
|
||||
{
|
||||
m_adjustdate(timeDia.getYear(), timeDia.getMonth(),
|
||||
timeDia.getDay(), timeDia.getHour(),
|
||||
timeDia.getMinute(), timeDia.getSecond());
|
||||
|
||||
QDate date(timeDia.getYear(), timeDia.getMonth(), timeDia.getDay());
|
||||
int dayOfWeek = date.dayOfWeek();
|
||||
QString YearStr = QString::number(timeDia.getYear());
|
||||
int Year1 = YearStr.mid(0,2).toInt();
|
||||
int Year2 = YearStr.mid(2,2).toInt();
|
||||
uint8_t year1 = Year1;
|
||||
m_datatime[0] = year1;
|
||||
uint8_t year2 = Year2;
|
||||
m_datatime[1] = year2;
|
||||
uint8_t month = timeDia.getMonth();
|
||||
m_datatime[2] = month;
|
||||
uint8_t day = timeDia.getDay();
|
||||
m_datatime[3] = day;
|
||||
uint8_t week= dayOfWeek;
|
||||
m_datatime[4] = week;
|
||||
uint8_t hour = timeDia.getHour();
|
||||
m_datatime[5] = hour;
|
||||
uint8_t minute= timeDia.getMinute();
|
||||
m_datatime[6] = minute;
|
||||
uint8_t second= timeDia.getSecond();
|
||||
m_datatime[7] = second;
|
||||
|
||||
sysPara->devOp->stm32Wr(0xA1,(unsigned char *)m_datatime,8);
|
||||
}
|
||||
Reference in New Issue
Block a user