/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.component.param.entity;
import java.util.HashMap;
import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import com.jinhe.tss.component.param.ParamConstants;
import com.jinhe.tss.component.support.persistence.entityaop.IDecodable;
import com.jinhe.tss.component.support.persistence.entityaop.OperateInfo;
import com.jinhe.tss.core.util.BeanUtil;
import com.jinhe.tss.core.util.EasyUtils;
import com.jinhe.tss.core.web.dispaly.tree.ILevelTreeNode;
import com.jinhe.tss.core.web.dispaly.tree.TreeAttributesMap;
import com.jinhe.tss.core.web.dispaly.xform.IXForm;
/**
* <p> Param.java </p>
* <p>
* 系统参数实体
* </p>
*/
@Entity
@Table(name = "component_param")
@SequenceGenerator(name = "param_sequence", sequenceName = "param_sequence", initialValue = 1000, allocationSize = 10)
public class Param extends OperateInfo implements ILevelTreeNode, IXForm, IDecodable {
private static final long serialVersionUID = -2070878281353109922L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "param_sequence")
private Long id; // 主键
private String code; // 参数名称
private String name; // 展示名称
@Column(length = 2000)
private String value; // 参数值
private String text; // 参数展示值
private Integer modality; //参数展示方式 0:简单参数 1:下拉型 2:树型
private Integer type; //种类 0:参数组 1:参数 2:参数项
private String description;//描述
private Long parentId; // 父节点
private Integer seqNo; // 排序号
private String decode; // 层码,要求唯一
private Integer levelNo;// 层次值
private Integer disabled = ParamConstants.FALSE;// 停用/启用标记
private Integer hidden = ParamConstants.FALSE;// 是否是系统的
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getLevelNo() {
return levelNo;
}
public void setLevelNo(Integer levelNo) {
this.levelNo = levelNo;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Integer getSeqNo() {
return seqNo;
}
public void setSeqNo(Integer seqNo) {
this.seqNo = seqNo;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getDecode() {
return decode;
}
public void setDecode(String decode) {
this.decode = decode;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getModality() {
return modality;
}
public void setModality(Integer modality) {
this.modality = modality;
}
public Class<?> getParentClass() {
return Param.class;
}
public Integer getDisabled() {
return disabled;
}
public void setDisabled(Integer disabled) {
this.disabled = disabled;
}
public Integer getHidden() {
return hidden;
}
public void setHidden(Integer hidden) {
this.hidden = hidden;
}
private boolean isStoped(){
return ParamConstants.TRUE.equals(this.disabled);
}
public TreeAttributesMap getAttributes() {
TreeAttributesMap map;
String icon_path;
if (ParamConstants.GROUP_PARAM_TYPE.equals(type)) {
map = new TreeAttributesMap(id, name);
icon_path = !isStoped() ? ParamConstants.PARAM_GROUP_TREE_ICON_PATH_START : ParamConstants.PARAM_GROUP_TREE_ICON_PATH_STOP;
}
else if (ParamConstants.NORMAL_PARAM_TYPE.equals(type)) {
map = new TreeAttributesMap(id, (EasyUtils.isNullOrEmpty(name)) ? code : name);
if(ParamConstants.SIMPLE_PARAM_MODE.equals(modality)){
icon_path = !isStoped() ? ParamConstants.PARAM_SIMPLE_ICON_PATH_START : ParamConstants.PARAM_SIMPLE_ICON_PATH_STOP;
}
else if (ParamConstants.COMBO_PARAM_MODE.equals(modality)){
icon_path = !isStoped() ? ParamConstants.PARAM_COMBO_ICON_PATH_START : ParamConstants.PARAM_COMBO_ICON_PATH_STOP;
}
else {
icon_path = !isStoped() ? ParamConstants.PARAM_TREE_ICON_PATH_START : ParamConstants.PARAM_TREE_ICON_PATH_STOP;
}
map.put("code", code);
map.put("value", value);
map.put("text", text);
}
else {
map = new TreeAttributesMap(id, (EasyUtils.isNullOrEmpty(text)) ? value : text);
map.put("value", value);
icon_path = !isStoped() ? ParamConstants.PARAM_ITEM_TREE_ICON_PATH_START : ParamConstants.PARAM_ITEM_TREE_ICON_PATH_STOP;
}
map.put("icon", icon_path);
map.put("parentId", parentId);
map.put("disabled", disabled);
map.put("decode", decode);
map.put("levelNo", levelNo);
map.put("type", type);
map.put("mode", modality);
super.putOperateInfo2Map(map);
return map;
}
public Map<String, Object> getAttributesForXForm() {
Map<String, Object> map = new HashMap<String, Object>();
BeanUtil.addBeanProperties2Map(this, map);
return map;
}
}