#ifndef PACKINFO_H #define PACKINFO_H #include #include #include "projectinfo.h" #include "QJsonArray" QString getDecimalbit(double v,int i = 2); class PackInfo; struct RuKuInfo { int warehouse_id; int way; QJsonArray product_details; int product_id; QString remark; QJsonObject toObject(); }; struct BoxInfo { inline QSharedPointer parentPack() { return parent.toStrongRef(); } inline QString caseNumber() {return case_number;} int box_weight = 0;// 是 int 皮重 单位:克 int tube_number = 0;// 是 int 筒数 int bucket_weight = 0;// 是 int 总筒重 单位:克 int gross_weight = 0;// 是 int 毛重 单位:克 int net_weight = 0;// 是 int 净重 单位:克 QString Level;//等级; QString twist_type;// string 捻向 QString bucket_color;// string 管色 QString sort;// 是 string 排序 QString remark;// 否 string 备注 QJsonObject toObject(); static QSharedPointer fromObject(QSharedPointer & pack, QJsonObject &obj); BoxInfo(QSharedPointer pack,QString code); private: QString case_number;// 是 string 箱号 QWeakPointer parent; friend class PackInfo; }; Q_DECLARE_METATYPE(QSharedPointer); class PackInfo : public QEnableSharedFromThis { public: PackInfo(const QSharedPointer & info); int quantity = 0;// 是 int 箱数 int level_id = 0;// 是 int 等级ID QString level; QString machine_no;// 是 string 机台 QString packing_time;// 是 string 打包时间 QString packing_type;// 是 string 打包类型 QString carton_type;// 是 string 纸箱 QString operator_id;// 是 int 操作员ID QString batch_no;//批号 bool autoRuku;// 打包及入库是否点击 int warehouse_id = 0;//仓库id QString remark;// 否 string QString telephone;// 公司 QString customer;// 抬头 int packType;//0 定重,1 不定重 inline const QList> & boxes() const {return _boxes;} //array 成品详情 inline const QSharedPointer & info() const {return _info;} inline QString codeSingle() const {return code_single;} //string 码单 int tube_number(); //int 筒数 int gross_weight(); // 毛重 单位:克 int net_weight(); //单位:克 int goodsID() {return goods_id;} inline qint64 time() {return _time;} QSharedPointer addBoxInfo(); void addBoxInfoList(QSharedPointer boxes); void delBoxInfoAt(int num); QSharedPointer boxInfoAt(int num); int boxInfoSize(); void upInfo(const QSharedPointer & info){ _info = info; if(!info.isNull()) goods_id = info->goods_id; } QJsonObject toObject(); static QSharedPointer fromObject(QJsonObject &obj); private: QString buildPackId(); QString buildBoxId(); private: QList> _boxes; QSharedPointer _info; QString code_single; int goods_id; qint64 _time; int _boxIndex; static int lastMin; static int lastNum; }; Q_DECLARE_METATYPE(QSharedPointer); #endif // PACKINFO_H