PdmTravellerMassChange Class

PdmTravellerMassChange More...

Header: #include <PdmTravellerMassChange>

Public Functions

PdmTravellerMassChange(const QString &iModuleNameStr = QString( "" ), const QVariantMap iUrlPars = QVariantMap(), QWidget *iParent = nullptr)
~PdmTravellerMassChange()
void newTravellers(const QString &iJobId, bool iForceLoad = false)
void oldTravellers(const QString &iJobId, bool iForceLoad = false)

Public Slots

void addProcess()
void diff(const QString &iJobId, bool iForce = false)
QVariantList jobList() const
void loadJobList(const QVariantList &iDataLst)
void moveDown()
void moveUp()
void nextDifference()
void previousDifference()
void removeSelectedProcess()
void saveTravellers()
QString selectedRightItemType() const
void useOldTraveller()

Detailed Description

PdmTravellerMassChange

该模块的实现逻辑,在对一个料号的工单进行比较时过程如下: 1. 对原工单和新工单各自生成树状结构 2. 将两棵树合并,生成新树

Member Function Documentation

PdmTravellerMassChange::PdmTravellerMassChange(const QString &iModuleNameStr = QString( "" ), const QVariantMap iUrlPars = QVariantMap(), QWidget *iParent = nullptr)

Default constructs an instance of PdmTravellerMassChange.

PdmTravellerMassChange::~PdmTravellerMassChange()

Destroys the instance of PdmTravellerMassChange.

[slot] void PdmTravellerMassChange::addProcess()

PdmTravellerMassChange::addProcess 添加子流程只在选中sub_travellers分类项时才生效

[slot] void PdmTravellerMassChange::diff(const QString &iJobId, bool iForce = false)

PdmTravellerMassChange::diff 比较方式:以原工单为准,分类按行比较。 1 内容不同 yellow 2 新工单无该内容 grey 3 新工单新增内容 009933 green


iJobId

[slot] QVariantList PdmTravellerMassChange::jobList() const

[slot] void PdmTravellerMassChange::loadJobList(const QVariantList &iDataLst)

[slot] void PdmTravellerMassChange::moveDown()

[slot] void PdmTravellerMassChange::moveUp()

void PdmTravellerMassChange::newTravellers(const QString &iJobId, bool iForceLoad = false)

[slot] void PdmTravellerMassChange::nextDifference()

void PdmTravellerMassChange::oldTravellers(const QString &iJobId, bool iForceLoad = false)

[slot] void PdmTravellerMassChange::previousDifference()

[slot] void PdmTravellerMassChange::removeSelectedProcess()

PdmTravellerMassChange::removeSelectedProcess 删除流程应当只在选中流程本身时有效。

[slot] void PdmTravellerMassChange::saveTravellers()

PdmTravellerMassChange::saveTravellers

将mergeTree结构中的数据转换为 PdmJobTravellerV2 中工单数据的格式,并设置到工单模块中,最后调用工单模块保存。

[slot] QString PdmTravellerMassChange::selectedRightItemType() const

[slot] void PdmTravellerMassChange::useOldTraveller()

PdmTravellerMassChange::useOldTraveller

获取合并节点指向的右树节点,然后释放该右节点子树,按照左节点子树重新构造

基本逻辑: 获取选中项对应的合并树节点 如果该节点指向的右树节点不为空 释放右节点子树 如果左子树节点存在 创建新的右节点 寻找该右节点的父节点,如果没有需创建,将该右节点插入恰当位置 创建该有节点的子树