package com.norteksoft.mms.form.entity; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import org.apache.commons.lang.StringUtils; import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import com.norteksoft.mms.form.enumeration.OrderType; import com.norteksoft.mms.form.enumeration.StartQuery; import com.norteksoft.mms.form.enumeration.TotalType; /** * 列表视图 * @author wurong * */ @Entity @DiscriminatorValue("ListView") public class ListView extends View implements Cloneable{ private static final long serialVersionUID = 1L; @OneToMany(cascade=CascadeType.ALL,mappedBy="listView") @LazyCollection(LazyCollectionOption.TRUE) @OrderBy("displayOrder asc") private List<ListColumn> columns;//列设置 private Boolean rowNumbers = false;//是否显示序号 private Boolean pagination = true;//是否分页 private Boolean totalable = true;//是否显示列表总条数 private Boolean searchTotalable = true;//查询时是否显示列表总条数 private Integer rowNum;//默认行数 private String rowList;//可选行数 private Boolean defaultListView = false;//是否默认 private Boolean editable;//是否需要操作:增改 private Integer actWidth=90;//操作列宽设置 private String editUrl;//表格中编辑时保存url private Boolean advancedQuery=false;//是否高级查询 private StartQuery startQuery=StartQuery.INSIDE_QUERY;//是否启用查询 private Boolean popUp;//是否是弹出式查询(true为弹出,false为嵌入) private String deleteUrl;//删除的url private String orderFieldName;//行顺序字段名称(如果该字段为空表示不能行拖到) private String dragRowUrl;//行拖动后保存顺序的url private Boolean multiSelect=true;//是否可以多选 private String defaultSortField;//默认排序字段 @Enumerated(EnumType.STRING) private OrderType orderType = OrderType.ASC;//默认排序方式 private Integer frozenColumn;//冻结列数 @Enumerated(EnumType.STRING) private TotalType totalType = TotalType.CURRENT_PAGE;//合计方式 private Boolean multiboxSelectOnly=true;//仅点击复选框时选中 @OneToMany(mappedBy="listView",cascade=CascadeType.ALL) @LazyCollection(LazyCollectionOption.TRUE) private List<JqGridProperty> jqGridPropertys;//属性自由扩展列表 private Boolean searchFaint=true;//是否启用模糊查询 public Boolean getDefaultListView() { return defaultListView; } public void setDefaultListView(Boolean defaultListView) { this.defaultListView = defaultListView; } public List<ListColumn> getColumns() { return columns; } public void setColumns(List<ListColumn> columns) { this.columns = columns; } public Integer getRowNum() { return rowNum; } public void setRowNum(Integer rowNum) { this.rowNum = rowNum; } public String getRowList() { return rowList; } public void setRowList(String rowList) { this.rowList = rowList; } public Boolean getEditable() { return editable; } public void setEditable(Boolean editable) { this.editable = editable; } public String getEditUrl() { return editUrl; } public void setEditUrl(String editUrl) { this.editUrl = editUrl; } public Boolean getPagination() { return pagination; } public void setPagination(Boolean pagination) { this.pagination = pagination; } public String getCustomProperty() { String customProperty=""; if(jqGridPropertys!=null){ for(Object obj:jqGridPropertys){ JqGridProperty jqGridProperty=(JqGridProperty)obj; if(StringUtils.isNotEmpty(jqGridProperty.getName())&&StringUtils.isNotEmpty(jqGridProperty.getValue())){ if(StringUtils.isNotEmpty(customProperty)){ customProperty+=","; } customProperty+=jqGridProperty.getName()+":"+jqGridProperty.getValue(); } } } return customProperty; } public Boolean getAdvancedQuery() { return advancedQuery; } public void setAdvancedQuery(Boolean advancedQuery) { this.advancedQuery = advancedQuery; } public String getDeleteUrl() { return deleteUrl; } public void setDeleteUrl(String deleteUrl) { this.deleteUrl = deleteUrl; } public String getOrderFieldName() { return orderFieldName; } public void setOrderFieldName(String orderFieldName) { this.orderFieldName = orderFieldName; } public String getDragRowUrl() { return dragRowUrl; } public void setDragRowUrl(String dragRowUrl) { this.dragRowUrl = dragRowUrl; } public Boolean getMultiSelect() { return multiSelect; } public void setMultiSelect(Boolean multiSelect) { this.multiSelect = multiSelect; } public Boolean getMultiboxSelectOnly() { return multiboxSelectOnly; } public void setMultiboxSelectOnly(Boolean multiboxSelectOnly) { this.multiboxSelectOnly = multiboxSelectOnly; } public List<JqGridProperty> getJqGridPropertys() { return jqGridPropertys; } public void setJqGridPropertys(List<JqGridProperty> jqGridPropertys) { this.jqGridPropertys = jqGridPropertys; } public Boolean getPopUp() { return popUp; } public void setPopUp(Boolean popUp) { this.popUp = popUp; } public String getDefaultSortField() { return defaultSortField; } public void setDefaultSortField(String defaultSortField) { this.defaultSortField = defaultSortField; } public OrderType getOrderType() { return orderType; } public void setOrderType(OrderType orderType) { this.orderType = orderType; } public Integer getFrozenColumn() { return frozenColumn; } public void setFrozenColumn(Integer frozenColumn) { this.frozenColumn = frozenColumn; } public Boolean getRowNumbers() { return rowNumbers; } public void setRowNumbers(Boolean rowNumbers) { this.rowNumbers = rowNumbers; } public StartQuery getStartQuery() { return startQuery; } public void setStartQuery(StartQuery startQuery) { this.startQuery = startQuery; } public TotalType getTotalType() { return totalType; } public void setTotalType(TotalType totalType) { this.totalType = totalType; } public Integer getActWidth() { return actWidth; } public void setActWidth(Integer actWidth) { this.actWidth = actWidth; } public Boolean getTotalable() { return totalable; } public void setTotalable(Boolean totalable) { this.totalable = totalable; } public Boolean getSearchTotalable() { return searchTotalable; } public void setSearchTotalable(Boolean searchTotalable) { this.searchTotalable = searchTotalable; } public Boolean getSearchFaint() { return searchFaint; } public void setSearchFaint(Boolean searchFaint) { this.searchFaint = searchFaint; } @Override public ListView clone(){ try { return (ListView) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); throw new RuntimeException("ListView clone failure"); } } }