| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- #include "uncertainweightpackform.h"
- #include "ui_uncertainweightpackform.h"
- #include "handle/utils/cachefile.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);
- connect(&packConfig,&RemotePackConfig::configUpdate,this,&UncertainWeightPackForm::upconfig);
- connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&UncertainWeightPackForm::upDengjiInfo);
- ui->widget_6->setEnabled(false);
- //筒数限制,true限制
- istubeNumTure = false;
- CacheFile f;
- auto dt = f.readFile("budingzhongInfo.cache");
- auto list = QString::fromUtf8(dt).split("[,]");
- if(list.size() == 2){
- ui->taitou->setText(list.at(0));
- ui->taiPhone->setText(list.at(1));
- }
- }
- UncertainWeightPackForm::~UncertainWeightPackForm()
- {
- delete ui;
- }
- void UncertainWeightPackForm::on_pushBack_clicked()
- {
- if(!packinfo.isNull()){
- aputils.insertProductSQL(packinfo);
- aputils.doSend(aputils.toJson(packinfo));
- }
- emit back();
- QStringList list;
- list << ui->taitou->text() << ui->taiPhone->text();
- CacheFile f;
- f.writeFile("budingzhongInfo.cache",list.join("[,]").toUtf8());
- }
- //从秤中获取毛重、皮重、净重、筒数------每100毫秒一次
- void UncertainWeightPackForm::calcData()
- {
- if(autoRead == true){
- ui->grossWeight->setText(QString::number(GlobalInfo::this_()->GetScaleData().gross_widget));
- }
- // qDebug()<<autoRead;
- netNum = ui->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()<tubeNumMin){
- ui->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()) return;
- if(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.clear();
- }
- void UncertainWeightPackForm::on_pushStart_clicked()
- {
- _info.customer = ui->taitou->text();
- _info.telephone = ui->taiPhone->text();
- 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()){
- 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;
- ui->tableWidget->clearContents();
- ui->tableWidget->setRowCount(0);
- ui->tableWidget->setColumnWidth(0,20);
- ui->tableWidget->setColumnWidth(1,20);
- ui->tableWidget->setColumnWidth(2,80);
- ui->tableWidget->setColumnWidth(3,80);
- ui->tableWidget->setColumnWidth(4,80);
- ui->tableWidget->setColumnWidth(5,40);
- }
- 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->Level = ui->dengji->currentText();
- box->twist_type = ui->nianxiang->currentText();
- box->bucket_color = ui->guanse->currentText();
- 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(QString::number(box->tube_number)));
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(getDecimalbit(box->gross_weight / 1000.00)));
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(getDecimalbit(box->box_weight / 1000.00)));
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(getDecimalbit(box->net_weight/1000.00)));
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(box->caseNumber()));
- // 把box数据添加到packinfo的boxes数据表里;
- packinfo->addBoxInfoList(box);
- //添加数据库
- aputils.insertDetailsSQL(box,packinfo->codeSingle());
- ui->labelTongZHong->setText(QString::number(packinfo->tube_number()));
- ui->labelWight->setText(getDecimalbit(packinfo->gross_weight() / 1000.00));
- ui->labelJing->setText(getDecimalbit(packinfo->net_weight() / 1000.00));
- //当当前箱数大于等于最大箱数是启动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()<<arg1;
- if(arg1 == 2){
- istubeNumTure = true;
- return;
- }
- istubeNumTure = false;
- }
- void UncertainWeightPackForm::init()
- {
- // TODO: 页面进入初始化
- ui->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();
- 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;i<config.xiangzhong.size();i++){
- ui->pizhong->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;i<config.tongZhong.size();i++){
- ui->tongzhong->addItem(QString::number(config.tongZhong.at(i)));
- }
- tubeNumMin = config.buDingZhongTongShuFanWei.first;
- tubeNumMax = config.buDingZhongTongShuFanWei.second;
- //设置选择打包界面的数据为首个;
- ui->pizhong->setCurrentText(QString(_info.box_weight));
- ui->guanse->setCurrentText(_info.bucket_color);
- ui->zhixiang->setCurrentText(_info.carton_type);
- ui->tongzhong->setCurrentText(_info.bucket_weight);
- }
- void UncertainWeightPackForm::upDengjiInfo(const QList<DengJiConfigItem> & dengJis)
- {
- // TODO: 等级信息更新
- ui->dengji->clear();
- for(int i = 0;i<dengJis.size();i++){
- if(!dengJis.at(i).isEnable){
- ui->dengji->addItem(dengJis.at(i).value,dengJis.at(i).id);
- }
- }
- }
|