| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- #include "autopackform.h"
- #include "ui_autopackform.h"
- #include "globalinfo.h"
- AutoPackForm::AutoPackForm(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::AutoPackForm)
- {
- ui->setupUi(this);
- }
- AutoPackForm::~AutoPackForm()
- {
- delete ui;
- }
- void AutoPackForm::on_pushBack_clicked()
- {
- doSend(packinfo);
- emit back();
- }
- void AutoPackForm::init()
- {
- // TODO: 页面进入初始化
- ui->pushStart->setChecked(false);
- ui->widget->setEnabled(true);
- packConfig.refConfig();
- connect(&packConfig,&RemotePackConfig::configUpdate,this,&AutoPackForm::upconfig);
- connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&AutoPackForm::upDengjiInfo);
- connect(&_request,&HttpRequest::result,this,&AutoPackForm::httpResult);
- ui->comboBox->clear();
- for(int i = 1;i<20;i++){
- ui->comboBox->addItem(QString::number(i));
- }
- on_addPackList_clicked();
- }
- void AutoPackForm::on_addPackList_clicked()
- {
- //TODO: 缓存箱单数据,页面显示情空
- doSend(packinfo);
- //TODO: 初始化码单信息
- packinfo.reset(new PackInfo(_info));
- packinfo->operator_id = GlobalInfo::this_()->user().userId;
- }
- void AutoPackForm::upconfig(const DaBaoConfig &config)
- {
- // TODO:打包配置更新
- //机台
- ui->jitai->clear();
- ui->jitai->addItems(config.jitai);
- //打包工班次
- ui->comboBox_2->clear();
- ui->comboBox_2->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)));
- }
- }
- void AutoPackForm::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);
- }
- }
- }
- void AutoPackForm::on_pushStart_clicked()
- {
- if(ui->pushStart->isChecked()){
- ui->pushStart->setChecked(true);
- ui->widget->setEnabled(false);
- ui->handleRead->setEnabled(true);
- } else {
- init();
- }
- }
- void AutoPackForm::doSend(QSharedPointer<PackInfo> &info)
- {
- if(info.isNull()) return;
- //把数据添加到数据库里
- insertProductSQL(info);
- //TODO:发送码单 packinfo 数据, 转换为 json数据发送
- QJsonObject json = this->toJson(info);
- _request.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
- // _request.post("http://doc.vanlai.net:3001/web/#/1?page_id=64",json);
- } // http://doc.vanlai.net:3001/web/#/1?page_id=64
- void AutoPackForm::on_addBoxList_clicked()
- {
- if(packinfo.isNull()) return;
- auto box = packinfo->addBoxInfo();
- //TODO: 添加箱单 数据
- box->box_weight = ui->pizhong->currentText().toInt();
- box->tube_number = ui->tongshu->text().toInt();
- box->bucket_weight = ui->pizhong->currentText().toInt()*ui->tongshu->text().toInt();
- box->gross_weight = ui->grossWeight_2->text().toInt();
- box->box_weight = ui->netWeight_2->text().toInt();
- box->sort = "1";
- box->remark = ui->beizhu->toPlainText();
- packinfo->level = ui->dengji->currentText();
- packinfo->level_id = ui->dengji->currentData().toInt();
- //TODO: 缓存数据,显示数据
- // emit djmbbox(djmb.printBoxInfo(box->caseNumber(),box));
- // qDebug()<<packinfo->boxes().size();
- // doSend(packinfo);
- //把box数据添加到packinfo的boxes数据表里;
- packinfo->addBoxInfoList(box);
- //添加数据库
- insertDetailsSQL(box,packinfo->codeSingle());
- //packinfo其他数据在new时已经定义好的,需要时直接调就可以了,所以这里只要箱数,等级,机台和类型
- if(packinfo->boxes().size()>=ui->comboBox->currentText().toInt()){
- packinfo->quantity = packinfo->boxes().size();
- packinfo->level_id = ui->dengji->currentData().toInt();
- packinfo->machine_no = ui->jitai->currentText();
- packinfo->carton_type = ui->zhixiang->currentText();
- on_addPackList_clicked();
- }
- }
- void AutoPackForm::httpResult(int emitcode, const QJsonObject body)
- {
- qDebug()<<emitcode;
- qDebug()<<body;
- database.changeState(packinfo->codeSingle());
- }
- //把BoxInfo数据添加到deetails数据库里;
- void AutoPackForm::insertDetailsSQL(QSharedPointer<BoxInfo> boxes,QString codeSingle)
- {
- qDebug()<<boxes->caseNumber();
- detailsData.code_single = codeSingle;
- detailsData.case_number = boxes->caseNumber();
- detailsData.box_weight = boxes->box_weight;
- detailsData.tube_number = boxes->tube_number;
- detailsData.bucket_weight = boxes->bucket_weight;
- detailsData.gross_weight = boxes->gross_weight;
- detailsData.net_weight = boxes->net_weight;
- detailsData.sort = boxes->sort;
- detailsData.remark = boxes->remark;
- if(database.insertDetails(detailsData)){
- qDebug()<<"details数据库添加成功";
- return;
- }
- qDebug()<<"details数据库添加失败";
- }
- //把PackInfo添加到product数据库里;
- void AutoPackForm::insertProductSQL(QSharedPointer<PackInfo> packes)
- {
- productData.goods_id = packes->goodsID();
- productData.code_single = packes->codeSingle();
- productData.quantity = packes->quantity;
- productData.level_id = packes->level_id;
- productData.tube_number = packes->tube_number();
- productData.gross_weight = packes->gross_weight();
- productData.net_weight = packes->net_weight();
- productData.machine_no = packes->machine_no;
- productData.packing_time = packes->packing_time;
- productData.packing_type = packes->packing_type;
- productData.carton_type = packes->carton_type;
- productData.operator_id = packes->operator_id;
- productData.remark = packes->remark;
- if(database.insertProduct(productData)){
- qDebug()<<"product数据库添加成功";
- return;
- }
- qDebug()<<"product数据库添加失败";
- }
- //将打包数据转换为json数据
- QJsonObject AutoPackForm::toJson(QSharedPointer<PackInfo> &info)
- {
- QJsonObject json;
- QJsonObject detailsjson;
- QJsonArray jsonarray;
- // for(int i = 0;i<info->boxes().size();i++){
- // detailsjson.insert("case_number",info->boxes().at(i)->caseNumber());
- // detailsjson.insert("box_weight",info->boxes().at(i)->box_weight);
- // detailsjson.insert("tube_number",info->boxes().at(i)->tube_number);
- // detailsjson.insert("bucket_weight",info->boxes().at(i)->bucket_weight);
- // detailsjson.insert("gross_weight",info->boxes().at(i)->gross_weight);
- // detailsjson.insert("net_weight",info->boxes().at(i)->net_weight);
- // detailsjson.insert("box_weight",info->boxes().at(i)->box_weight);
- // detailsjson.insert("sort",info->boxes().at(i)->sort);
- // detailsjson.insert("remark",info->boxes().at(i)->remark);
- // jsonarray.append(detailsjson);
- // }
- // json.insert("goods_id",packes->goodsID());
- // json.insert("code_single",info->codeSingle());
- // json.insert("quantity",info->quantity);
- // json.insert("level_id",info->level_id);
- // json.insert("tube_number",info->tube_number());
- // json.insert("gross_weight",info->gross_weight());
- // json.insert("net_weight",info->net_weight());
- // json.insert("machine_no",info->machine_no);
- // json.insert("packing_time",info->packing_time);
- // json.insert("packing_type",info->packing_type);
- // json.insert("carton_type",info->carton_type);
- // json.insert("operator",info->operator_id);
- // json.insert("details",jsonarray);
- // json.insert("remark",info->remark);
- for(int i = 0;i<1;i++){
- detailsjson.insert("case_number","11234123");
- detailsjson.insert("box_weight","123");
- detailsjson.insert("tube_number","12");
- detailsjson.insert("bucket_weight","23");
- detailsjson.insert("gross_weight","412");
- detailsjson.insert("net_weight","312");
- detailsjson.insert("box_weight","12");
- detailsjson.insert("sort","32");
- detailsjson.insert("remark","23");
- jsonarray.append(detailsjson);
- }
- json.insert("goods_id","115");
- json.insert("code_single","232");
- json.insert("quantity","23");
- json.insert("level_id","412");
- json.insert("tube_number","134");
- json.insert("gross_weight","1234");
- json.insert("net_weight","1242");
- json.insert("machine_no","2341");
- json.insert("packing_time","134");
- json.insert("packing_type","1234");
- json.insert("carton_type","1234");
- json.insert("operator","1001");
- json.insert("details",jsonarray);
- json.insert("remark","1");
- return json;
- }
|