2026年6月4日 commit

This commit is contained in:
2026-06-04 14:08:28 +08:00
parent dd64ec1252
commit 571b8e01d3
71 changed files with 2780 additions and 2656 deletions
+37 -209
View File
@@ -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);
}