/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.plugin.report.manager.web; import java.util.ArrayList; import java.util.List; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import com.ewcms.common.query.Resultable; import com.ewcms.common.query.jpa.QueryFactory; import com.ewcms.plugin.report.manager.ReportFacable; import com.ewcms.plugin.report.model.CategoryReport; import com.ewcms.plugin.report.model.ChartReport; import com.ewcms.plugin.report.model.TextReport; import com.ewcms.web.QueryBaseAction; import com.ewcms.web.util.JSONUtil; import com.ewcms.web.util.Struts2Util; import com.ewcms.web.vo.DataGrid; import com.ewcms.web.vo.PropertyGrid; /** * * @author wuzhijun * */ public class CategoryReportDetailQueryAction extends QueryBaseAction { private static final long serialVersionUID = 1324307014782116124L; private static final String TEXT_GROUP_TITLE = "文字报表"; private static final String CHART_GROUP_TITLE = "图型报表"; @Autowired private ReportFacable reportFac; private Long categoryId; public Long getCategoryId() { return categoryId; } public void setCategoryId(Long categoryId) { this.categoryId = categoryId; } @Override protected Resultable queryResult(QueryFactory queryFactory, String cacheKey, int rows, int page, Order order) { return null; } @Override protected Resultable querySelectionsResult(QueryFactory queryFactory, int rows, int page, String[] selections, Order order) { return null; } public String query() { List<PropertyGrid> list = new ArrayList<PropertyGrid>(); CategoryReport categoryReport = reportFac.findCategoryReportById(getCategoryId()); Set<TextReport> texts = categoryReport.getTexts(); for (TextReport text : texts) { PropertyGrid grid = new PropertyGrid(); grid.setName(text.getName()); grid.setValue(text.getRemarks()); grid.setGroup(TEXT_GROUP_TITLE); list.add(grid); } Set<ChartReport> charts = categoryReport.getCharts(); for (ChartReport chart : charts) { PropertyGrid grid = new PropertyGrid(); grid.setName(chart.getName()); grid.setValue(chart.getRemarks()); grid.setGroup(CHART_GROUP_TITLE); list.add(grid); } DataGrid data = new DataGrid(list.size(), list); Struts2Util.renderJson(JSONUtil.toJSON(data)); return NONE; } }