package com.sa.ibiz.demo.demo.domain;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty.Access;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.cglib.beans.BeanGenerator;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import java.util.Map;
import java.util.HashMap;
import org.springframework.util.StringUtils;
import com.sa.ibiz.demo.ibizutil.security.AuthenticationUser;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;
import java.util.UUID;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import org.springframework.cglib.beans.BeanCopier;
import com.sa.ibiz.demo.ibizutil.annotation.Dict;
import com.sa.ibiz.demo.ibizutil.domain.EntityBase;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import java.math.BigInteger;
import com.sa.ibiz.demo.ibizutil.enums.FillMode;
import com.sa.ibiz.demo.ibizutil.enums.PredefinedType;
import com.sa.ibiz.demo.ibizutil.annotation.PreField;
import com.alibaba.fastjson.annotation.JSONField;

import com.sa.ibiz.demo.demo.domain.PortalPage;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;
import com.sa.ibiz.demo.demo.domain.PVPart;

/**
 * 实体[PPModel] 数据对象
 */
@TableName(value = "T_SRFPPMODEL",resultMap = "PPModelResultMap")
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class PPModel extends EntityBase implements Serializable{

    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PortalPage portalpage;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart c1pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart c2pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart c3pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart c4pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart l1pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart l2pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart l3pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart l4pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart r1pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart r2pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart r3pvpart;
    @JSONField(serialize = false)
    @JsonIgnore
    @TableField(exist = false)//关系主表数据
    private PVPart r4pvpart;
    private String c1pvpartctrlid;
    private String c1pvpartid;
    private String c1pvpartname;
    private String c2pvpartctrlid;
    private String c2pvpartid;
    private String c2pvpartname;
    private String c3pvpartctrlid;
    private String c3pvpartid;
    private String c3pvpartname;
    private String c4pvpartctrlid;
    private String c4pvpartid;
    private String c4pvpartname;
    @PreField(fill= FillMode.INSERT,preType = PredefinedType.CREATEDATE)
    private Timestamp createdate;
    @PreField(fill= FillMode.INSERT,preType = PredefinedType.CREATEMAN)
    @Dict(dictName = "ionicdemo_SysOperatorCodeList")
    private String createman;
    @Dict(dictName = "ionicdemo_YesNoCodeList")
    private Integer issystem;
    private String l1pvpartctrlid;
    private String l1pvpartid;
    private String l1pvpartname;
    private String l2pvpartctrlid;
    private String l2pvpartid;
    private String l2pvpartname;
    private String l3pvpartctrlid;
    private String l3pvpartid;
    private String l3pvpartname;
    private String l4pvpartctrlid;
    private String l4pvpartid;
    private String l4pvpartname;
    private String ownerid;
    private String portalpageid;
    private String portalpagename;
    @Dict(dictName = "ionicdemo_PVLayoutModeCodeList")
    private String ppmodel;
    private String ppmodeldetail;
    @TableId(value= "ppmodelid",type=IdType.UUID)//指定主键生成策略
    private String ppmodelid;
    private String ppmodelname;
    private Integer ppmversion;
    private String r1pvpartctrlid;
    private String r1pvpartid;
    private String r1pvpartname;
    private String r2pvpartctrlid;
    private String r2pvpartid;
    private String r2pvpartname;
    private String r3pvpartctrlid;
    private String r3pvpartid;
    private String r3pvpartname;
    private String r4pvpartctrlid;
    private String r4pvpartid;
    private String r4pvpartname;
    @PreField(fill= FillMode.INSERT_UPDATE,preType = PredefinedType.UPDATEDATE)
    private Timestamp updatedate;
    @PreField(fill= FillMode.INSERT_UPDATE,preType = PredefinedType.UPDATEMAN)
    @Dict(dictName = "ionicdemo_SysOperatorCodeList")
    private String updateman;
    /**
     *  设置属性值[中间部件1]
     *  @param c1pvpartctrlid
     */
    public void setC1pvpartctrlid(String c1pvpartctrlid){
        if(StringUtils.isEmpty(c1pvpartctrlid))
            c1pvpartctrlid=null;
        this.c1pvpartctrlid = c1pvpartctrlid;
        this.set("c1pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件1]
     */
    public String getC1pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c1pvpartctrlid)&&(!StringUtils.isEmpty(this.getC1pvpartid())) && this.getC1pvpart()!=null)
        {
            this.c1pvpartctrlid = this.getC1pvpart().getCtrlid();
            this.set("c1pvpartctrliddirtyflag",true);
        }
        return this.c1pvpartctrlid;
    }
    /**
     *  重置属性值[中间部件1]
     */
    public void resetC1pvpartctrlid(){
        this.set("c1pvpartctrliddirtyflag",false);
        this.c1pvpartctrlid = null;
    }
    /**
     *  设置属性值[中间部件1]
     *  @param c1pvpartid
     */
    public void setC1pvpartid(String c1pvpartid){
        if(StringUtils.isEmpty(c1pvpartid))
            c1pvpartid=null;
        this.c1pvpartid = c1pvpartid;
        this.set("c1pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件1]
     */
    public String getC1pvpartid(){
        return this.c1pvpartid;
    }
    /**
     *  重置属性值[中间部件1]
     */
    public void resetC1pvpartid(){
        this.set("c1pvpartiddirtyflag",false);
        this.c1pvpartid = null;
    }
    /**
     *  设置属性值[中间部件1]
     *  @param c1pvpartname
     */
    public void setC1pvpartname(String c1pvpartname){
        if(StringUtils.isEmpty(c1pvpartname))
            c1pvpartname=null;
        this.c1pvpartname = c1pvpartname;
        this.set("c1pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[中间部件1]
     */
    public String getC1pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c1pvpartname)&&(!StringUtils.isEmpty(this.getC1pvpartid())) && this.getC1pvpart()!=null)
        {
            this.c1pvpartname = this.getC1pvpart().getPvpartname();
            this.set("c1pvpartnamedirtyflag",true);
        }
        return this.c1pvpartname;
    }
    /**
     *  重置属性值[中间部件1]
     */
    public void resetC1pvpartname(){
        this.set("c1pvpartnamedirtyflag",false);
        this.c1pvpartname = null;
    }
    /**
     *  设置属性值[中间部件2]
     *  @param c2pvpartctrlid
     */
    public void setC2pvpartctrlid(String c2pvpartctrlid){
        if(StringUtils.isEmpty(c2pvpartctrlid))
            c2pvpartctrlid=null;
        this.c2pvpartctrlid = c2pvpartctrlid;
        this.set("c2pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件2]
     */
    public String getC2pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c2pvpartctrlid)&&(!StringUtils.isEmpty(this.getC2pvpartid())) && this.getC2pvpart()!=null)
        {
            this.c2pvpartctrlid = this.getC2pvpart().getCtrlid();
            this.set("c2pvpartctrliddirtyflag",true);
        }
        return this.c2pvpartctrlid;
    }
    /**
     *  重置属性值[中间部件2]
     */
    public void resetC2pvpartctrlid(){
        this.set("c2pvpartctrliddirtyflag",false);
        this.c2pvpartctrlid = null;
    }
    /**
     *  设置属性值[中间部件2]
     *  @param c2pvpartid
     */
    public void setC2pvpartid(String c2pvpartid){
        if(StringUtils.isEmpty(c2pvpartid))
            c2pvpartid=null;
        this.c2pvpartid = c2pvpartid;
        this.set("c2pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件2]
     */
    public String getC2pvpartid(){
        return this.c2pvpartid;
    }
    /**
     *  重置属性值[中间部件2]
     */
    public void resetC2pvpartid(){
        this.set("c2pvpartiddirtyflag",false);
        this.c2pvpartid = null;
    }
    /**
     *  设置属性值[中间部件2]
     *  @param c2pvpartname
     */
    public void setC2pvpartname(String c2pvpartname){
        if(StringUtils.isEmpty(c2pvpartname))
            c2pvpartname=null;
        this.c2pvpartname = c2pvpartname;
        this.set("c2pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[中间部件2]
     */
    public String getC2pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c2pvpartname)&&(!StringUtils.isEmpty(this.getC2pvpartid())) && this.getC2pvpart()!=null)
        {
            this.c2pvpartname = this.getC2pvpart().getPvpartname();
            this.set("c2pvpartnamedirtyflag",true);
        }
        return this.c2pvpartname;
    }
    /**
     *  重置属性值[中间部件2]
     */
    public void resetC2pvpartname(){
        this.set("c2pvpartnamedirtyflag",false);
        this.c2pvpartname = null;
    }
    /**
     *  设置属性值[中间部件3]
     *  @param c3pvpartctrlid
     */
    public void setC3pvpartctrlid(String c3pvpartctrlid){
        if(StringUtils.isEmpty(c3pvpartctrlid))
            c3pvpartctrlid=null;
        this.c3pvpartctrlid = c3pvpartctrlid;
        this.set("c3pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件3]
     */
    public String getC3pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c3pvpartctrlid)&&(!StringUtils.isEmpty(this.getC3pvpartid())) && this.getC3pvpart()!=null)
        {
            this.c3pvpartctrlid = this.getC3pvpart().getCtrlid();
            this.set("c3pvpartctrliddirtyflag",true);
        }
        return this.c3pvpartctrlid;
    }
    /**
     *  重置属性值[中间部件3]
     */
    public void resetC3pvpartctrlid(){
        this.set("c3pvpartctrliddirtyflag",false);
        this.c3pvpartctrlid = null;
    }
    /**
     *  设置属性值[中间部件3]
     *  @param c3pvpartid
     */
    public void setC3pvpartid(String c3pvpartid){
        if(StringUtils.isEmpty(c3pvpartid))
            c3pvpartid=null;
        this.c3pvpartid = c3pvpartid;
        this.set("c3pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件3]
     */
    public String getC3pvpartid(){
        return this.c3pvpartid;
    }
    /**
     *  重置属性值[中间部件3]
     */
    public void resetC3pvpartid(){
        this.set("c3pvpartiddirtyflag",false);
        this.c3pvpartid = null;
    }
    /**
     *  设置属性值[中间部件3]
     *  @param c3pvpartname
     */
    public void setC3pvpartname(String c3pvpartname){
        if(StringUtils.isEmpty(c3pvpartname))
            c3pvpartname=null;
        this.c3pvpartname = c3pvpartname;
        this.set("c3pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[中间部件3]
     */
    public String getC3pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c3pvpartname)&&(!StringUtils.isEmpty(this.getC3pvpartid())) && this.getC3pvpart()!=null)
        {
            this.c3pvpartname = this.getC3pvpart().getPvpartname();
            this.set("c3pvpartnamedirtyflag",true);
        }
        return this.c3pvpartname;
    }
    /**
     *  重置属性值[中间部件3]
     */
    public void resetC3pvpartname(){
        this.set("c3pvpartnamedirtyflag",false);
        this.c3pvpartname = null;
    }
    /**
     *  设置属性值[中间部件4]
     *  @param c4pvpartctrlid
     */
    public void setC4pvpartctrlid(String c4pvpartctrlid){
        if(StringUtils.isEmpty(c4pvpartctrlid))
            c4pvpartctrlid=null;
        this.c4pvpartctrlid = c4pvpartctrlid;
        this.set("c4pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件4]
     */
    public String getC4pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c4pvpartctrlid)&&(!StringUtils.isEmpty(this.getC4pvpartid())) && this.getC4pvpart()!=null)
        {
            this.c4pvpartctrlid = this.getC4pvpart().getCtrlid();
            this.set("c4pvpartctrliddirtyflag",true);
        }
        return this.c4pvpartctrlid;
    }
    /**
     *  重置属性值[中间部件4]
     */
    public void resetC4pvpartctrlid(){
        this.set("c4pvpartctrliddirtyflag",false);
        this.c4pvpartctrlid = null;
    }
    /**
     *  设置属性值[中间部件4]
     *  @param c4pvpartid
     */
    public void setC4pvpartid(String c4pvpartid){
        if(StringUtils.isEmpty(c4pvpartid))
            c4pvpartid=null;
        this.c4pvpartid = c4pvpartid;
        this.set("c4pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[中间部件4]
     */
    public String getC4pvpartid(){
        return this.c4pvpartid;
    }
    /**
     *  重置属性值[中间部件4]
     */
    public void resetC4pvpartid(){
        this.set("c4pvpartiddirtyflag",false);
        this.c4pvpartid = null;
    }
    /**
     *  设置属性值[中间部件4]
     *  @param c4pvpartname
     */
    public void setC4pvpartname(String c4pvpartname){
        if(StringUtils.isEmpty(c4pvpartname))
            c4pvpartname=null;
        this.c4pvpartname = c4pvpartname;
        this.set("c4pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[中间部件4]
     */
    public String getC4pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.c4pvpartname)&&(!StringUtils.isEmpty(this.getC4pvpartid())) && this.getC4pvpart()!=null)
        {
            this.c4pvpartname = this.getC4pvpart().getPvpartname();
            this.set("c4pvpartnamedirtyflag",true);
        }
        return this.c4pvpartname;
    }
    /**
     *  重置属性值[中间部件4]
     */
    public void resetC4pvpartname(){
        this.set("c4pvpartnamedirtyflag",false);
        this.c4pvpartname = null;
    }
    /**
     *  设置属性值[建立时间]
     *  @param createdate
     */
    public void setCreatedate(Timestamp createdate){
        this.createdate = createdate;
        this.set("createdatedirtyflag",true);
    }
    /**
     *  获取属性值[建立时间]
     */
    public Timestamp getCreatedate(){
        return this.createdate;
    }
    /**
     *  重置属性值[建立时间]
     */
    public void resetCreatedate(){
        this.set("createdatedirtyflag",false);
        this.createdate = null;
    }
    /**
     *  设置属性值[建立人]
     *  @param createman
     */
    public void setCreateman(String createman){
        if(StringUtils.isEmpty(createman))
            createman=null;
        this.createman = createman;
        this.set("createmandirtyflag",true);
    }
    /**
     *  获取属性值[建立人]
     */
    public String getCreateman(){
        return this.createman;
    }
    /**
     *  重置属性值[建立人]
     */
    public void resetCreateman(){
        this.set("createmandirtyflag",false);
        this.createman = null;
    }
    /**
     *  设置属性值[系统数据]
     *  @param issystem
     */
    public void setIssystem(Integer issystem){
        this.issystem = issystem;
        this.set("issystemdirtyflag",true);
    }
    /**
     *  获取属性值[系统数据]
     */
    public Integer getIssystem(){
        return this.issystem;
    }
    /**
     *  重置属性值[系统数据]
     */
    public void resetIssystem(){
        this.set("issystemdirtyflag",false);
        this.issystem = null;
    }
    /**
     *  设置属性值[左侧部件1]
     *  @param l1pvpartctrlid
     */
    public void setL1pvpartctrlid(String l1pvpartctrlid){
        if(StringUtils.isEmpty(l1pvpartctrlid))
            l1pvpartctrlid=null;
        this.l1pvpartctrlid = l1pvpartctrlid;
        this.set("l1pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件1]
     */
    public String getL1pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l1pvpartctrlid)&&(!StringUtils.isEmpty(this.getL1pvpartid())) && this.getL1pvpart()!=null)
        {
            this.l1pvpartctrlid = this.getL1pvpart().getCtrlid();
            this.set("l1pvpartctrliddirtyflag",true);
        }
        return this.l1pvpartctrlid;
    }
    /**
     *  重置属性值[左侧部件1]
     */
    public void resetL1pvpartctrlid(){
        this.set("l1pvpartctrliddirtyflag",false);
        this.l1pvpartctrlid = null;
    }
    /**
     *  设置属性值[左侧部件1]
     *  @param l1pvpartid
     */
    public void setL1pvpartid(String l1pvpartid){
        if(StringUtils.isEmpty(l1pvpartid))
            l1pvpartid=null;
        this.l1pvpartid = l1pvpartid;
        this.set("l1pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件1]
     */
    public String getL1pvpartid(){
        return this.l1pvpartid;
    }
    /**
     *  重置属性值[左侧部件1]
     */
    public void resetL1pvpartid(){
        this.set("l1pvpartiddirtyflag",false);
        this.l1pvpartid = null;
    }
    /**
     *  设置属性值[左侧部件1]
     *  @param l1pvpartname
     */
    public void setL1pvpartname(String l1pvpartname){
        if(StringUtils.isEmpty(l1pvpartname))
            l1pvpartname=null;
        this.l1pvpartname = l1pvpartname;
        this.set("l1pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件1]
     */
    public String getL1pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l1pvpartname)&&(!StringUtils.isEmpty(this.getL1pvpartid())) && this.getL1pvpart()!=null)
        {
            this.l1pvpartname = this.getL1pvpart().getPvpartname();
            this.set("l1pvpartnamedirtyflag",true);
        }
        return this.l1pvpartname;
    }
    /**
     *  重置属性值[左侧部件1]
     */
    public void resetL1pvpartname(){
        this.set("l1pvpartnamedirtyflag",false);
        this.l1pvpartname = null;
    }
    /**
     *  设置属性值[左侧部件2]
     *  @param l2pvpartctrlid
     */
    public void setL2pvpartctrlid(String l2pvpartctrlid){
        if(StringUtils.isEmpty(l2pvpartctrlid))
            l2pvpartctrlid=null;
        this.l2pvpartctrlid = l2pvpartctrlid;
        this.set("l2pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件2]
     */
    public String getL2pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l2pvpartctrlid)&&(!StringUtils.isEmpty(this.getL2pvpartid())) && this.getL2pvpart()!=null)
        {
            this.l2pvpartctrlid = this.getL2pvpart().getCtrlid();
            this.set("l2pvpartctrliddirtyflag",true);
        }
        return this.l2pvpartctrlid;
    }
    /**
     *  重置属性值[左侧部件2]
     */
    public void resetL2pvpartctrlid(){
        this.set("l2pvpartctrliddirtyflag",false);
        this.l2pvpartctrlid = null;
    }
    /**
     *  设置属性值[左侧部件2]
     *  @param l2pvpartid
     */
    public void setL2pvpartid(String l2pvpartid){
        if(StringUtils.isEmpty(l2pvpartid))
            l2pvpartid=null;
        this.l2pvpartid = l2pvpartid;
        this.set("l2pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件2]
     */
    public String getL2pvpartid(){
        return this.l2pvpartid;
    }
    /**
     *  重置属性值[左侧部件2]
     */
    public void resetL2pvpartid(){
        this.set("l2pvpartiddirtyflag",false);
        this.l2pvpartid = null;
    }
    /**
     *  设置属性值[左侧部件2]
     *  @param l2pvpartname
     */
    public void setL2pvpartname(String l2pvpartname){
        if(StringUtils.isEmpty(l2pvpartname))
            l2pvpartname=null;
        this.l2pvpartname = l2pvpartname;
        this.set("l2pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件2]
     */
    public String getL2pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l2pvpartname)&&(!StringUtils.isEmpty(this.getL2pvpartid())) && this.getL2pvpart()!=null)
        {
            this.l2pvpartname = this.getL2pvpart().getPvpartname();
            this.set("l2pvpartnamedirtyflag",true);
        }
        return this.l2pvpartname;
    }
    /**
     *  重置属性值[左侧部件2]
     */
    public void resetL2pvpartname(){
        this.set("l2pvpartnamedirtyflag",false);
        this.l2pvpartname = null;
    }
    /**
     *  设置属性值[左侧部件3]
     *  @param l3pvpartctrlid
     */
    public void setL3pvpartctrlid(String l3pvpartctrlid){
        if(StringUtils.isEmpty(l3pvpartctrlid))
            l3pvpartctrlid=null;
        this.l3pvpartctrlid = l3pvpartctrlid;
        this.set("l3pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件3]
     */
    public String getL3pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l3pvpartctrlid)&&(!StringUtils.isEmpty(this.getL3pvpartid())) && this.getL3pvpart()!=null)
        {
            this.l3pvpartctrlid = this.getL3pvpart().getCtrlid();
            this.set("l3pvpartctrliddirtyflag",true);
        }
        return this.l3pvpartctrlid;
    }
    /**
     *  重置属性值[左侧部件3]
     */
    public void resetL3pvpartctrlid(){
        this.set("l3pvpartctrliddirtyflag",false);
        this.l3pvpartctrlid = null;
    }
    /**
     *  设置属性值[左侧部件3]
     *  @param l3pvpartid
     */
    public void setL3pvpartid(String l3pvpartid){
        if(StringUtils.isEmpty(l3pvpartid))
            l3pvpartid=null;
        this.l3pvpartid = l3pvpartid;
        this.set("l3pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件3]
     */
    public String getL3pvpartid(){
        return this.l3pvpartid;
    }
    /**
     *  重置属性值[左侧部件3]
     */
    public void resetL3pvpartid(){
        this.set("l3pvpartiddirtyflag",false);
        this.l3pvpartid = null;
    }
    /**
     *  设置属性值[左侧部件3]
     *  @param l3pvpartname
     */
    public void setL3pvpartname(String l3pvpartname){
        if(StringUtils.isEmpty(l3pvpartname))
            l3pvpartname=null;
        this.l3pvpartname = l3pvpartname;
        this.set("l3pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件3]
     */
    public String getL3pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l3pvpartname)&&(!StringUtils.isEmpty(this.getL3pvpartid())) && this.getL3pvpart()!=null)
        {
            this.l3pvpartname = this.getL3pvpart().getPvpartname();
            this.set("l3pvpartnamedirtyflag",true);
        }
        return this.l3pvpartname;
    }
    /**
     *  重置属性值[左侧部件3]
     */
    public void resetL3pvpartname(){
        this.set("l3pvpartnamedirtyflag",false);
        this.l3pvpartname = null;
    }
    /**
     *  设置属性值[左侧部件4]
     *  @param l4pvpartctrlid
     */
    public void setL4pvpartctrlid(String l4pvpartctrlid){
        if(StringUtils.isEmpty(l4pvpartctrlid))
            l4pvpartctrlid=null;
        this.l4pvpartctrlid = l4pvpartctrlid;
        this.set("l4pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件4]
     */
    public String getL4pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l4pvpartctrlid)&&(!StringUtils.isEmpty(this.getL4pvpartid())) && this.getL4pvpart()!=null)
        {
            this.l4pvpartctrlid = this.getL4pvpart().getCtrlid();
            this.set("l4pvpartctrliddirtyflag",true);
        }
        return this.l4pvpartctrlid;
    }
    /**
     *  重置属性值[左侧部件4]
     */
    public void resetL4pvpartctrlid(){
        this.set("l4pvpartctrliddirtyflag",false);
        this.l4pvpartctrlid = null;
    }
    /**
     *  设置属性值[左侧部件4]
     *  @param l4pvpartid
     */
    public void setL4pvpartid(String l4pvpartid){
        if(StringUtils.isEmpty(l4pvpartid))
            l4pvpartid=null;
        this.l4pvpartid = l4pvpartid;
        this.set("l4pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件4]
     */
    public String getL4pvpartid(){
        return this.l4pvpartid;
    }
    /**
     *  重置属性值[左侧部件4]
     */
    public void resetL4pvpartid(){
        this.set("l4pvpartiddirtyflag",false);
        this.l4pvpartid = null;
    }
    /**
     *  设置属性值[左侧部件4]
     *  @param l4pvpartname
     */
    public void setL4pvpartname(String l4pvpartname){
        if(StringUtils.isEmpty(l4pvpartname))
            l4pvpartname=null;
        this.l4pvpartname = l4pvpartname;
        this.set("l4pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[左侧部件4]
     */
    public String getL4pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.l4pvpartname)&&(!StringUtils.isEmpty(this.getL4pvpartid())) && this.getL4pvpart()!=null)
        {
            this.l4pvpartname = this.getL4pvpart().getPvpartname();
            this.set("l4pvpartnamedirtyflag",true);
        }
        return this.l4pvpartname;
    }
    /**
     *  重置属性值[左侧部件4]
     */
    public void resetL4pvpartname(){
        this.set("l4pvpartnamedirtyflag",false);
        this.l4pvpartname = null;
    }
    /**
     *  设置属性值[所有者]
     *  @param ownerid
     */
    public void setOwnerid(String ownerid){
        if(StringUtils.isEmpty(ownerid))
            ownerid=null;
        this.ownerid = ownerid;
        this.set("owneriddirtyflag",true);
    }
    /**
     *  获取属性值[所有者]
     */
    public String getOwnerid(){
        return this.ownerid;
    }
    /**
     *  重置属性值[所有者]
     */
    public void resetOwnerid(){
        this.set("owneriddirtyflag",false);
        this.ownerid = null;
    }
    /**
     *  设置属性值[门户页面]
     *  @param portalpageid
     */
    public void setPortalpageid(String portalpageid){
        if(StringUtils.isEmpty(portalpageid))
            portalpageid=null;
        this.portalpageid = portalpageid;
        this.set("portalpageiddirtyflag",true);
    }
    /**
     *  获取属性值[门户页面]
     */
    public String getPortalpageid(){
        return this.portalpageid;
    }
    /**
     *  重置属性值[门户页面]
     */
    public void resetPortalpageid(){
        this.set("portalpageiddirtyflag",false);
        this.portalpageid = null;
    }
    /**
     *  设置属性值[频道页]
     *  @param portalpagename
     */
    public void setPortalpagename(String portalpagename){
        if(StringUtils.isEmpty(portalpagename))
            portalpagename=null;
        this.portalpagename = portalpagename;
        this.set("portalpagenamedirtyflag",true);
    }
    /**
     *  获取属性值[频道页]
     */
    public String getPortalpagename(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.portalpagename)&&(!StringUtils.isEmpty(this.getPortalpageid())) && this.getPortalpage()!=null)
        {
            this.portalpagename = this.getPortalpage().getPortalpagename();
            this.set("portalpagenamedirtyflag",true);
        }
        return this.portalpagename;
    }
    /**
     *  重置属性值[频道页]
     */
    public void resetPortalpagename(){
        this.set("portalpagenamedirtyflag",false);
        this.portalpagename = null;
    }
    /**
     *  设置属性值[页面布局]
     *  @param ppmodel
     */
    public void setPpmodel(String ppmodel){
        if(StringUtils.isEmpty(ppmodel))
            ppmodel=null;
        this.ppmodel = ppmodel;
        this.set("ppmodeldirtyflag",true);
    }
    /**
     *  获取属性值[页面布局]
     */
    public String getPpmodel(){
        return this.ppmodel;
    }
    /**
     *  重置属性值[页面布局]
     */
    public void resetPpmodel(){
        this.set("ppmodeldirtyflag",false);
        this.ppmodel = null;
    }
    /**
     *  设置属性值[模型明细]
     *  @param ppmodeldetail
     */
    public void setPpmodeldetail(String ppmodeldetail){
        if(StringUtils.isEmpty(ppmodeldetail))
            ppmodeldetail=null;
        this.ppmodeldetail = ppmodeldetail;
        this.set("ppmodeldetaildirtyflag",true);
    }
    /**
     *  获取属性值[模型明细]
     */
    public String getPpmodeldetail(){
        return this.ppmodeldetail;
    }
    /**
     *  重置属性值[模型明细]
     */
    public void resetPpmodeldetail(){
        this.set("ppmodeldetaildirtyflag",false);
        this.ppmodeldetail = null;
    }
    /**
     *  设置属性值[用户频道页标识]
     *  @param ppmodelid
     */
    public void setPpmodelid(String ppmodelid){
        if(StringUtils.isEmpty(ppmodelid))
            ppmodelid=null;
        this.ppmodelid = ppmodelid;
        this.set("ppmodeliddirtyflag",true);
    }
    /**
     *  获取属性值[用户频道页标识]
     */
    public String getPpmodelid(){
        return this.ppmodelid;
    }
    /**
     *  重置属性值[用户频道页标识]
     */
    public void resetPpmodelid(){
        this.set("ppmodeliddirtyflag",false);
        this.ppmodelid = null;
    }
    /**
     *  设置属性值[用户频道页名称]
     *  @param ppmodelname
     */
    public void setPpmodelname(String ppmodelname){
        if(StringUtils.isEmpty(ppmodelname))
            ppmodelname=null;
        this.ppmodelname = ppmodelname;
        this.set("ppmodelnamedirtyflag",true);
    }
    /**
     *  获取属性值[用户频道页名称]
     */
    public String getPpmodelname(){
        return this.ppmodelname;
    }
    /**
     *  重置属性值[用户频道页名称]
     */
    public void resetPpmodelname(){
        this.set("ppmodelnamedirtyflag",false);
        this.ppmodelname = null;
    }
    /**
     *  设置属性值[版本]
     *  @param ppmversion
     */
    public void setPpmversion(Integer ppmversion){
        this.ppmversion = ppmversion;
        this.set("ppmversiondirtyflag",true);
    }
    /**
     *  获取属性值[版本]
     */
    public Integer getPpmversion(){
        return this.ppmversion;
    }
    /**
     *  重置属性值[版本]
     */
    public void resetPpmversion(){
        this.set("ppmversiondirtyflag",false);
        this.ppmversion = null;
    }
    /**
     *  设置属性值[右侧部件1]
     *  @param r1pvpartctrlid
     */
    public void setR1pvpartctrlid(String r1pvpartctrlid){
        if(StringUtils.isEmpty(r1pvpartctrlid))
            r1pvpartctrlid=null;
        this.r1pvpartctrlid = r1pvpartctrlid;
        this.set("r1pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件1]
     */
    public String getR1pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r1pvpartctrlid)&&(!StringUtils.isEmpty(this.getR1pvpartid())) && this.getR1pvpart()!=null)
        {
            this.r1pvpartctrlid = this.getR1pvpart().getCtrlid();
            this.set("r1pvpartctrliddirtyflag",true);
        }
        return this.r1pvpartctrlid;
    }
    /**
     *  重置属性值[右侧部件1]
     */
    public void resetR1pvpartctrlid(){
        this.set("r1pvpartctrliddirtyflag",false);
        this.r1pvpartctrlid = null;
    }
    /**
     *  设置属性值[右侧部件1]
     *  @param r1pvpartid
     */
    public void setR1pvpartid(String r1pvpartid){
        if(StringUtils.isEmpty(r1pvpartid))
            r1pvpartid=null;
        this.r1pvpartid = r1pvpartid;
        this.set("r1pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件1]
     */
    public String getR1pvpartid(){
        return this.r1pvpartid;
    }
    /**
     *  重置属性值[右侧部件1]
     */
    public void resetR1pvpartid(){
        this.set("r1pvpartiddirtyflag",false);
        this.r1pvpartid = null;
    }
    /**
     *  设置属性值[右侧部件1]
     *  @param r1pvpartname
     */
    public void setR1pvpartname(String r1pvpartname){
        if(StringUtils.isEmpty(r1pvpartname))
            r1pvpartname=null;
        this.r1pvpartname = r1pvpartname;
        this.set("r1pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件1]
     */
    public String getR1pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r1pvpartname)&&(!StringUtils.isEmpty(this.getR1pvpartid())) && this.getR1pvpart()!=null)
        {
            this.r1pvpartname = this.getR1pvpart().getPvpartname();
            this.set("r1pvpartnamedirtyflag",true);
        }
        return this.r1pvpartname;
    }
    /**
     *  重置属性值[右侧部件1]
     */
    public void resetR1pvpartname(){
        this.set("r1pvpartnamedirtyflag",false);
        this.r1pvpartname = null;
    }
    /**
     *  设置属性值[右侧部件2]
     *  @param r2pvpartctrlid
     */
    public void setR2pvpartctrlid(String r2pvpartctrlid){
        if(StringUtils.isEmpty(r2pvpartctrlid))
            r2pvpartctrlid=null;
        this.r2pvpartctrlid = r2pvpartctrlid;
        this.set("r2pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件2]
     */
    public String getR2pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r2pvpartctrlid)&&(!StringUtils.isEmpty(this.getR2pvpartid())) && this.getR2pvpart()!=null)
        {
            this.r2pvpartctrlid = this.getR2pvpart().getCtrlid();
            this.set("r2pvpartctrliddirtyflag",true);
        }
        return this.r2pvpartctrlid;
    }
    /**
     *  重置属性值[右侧部件2]
     */
    public void resetR2pvpartctrlid(){
        this.set("r2pvpartctrliddirtyflag",false);
        this.r2pvpartctrlid = null;
    }
    /**
     *  设置属性值[右侧部件2]
     *  @param r2pvpartid
     */
    public void setR2pvpartid(String r2pvpartid){
        if(StringUtils.isEmpty(r2pvpartid))
            r2pvpartid=null;
        this.r2pvpartid = r2pvpartid;
        this.set("r2pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件2]
     */
    public String getR2pvpartid(){
        return this.r2pvpartid;
    }
    /**
     *  重置属性值[右侧部件2]
     */
    public void resetR2pvpartid(){
        this.set("r2pvpartiddirtyflag",false);
        this.r2pvpartid = null;
    }
    /**
     *  设置属性值[右侧部件2]
     *  @param r2pvpartname
     */
    public void setR2pvpartname(String r2pvpartname){
        if(StringUtils.isEmpty(r2pvpartname))
            r2pvpartname=null;
        this.r2pvpartname = r2pvpartname;
        this.set("r2pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件2]
     */
    public String getR2pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r2pvpartname)&&(!StringUtils.isEmpty(this.getR2pvpartid())) && this.getR2pvpart()!=null)
        {
            this.r2pvpartname = this.getR2pvpart().getPvpartname();
            this.set("r2pvpartnamedirtyflag",true);
        }
        return this.r2pvpartname;
    }
    /**
     *  重置属性值[右侧部件2]
     */
    public void resetR2pvpartname(){
        this.set("r2pvpartnamedirtyflag",false);
        this.r2pvpartname = null;
    }
    /**
     *  设置属性值[右侧部件3]
     *  @param r3pvpartctrlid
     */
    public void setR3pvpartctrlid(String r3pvpartctrlid){
        if(StringUtils.isEmpty(r3pvpartctrlid))
            r3pvpartctrlid=null;
        this.r3pvpartctrlid = r3pvpartctrlid;
        this.set("r3pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件3]
     */
    public String getR3pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r3pvpartctrlid)&&(!StringUtils.isEmpty(this.getR3pvpartid())) && this.getR3pvpart()!=null)
        {
            this.r3pvpartctrlid = this.getR3pvpart().getCtrlid();
            this.set("r3pvpartctrliddirtyflag",true);
        }
        return this.r3pvpartctrlid;
    }
    /**
     *  重置属性值[右侧部件3]
     */
    public void resetR3pvpartctrlid(){
        this.set("r3pvpartctrliddirtyflag",false);
        this.r3pvpartctrlid = null;
    }
    /**
     *  设置属性值[右侧部件3]
     *  @param r3pvpartid
     */
    public void setR3pvpartid(String r3pvpartid){
        if(StringUtils.isEmpty(r3pvpartid))
            r3pvpartid=null;
        this.r3pvpartid = r3pvpartid;
        this.set("r3pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件3]
     */
    public String getR3pvpartid(){
        return this.r3pvpartid;
    }
    /**
     *  重置属性值[右侧部件3]
     */
    public void resetR3pvpartid(){
        this.set("r3pvpartiddirtyflag",false);
        this.r3pvpartid = null;
    }
    /**
     *  设置属性值[右侧部件3]
     *  @param r3pvpartname
     */
    public void setR3pvpartname(String r3pvpartname){
        if(StringUtils.isEmpty(r3pvpartname))
            r3pvpartname=null;
        this.r3pvpartname = r3pvpartname;
        this.set("r3pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件3]
     */
    public String getR3pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r3pvpartname)&&(!StringUtils.isEmpty(this.getR3pvpartid())) && this.getR3pvpart()!=null)
        {
            this.r3pvpartname = this.getR3pvpart().getPvpartname();
            this.set("r3pvpartnamedirtyflag",true);
        }
        return this.r3pvpartname;
    }
    /**
     *  重置属性值[右侧部件3]
     */
    public void resetR3pvpartname(){
        this.set("r3pvpartnamedirtyflag",false);
        this.r3pvpartname = null;
    }
    /**
     *  设置属性值[右侧部件4]
     *  @param r4pvpartctrlid
     */
    public void setR4pvpartctrlid(String r4pvpartctrlid){
        if(StringUtils.isEmpty(r4pvpartctrlid))
            r4pvpartctrlid=null;
        this.r4pvpartctrlid = r4pvpartctrlid;
        this.set("r4pvpartctrliddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件4]
     */
    public String getR4pvpartctrlid(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r4pvpartctrlid)&&(!StringUtils.isEmpty(this.getR4pvpartid())) && this.getR4pvpart()!=null)
        {
            this.r4pvpartctrlid = this.getR4pvpart().getCtrlid();
            this.set("r4pvpartctrliddirtyflag",true);
        }
        return this.r4pvpartctrlid;
    }
    /**
     *  重置属性值[右侧部件4]
     */
    public void resetR4pvpartctrlid(){
        this.set("r4pvpartctrliddirtyflag",false);
        this.r4pvpartctrlid = null;
    }
    /**
     *  设置属性值[右侧部件4]
     *  @param r4pvpartid
     */
    public void setR4pvpartid(String r4pvpartid){
        if(StringUtils.isEmpty(r4pvpartid))
            r4pvpartid=null;
        this.r4pvpartid = r4pvpartid;
        this.set("r4pvpartiddirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件4]
     */
    public String getR4pvpartid(){
        return this.r4pvpartid;
    }
    /**
     *  重置属性值[右侧部件4]
     */
    public void resetR4pvpartid(){
        this.set("r4pvpartiddirtyflag",false);
        this.r4pvpartid = null;
    }
    /**
     *  设置属性值[右侧部件4]
     *  @param r4pvpartname
     */
    public void setR4pvpartname(String r4pvpartname){
        if(StringUtils.isEmpty(r4pvpartname))
            r4pvpartname=null;
        this.r4pvpartname = r4pvpartname;
        this.set("r4pvpartnamedirtyflag",true);
    }
    /**
     *  获取属性值[右侧部件4]
     */
    public String getR4pvpartname(){
        //填充物理化的外键值附加数据
        if(StringUtils.isEmpty(this.r4pvpartname)&&(!StringUtils.isEmpty(this.getR4pvpartid())) && this.getR4pvpart()!=null)
        {
            this.r4pvpartname = this.getR4pvpart().getPvpartname();
            this.set("r4pvpartnamedirtyflag",true);
        }
        return this.r4pvpartname;
    }
    /**
     *  重置属性值[右侧部件4]
     */
    public void resetR4pvpartname(){
        this.set("r4pvpartnamedirtyflag",false);
        this.r4pvpartname = null;
    }
    /**
     *  设置属性值[更新时间]
     *  @param updatedate
     */
    public void setUpdatedate(Timestamp updatedate){
        this.updatedate = updatedate;
        this.set("updatedatedirtyflag",true);
    }
    /**
     *  获取属性值[更新时间]
     */
    public Timestamp getUpdatedate(){
        return this.updatedate;
    }
    /**
     *  重置属性值[更新时间]
     */
    public void resetUpdatedate(){
        this.set("updatedatedirtyflag",false);
        this.updatedate = null;
    }
    /**
     *  设置属性值[更新人]
     *  @param updateman
     */
    public void setUpdateman(String updateman){
        if(StringUtils.isEmpty(updateman))
            updateman=null;
        this.updateman = updateman;
        this.set("updatemandirtyflag",true);
    }
    /**
     *  获取属性值[更新人]
     */
    public String getUpdateman(){
        return this.updateman;
    }
    /**
     *  重置属性值[更新人]
     */
    public void resetUpdateman(){
        this.set("updatemandirtyflag",false);
        this.updateman = null;
    }
     /**
     *  获取主实体关联数据[PortalPage]
     */
    public PortalPage getPortalpage() {
        return portalpage;
    }
    /**
     *  设置主实体关联数据[PortalPage]
     */
    public void setPortalpage(PortalPage portalpage) {
        this.portalpage = portalpage;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getC1pvpart() {
        return c1pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setC1pvpart(PVPart c1pvpart) {
        this.c1pvpart = c1pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getC2pvpart() {
        return c2pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setC2pvpart(PVPart c2pvpart) {
        this.c2pvpart = c2pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getC3pvpart() {
        return c3pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setC3pvpart(PVPart c3pvpart) {
        this.c3pvpart = c3pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getC4pvpart() {
        return c4pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setC4pvpart(PVPart c4pvpart) {
        this.c4pvpart = c4pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getL1pvpart() {
        return l1pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setL1pvpart(PVPart l1pvpart) {
        this.l1pvpart = l1pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getL2pvpart() {
        return l2pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setL2pvpart(PVPart l2pvpart) {
        this.l2pvpart = l2pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getL3pvpart() {
        return l3pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setL3pvpart(PVPart l3pvpart) {
        this.l3pvpart = l3pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getL4pvpart() {
        return l4pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setL4pvpart(PVPart l4pvpart) {
        this.l4pvpart = l4pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getR1pvpart() {
        return r1pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setR1pvpart(PVPart r1pvpart) {
        this.r1pvpart = r1pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getR2pvpart() {
        return r2pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setR2pvpart(PVPart r2pvpart) {
        this.r2pvpart = r2pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getR3pvpart() {
        return r3pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setR3pvpart(PVPart r3pvpart) {
        this.r3pvpart = r3pvpart;
    }

     /**
     *  获取主实体关联数据[PVPart]
     */
    public PVPart getR4pvpart() {
        return r4pvpart;
    }
    /**
     *  设置主实体关联数据[PVPart]
     */
    public void setR4pvpart(PVPart r4pvpart) {
        this.r4pvpart = r4pvpart;
    }

    /**
     * 重置当前数据对象属性值
     */
    public  void reset(){
        resetC1pvpartctrlid();
        resetC1pvpartid();
        resetC1pvpartname();
        resetC2pvpartctrlid();
        resetC2pvpartid();
        resetC2pvpartname();
        resetC3pvpartctrlid();
        resetC3pvpartid();
        resetC3pvpartname();
        resetC4pvpartctrlid();
        resetC4pvpartid();
        resetC4pvpartname();
        resetCreatedate();
        resetCreateman();
        resetIssystem();
        resetL1pvpartctrlid();
        resetL1pvpartid();
        resetL1pvpartname();
        resetL2pvpartctrlid();
        resetL2pvpartid();
        resetL2pvpartname();
        resetL3pvpartctrlid();
        resetL3pvpartid();
        resetL3pvpartname();
        resetL4pvpartctrlid();
        resetL4pvpartid();
        resetL4pvpartname();
        resetOwnerid();
        resetPortalpageid();
        resetPortalpagename();
        resetPpmodel();
        resetPpmodeldetail();
        resetPpmodelid();
        resetPpmodelname();
        resetPpmversion();
        resetR1pvpartctrlid();
        resetR1pvpartid();
        resetR1pvpartname();
        resetR2pvpartctrlid();
        resetR2pvpartid();
        resetR2pvpartname();
        resetR3pvpartctrlid();
        resetR3pvpartid();
        resetR3pvpartname();
        resetR4pvpartctrlid();
        resetR4pvpartid();
        resetR4pvpartname();
        resetUpdatedate();
        resetUpdateman();
    }
     /**
     * 获取数据主键（普通主键与联合主键）
     * @return
     */
    @JsonIgnore
    public Serializable getDefaultPrimaryKey()
    {
    	//联合主键
        String primaryKey ="";
        primaryKey+=this.getPortalpageid();
        primaryKey+="||";
        primaryKey+=this.getOwnerid();
        return  DigestUtils.md5DigestAsHex(primaryKey.getBytes());
    }
     /**
     * 复制当前对象数据到目标对象(粘贴重置)
     *
     * @throws Exception
     */
    public PPModel copyTo(PPModel targetEntity)
	{
		BeanCopier copier=BeanCopier.create(PPModel.class, PPModel.class, false);
		copier.copy(this, targetEntity, null);
        targetEntity.resetPpmodelid();
		return targetEntity;
	}
}