Newer
Older
alarm / WebRoot / WEB-INF / classes / com / casic / dma / model / domain / PosDMA.java
zhout on 2 Mar 2022 2 KB first commit
package com.casic.dma.model.domain;

import com.casic.dma.model.json.WaterPipelineRegionTreeJSON;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "POSDMA")
@SequenceGenerator(name = "SEQ_POSDMA_ID", sequenceName = "SEQ_POSDMA_ID", allocationSize=1,initialValue=1)
public class PosDMA implements Serializable,Comparable<PosDMA> {
    /**
	 * 
	 */
	private static final long serialVersionUID = 8784794374182869670L;
	private Long ID; //ID     
	private DMAInfo dmaInfo;            //分区ID
	private PositionInfo positionInfo;  //监测点ID
    private String Direction;  //流向     选择输入[{流入:1},{流出:-1} ]
    private Boolean active;
    
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_POSDMA_ID")
	@Column(name = "DBID")
	public Long getID() {
		return ID;
	}
	public void setID(Long iD) {
		ID = iD;
	}

	@ManyToOne(fetch= FetchType.EAGER, targetEntity=DMAInfo.class)
	public DMAInfo getDmaInfo() {
		return dmaInfo;
	}
	public void setDmaInfo(DMAInfo dmaInfo) {
		this.dmaInfo = dmaInfo;
	}
	
	@ManyToOne(fetch= FetchType.EAGER, targetEntity=PositionInfo.class)
	public PositionInfo getPositionInfo() {
		return positionInfo;
	}
	public void setPositionInfo(PositionInfo positionInfo) {
		this.positionInfo = positionInfo;
	}
	
	@Column(name="DIRECTION")
	public String getDirection() {
		return Direction;
	}
	public void setDirection(String direction) {
		Direction = direction;
	}
	
	@Column(name="ACTIVE")
	public Boolean getActive() {
		return active;
	}
	public void setActive(Boolean active) {
		this.active = active;
	}


	@Override
	public int compareTo(PosDMA posDma) {
       return  this.positionInfo.getID()>posDma.getPositionInfo().getID()?1:-1;
	}

    public static WaterPipelineRegionTreeJSON convertToJSON(PosDMA posDma, DMAInfo parent) {
        if (!posDma.getPositionInfo().getActive()
                || null == posDma.getActive()
                || posDma.getActive() == Boolean.FALSE) {
            return null;
        }

        WaterPipelineRegionTreeJSON node = new WaterPipelineRegionTreeJSON();
        node.setId((long) (new Date().getTime() * Math.random())
                + parent.getID() + posDma.getPositionInfo().getID());
        node.setElementName(posDma.getPositionInfo().getName());
        node.setIconCls("icon-tip");
        node.set_parentId(parent.getID());
        node.setIsRegion(false);
        node.setIsPosition(true);
        node.setPositionID(posDma.getPositionInfo().getID());
        return node;
    }
}