#include "uncertainweightpackform.h" #include "ui_uncertainweightpackform.h" UncertainWeightPackForm::UncertainWeightPackForm(QWidget *parent) : QWidget(parent), ui(new Ui::UncertainWeightPackForm) { ui->setupUi(this); autoRead = true; QTimer *timer = new QTimer(this); connect(timer,&QTimer::timeout,this,&UncertainWeightPackForm::calcData); timer->start(500); ui->widget_6->setEnabled(false); //筒数限制,true限制 istubeNumTure = false; } UncertainWeightPackForm::~UncertainWeightPackForm() { delete ui; } void UncertainWeightPackForm::on_pushBack_clicked() { emit back(); } //从秤中获取毛重、皮重、净重、筒数------每100毫秒一次 void UncertainWeightPackForm::calcData() { if(autoRead == true){ ui->grossWeight->setText(QString::number(GlobalInfo::this_()->GetScaleData().gross_widget)); } // qDebug()<grossWeight->text().toDouble()-ui->pizhong->currentText().toDouble()-ui->tongshu->text().toDouble()*ui->tongzhong->currentText().toDouble(); if(netNum<0){ netNum = 0.00; } if(istubeNumTure){ if(ui->tongshu->text().toInt()>tubeNumMax || ui->tongshu->text().toInt()tongshu->setValue(tubeNumMin); } } // ui->netWeight_2->setText(QString::number(netNum)); // ui->tongshu->setText(QString::number(GlobalInfo::this_()->GetScaleData().tongshu)); } void UncertainWeightPackForm::on_addPackList_clicked() { if(!packinfo.isNull()&&packinfo->boxes().size()>0){ packinfo->quantity = packinfo->boxes().size(); packinfo->level_id = ui->dengji->currentData().toInt(); packinfo->machine_no = ui->jitai->currentText(); packinfo->carton_type = ui->zhixiang->currentText(); } //把数据添加到数据库里 aputils.insertProductSQL(packinfo); //发送码单 packinfo 数据, 转换为 json数据发送 aputils.doSend(aputils.toJson(packinfo)); packinfo.reset(new PackInfo(_info)); packinfo->operator_id = GlobalInfo::this_()->user().userId; packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd"); packinfo->packing_type = _info.category; } void UncertainWeightPackForm::on_pushStart_clicked() { if(ui->pushStart->isChecked()){ ui->pushStart->setChecked(true); ui->addBoxList->setDisabled(false); ui->addPackList->setDisabled(false); ui->widget_3->setEnabled(false); ui->widget_5->setEnabled(false); ui->widget_7->setEnabled(false); ui->tongzhong->setEnabled(true); } else { init(); } } void UncertainWeightPackForm::on_addBoxList_clicked() { if(ui->tongshu->text()!="0"&&!ui->tongshu->text().toInt()){ QMessageBox::information(this,tr("注意"),tr("筒数异常")); return; } if(packinfo.isNull()) return; auto box = packinfo->addBoxInfo(); box->box_weight = int(ui->pizhong->currentText().toDouble()*1000); box->tube_number = ui->tongshu->text().toInt(); box->bucket_weight = int(ui->pizhong->currentText().toInt()*ui->tongshu->text().toDouble()*1000); box->gross_weight = int(ui->grossWeight->text().toDouble()*1000); box->net_weight = int(netNum*1000); box->sort = "1"; box->remark = ui->beizhu->toPlainText(); packinfo->level = ui->dengji->currentText(); packinfo->level_id = ui->dengji->currentData().toInt(); ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount()))); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(box->caseNumber())); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(QString::number(box->tube_number))); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(QString::number(box->gross_weight))); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(QString::number(box->bucket_weight))); ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(QString::number(box->net_weight))); // emit djmbbox(djmb.printBoxInfo(box->caseNumber(),box)); // qDebug()<boxes().size(); // doSend(packinfo); // 把box数据添加到packinfo的boxes数据表里; packinfo->addBoxInfoList(box); //添加数据库 aputils.insertDetailsSQL(box,packinfo->codeSingle()); //当当前箱数大于等于最大箱数是启动on_addPackList_clicked(); if(packinfo->boxes().size()>=ui->mashu->currentText().toInt()){ on_addPackList_clicked(); } } //自动读数按钮 void UncertainWeightPackForm::on_handleRead_2_clicked() { if(autoRead==true){ autoRead = false; ui->handleRead_2->setText("自动读数"); ui->label->setText("已开启手动"); return; } autoRead = true; ui->handleRead_2->setText("手动读数"); ui->label->setText("已开启自动"); } //筒数是否固定 void UncertainWeightPackForm::on_tongshuguding_currentIndexChanged(const QString &arg1) { if(arg1=="固定"){ ui->widget_6->setEnabled(false); return; } ui->widget_6->setEnabled(true); } //筒数是否限制 void UncertainWeightPackForm::on_tongshuxianzhi_stateChanged(int arg1) { qDebug()<pushStart->setChecked(false); ui->addBoxList->setDisabled(true); ui->addPackList->setDisabled(true); ui->widget_3->setEnabled(true); ui->widget_5->setEnabled(true); ui->widget_7->setEnabled(true); packConfig.refConfig(); connect(&packConfig,&RemotePackConfig::configUpdate,this,&UncertainWeightPackForm::upconfig); connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&UncertainWeightPackForm::upDengjiInfo); ui->mashu->clear(); for(int i = 1;i<=20;i++){ ui->mashu->addItem(QString::number(i)); } ui->mashu->setCurrentText("20"); on_addPackList_clicked(); } void UncertainWeightPackForm::upconfig(const DaBaoConfig &config) { // TODO:打包配置更新 //机台 ui->jitai->clear(); ui->jitai->addItems(config.jitai); //打包工班次 ui->dabaobanci->clear(); ui->dabaobanci->addItems(config.daBaoGongBanCi); //皮重 ui->pizhong->clear(); for(int i = 0;ipizhong->addItem(QString::number(config.xiangzhong.at(i))); } //管色 ui->guanse->clear(); ui->guanse->addItems(config.guanse); //捻向 ui->nianxiang->clear(); ui->nianxiang->addItems(config.nianxiang); //纸箱 ui->zhixiang->clear(); ui->zhixiang->addItems(config.zhixiang); //筒重 ui->tongzhong->clear(); for(int i = 0;itongzhong->addItem(QString::number(config.tongZhong.at(i))); } tubeNumMin = config.buDingZhongTongShuFanWei.first; tubeNumMax = config.buDingZhongTongShuFanWei.second; } void UncertainWeightPackForm::upDengjiInfo(const QList & dengJis) { // TODO: 等级信息更新 ui->dengji->clear(); for(int i = 0;idengji->addItem(dengJis.at(i).value,dengJis.at(i).id); } } }