error %!s(int64=6) %!d(string=hai) anos
pai
achega
996e67a50f

+ 0 - 4
JxcClient.pro

@@ -22,7 +22,6 @@ SOURCES += \
     globalinfo.cpp \
     handle/printer/boxtemlateone.cpp \
     handle/printer/code39.cpp \
-    handle/danjumuban.cpp \
     handle/httprequest.cpp \
     handle/printerthreadhandle.cpp \
     handle/seriport/logserialport.cpp \
@@ -53,7 +52,6 @@ HEADERS += \
     globalinfo.h \
     handle/printer/boxtemlateone.h \
     handle/printer/code39.h \
-    handle/danjumuban.h \
     handle/httprequest.h \
     handle/packinfomanger.h \
     handle/packinfoseed2server.h \
@@ -95,5 +93,3 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
 
 RESOURCES += \
     images.qrc
-
-include($$PWD/pqQtlib/pqQtlib.pri)

+ 3 - 3
configinfo.cpp

@@ -3,11 +3,11 @@
 ConfigInfo::ConfigInfo()
 {
     //TODO: 小宋,给每个成员设置默认值
-    baseUrl = "";
+    baseUrl = "http://erp.itwsw.cn/api";
     packId = 0;
     printerName = "";
-    portName = "";
-    portBaudRate = "";
+    portName = "COM1";
+    portBaudRate = "9600";
     portType = 0;
     savePrinter = true;
 }

+ 1 - 1
globalinfo.h

@@ -79,7 +79,7 @@ private:
 private:
     PackInfoManger * packmanger;
     PrinterThreadHandle * _printer;
-    SerialThreadHandle * _serial;
+    SerialThreadHandle * _serial;//t
     RemotePackConfig * _remoteConfig;
     ProjectInfoManger * _projectmanger;
 };

+ 0 - 262
handle/danjumuban.cpp

@@ -1,262 +0,0 @@
-#include "danjumuban.h"
-#include "QtPrintSupport"
-#include "QDateTime"
-#include "globalinfo.h"
-#include <QDir>
-#include "configinfo.h"
-#include <pqQtlib/utils/pqfileutils.h>
-#include <pqQtlib/log/pqlog.h>
-
-DanJuMuBan::DanJuMuBan()
-{
-    path = PQ::PQLogManger::this_()->getSaveFilePath();
-    QDir dir(path);
-    if(!dir.exists("xiangdan"))
-        dir.mkdir("xiangdan");
-    if(!dir.exists("rukudan"))
-        dir.mkdir("rukudan");
-    log = PQ::PQLogManger::this_()->getLog("printer");
-    save = true;
-}
-
-QImage DanJuMuBan::printBoxInfo(QString bar,QSharedPointer<BoxInfo> info)
-{
-    // TODO: 测试打印出来的单子
-//    if(datalist.isEmpty()){
-//        return;
-//    }
-//    QLogInfo(log) << "prnter " << bar<< "  " << info->caseNumber();
-    QSharedPointer<PackInfo> pinfo = info->parentPack();
-    if(pinfo.isNull()) return QImage();
-    QSize size(MAXWIDTH*5,MAXHEIGHT*5);
-    QImage image(size,QImage::Format_ARGB32);
-    image.fill(qRgba(255, 255, 255, 255));
-    QPainter painter(&image);
-    painter.drawRect(5*5,5*5,90*5,15*5);
-    painter.drawRect(5*5,20*5,90*5,35*5);
-    painter.drawLine(20*5,20*5,20*5,55*5);
-    painter.drawLine(50*5,20*5,50*5,55*5);
-    painter.drawLine(66*5,20*5,66*5,55*5);
-    painter.drawLine(5*5,27*5,95*5,27*5);
-    painter.drawLine(5*5,34*5,95*5,34*5);
-    painter.drawLine(5*5,41*5,95*5,41*5);
-    painter.drawLine(5*5,48*5,95*5,48*5);
-    painter.drawRect(5*5,55*5,90*5,15*5);
-    painter.drawRect(5*5,70*5,90*5,7*5);
-
-    QRect target(0*5, 57*5, 100*5, 65*5);
-//    QRect source(-10*5, 0, 65*5, 40*5);
-    barCode.draw(painter,target,bar);
-//    painter.drawImage(target,barCode.draw(barCode.CodeBinary(bar),bar),source);
-
-    painter.setRenderHint(QPainter::Antialiasing,true);
-    painter.setRenderHint(QPainter::TextAntialiasing,true);
-    painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
-    QFont font;
-    font.setFamily("宋体");
-    font.setPixelSize(40);
-    font.setWeight(QFont::ExtraLight);
-    painter.setFont(font);
-    painter.drawText(6*5,15*5,pinfo->info()->customer);
-    qDebug()<< "公司名称:" <<pinfo->info()->customer;
-
-    font.setPixelSize(20);
-    font.setBold(true);
-    painter.setFont(font);
-    painter.drawText(8*5,25*5,QStringLiteral("品名"));
-    painter.drawText(53*5,25*5,QStringLiteral("毛重"));
-    painter.drawText(8*5,32*5,QStringLiteral("批号"));
-    painter.drawText(53*5,32*5,QStringLiteral("净重"));
-    painter.drawText(8*5,39*5,QStringLiteral("规格"));
-    painter.drawText(53*5,39*5,QStringLiteral("筒数"));
-    painter.drawText(8*5,46*5,QStringLiteral("等级"));
-    painter.drawText(53*5,46*5,QStringLiteral("捻向"));
-    painter.drawText(8*5,53*5,QStringLiteral("箱号"));
-    painter.drawText(50*5,53*5,QStringLiteral("纸管颜色"));
-
-    painter.drawText(21*5,25*5,pinfo->info()->product_type_code);
-    painter.drawText(21*5,32*5,pinfo->info()->batch_no);
-    painter.drawText(21*5,39*5,pinfo->info()->specs);
-    painter.drawText(67*5,25*5,QString("%1 kg").arg(getDecimalbit( info->gross_weight / 1000.00)));//datalist.at(0));
-
-    painter.drawText(67*5,32*5,QString("%1 kg").arg(getDecimalbit(info->net_weight / 1000.00)));//datalist.at(1));
-
-    painter.drawText(67*5,39*5,QString::number(info->tube_number));//datalist.at(2));
-    painter.drawText(21*5,46*5,info->Level);//datalist.at(3));
-    painter.drawText(67*5,46*5,info->twist_type);//datalist.at(4));
-    painter.drawText(67*5,53*5,info->bucket_color);//datalist.at(6));
-
-    font.setPixelSize(17);
-    painter.setFont(font);
-    painter.drawText(21*5,53*5,info->caseNumber());//datalist.at(5));
-
-
-    painter.drawText(4*5,75*5," 电话:"+ info->parentPack()->telephone);
-
-    print(image);
-
-    if(save)
-        image.save(path+"/xiangdan/code"+bar+".bmp");
-
-    return image;
-}
-
-void DanJuMuBan::printPackModel(QPainter & painter)
-{
-    painter.drawRect(4*5,4*5,92*5,68*5);
-
-//    painter.drawLine(50*5,0,50*5,80*5);
-//    painter.drawLine(4*5,16*5,96*5,16*5);
-//    painter.drawLine(4*5,22*5,96*5,22*5);
-//    painter.drawLine(4*5,28*5,96*5,28*5);
-//    painter.drawLine(4*5,34*5,96*5,34*5);
-//    painter.drawLine(4*5,40*5,96*5,40*5);
-//    painter.drawLine(4*5,46*5,96*5,46*5);
-//    painter.drawLine(4*5,52*5,96*5,52*5);
-//    painter.drawLine(4*5,58*5,96*5,58*5);
-//    painter.drawLine(4*5,65*5,96*5,65*5);
-
-    QFont font;
-    font.setFamily("宋体");
-    font.setPixelSize(30);
-    font.setWeight(QFont::ExtraLight);
-    painter.setFont(font);
-    painter.drawText(38*5,10*5,QStringLiteral("入 库 单"));
-
-
-    font.setPixelSize(20);
-    painter.setFont(font);
-    painter.drawText(8*5,15*5,QStringLiteral("规格:"));
-    painter.drawText(59*5,15*5,QStringLiteral("类型:"));
-    painter.drawText(8*5,21*5,QStringLiteral("批号:"));
-    painter.drawText(59*5,21*5,QStringLiteral("等级:"));
-
-    font.setPixelSize(15);
-    painter.setFont(font);
-
-    painter.drawText(8*5,64*5,QStringLiteral("总数"));
-    painter.drawText(38*5,64*5,QStringLiteral("总重量"));
-    painter.drawText(68*5,64*5,QStringLiteral("总筒数"));
-
-}
-
-QImage DanJuMuBan::printPackInfo(QString bar, QSharedPointer<PackInfo> info)
-{
-    QSize size(MAXWIDTH*5,MAXHEIGHT*5);
-    QImage image(size,QImage::Format_ARGB32);
-    image.fill(qRgba(255, 255, 255, 255));
-    QPainter painter(&image);
-    printPackModel(painter);
-
-    QFont font;
-    font.setPixelSize(15);
-    painter.setFont(font);
-    int boxSize =  info->boxes().size();
-    for(int i = 0; i < boxSize; ++i){
-        int line = i / 5;
-        int cloun = i % 5;
-        painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
-    }
-
-    QRect target(0*5, 67*5, 100*5, 75*5);
-    barCode.draw(painter,target,bar);
-    font.setPixelSize(20);
-    font.setFamily("黑体");
-
-    painter.setFont(font);
-    painter.drawText(19*5,15*5,info->info()->specs);//QStringLiteral("规格"));
-    painter.drawText(70*5,15*5,info->info()->category);//QStringLiteral("类型"));
-    painter.drawText(19*5,21*5,info->info()->batch_no);//QStringLiteral("批号"));
-    painter.drawText(70*5,21*5,info->level);//info.at(0));
-    for(int i = 0; i < boxSize; ++i)
-    {
-        QString code = getDecimalbit(info->boxes().at(i)->net_weight / 1000);
-        int line = i / 5;
-        int cloun = i % 5;
-        painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,code);
-    }
-
-    painter.drawText(15*5,64*5,QString::number(info->boxes().size()));
-    painter.drawText(48*5,64*5,QString("%1 kg").arg(getDecimalbit(info->net_weight() / 1000.00)));
-    painter.drawText(78*5,64*5,QString::number(info->tube_number()));
-
-        print(image);
-if(save)
-        image.save(path+"/rukudan/code"+bar+".bmp");
-
-    return image;
-}
-
-QImage DanJuMuBan::mapPrintPackInfo(QMap<QString, QString> product, QStringList details)
-{
-    QSize size(MAXWIDTH*5,MAXHEIGHT*5);
-    QImage image(size,QImage::Format_ARGB32);
-    image.fill(qRgba(255, 255, 255, 255));
-    QPainter painter(&image);
-    printPackModel(painter);
-
-    QFont font;
-    font.setPixelSize(15);
-    painter.setFont(font);
-    int boxSize =  details.size();
-    for(int i = 0; i < boxSize; ++i){
-        int line = i / 5;
-        int cloun = i % 5;
-        painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
-    }
-
-    QRect target(0*5, 67*5, 100*5, 75*5);
-    QString bar = product.value("code_single");
-    barCode.draw(painter,target,bar);
-    font.setPixelSize(20);
-    font.setFamily("黑体");
-
-    painter.setFont(font);
-    painter.drawText(19*5,15*5,product.value("specs"));//QStringLiteral("规格"));
-    painter.drawText(70*5,15*5,product.value("category"));//QStringLiteral("类型"));
-    painter.drawText(19*5,21*5,product.value("batch_no"));//QStringLiteral("批号"));
-    painter.drawText(70*5,21*5,product.value("level_id"));//info.at(0));
-    for(int i = 0; i < boxSize; ++i)
-    {
-        int line = i / 5;
-        int cloun = i % 5;
-        painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,details.at(i));
-    }
-
-    painter.drawText(15*5,64*5,QString::number(details.size()));
-    painter.drawText(48*5,64*5,QString("%1 kg").arg(getDecimalbit(product.value("net_widget").toDouble() / 1000.00)));
-    painter.drawText(78*5,64*5,product.value("tube_number"));
-
-        print(image);
-if(save)
-        image.save(path+"/rukudan/code"+bar+".bmp");
-
-    return image;
-}
-
-void DanJuMuBan::print(QImage image)
-{
-    auto name = GlobalInfo::this_()->config()->printerName;
-    pqInfo(log) << "printer " << name;
-    QPrinter printer(QPrinterInfo::printerInfo(GlobalInfo::this_()->config()->printerName));
-    printer.setPageSize(QPrinter::Custom);
-    printer.setPageSizeMM(QSizeF(100,70));
-
-//        printer.setPrinterName();
-    QPainter painter(&printer);                         // 创建一个QPainter对象,并指定绘图设备为一个QPainter对象
-    QRect rect =painter.viewport();                     // 获得QPainter对象的视图矩形区域
-    QSize size(image.width(),image.height());                            // 获得图像的大小
-    /* 按照图形的比例大小重新设置视图矩形区域 */
-    size.scale(rect.size(),Qt::KeepAspectRatio);
-    painter.setViewport(rect.x(),rect.y(),size.width()+50,size.height());
-//        painter.setViewport(rect.x(),rect.y(),size.width(),size.height());
-    painter.setWindow(image.rect());                      // 设置QPainter窗口大小为图像的大小
-    painter.drawImage(0,0,image);                         // 打印图像
-    painter.end();
-    auto ed = printer.newPage();
-    pqInfo(log) << "printer  newPage:" << ed;
-//        printer
-//    }
-}
-
-

+ 0 - 50
handle/danjumuban.h

@@ -1,50 +0,0 @@
-#ifndef DANJUMUBAN_H
-#define DANJUMUBAN_H
-
-#include <QObject>
-#include <QPainter>
-#include <QtPrintSupport>
-#include "code39.h"
-#include <QList>
-#include "QPrintDialog"
-#include "struct_/packinfo.h"
-#include <pqQtlib/log/pqlog.h>
-//TODO:小宋,实现迁移走,然后删除掉
-class DanJuMuBan
-{
-public:
-    DanJuMuBan();
-    //箱单
-    QImage printBoxInfo(QString bar,QSharedPointer<BoxInfo> info);//QList<QString> datalist,const QString company);
-    // 码单
-    QImage printPackInfo(QString bar, QSharedPointer<PackInfo> info);
-    void printPackModel(QPainter & painter);
-    QImage mapPrintPackInfo(QMap<QString,QString> product,QStringList details);
-    void print(QImage image);
-//    void mapPrintBoxInfo();
-private:
-    int MAXWIDTH=100;
-    int MAXHEIGHT=80;
-    int FONTHEIGHT=10;
-    Code39 barCode;
-//    QString pinming;
-//    QString maozhong;
-//    QString pihao;
-//    QString jingzhong;
-//    QString guige;
-//    QString tongshu;
-//    QString dengji;
-//    QString nianxiang;
-//    QString xianghao;
-//    QString guanse;
-    QString path;
-//    QDateTime datetime;
-
-//    QString company = "南通市华安袜业有限公司";
-//    QString telephone = "0513-88249588";
-//    QString fax = "0513-88249589";
-    PQ::PQLog * log;
-    bool save;
-};
-
-#endif // DANJUMUBAN_H

+ 1 - 0
handle/httprequest.cpp

@@ -4,6 +4,7 @@
 #include <QNetworkReply>
 #include <pqQtlib/transport/pqhttpformdata.h>
 
+
 HttpRequest::HttpRequest(QObject *parent) : QObject(parent)
 {
     connect(&_manager, &QNetworkAccessManager::finished, this, &HttpRequest::finishRequest);

+ 1 - 0
handle/packinfoseed2server.cpp

@@ -27,6 +27,7 @@ void PackInfoSeed2Server::doSend()
         _current = _queue.first();
         //docs: http://doc.vanlai.net:3001/web/#/1?page_id=64
         QString url = GlobalInfo::this_()->config()->baseUrl+"/v1/product/pending";
+        _requst.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
         _requst.post(url,_current->toObject());
     }
 }

+ 156 - 0
handle/printer/boxtemlateone.cpp

@@ -9,6 +9,85 @@ QImage BoxTemlateOne::doPrinter(QSharedPointer<BoxInfo> box)
 {
     //TODO: 小宋,迁移打印 箱单的逻辑
 
+    // TODO: 测试打印出来的单子
+//    if(datalist.isEmpty()){
+//        return;
+//    }
+//    QLogInfo(log) << "prnter " << bar<< "  " << info->caseNumber();
+    QSharedPointer<PackInfo> pinfo = box->parentPack();
+    if(pinfo.isNull()) return QImage();
+    QSize size(MAXHEIGHT*5,MAXWIDTH*5);
+    QImage image(size,QImage::Format_ARGB32);
+    image.fill(qRgba(255, 255, 255, 255));
+    QPainter painter(&image);
+    painter.drawRect(5*5,5*5,90*5,15*5);
+    painter.drawRect(5*5,20*5,90*5,35*5);
+    painter.drawLine(20*5,20*5,20*5,55*5);
+    painter.drawLine(50*5,20*5,50*5,55*5);
+    painter.drawLine(66*5,20*5,66*5,55*5);
+    painter.drawLine(5*5,27*5,95*5,27*5);
+    painter.drawLine(5*5,34*5,95*5,34*5);
+    painter.drawLine(5*5,41*5,95*5,41*5);
+    painter.drawLine(5*5,48*5,95*5,48*5);
+    painter.drawRect(5*5,55*5,90*5,15*5);
+    painter.drawRect(5*5,70*5,90*5,7*5);
+
+    QRect target(0*5, 57*5, 100*5, 65*5);
+//    QRect source(-10*5, 0, 65*5, 40*5);
+//    barCode.draw(painter,target,bar);
+//    painter.drawImage(target,barCode.draw(barCode.CodeBinary(bar),bar),source);
+
+    painter.setRenderHint(QPainter::Antialiasing,true);
+    painter.setRenderHint(QPainter::TextAntialiasing,true);
+    painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
+    QFont font;
+    font.setFamily("宋体");
+    font.setPixelSize(40);
+    font.setWeight(QFont::ExtraLight);
+    painter.setFont(font);
+    painter.drawText(6*5,15*5,pinfo->info()->customer);
+    qDebug()<< "公司名称:" <<pinfo->info()->customer;
+
+    font.setPixelSize(20);
+    font.setBold(true);
+    painter.setFont(font);
+    painter.drawText(8*5,25*5,QStringLiteral("品名"));
+    painter.drawText(53*5,25*5,QStringLiteral("毛重"));
+    painter.drawText(8*5,32*5,QStringLiteral("批号"));
+    painter.drawText(53*5,32*5,QStringLiteral("净重"));
+    painter.drawText(8*5,39*5,QStringLiteral("规格"));
+    painter.drawText(53*5,39*5,QStringLiteral("筒数"));
+    painter.drawText(8*5,46*5,QStringLiteral("等级"));
+    painter.drawText(53*5,46*5,QStringLiteral("捻向"));
+    painter.drawText(8*5,53*5,QStringLiteral("箱号"));
+    painter.drawText(50*5,53*5,QStringLiteral("纸管颜色"));
+
+    painter.drawText(21*5,25*5,pinfo->info()->product_type_code);
+    painter.drawText(21*5,32*5,pinfo->info()->batch_no);
+    painter.drawText(21*5,39*5,pinfo->info()->specs);
+    painter.drawText(67*5,25*5,QString("%1 kg").arg(getDecimalbit( box->gross_weight / 1000.00)));//datalist.at(0));
+
+    painter.drawText(67*5,32*5,QString("%1 kg").arg(getDecimalbit(box->net_weight / 1000.00)));//datalist.at(1));
+
+    painter.drawText(67*5,39*5,QString::number(box->tube_number));//datalist.at(2));
+    painter.drawText(21*5,46*5,box->Level);//datalist.at(3));
+    painter.drawText(67*5,46*5,box->twist_type);//datalist.at(4));
+    painter.drawText(67*5,53*5,box->bucket_color);//datalist.at(6));
+
+    font.setPixelSize(17);
+    painter.setFont(font);
+    painter.drawText(21*5,53*5,box->caseNumber());//datalist.at(5));
+
+
+    painter.drawText(4*5,75*5," 电话:"+ box->parentPack()->telephone);
+
+//    print(image);
+
+//    if(save)
+//        image.save(path+"/xiangdan/code"+bar+".bmp");
+
+    return image;
+
 //    return img;
 }
 
@@ -24,6 +103,83 @@ PackTemlateOne::PackTemlateOne()
 QImage PackTemlateOne::doPrinter(QSharedPointer<PackInfo> pack)
 {
     //TODO: 小宋,迁移打印 码单的逻辑
+
+    QSize size(MAXHEIGHT*5,MAXWIDTH*5);
+    QImage image(size,QImage::Format_ARGB32);
+    image.fill(qRgba(255, 255, 255, 255));
+    QPainter painter(&image);
+    painter.drawRect(4*5,4*5,92*5,68*5);
+
+//    painter.drawLine(50*5,0,50*5,80*5);
+//    painter.drawLine(4*5,16*5,96*5,16*5);
+//    painter.drawLine(4*5,22*5,96*5,22*5);
+//    painter.drawLine(4*5,28*5,96*5,28*5);
+//    painter.drawLine(4*5,34*5,96*5,34*5);
+//    painter.drawLine(4*5,40*5,96*5,40*5);
+//    painter.drawLine(4*5,46*5,96*5,46*5);
+//    painter.drawLine(4*5,52*5,96*5,52*5);
+//    painter.drawLine(4*5,58*5,96*5,58*5);
+//    painter.drawLine(4*5,65*5,96*5,65*5);
+
+    QFont font;
+    font.setFamily("宋体");
+    font.setPixelSize(30);
+    font.setWeight(QFont::ExtraLight);
+    painter.setFont(font);
+    painter.drawText(38*5,10*5,QStringLiteral("入 库 单"));
+
+
+    font.setPixelSize(20);
+    painter.setFont(font);
+    painter.drawText(8*5,15*5,QStringLiteral("规格:"));
+    painter.drawText(59*5,15*5,QStringLiteral("类型:"));
+    painter.drawText(8*5,21*5,QStringLiteral("批号:"));
+    painter.drawText(59*5,21*5,QStringLiteral("等级:"));
+
+    font.setPixelSize(15);
+    painter.setFont(font);
+
+    painter.drawText(8*5,64*5,QStringLiteral("总数"));
+    painter.drawText(38*5,64*5,QStringLiteral("总重量"));
+    painter.drawText(68*5,64*5,QStringLiteral("总筒数"));
+
+//    QFont font;
+    font.setPixelSize(15);
+    painter.setFont(font);
+    int boxSize =  pack->boxes().size();
+    for(int i = 0; i < boxSize; ++i){
+        int line = i / 5;
+        int cloun = i % 5;
+        painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
+    }
+
+    QRect target(0*5, 67*5, 100*5, 75*5);
+//    barCode.draw(painter,target,bar);
+    font.setPixelSize(20);
+    font.setFamily("黑体");
+
+    painter.setFont(font);
+    painter.drawText(19*5,15*5,pack->info()->specs);//QStringLiteral("规格"));
+    painter.drawText(70*5,15*5,pack->info()->category);//QStringLiteral("类型"));
+    painter.drawText(19*5,21*5,pack->info()->batch_no);//QStringLiteral("批号"));
+    painter.drawText(70*5,21*5,pack->level);//info.at(0));
+    for(int i = 0; i < boxSize; ++i)
+    {
+        QString code = getDecimalbit(pack->boxes().at(i)->net_weight / 1000);
+        int line = i / 5;
+        int cloun = i % 5;
+        painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,code);
+    }
+
+    painter.drawText(15*5,64*5,QString::number(pack->boxes().size()));
+    painter.drawText(48*5,64*5,QString("%1 kg").arg(getDecimalbit(pack->net_weight() / 1000.00)));
+    painter.drawText(78*5,64*5,QString::number(pack->tube_number()));
+
+//        print(image);
+//if(save)
+//        image.save(path+"/rukudan/code"+bar+".bmp");
+
+    return image;
 }
 
 QSize PackTemlateOne::printSize()

+ 1 - 0
handle/printer/boxtemlateone.h

@@ -2,6 +2,7 @@
 #define BOXTEMLATEONE_H
 
 #include "baseboxprinter.h"
+#include "globalinfo.h"
 
 class BoxTemlateOne : public BaseBoxPrinter
 {

+ 1 - 1
handle/printerthreadhandle.cpp

@@ -10,7 +10,7 @@ void PrinterThreadHandle::updateConfig()
 {
     if(manger == nullptr) return;
     auto config = GlobalInfo::this_()->config();
-    manger->setPrinterName(config->printerName);
+    manger->setPrinterName(config->printerName);//t
 }
 
 void PrinterThreadHandle::start()

+ 5 - 1
handle/projectinfomanger.cpp

@@ -46,8 +46,10 @@ bool ProjectInfoManger::syncLocalList()
 
 void ProjectInfoManger::doSendLoad()
 {
+    _status = Load_Server_List;
     // docs: http://doc.vanlai.net:3001/web/#/1?page_id=60
-    QString url = GlobalInfo::this_()->config()->baseUrl+"v1/goods/list";
+    QString url = GlobalInfo::this_()->config()->baseUrl+"/v1/goods/list?page=0&limit=10000";
+    _requst.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
     _requst.get(url);
 }
 
@@ -60,6 +62,7 @@ void ProjectInfoManger::doSendCreate()
         // docs: http://doc.vanlai.net:3001/web/#/1?page_id=59
 
         QString url = GlobalInfo::this_()->config()->baseUrl+"v1/goods/add";
+        _requst.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
         _requst.post(url,info->toObject());
     } else {
         _status = IDIL;
@@ -90,6 +93,7 @@ void ProjectInfoManger::handleList()
 
 void ProjectInfoManger::result(int code, const QJsonObject & body)
 {
+//    qDebug()<<body;
     switch (_status) {
     case Load_Server_List:
         handleGetList(code,body);

+ 1 - 1
handle/serialthreadhandle.cpp

@@ -1,7 +1,7 @@
 #include "serialthreadhandle.h"
 #include "globalinfo.h"
 
-SerialThreadHandle::SerialThreadHandle(QObject *parent) : QObject(parent),th(nullptr),port(nullptr)
+SerialThreadHandle::SerialThreadHandle(QObject *parent) : QObject(parent),th(nullptr)/*,port(nullptr)*/
 {
 
 }

+ 1 - 1
handle/serialthreadhandle.h

@@ -19,7 +19,7 @@ private slots:
     void updateConfig();
 private:
     QThread * th;
-    RtuPort * port;
+    RtuPort * port;//t
 };
 
 #endif // SERIALTHREADHANDLE_H

+ 31 - 22
mainwindow.cpp

@@ -8,21 +8,21 @@ MainWindow::MainWindow(QWidget *parent)
 {
     ui->setupUi(this);
     connect(ui->widgetLogin,&LoginForm::loginFinish,this,&MainWindow::backMenu);
-    connect(ui->pageSelectValue,&SelectValueForm::back,this,&MainWindow::backMenu);
-//    connect(ui->pageAutoPack,&AutoPackForm::back,this,&MainWindow::backMenu);
-    connect(ui->pagePackDetail,&PackDetailForm::back,this,&MainWindow::backMenu);
-    connect(ui->pageSettings,&SettingsForm::back,this,&MainWindow::backMenu);
-    connect(ui->pageDingZhong,&FixedWeightPackForm::back,this,&MainWindow::backMenu);
-    connect(ui->pageBuDing,&UncertainWeightPackForm::back,this,&MainWindow::backMenu);
+//    connect(ui->pageSelectValue,&SelectValueForm::back,this,&MainWindow::FixedAndUncertain);
+////    connect(ui->pageAutoPack,&AutoPackForm::back,this,&MainWindow::backMenu);
+//    connect(ui->pagePackDetail,&PackDetailForm::back,this,&MainWindow::backMenu);
+//    connect(ui->pageSettings,&SettingsForm::back,this,&MainWindow::backMenu);
+//    connect(ui->pageDingZhong,&FixedWeightPackForm::back,this,&MainWindow::backMenu);
+//    connect(ui->pageBuDing,&UncertainWeightPackForm::back,this,&MainWindow::backMenu);
 
-    connect(ui->pageSelectValue,&SelectValueForm::selectProject,this,&MainWindow::pageStatusChange);
+    connect(ui->pageSelectValue,&SelectValueForm::selectProject,this,&MainWindow::FixedAndUncertain);
     ui->stackedWidget->setCurrentWidget(ui->pageLogin);
-//    connect(ui->pageAutoPack,&AutoPackForm::djmbbox,this,&MainWindow::changedjmb);
-    connect(ui->widgetLogin,&LoginForm::SettingsClicked,this,&MainWindow::changeToSettings);
-//    connect(ui->actionQuanping,&QAction::trigger,[this](){this->showFullScreen();});
-    connect(ui->actionMax,&QAction::trigger,[this](){this->showMaximized();});
-    ui->checkBox->hide();
-    ui->dingzhongButton->setChecked(true);
+////    connect(ui->pageAutoPack,&AutoPackForm::djmbbox,this,&MainWindow::changedjmb);
+//    connect(ui->widgetLogin,&LoginForm::SettingsClicked,this,&MainWindow::changeToSettings);
+////    connect(ui->actionQuanping,&QAction::trigger,[this](){this->showFullScreen();});
+//    connect(ui->actionMax,&QAction::trigger,[this](){this->showMaximized();});
+//    ui->checkBox->hide();
+//    qint64 time;
 }
 
 MainWindow::~MainWindow()
@@ -32,23 +32,23 @@ MainWindow::~MainWindow()
 
 void MainWindow::on_pushDingZHong_clicked()
 {
-    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
-    ui->pageSelectValue->getInfo(1,20);
-    ui->pageSelectValue->setStatus(2);
+//    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
+//    ui->pageSelectValue->getInfo(1,20);
+//    ui->pageSelectValue->setStatus(2);
 }
 
 void MainWindow::on_pushBuDingZhong_clicked()
 {
-    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
-    ui->pageSelectValue->getInfo(1,20);
-    ui->pageSelectValue->setStatus(3);
+//    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
+//    ui->pageSelectValue->getInfo(1,20);
+//    ui->pageSelectValue->setStatus(3);
 }
 
 void MainWindow::on_pushAuto_clicked()
 {
-    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
-    ui->pageSelectValue->getInfo(1,20);
-    ui->pageSelectValue->setStatus(1);
+//    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
+//    ui->pageSelectValue->getInfo(1,20);
+//    ui->pageSelectValue->setStatus(1);
 }
 
 void MainWindow::on_pushList_clicked()
@@ -72,6 +72,15 @@ void MainWindow::changeToSettings()
 
 void MainWindow::backMenu()
 {
+    ui->stackedWidget->setCurrentWidget(ui->pageSelectValue);
+}
+
+void MainWindow::FixedAndUncertain(QString batchno)
+{
+    qDebug()<<batchno;
+    ui->stackedWidget->setCurrentWidget(ui->pageAutoPack);
+    ui->dingzhongButton->setChecked(true);
+    ui->dingzhong->init();
 }
 
 void MainWindow::changedjmb(QImage image)

+ 4 - 2
mainwindow.h

@@ -3,7 +3,8 @@
 
 #include <QMainWindow>
 #include "configinfo.h"
-#include "handle/rtuport.h"
+//#include "handle/seriport/rtuport.h"
+#include "struct_/projectinfo.h"
 
 QT_BEGIN_NAMESPACE
 namespace Ui { class MainWindow; }
@@ -37,7 +38,8 @@ private:
     void pageStatusChange(const ProjectInfo & info, int status);
     void changedjmb(QImage image);
     void changeToSettings();
-    RtuPort rtuport;
+    void FixedAndUncertain(QString batchno);
+//    RtuPort rtuport;
 
 private:
     Ui::MainWindow *ui;

+ 1 - 1
widget/addnewspecsform.ui

@@ -35,7 +35,7 @@
            </font>
           </property>
           <property name="text">
-           <string>新建信息</string>
+           <string>新建批号</string>
           </property>
          </widget>
         </item>

+ 41 - 38
widget/fixedweightpackform.cpp

@@ -12,8 +12,8 @@ FixedWeightPackForm::FixedWeightPackForm(QWidget *parent) :
     QTimer *timer = new QTimer(this);
     connect(timer,&QTimer::timeout,this,&FixedWeightPackForm::calcData);
     timer->start(500);
-    connect(&packConfig,&RemotePackConfig::configUpdate,this,&FixedWeightPackForm::upconfig);
-    connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&FixedWeightPackForm::upDengjiInfo);
+    connect(glo,&GlobalInfo::dbConfigUpdated,this,&FixedWeightPackForm::upconfig);
+//    connect(&packConfig,&RemotePackConfig::dengJIConfigUp,this,&FixedWeightPackForm::upDengjiInfo);
     auto dt = CacheFile::readFile("dingzhongInfo.cache");
     auto list = QString::fromUtf8(dt).split("[,]");
     if(list.size() == 2){
@@ -21,7 +21,7 @@ FixedWeightPackForm::FixedWeightPackForm(QWidget *parent) :
         ui->taiPhone->setText(list.at(1));
     }
     ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
-//    ui->pushStart->hide();
+    ui->pushStart->hide();
 }
 
 FixedWeightPackForm::~FixedWeightPackForm()
@@ -66,14 +66,14 @@ void FixedWeightPackForm::on_addPackList_clicked()
         packinfo->telephone = ui->taiPhone->text();
     }
 
+    packServer->send(packinfo);
 
+//    //把数据添加到数据库里
+//    aputils.insertProductSQL(packinfo);
+//    //TODO: 缓存箱单数据,页面显示情空
 
-    //把数据添加到数据库里
-    aputils.insertProductSQL(packinfo);
-    //TODO: 缓存箱单数据,页面显示情空
-
-    //发送码单 packinfo 数据, 转换为 json数据发送
-    aputils.doSend(aputils.toJson(packinfo));
+//    //发送码单 packinfo 数据, 转换为 json数据发送
+//    aputils.doSend(aputils.toJson(packinfo));
     //TODO: 初始化码单信息
     packinfo.clear();
 }
@@ -126,7 +126,7 @@ void FixedWeightPackForm::on_addBoxList_clicked()
     packinfo->addBoxInfoList(box);
 
     //添加数据库
-    aputils.insertDetailsSQL(box,packinfo->codeSingle());
+//    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));
@@ -139,7 +139,7 @@ void FixedWeightPackForm::setTableWidget()
         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;
+        packinfo->packing_type = _info->category;
         ui->tableWidget->clearContents();
         ui->tableWidget->setRowCount(0);
         ui->tableWidget->setColumnWidth(0,20);
@@ -180,24 +180,26 @@ void FixedWeightPackForm::addTableWidget(QSharedPointer<BoxInfo> box)
 
 void FixedWeightPackForm::init()
 {
-    ui->pushStart->setChecked(false);
-    ui->addBoxList->setDisabled(true);
-    ui->addPackList->setDisabled(true);
-    ui->pushPiLiang->setDisabled(true);
-    ui->widget_2->setEnabled(true);
-    packConfig.refConfig();
+//    ui->pushStart->setChecked(false);
+//    ui->addBoxList->setDisabled(true);
+//    ui->addPackList->setDisabled(true);
+//    ui->pushPiLiang->setDisabled(true);
+//    ui->widget_2->setEnabled(true);
+
     ui->comboBox->clear();
     for(int i = 1;i<=20;i++){
         ui->comboBox->addItem(QString::number(i));
     }
     ui->comboBox->setCurrentText("20");
-    specs.getInfo(0,20);
-    setTableWidget();//检查packinfo isNull
+//    specs.getInfo(0,20);
+//    setTableWidget();//检查packinfo isNull
 }
 
-void FixedWeightPackForm::upconfig(const DaBaoConfig &config)
+void FixedWeightPackForm::upconfig()
 {
 
+    DaBaoConfig config = glo->dbConfig();
+
     //机台
     ui->jitai->clear();
     ui->jitai->addItems(config.jitai);
@@ -231,13 +233,14 @@ void FixedWeightPackForm::upconfig(const DaBaoConfig &config)
     }
 
     //设置选择打包界面的数据为首个;
-    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);
+//    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 FixedWeightPackForm::upDengjiInfo(const QList<DengJiConfigItem> & dengJis)
+void FixedWeightPackForm::upDengjiInfo()
 {
+    QList<DengJiConfigItem> dengJis = glo->dengJiList();
     ui->dengji->clear();
     for(int i = 0;i<dengJis.size();i++){
         if(!dengJis.at(i).isEnable){
@@ -260,29 +263,29 @@ void FixedWeightPackForm::on_pushPiLiang_clicked()
 //获取品目信息
 void FixedWeightPackForm::on_searchButton_clicked()
 {
-    specs.getInfo(0,20);
+//    specs.getInfo(0,20);
 }
 
 void FixedWeightPackForm::changeSpecs()
 {
     ui->tableWidget_2->clearContents();
     ui->tableWidget_2->setRowCount(0);
-    for(int i = 0; i < specs.currtInfo.size(); ++i){
-        auto & v = specs.currtInfo.at(i);
-        ui->tableWidget_2->insertRow(i);
-        auto xuanze_btn =  new QRadioButton();
-        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
-        ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
-        ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
-        ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
-        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v.batch_no));
-        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v.color));
-    }
+//    for(int i = 0; i < specs.currtInfo.size(); ++i){
+//        auto & v = specs.currtInfo.at(i);
+//        ui->tableWidget_2->insertRow(i);
+//        auto xuanze_btn =  new QRadioButton();
+//        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
+//        ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
+//        ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
+//        ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
+//        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v.batch_no));
+//        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v.color));
+//    }
 }
 
 void FixedWeightPackForm::xuanZe_clicked(int row)
 {
-    setProInfo(specs.currtInfo.at(row));
+//    setProInfo(specs.currtInfo.at(row));
     packConfig.refConfig();
 }
 

+ 11 - 7
widget/fixedweightpackform.h

@@ -3,9 +3,9 @@
 
 #include <QWidget>
 #include "handle/remotepackconfig.h"
-//#include "httprequestid.h"
-#include "handle/danjumuban.h"
 #include "QTimer"
+#include "globalinfo.h"
+#include "handle/packinfoseed2server.h"
 
 namespace Ui {
 class FixedWeightPackForm;
@@ -19,7 +19,7 @@ public:
     explicit FixedWeightPackForm(QWidget *parent = nullptr);
     ~FixedWeightPackForm();
 
-    inline void setProInfo(const ProjectInfo & info){_info = info;}
+    inline void setProInfo(const QSharedPointer<ProjectInfo> & info){_info = info;}
 
 private slots:
     void on_pushBack_clicked();
@@ -37,8 +37,8 @@ private slots:
     void on_searchButton_clicked();
 
 public slots:
-    void upconfig(const DaBaoConfig & config);
-    void upDengjiInfo(const QList<DengJiConfigItem> & dengJis);
+    void upconfig(/*const DaBaoConfig & config*/);
+    void upDengjiInfo(/*const QList<DengJiConfigItem> & dengJis*/);
     void init();
     void changeSpecs();
     void xuanZe_clicked(int row);
@@ -54,12 +54,16 @@ signals:
 
 private:
     Ui::FixedWeightPackForm *ui;
-    ProjectInfo _info;
+    QSharedPointer<ProjectInfo> _info;
     QSharedPointer<PackInfo> packinfo;
     QMap<QString,DengJiConfigItem> dengjiMap;// <name,详细信息>
     RemotePackConfig packConfig;
     HttpRequest _request;
-    DanJuMuBan djmb;
+
+    GlobalInfo * glo = GlobalInfo::this_();
+    PackInfoSeed2Server *packServer;
+
+
     double netNum = 0.00;
     int row;
 };

+ 11 - 9
widget/loginform.cpp

@@ -32,17 +32,17 @@ LoginForm::~LoginForm()
 void LoginForm::on_pushLogin_clicked()
 {
 
-    QFileInfo fileInfo(QCoreApplication::applicationDirPath() + "/Config.ini");
-    if(!fileInfo.exists()){
-        qDebug()<<"配置文件不存在";
-        QMessageBox::information(this,"注意","请设置配置");
-        return;
-    }
+//    QFileInfo fileInfo(QCoreApplication::applicationDirPath() + "/Config.ini");
+//    if(!fileInfo.exists()){
+//        qDebug()<<"配置文件不存在";
+//        QMessageBox::information(this,"注意","请设置配置");
+//        return;
+//    }
 
     auto glo = GlobalInfo::this_();
     auto uname = this->ui->lineUser->text();
     auto upass = this->ui->linePass->text();
-    auto url = glo->config().baseUrl+"/v1/signin";
+    auto url = glo->config()->baseUrl+"/v1/signin";
     QMap<QString,QString> params;
     params.insert("password",upass);
     params.insert("username",uname);
@@ -101,6 +101,7 @@ void LoginForm::result(int code, const QJsonObject & body)
     user.isVip = data["is_vip"].toInt(-1) == 1 ? true : false;
     user.acessToken = data["access_token"].toString();
 //    GlobalInfo::this_()->setUser(user);
+    GlobalInfo::this_()->start(user,false);
     emit loginFinish();
 }
 
@@ -127,7 +128,8 @@ void LoginForm::on_pushButton_clicked()
         QMessageBox::warning(this,tr("请先成功登陆一次!"),tr("请先成功登陆一次!"));
         return;
     }
-    GlobalInfo::this_()->isNoLine = true;
-    GlobalInfo::this_()->setUser(user);
+//    GlobalInfo::this_()->isNoLine = true;
+//    GlobalInfo::this_()->setUser(user);
+    GlobalInfo::this_()->start(user,true);
      emit loginFinish();
 }

+ 8 - 8
widget/packdetailform.cpp

@@ -1,6 +1,6 @@
 #include "packdetailform.h"
 #include "ui_packdetailform.h"
-#include "packinfo.h"
+#include "struct_/packinfo.h"
 #include <pqQtlib/utils/pqfileutils.h>
 
 PackDetailForm::PackDetailForm(QWidget *parent) :
@@ -90,7 +90,7 @@ void PackDetailForm::changeTreeWidget(QList<QMap<QString,QString>> productList)
             ui->treeWidget->setItemWidget(item,8,code_single_btn);
             ui->treeWidget->setItemWidget(item,9,case_nember_btn);
 
-            details = database.GetValues("details",detailSqlList," where code_single = "+product.at(i).value("code_single"));
+//            details = database.GetValues("details",detailSqlList," where code_single = "+product.at(i).value("code_single"));
 
 /*************************子项目****************************/
             //treewidget子项目标题
@@ -127,8 +127,8 @@ void PackDetailForm::tongbu_clicked(QTreeWidgetItem * item,int row)
         return;
     }
     QString condition = " where code_single="+product.at(row).value("code_single");
-    details = database.GetValues("details",detailSqlList,condition);
-    autoPack.doSend(autoPack.toJsonMap(product.at(row),details));
+//    details = database.GetValues("details",detailSqlList,condition);
+//    autoPack.doSend(autoPack.toJsonMap(product.at(row),details));
     item->setText(0,"请刷新");
 }
 
@@ -138,7 +138,7 @@ void PackDetailForm::code_single_clicked(int row)
 //    QStringList list;
 //    list.append("net_weight");
     QString condition = " where code_single="+product.at(row).value("code_single");
-    djmb.mapPrintPackInfo(product.at(row),database.GetValuesList("details","net_weight",condition));
+//    djmb.mapPrintPackInfo(product.at(row),database.GetValuesList("details","net_weight",condition));
 }
 
 void PackDetailForm::case_number_clicked()
@@ -153,7 +153,7 @@ void PackDetailForm::on_prevoiusPage_clicked()
         return;
     }
     nowPageNum--;
-    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
+//    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
 }
 
 //下一页
@@ -163,7 +163,7 @@ void PackDetailForm::on_nextPage_clicked()
         return;
     }
     nowPageNum++;
-    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
+//    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
 }
 
 //跳转
@@ -178,7 +178,7 @@ void PackDetailForm::on_jump_clicked()
         return;
     }
     nowPageNum = ui->jumpPage->text().toInt()-1;
-    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
+//    changeTreeWidget(database.GetValues("product",productSqlList,"limit "+QString::number(nowPageNum*20)+",20"));
 }
 
 //用作product数据库要查询的字段

+ 42 - 30
widget/selectvalueform.cpp

@@ -1,6 +1,5 @@
 #include "selectvalueform.h"
 #include "ui_selectvalueform.h"
-#include "globalinfo.h"
 #include <QJsonArray>
 
 SelectValueForm::SelectValueForm(QWidget *parent) :
@@ -10,6 +9,8 @@ SelectValueForm::SelectValueForm(QWidget *parent) :
     ui->setupUi(this);
     connect(&_request,&HttpRequest::result,this,&SelectValueForm::result);
     ui->widget->hide();
+    nowPage = 0;
+    connect(glo,&GlobalInfo::doInited,this,&SelectValueForm::Start);
 }
 
 SelectValueForm::~SelectValueForm()
@@ -17,14 +18,17 @@ SelectValueForm::~SelectValueForm()
     delete ui;
 }
 
-void SelectValueForm::getInfo(int page, int pageListNum)
+void SelectValueForm::Start()
 {
-    nowPage = page;
-    this->pageListNum = pageListNum;
-    auto glo = GlobalInfo::this_();
-     auto url = glo->config().baseUrl + QString("/v1/goods/list?page=%1&limit=%2").arg(nowPage).arg(pageListNum);
-     _request.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
-     _request.get(url);
+    prolist = GlobalInfo::this_()->project().values();
+
+    if(prolist.isEmpty()){
+        return;
+    }
+    totleNum = prolist.size();
+    refPage(nowPage);
+    ui->labelTotle->setText(QString::number(totleNum));
+
 }
 
 void SelectValueForm::result(int code, const QJsonObject & body)
@@ -36,13 +40,13 @@ void SelectValueForm::result(int code, const QJsonObject & body)
         totleNum = 0;
         return;
     }
-    currtInfo.clear();
+//    currtInfo.clear();
     totleNum = body.value("total").toInt();
     QJsonArray ary = body.value("data").toArray();
     for(int i =0; i < ary.size(); ++i){
         parseObject(ary.at(i).toObject());
     }
-    refPage();
+//    refPage();
 }
 
 
@@ -78,58 +82,66 @@ void SelectValueForm::parseObject(const QJsonObject & obj)
     info.create_time = obj.value("create_time").toInt();
     info.modified_time = obj.value("modified_time").toInt();
 
-    currtInfo.append(info);
+//    currtInfo.append(info);
 
 }
 
-void SelectValueForm::refPage()
+void SelectValueForm::refPage(int page, int pageListNum)
 {
     ui->tableWidget->clearContents();
     ui->tableWidget->setRowCount(0);
-    for(int i = 0; i < currtInfo.size(); ++i){
-        auto & v = currtInfo.at(i);
+    for(int i = 0; i < pageListNum; ++i){
+        if(page*20+i>=prolist.size()){
+            break;
+        }
+        auto & v = prolist.at(page*20+i);
         ui->tableWidget->insertRow(i);
-        ui->tableWidget->setItem(i,0,new QTableWidgetItem(v.batch_no));
-        ui->tableWidget->setItem(i,1,new QTableWidgetItem(v.specs));
-        ui->tableWidget->setItem(i,2,new QTableWidgetItem(v.product_type_code));
-        ui->tableWidget->setItem(i,3,new QTableWidgetItem(v.category));
-        ui->tableWidget->setItem(i,4,new QTableWidgetItem(v.machine_no));
-        ui->tableWidget->setItem(i,5,new QTableWidgetItem(v.bucket_color));
-        ui->tableWidget->setItem(i,6,new QTableWidgetItem(v.twist_type));
-        ui->tableWidget->setItem(i,7,new QTableWidgetItem(v.color));
+        ui->tableWidget->setItem(i,0,new QTableWidgetItem(v->batch_no));
+        ui->tableWidget->setItem(i,1,new QTableWidgetItem(v->specs));
+        ui->tableWidget->setItem(i,2,new QTableWidgetItem(v->product_type_code));
+        ui->tableWidget->setItem(i,3,new QTableWidgetItem(v->category));
+        ui->tableWidget->setItem(i,4,new QTableWidgetItem(v->machine_no));
+        ui->tableWidget->setItem(i,5,new QTableWidgetItem(v->bucket_color));
+        ui->tableWidget->setItem(i,6,new QTableWidgetItem(v->twist_type));
+        ui->tableWidget->setItem(i,7,new QTableWidgetItem(v->color));
     }
-    this->ui->labelTotle->setText(QString::number(totleNum));
+
     totlePage = totleNum / pageListNum;
     if(totleNum % pageListNum > 0)
         totlePage ++;
-    this->ui->labelPages->setText(QString("%1/%2").arg(nowPage).arg(totlePage));
+    this->ui->labelPages->setText(QString("%1/%2").arg(nowPage+1).arg(totlePage));
 }
 
 void SelectValueForm::on_pushPrev_clicked()
 {
     if(nowPage > 0) {
         nowPage --;
-        getInfo(nowPage);
+        refPage(nowPage);
     }
+
 }
 
 void SelectValueForm::on_pushNext_clicked()
 {
-    if(nowPage < totlePage){
+    if(nowPage < totlePage-1){
         nowPage ++;
-        getInfo(nowPage);
+        refPage(nowPage);
     }
 }
 
 void SelectValueForm::on_pushButton_2_clicked()
 {
     int now = ui->tableWidget->currentRow();
-    if(now >=0 && now < currtInfo.size()){
-        emit selectProject(currtInfo.at(now),status);
-    }
+        emit selectProject(ui->tableWidget->itemAt(now,0)->text());
+
 }
 
 void SelectValueForm::on_pushButton_3_clicked()
 {
     emit back();
 }
+
+void SelectValueForm::on_searchButton_clicked()
+{
+    refPage(nowPage);
+}

+ 14 - 2
widget/selectvalueform.h

@@ -4,6 +4,7 @@
 #include <QWidget>
 #include "configinfo.h"
 #include "handle/httprequest.h"
+#include "globalinfo.h"
 
 namespace Ui {
 class SelectValueForm;
@@ -18,17 +19,24 @@ public:
     explicit SelectValueForm(QWidget *parent = nullptr);
     ~SelectValueForm();
 
-    void getInfo(int page, int pageListNum = 20);
+//    void getInfo(int page, int pageListNum = 20);
 
     inline void setStatus(int staus){status = staus;}
+
+
+public slots:
+    void Start();
+
+
 signals:
     void back();
+    void selectProject(QString batchno);
 
 
 private slots:
     void result(int code, const QJsonObject & body);
 
-    void refPage();
+    void refPage(int page, int pageListNum = 20);
 
     void parseObject(const QJsonObject & obj);
 
@@ -41,6 +49,8 @@ private slots:
     void on_pushButton_3_clicked();
 
 
+    void on_searchButton_clicked();
+
 private:
     Ui::SelectValueForm *ui;
     int nowPage;
@@ -49,6 +59,8 @@ private:
     int totleNum;
     HttpRequest _request;
     int status;
+    QList<QSharedPointer<ProjectInfo>> prolist;
+    GlobalInfo *glo = GlobalInfo::this_();
 };
 
 #endif // SELECTVALUEFORM_H

+ 1 - 1
widget/selectvalueform.ui

@@ -98,7 +98,7 @@
        </widget>
       </item>
       <item row="0" column="8">
-       <widget class="QPushButton" name="pushButton_4">
+       <widget class="QPushButton" name="searchButton">
         <property name="maximumSize">
          <size>
           <width>50</width>

+ 6 - 6
widget/settingsform.cpp

@@ -8,11 +8,11 @@ SettingsForm::SettingsForm(QWidget *parent) :
 {
     ui->setupUi(this);
     Init();
-    ui->baseUrlLine->setText(config.baseUrl);
-    ui->printerName->setCurrentText(config.printerName);
-    ui->portName->setCurrentText(config.portName);
-    ui->portBaudRate->setCurrentText(config.portBaudRate);
-    ui->comboBox_2->setCurrentIndex(config.portType);
+//    ui->baseUrlLine->setText(config.baseUrl);
+//    ui->printerName->setCurrentText(config.printerName);
+//    ui->portName->setCurrentText(config.portName);
+//    ui->portBaudRate->setCurrentText(config.portBaudRate);
+//    ui->comboBox_2->setCurrentIndex(config.portType);
 }
 
 SettingsForm::~SettingsForm()
@@ -56,6 +56,6 @@ void SettingsForm::on_save_btn_clicked()
     obj.insert("portName",ui->portName->currentText());
     obj.insert("portBaudRate",ui->portBaudRate->currentText());
     obj.insert("portType",ui->comboBox_2->currentIndex());
-    PQ::ConfigFile::writeObject("Config.json",obj);
+//    PQ::ConfigFile::writeObject("Config.json",obj);
     QMessageBox::information(this,"提示","请重新启动程序,以使用新配置!");
 }

+ 3 - 2
widget/settingsform.h

@@ -2,9 +2,10 @@
 #define SETTINGSFORM_H
 
 #include <QWidget>
-#include "configinfo.h"
+//#include "configinfo.h"
 #include <QSerialPortInfo>
 #include "QMessageBox"
+#include "qjsonobject.h"
 
 
 namespace Ui {
@@ -29,7 +30,7 @@ signals:
 
 private:
     Ui::SettingsForm *ui;
-    ConfigInfo config;
+//    ConfigInfo config;
 
 private:
     void Init();

+ 39 - 39
widget/uncertainweightpackform.cpp

@@ -10,23 +10,23 @@ UncertainWeightPackForm::UncertainWeightPackForm(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);
-    connect(&specs,&SelectSpecs::change,this,&UncertainWeightPackForm::changeSpecs);
-    ui->widget_6->setEnabled(false);
-    //筒数限制,true限制
-    istubeNumTure = false;
-    auto dt = CacheFile::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));
-    }
-    ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
+//    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);
+////    connect(&specs,&SelectSpecs::change,this,&UncertainWeightPackForm::changeSpecs);
+//    ui->widget_6->setEnabled(false);
+//    //筒数限制,true限制
+//    istubeNumTure = false;
+//    auto dt = CacheFile::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));
+//    }
+//    ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
 //    ui->pushStart->hide();
 }
 
@@ -38,8 +38,8 @@ UncertainWeightPackForm::~UncertainWeightPackForm()
 void UncertainWeightPackForm::on_pushBack_clicked()
 {
     if(!packinfo.isNull()){
-        aputils.insertProductSQL(packinfo);
-        aputils.doSend(aputils.toJson(packinfo));
+//        aputils.insertProductSQL(packinfo);
+//        aputils.doSend(aputils.toJson(packinfo));
     }
     emit back();
     QStringList list;
@@ -52,7 +52,7 @@ void UncertainWeightPackForm::on_pushBack_clicked()
 void UncertainWeightPackForm::calcData()
 {
     if(autoRead == true){
-        ui->grossWeight->setText(QString::number(GlobalInfo::this_()->GetScaleData().gross_widget));
+//        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();
@@ -85,11 +85,11 @@ void UncertainWeightPackForm::on_addPackList_clicked()
 
 
     //把数据添加到数据库里
-    aputils.insertProductSQL(packinfo);
+//    aputils.insertProductSQL(packinfo);
 
 
     //发送码单 packinfo 数据, 转换为 json数据发送
-    aputils.doSend(aputils.toJson(packinfo));
+//    aputils.doSend(aputils.toJson(packinfo));
     packinfo.clear();
 }
 
@@ -147,7 +147,7 @@ void UncertainWeightPackForm::on_addBoxList_clicked()
     packinfo->addBoxInfoList(box);
 
     //添加数据库
-    aputils.insertDetailsSQL(box,packinfo->codeSingle());
+//    aputils.insertDetailsSQL(box,packinfo->codeSingle());
 
     ui->labelTongZHong->setText(QString::number(packinfo->tube_number()));
     ui->labelWight->setText(getDecimalbit(packinfo->gross_weight() / 1000.00));
@@ -195,8 +195,8 @@ void UncertainWeightPackForm::on_tongshuxianzhi_stateChanged(int arg1)
 void UncertainWeightPackForm::setTableWidget()
 {
     if(packinfo.isNull()){
-        packinfo.reset(new PackInfo(_info));
-        packinfo->operator_id = GlobalInfo::this_()->user().userId;
+//        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();
@@ -252,7 +252,7 @@ void UncertainWeightPackForm::init()
         ui->mashu->addItem(QString::number(i));
     }
     ui->mashu->setCurrentText("20");
-    specs.getInfo(0,20);
+//    specs.getInfo(0,20);
 }
 
 void UncertainWeightPackForm::upconfig(const DaBaoConfig &config)
@@ -313,29 +313,29 @@ void UncertainWeightPackForm::upDengjiInfo(const QList<DengJiConfigItem> & dengJ
 //获取品目信息
 void UncertainWeightPackForm::on_searchButton_clicked()
 {
-    specs.getInfo(0,20);
+//    specs.getInfo(0,20);
 }
 
 void UncertainWeightPackForm::changeSpecs()
 {
     ui->tableWidget_2->clearContents();
     ui->tableWidget_2->setRowCount(0);
-    for(int i = 0; i < specs.currtInfo.size(); ++i){
-        auto & v = specs.currtInfo.at(i);
-        ui->tableWidget_2->insertRow(i);
-        auto xuanze_btn =  new QRadioButton();
-        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
-        ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
-        ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
-        ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
-        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v.batch_no));
-        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v.color));
-    }
+//    for(int i = 0; i < specs.currtInfo.size(); ++i){
+//        auto & v = specs.currtInfo.at(i);
+//        ui->tableWidget_2->insertRow(i);
+//        auto xuanze_btn =  new QRadioButton();
+//        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
+//        ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
+//        ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
+//        ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
+//        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v.batch_no));
+//        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v.color));
+//    }
 }
 
 void UncertainWeightPackForm::xuanZe_clicked(int row)
 {
-    setProInfo(specs.currtInfo.at(row));
+//    setProInfo(specs.currtInfo.at(row));
     packConfig.refConfig();
 }
 

+ 6 - 9
widget/uncertainweightpackform.h

@@ -3,14 +3,12 @@
 
 #include <QWidget>
 #include "handle/remotepackconfig.h"
-#include "packinfo.h"
+#include "struct_/packinfo.h"
 //#include "httprequestid.h"
-#include "handle/danjumuban.h"
-#include "handle/database.h"
-#include "handle/autopackutils.h"
+//#include "handle/database.h"
+//#include "handle/autopackutils.h"
 #include "QTimer"
-#include "handle/danjumuban.h"
-#include "handle/selectspecs.h"
+//#include "handle/selectspecs.h"
 
 namespace Ui {
 class UncertainWeightPackForm;
@@ -69,10 +67,9 @@ private:
     QMap<QString,DengJiConfigItem> dengjiMap;// <name,详细信息>
     RemotePackConfig packConfig;
     HttpRequest _request;
-    AutoPackUtils aputils;
-    DanJuMuBan djmb;
+//    AutoPackUtils aputils;
     bool autoRead;
-    SelectSpecs specs;
+//    SelectSpecs specs;
 
 
     double netNum = 0.00;