You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/mData/mProjectManager/iModuleHelper.h

79 lines
2.9 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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, double& f);
// 判断数据是否在两者之间
static bool judgeNewData(int nCurRow,
VVecVariant& vvec, QString& sError);
// 检查压力数据是否有问题
static bool checkPressDateData(VecDouble vecX, QVector<TableRowState>& vecRowState);
static bool checkPressDateData(VVecVariant& vvecData, QVector<TableRowState>& vecRowState);
//检查流量数据是否有相同的两段是一起的
static bool checkFluidData(VecDouble vecY);
// 合并流量段相同的
static bool mergeFluidData(VecDouble& vecY, VecDouble& 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;
};