2026年6月4日 commit
This commit is contained in:
+37
-209
@@ -19,16 +19,22 @@ static unsigned int PulseCnt = 0; //时间间隔内的脉冲累计数
|
||||
InkJetPrinter::InkJetPrinter(QWidget* parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
if (sysPara == nullptr) {
|
||||
sysPara = SysPara::ins();
|
||||
}
|
||||
// 加载.ui文件生成的UI界面
|
||||
ui.setupUi(this);
|
||||
|
||||
// 关联原有成员变量到UI控件(保持变量名和原代码一致)
|
||||
m_LabelTimer = ui.m_LabelTimer;
|
||||
m_StackedWidget = ui.m_StackedWidget;
|
||||
|
||||
|
||||
// 初始化业务逻辑(仅保留原init中的非UI创建部分)
|
||||
init();
|
||||
initRunTimeCtrl();
|
||||
#ifdef __RFID_CARD
|
||||
initRFIDManager();
|
||||
#endif
|
||||
|
||||
QThread::sleep(3);
|
||||
qApp->installEventFilter(this);
|
||||
@@ -91,10 +97,6 @@ void InkJetPrinter::init()
|
||||
viscosity_timer = new QTimer();
|
||||
connect(viscosity_timer, SIGNAL(timeout()), this, SLOT(viscosity_timerHandler()));
|
||||
|
||||
jd_timer = new QTimer();
|
||||
connect(jd_timer, SIGNAL(timeout()), this, SLOT(jd_timerHandler()));
|
||||
jd_timer->start(500);
|
||||
|
||||
msgtest = new QMessageBox(this);
|
||||
msgtest->setWindowTitle(tr("提示"));
|
||||
connect(msgtest, SIGNAL(finished(int)), this, SLOT(OnFinished(int)));
|
||||
@@ -154,23 +156,6 @@ void InkJetPrinter::init()
|
||||
m_LogInfo->checkState();
|
||||
});
|
||||
|
||||
SysPara *para = new SysPara();
|
||||
bindSysPara(para);
|
||||
m_MainWidget->bindSysPara(para);
|
||||
m_FontSetWidget->bindSysPara(para);
|
||||
m_PrintSetting->bindSysPara(para);
|
||||
m_SystemManage->bindSysPara(para);
|
||||
m_SystemUpdate->bindSysPara(para);
|
||||
m_SystemSetting->bindSysPara(para);
|
||||
m_OtherInfo->bindSysPara(para);
|
||||
m_TestPrintWidget->bindSysPara(para);
|
||||
m_DateVarSet->bindSysPara(para);
|
||||
m_CounterVarSet->bindSysPara(para);
|
||||
m_MainInstruction->bindSysPara(para);
|
||||
m_BarCodeDlg->bindSysPara(para);
|
||||
m_QRCodeDlg->bindSysPara(para);
|
||||
m_LogInfo->bindSysPara(para);
|
||||
|
||||
if(sysPara->para.gearPumpEnable)
|
||||
pushButtonStartFlag = true;
|
||||
|
||||
@@ -254,7 +239,6 @@ void InkJetPrinter::init()
|
||||
/*系统更新*/
|
||||
connect(m_MainInstruction,&MainInstruction::sendButtonClickedSignal,this,&InkJetPrinter::getMainInstructWidgetButtonClickedSlot);
|
||||
|
||||
connect(this,SIGNAL(maintenanceShow()),m_MainInstruction,SLOT(maintenanceDialogShow()));
|
||||
/*系统更新的信号和槽*/
|
||||
connect(m_SystemUpdate,&SystemUpdate::sendProgramSTM32Signal,m_SystemManage,&SystemManage::on_pushButtonProgamSTM32_clicked);
|
||||
connect(m_SystemUpdate,&SystemUpdate::sendProgramFPGASignal,m_SystemManage,&SystemManage::on_pushButtonProgamFPGA_clicked);
|
||||
@@ -283,40 +267,6 @@ void InkJetPrinter::init()
|
||||
sysPara->para.rfidCountDown = 5;
|
||||
}
|
||||
|
||||
void InkJetPrinter::jd_timerHandler(void)
|
||||
{
|
||||
static int count_time = 0;
|
||||
|
||||
count_time++;
|
||||
if(count_time>= 20){ //each 10s
|
||||
count_time = 0;
|
||||
// jd_res = ui->tabPrintSetting->dlgInputAddr->isEnabled();
|
||||
|
||||
#ifdef __RFID_CARD
|
||||
static int faultyNum = 0;
|
||||
static uint noticeICReaderErrorTime = QDateTime::currentDateTime().toTime_t();
|
||||
if((QDateTime::currentDateTime().toTime_t() - noticeICReaderErrorTime > 7200
|
||||
|| QDateTime::currentDateTime().toTime_t() == noticeICReaderErrorTime)
|
||||
|| (faultyNum > 0 && faultyNum < 10))
|
||||
{
|
||||
noticeICReaderErrorTime = QDateTime::currentDateTime().toTime_t();
|
||||
if(sysPara->devOp->queryReadRFID_address() == 2)
|
||||
{
|
||||
faultyNum++;
|
||||
if(faultyNum >= 10){
|
||||
msgtest->setText(tr("13.读卡器故障!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("13.读卡器故障!"));
|
||||
qDebug()<<"读卡器故障";
|
||||
}
|
||||
}
|
||||
else
|
||||
faultyNum = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// type 1,2: 分别显示计数器1或2的界面
|
||||
void InkJetPrinter::slt_editCounter(CounterViewModel vm)
|
||||
{
|
||||
@@ -359,7 +309,6 @@ void InkJetPrinter::enableInkJetTabClick(bool flag){
|
||||
|
||||
void InkJetPrinter::close_jd_timer()
|
||||
{
|
||||
jd_timer->stop();
|
||||
timer->stop();
|
||||
}
|
||||
|
||||
@@ -977,162 +926,20 @@ void InkJetPrinter::timerHandler(void){
|
||||
/*----------------------------------界面更新状态---------------------------------------*/
|
||||
#ifdef __RFID_CARD
|
||||
static bool flag6 = true;
|
||||
unsigned int addr = m_MainInstruction->dlgInputAddr->jd.addr;
|
||||
if(pulse_10s && flag6){ //初始化刷卡模块
|
||||
qDebug()<<"初始化刷卡模块";
|
||||
LogInfo::setRunStatusText(QString("jd.addr:%1").arg(addr));
|
||||
flag6 = false;
|
||||
sysPara->devOp->setICReaderModeFlag = true;
|
||||
|
||||
// 使用RFID读写器软件设置,而不是这里
|
||||
sysPara->devOp->setRFIDReaderWorkMode();
|
||||
qDebug()<<"jd.addr: "<<m_MainInstruction->dlgInputAddr->jd.addr;
|
||||
LogInfo::setRunStatusText(QString("jd.addr:%1").arg(m_MainInstruction->dlgInputAddr->jd.addr));
|
||||
|
||||
// 使用RFID读写器软件设置,而不是这里
|
||||
sysPara->devOp->setRFIDReaderKey(m_MainInstruction->dlgInputAddr->jd.addr,1);
|
||||
sysPara->devOp->setICReaderModeFlag = false;
|
||||
if (manager_rfid)
|
||||
manager_rfid->initRFIDMoudle(addr);
|
||||
}
|
||||
|
||||
if(pulse_300ms){
|
||||
if(!sysPara->devOp->setICReaderModeFlag)
|
||||
{
|
||||
sysPara->devOp->strRevdata ="";
|
||||
sysPara->devOp->receiveReadRFID_data();
|
||||
if(sysPara->devOp->strRevdata.length() > 3)
|
||||
{
|
||||
if((sysPara->devOp->strRevdata.left(3) == QString::number(m_MainInstruction->dlgInputAddr->jd.addr).left(3))\
|
||||
|| sysPara->devOp->strRevdata.left(3) == "100")
|
||||
{
|
||||
if(sysPara->devOp->strRevdata.at(3) == 'A') {
|
||||
if(!sysPara->RFIDPara.needInkCard && false){
|
||||
msgtest->setText(tr("不需要刷墨水卡!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("不需要刷墨水卡!"));
|
||||
qDebug()<<"不需要刷墨水卡";
|
||||
}
|
||||
else if(sysPara->status.statWarn & WARN_STATUS_INK_WARN && false){
|
||||
msgtest->setText(tr("请先添加墨水再刷墨水卡!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("请先添加墨水再刷墨水卡!"));
|
||||
qDebug()<<"请先添加墨水再刷墨水卡";
|
||||
}
|
||||
else
|
||||
{
|
||||
auto ok = cardTouchConfirm(tr("确认要刷墨水卡吗?"), tr("确认要刷墨水卡吗? %1 秒后将自动确认"));
|
||||
if (!ok){
|
||||
LogInfo::setRunStatusText("The user has canceled the operation about marking the ink card.");
|
||||
qDebug() << "The user has canceled the operation about marking the ink card.";
|
||||
}
|
||||
else if(sysPara->devOp->RFIDmarkCardUsedAsync(0) == 1){
|
||||
sysPara->RFIDPara.needInkCard = false;
|
||||
sysPara->RFIDPara.inkCardTimeOut = false;
|
||||
sysPara->saveRFIDPara();
|
||||
msgtest->setText(tr("刷墨水卡成功!"));
|
||||
msgtest->show();
|
||||
m_MainWidget->setRunStatus(tr("刷墨水卡成功!"));
|
||||
LogInfo::setRunStatusText(tr("刷墨水卡成功!"));
|
||||
qDebug()<<"刷墨水卡成功";
|
||||
sysPara->para.flagOfInkWarning = false;
|
||||
sysPara->para.inkWarnDate = 0;
|
||||
sysPara->para.inkWarnTime = 0;
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(sysPara->devOp->strRevdata.at(3) == 'B')
|
||||
{
|
||||
|
||||
if(!sysPara->RFIDPara.needSolventCard && false){
|
||||
msgtest->setText(tr("不需要刷溶剂卡!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("不需要刷溶剂卡!"));
|
||||
qDebug()<<"不需要刷溶剂卡";
|
||||
}
|
||||
else if(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN && false){
|
||||
msgtest->setText(tr("请先添加溶剂再刷溶剂卡!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("请先添加溶剂再刷溶剂卡!"));
|
||||
qDebug()<<"请先添加溶剂再刷溶剂卡";
|
||||
}
|
||||
else
|
||||
{
|
||||
auto ok = cardTouchConfirm(tr("确认要刷溶剂卡吗?"), tr("确认要刷溶剂卡吗? %1 秒后将自动确认"));
|
||||
if (!ok){
|
||||
LogInfo::setRunStatusText("The user has canceled the operation about marking the solvent card.");
|
||||
qDebug() << "The user has canceled the operation about marking the solvent card.";
|
||||
}
|
||||
else if(sysPara->devOp->RFIDmarkCardUsedAsync(1) == 1) {
|
||||
sysPara->RFIDPara.needSolventCard = false;
|
||||
sysPara->RFIDPara.solventCardTimeOut = false;
|
||||
sysPara->saveRFIDPara();
|
||||
msgtest->setText(tr("刷溶剂卡成功!"));
|
||||
msgtest->show();
|
||||
m_MainWidget->setRunStatus(tr("刷溶剂卡成功!"));
|
||||
LogInfo::setRunStatusText(tr("刷溶剂卡成功!"));
|
||||
qDebug()<<"刷溶剂卡成功";
|
||||
sysPara->para.flagOfSolventWarning = false;
|
||||
sysPara->para.solventWarnDate = 0;
|
||||
sysPara->para.solventWarnTime = 0;
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if(sysPara->devOp->strRevdata.at(3) == 'C')
|
||||
{
|
||||
auto ok = cardTouchConfirm(tr("确认要刷保养卡吗?"), tr("确认要刷保养卡吗? %1 秒后将自动确认"));
|
||||
if (ok){
|
||||
auto r = sysPara->devOp->RFIDmarkCardUsedAsync(2);
|
||||
if(r == 1) {//把卡数据清零
|
||||
|
||||
emit maintenanceShow();
|
||||
|
||||
sysPara->RFIDPara.needMaintenance = false;
|
||||
sysPara->status.needMaintenanceRemind = false;
|
||||
|
||||
QDate curDate = QDate::currentDate();
|
||||
sysPara->RFIDPara.maintenanceDate = curDate.toString("yyMMdd").toInt();
|
||||
QDate mtEndDate = curDate.addMonths(sysPara->RFIDPara.maintenanceInterval);
|
||||
sysPara->RFIDPara.maintenanceEndDate = mtEndDate.toString("yyMMdd").toInt();
|
||||
sysPara->RFIDPara.runTime = 0;
|
||||
ctrl_runTime->updatePara(&sysPara->RFIDPara);
|
||||
sysPara->saveRFIDPara();
|
||||
m_MainWidget->setRunStatus(tr("刷保养卡成功!"));
|
||||
LogInfo::setRunStatusText(tr("刷保养卡成功!"));
|
||||
qDebug()<<"刷保养卡成功";
|
||||
}
|
||||
else {
|
||||
LogInfo::setRunStatusText("Failed to mark maintenance card!");
|
||||
qDebug() << "Failed to mark maintenance card!";
|
||||
}
|
||||
}
|
||||
else {
|
||||
qDebug() << "用户取消了刷卡";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msgtest->setText(tr("MAC无效卡!"));
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(tr("MAC无效卡!"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// LogInfo::setRunStatusText(tr("card data: %1").arg(sysPara->devOp->strRevdata));
|
||||
QString str1 = QString::number(sysPara->devOp->strRevdata.mid(0,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString str2 =QString::number(sysPara->devOp->strRevdata.mid(2,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString str3 = QString::number(sysPara->devOp->strRevdata.mid(4,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString str4 = QString::number(sysPara->devOp->strRevdata.mid(6,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString str5 = QString::number(sysPara->devOp->strRevdata.mid(8,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString str6 =QString::number( sysPara->devOp->strRevdata.mid(10,2).toInt(0,16)).rightJustified(2,'0');
|
||||
QString strDateTime = str1 + "-" + str2 + "-" + str3 + " " + str4 + ":" + str5 + ":" + str6;
|
||||
QString strShow = tr("无效卡,这张卡已经在%1时使用过").arg(strDateTime);
|
||||
msgtest->setText(strShow);
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(strShow);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (manager_rfid)
|
||||
manager_rfid->handleCheck(addr);
|
||||
}
|
||||
|
||||
#endif
|
||||
if(pulse_300ms){
|
||||
sysPara->devOp->readCalandarDat(); //务必读一下此数据
|
||||
@@ -2793,8 +2600,29 @@ void InkJetPrinter::initRunTimeCtrl()
|
||||
curPowerOnDateTime = QDateTime::currentDateTime();
|
||||
if (sysPara)
|
||||
ctrl_runTime->loadConfig(&sysPara->RFIDPara);
|
||||
|
||||
ctrl_runTime->start();
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __RFID_CARD
|
||||
void InkJetPrinter::initRFIDManager()
|
||||
{
|
||||
if (manager_rfid == nullptr) {
|
||||
manager_rfid = RFIDManager::instance();
|
||||
connect(manager_rfid, &RFIDManager::sig_showMsg,
|
||||
this, &InkJetPrinter::slt_showMsg);
|
||||
connect(manager_rfid,SIGNAL(sig_maintenanceShow()),
|
||||
m_MainInstruction,SLOT(maintenanceDialogShow()));
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void InkJetPrinter::slt_showMsg(QString msg)
|
||||
{
|
||||
msgtest->setText(msg);
|
||||
msgtest->show();
|
||||
LogInfo::setRunStatusText(msg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user