#pragma once #include "mProjectManager_global.h" #include "iBase_global.h" #include "mModuleDefines.h" class ZxDataObjectEx; /// @brief 该类是模块层级(如MPA/WTAI) /// 公有函数库的实现,比较杂 /// @note 尽量以静态函数实现,避免成员变量 class M_PROJECTMANAGER_EXPORT iModuleHelper { public: iModuleHelper(); // 转换 Just for test static bool convertValue(QString s, float& f); // 判断数据是否在两者之间 static bool judgeNewData(int nCurRow, VVecVariant& vvec, QString& sError); // 检查压力数据是否有问题 static bool checkPressDateData(VecFloat vecX, QVector& vecRowState); static bool checkPressDateData(VVecVariant& vvecData, QVector& vecRowState); //检查流量数据是否有相同的两段是一起的 static bool checkFluidData(VecFloat vecY); // 合并流量段相同的 static bool mergeFluidData(VecFloat& vecY, VecFloat& vecX); static bool mergeFluidData(VVecVariant& vvecData); // 如果表格里面需要填的数据都有数值了开始刷新图(否则不刷新) static bool isTableDataValid(VVecVariant vvec, bool bIgnoreNullRows = false); // 判断正式还是临时(目前临时版本指的是新疆版本) static bool isAppStandardVer(); static bool isAppTempVer(); /// @brief 获取模块编译日期,请每次打包时务必重新编译iProjectManager /// 否则,版本日期可能会不对 /// @note 代码来自框架 static int getModuleCompiledDate(); // 判断是否模型系列(主要为了区分IPR等) static bool isMpaSeries(QString s); // 中英文转换,仅仅限于iModuleDefines中定义的 static QString getStrENOf(QString s); static QString getStrCNOf(QString s); static void setCurJobRun(QObject* p, QString sJobId); static QObject* getCurJobRun(); static QString getCurJobId(); /// @brief 考虑修改人及修改时间,对数据进行统一调整 /// @param sTable具体表,为了查找表定义 /// @param vvecData 待调整修改的数据 /// @param bForceFilled 是否强制填写 修改人及修改时间,否则,只有 修改人 非空时才填写时间 static bool adjustDataWithModifier(QString sTable, \ VVecVariant& vvecData, \ bool bForceFilled); /// @brief 考虑修改人及修改时间,对数据进行调整 /// @param pObj具体的数据对象 /// @param bForceFilled 是否强制填写 修改人及修改时间,否则,只有 修改人 非空时才填写时间 static bool adjustDataWithModifier(ZxDataObjectEx* pObj, \ bool bForceFilled); public: /// @brief Excel比较特殊,特定把过滤条件封装 const static QString gExcelFileFilterOpen; const static QString gExcelFileFilterSave; };