package com.vci.starter.web.wrapper;
|
|
/**
|
* 上下级关系查询配置项
|
* 1. 上级是当前对象对象里的某个属性,比如部门,上级部门是部门对象中的一个属性,使用parentFieldName
|
* 2. 如果使用链接类型存储上下级的关系,比如设计结构EBOM,设置linkTypeFlag为true,设置linkTypeName为链接类型的英文名称;默认传递fOid作为查询条件
|
* 3. 如果是to端的主键来查询from端的信息,在第2条的基础上,设置queryFromToFlag为true
|
* 4. 如果为链接类型,只是查询某个对象的所有的版本关联的to端数据,则在第2条的基础上,不传递fOid,改为传递fNameOid;
|
* 5. 如果为链接类型,只是查询某个对象的某个版本的所有版次关联的to端数据,则在第2条的基础上,不传递fOid,改为传递fRevisionOid;
|
* 6. 如果为链接类型,则链接类型的from端有多个业务类型,且业务类型的oid可能重复时,需要传递fBtmName属性
|
* @author weidy
|
* @date 2020-07-20
|
*/
|
public class VciParentQueryOption {
|
|
/**
|
* 上级属性的名称
|
*/
|
private String parentFieldName;
|
|
/**
|
* 链接类型存储关系
|
*/
|
private boolean linkTypeFlag;
|
|
/**
|
* 链接类型名称
|
*/
|
private String linkTypeName;
|
|
/**
|
* from端主键
|
*/
|
private String fOid;
|
|
/**
|
* from端版本主键
|
*/
|
private String fRevisionOid;
|
|
/**
|
* from端对象主键
|
*/
|
private String fNameOid;
|
|
/**
|
* from端业务类型
|
*/
|
private String fBtmName;
|
|
/**
|
* 是否为to端查询
|
*/
|
private boolean queryFromToFlag = false;
|
|
/**
|
* 是否包含自身
|
*/
|
private boolean hasSelf = false;
|
|
/**
|
* 默认构造函数
|
*/
|
public VciParentQueryOption(){
|
|
}
|
|
/**
|
* 自参照形式设置上级字段
|
* @param parentFieldName 上级字段的属性名称
|
*/
|
public VciParentQueryOption(String parentFieldName){
|
this.parentFieldName = parentFieldName;
|
}
|
|
/**
|
* 链接类型查询
|
* @param linkTypeName 链接类型的名称
|
*/
|
public void linkType(String linkTypeName){
|
this.linkTypeName = linkTypeName;
|
this.linkTypeFlag = true;
|
}
|
|
/**
|
* 链接类型查询
|
* @param linkTypeName 链接类型的名称
|
* @param queryFromToFlag 从To端查询
|
*/
|
public void linkType(String linkTypeName,boolean queryFromToFlag){
|
this.linkTypeName = linkTypeName;
|
this.linkTypeFlag = true;
|
this.queryFromToFlag = queryFromToFlag;
|
}
|
|
public String getParentFieldName() {
|
return parentFieldName;
|
}
|
|
public void setParentFieldName(String parentFieldName) {
|
this.parentFieldName = parentFieldName;
|
}
|
|
public boolean isLinkTypeFlag() {
|
return linkTypeFlag;
|
}
|
|
public void setLinkTypeFlag(boolean linkTypeFlag) {
|
this.linkTypeFlag = linkTypeFlag;
|
}
|
|
public String getLinkTypeName() {
|
return linkTypeName;
|
}
|
|
public void setLinkTypeName(String linkTypeName) {
|
this.linkTypeName = linkTypeName;
|
}
|
|
public String getfOid() {
|
return fOid;
|
}
|
|
public void setfOid(String fOid) {
|
this.fOid = fOid;
|
}
|
|
public String getfRevisionOid() {
|
return fRevisionOid;
|
}
|
|
public void setfRevisionOid(String fRevisionOid) {
|
this.fRevisionOid = fRevisionOid;
|
}
|
|
public String getfNameOid() {
|
return fNameOid;
|
}
|
|
public void setfNameOid(String fNameOid) {
|
this.fNameOid = fNameOid;
|
}
|
|
public String getfBtmName() {
|
return fBtmName;
|
}
|
|
public void setfBtmName(String fBtmName) {
|
this.fBtmName = fBtmName;
|
}
|
|
public boolean isQueryFromToFlag() {
|
return queryFromToFlag;
|
}
|
|
public void setQueryFromToFlag(boolean queryFromToFlag) {
|
this.queryFromToFlag = queryFromToFlag;
|
}
|
|
public boolean isHasSelf() {
|
return hasSelf;
|
}
|
|
public void setHasSelf(boolean hasSelf) {
|
this.hasSelf = hasSelf;
|
}
|
|
@Override
|
public String toString() {
|
return "VciParentQueryOption{" +
|
"parentFieldName='" + parentFieldName + '\'' +
|
", linkTypeFlag=" + linkTypeFlag +
|
", linkTypeName='" + linkTypeName + '\'' +
|
", fOid='" + fOid + '\'' +
|
", fRevisionOid='" + fRevisionOid + '\'' +
|
", fNameOid='" + fNameOid + '\'' +
|
", fBtmName='" + fBtmName + '\'' +
|
", queryFromToFlag=" + queryFromToFlag +
|
", hasSelf=" + hasSelf +
|
'}';
|
}
|
}
|