#ifndef PACKINFO_H #define PACKINFO_H #include "QJsonArray" #include "projectinfo.h" #include #include 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; // 抬头 QString address; 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