fixedweightpackform.cpp 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. #include "fixedweightpackform.h"
  2. #include "ui_fixedweightpackform.h"
  3. FixedWeightPackForm::FixedWeightPackForm(QWidget *parent) :
  4. QWidget(parent),
  5. ui(new Ui::FixedWeightPackForm)
  6. {
  7. ui->setupUi(this);
  8. QTimer *timer = new QTimer(this);
  9. connect(timer,&QTimer::timeout,this,&FixedWeightPackForm::calcData);
  10. timer->start(500);
  11. }
  12. FixedWeightPackForm::~FixedWeightPackForm()
  13. {
  14. delete ui;
  15. }
  16. //从秤中获取毛重、皮重、净重、筒数------每100毫秒一次
  17. void FixedWeightPackForm::calcData()
  18. {
  19. ui->grossWeight_2->setText(ui->type->currentText());
  20. netNum = ui->grossWeight_2->text().toDouble()-ui->pizhong->currentText().toDouble()-ui->tongshu->text().toDouble()*ui->tongzhong->currentText().toDouble();
  21. if(netNum<0){
  22. netNum = 0.00;
  23. }
  24. // ui->netWeight_2->setText(QString::number(netNum));
  25. // ui->tongshu->setText(QString::number(GlobalInfo::this_()->GetScaleData().tongshu));
  26. }
  27. void FixedWeightPackForm::on_pushBack_clicked()
  28. {
  29. emit back();
  30. }
  31. void FixedWeightPackForm::on_addPackList_clicked()
  32. {
  33. if(!packinfo.isNull()&&packinfo->boxes().size()>0){
  34. packinfo->quantity = packinfo->boxes().size();
  35. packinfo->level_id = ui->dengji->currentData().toInt();
  36. packinfo->machine_no = ui->jitai->currentText();
  37. packinfo->carton_type = ui->zhixiang->currentText();
  38. }
  39. //把数据添加到数据库里
  40. aputils.insertProductSQL(packinfo);
  41. //TODO: 缓存箱单数据,页面显示情空
  42. //发送码单 packinfo 数据, 转换为 json数据发送
  43. aputils.doSend(aputils.toJson(packinfo));
  44. //TODO: 初始化码单信息
  45. packinfo.reset(new PackInfo(_info));
  46. packinfo->operator_id = GlobalInfo::this_()->user().userId;
  47. packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd");
  48. packinfo->packing_type = _info.category;
  49. }
  50. void FixedWeightPackForm::on_pushStart_clicked()
  51. {
  52. if(ui->pushStart->isChecked()){
  53. ui->pushStart->setChecked(true);
  54. ui->addBoxList->setDisabled(false);
  55. ui->addPackList->setDisabled(false);
  56. ui->widget_2->setEnabled(false);
  57. } else {
  58. init();
  59. }
  60. }
  61. void FixedWeightPackForm::on_addBoxList_clicked()
  62. {
  63. if(packinfo.isNull()) return;
  64. auto box = packinfo->addBoxInfo();
  65. box->box_weight = int(ui->pizhong->currentText().toDouble()*1000);
  66. box->tube_number = ui->tongshu->text().toInt();
  67. box->bucket_weight = int(ui->pizhong->currentText().toInt()*ui->tongshu->text().toDouble()*1000);
  68. box->gross_weight = int(ui->grossWeight_2->text().toDouble()*1000);
  69. box->net_weight = int(netNum*1000);
  70. box->sort = "1";
  71. box->remark = ui->beizhu->toPlainText();
  72. packinfo->level = ui->dengji->currentText();
  73. packinfo->level_id = ui->dengji->currentData().toInt();
  74. ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
  75. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount())));
  76. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(box->caseNumber()));
  77. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(QString::number(box->tube_number)));
  78. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(QString::number(box->gross_weight)));
  79. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(QString::number(box->bucket_weight)));
  80. ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(QString::number(box->net_weight)));
  81. // emit djmbbox(djmb.printBoxInfo(box->caseNumber(),box));
  82. // qDebug()<<packinfo->boxes().size();
  83. // doSend(packinfo);
  84. // 把box数据添加到packinfo的boxes数据表里;
  85. packinfo->addBoxInfoList(box);
  86. //添加数据库
  87. aputils.insertDetailsSQL(box,packinfo->codeSingle());
  88. //当当前箱数大于等于最大箱数是启动on_addPackList_clicked();
  89. if(packinfo->boxes().size()>=ui->comboBox->currentText().toInt()){
  90. on_addPackList_clicked();
  91. }
  92. }
  93. void FixedWeightPackForm::init()
  94. {
  95. ui->pushStart->setChecked(false);
  96. ui->addBoxList->setDisabled(true);
  97. ui->addPackList->setDisabled(true);
  98. ui->widget_2->setEnabled(true);
  99. packConfig.refConfig();
  100. connect(&packConfig,&RemotePackConfig::configUpdate,this,&FixedWeightPackForm::upconfig);
  101. connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&FixedWeightPackForm::upDengjiInfo);
  102. ui->comboBox->clear();
  103. for(int i = 1;i<=20;i++){
  104. ui->comboBox->addItem(QString::number(i));
  105. }
  106. ui->comboBox->setCurrentText("20");
  107. on_addPackList_clicked();
  108. }
  109. void FixedWeightPackForm::upconfig(const DaBaoConfig &config)
  110. {
  111. //机台
  112. ui->jitai->clear();
  113. ui->jitai->addItems(config.jitai);
  114. //打包工班次
  115. ui->comboBox_2->clear();
  116. ui->comboBox_2->addItems(config.daBaoGongBanCi);
  117. //皮重
  118. ui->pizhong->clear();
  119. for(int i = 0;i<config.xiangzhong.size();i++){
  120. ui->pizhong->addItem(QString::number(config.xiangzhong.at(i)));
  121. }
  122. //管色
  123. ui->guanse->clear();
  124. ui->guanse->addItems(config.guanse);
  125. //捻向
  126. ui->nianxiang->clear();
  127. ui->nianxiang->addItems(config.nianxiang);
  128. //纸箱
  129. ui->zhixiang->clear();
  130. ui->zhixiang->addItems(config.zhixiang);
  131. //筒重
  132. ui->tongzhong->clear();
  133. for(int i = 0;i<config.tongZhong.size();i++){
  134. ui->tongzhong->addItem(QString::number(config.tongZhong.at(i)));
  135. }
  136. ui->type->clear();
  137. for(int i = 0;i<config.diys.size();i++){
  138. ui->type->addItem(QString::number(config.diys.at(i).type));
  139. }
  140. }
  141. void FixedWeightPackForm::upDengjiInfo(const QList<DengJiConfigItem> & dengJis)
  142. {
  143. ui->dengji->clear();
  144. for(int i = 0;i<dengJis.size();i++){
  145. if(!dengJis.at(i).isEnable){
  146. ui->dengji->addItem(dengJis.at(i).value,dengJis.at(i).id);
  147. }
  148. }
  149. }