⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexdataaction.java

📁 用户模块和指标模块等等,还有其它的模块吧
💻 JAVA
字号:
package com.srit.gcz.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.srit.gcz.bean.IndexData;
import com.srit.gcz.bean.IndexDimMember;
import com.srit.gcz.bean.IndexFrequency;
import com.srit.gcz.bean.IndexIndexs;
import com.srit.gcz.bean.IndexStat;
import com.srit.gcz.service.IndexDataService;
import com.srit.gcz.service.IndexDimMemberService;
import com.srit.gcz.service.IndexDimService;
import com.srit.gcz.service.IndexFrequencyService;
import com.srit.gcz.service.IndexIndexsService;
import com.srit.gcz.service.IndexStatService;
import com.srit.gcz.util.JsonReturn;
import com.srit.gcz.util.SysFuncUtils;

/**
 * 指标数据
 * @Company 国研科技
 * @author 陈鹏昊
 * @date 2009-3-24
 * @version 1.0
 * @since 1.0
 */
public class IndexDataAction extends BaseAction{
	// serialVersionUID
	private static final long serialVersionUID = -2688842932926490481L;
	// Spring注入
	private IndexIndexsService indexIndexsService;
	private IndexDataService indexDataService;
	private IndexDimService indexDimService;
	private IndexDimMemberService indexDimMemberService;
	private IndexFrequencyService indexFrequencyService;
	private IndexStatService indexStatService;
	// 传入的查询参数对象
	private IndexData bean = new IndexData();
	// 录入数据
	private List<IndexData> beans = null;
	// 开始年份
	private int sYear = -1;
	// 结束年份
	private int eYear = -1;
	// 维度
	private String dimSel = null;
	// 地区维度下拉框,目前默认选择他,而无需选择维度
	private String subDimSel = null;
	// 统计属性
	private String statSel = null;
	// 统计频度
	private String frquencySel = null;
	// 指标选择
	private String indexSel = null;
	// 传入ID串
	private String IDs = null;
	// Json返回对象
	private JsonReturn jr = new JsonReturn();
	// 数据标题
	private String[] viewCols = null;
	// 数据展示
	private Map<String, Map<String, IndexData>> viewData = null;
	
	public String save(){
		indexDataService.save(beans);
		return enterPage();
	}
	
	public String createTable(){
		// 根据频度 查找频度对应表  按顺序获取频度对应的子类  包括名称,数量
		List<String> sorts = indexFrequencyService.getFrequencySort(bean.getFrequencyId());
		int sortLength = sorts.size();
		String[] years = SysFuncUtils.inputBlankYear(sYear, eYear);
		
		// 根据用户输入的年份区间,按2007,2008的顺序,以及频度对应的子类 合并为2008年1月 2008年第一季度的形式 一个数组
		int arrLength = sortLength * years.length;
		String[] viewCols = new String[arrLength];
		int i = 0;
		for(int j = 0;j < years.length;j++){
			String tempY = years[j];
			for(int k = 0;k < sortLength;k++){
				String tempArr = sorts.get(k);
				viewCols[i] = tempY+ "年" + tempArr;
				i++;
			}
		}

		// 获取指标对应的数据,以map形式存储key为"2008年1月" value则为IndexData
		String[] indexID = this.IDs.split(",");
		Map<String, Map<String, IndexData>> viewData = new HashMap<String, Map<String, IndexData>>();
		for(int m = 0; m < indexID.length;m++){
			String indexName = indexIndexsService.getIndexIndexsByID(Integer.parseInt(indexID[m])).getIndexName();
			Map<String, IndexData> datas = indexDataService.getIndexDatasReMap(Integer.parseInt(indexID[m]), bean.getFrequencyId(), bean.getAreAid(), bean.getStatId(), sYear+"", eYear+"");
			
			for(int j = 0;j < years.length;j++){
				String tempY = years[j];
				for(int k = 0;k < sortLength;k++){
					String tempArr = sorts.get(k);
					if(datas.get(tempY+ "年" + tempArr) == null){
						IndexData blank = new IndexData();
						blank.setId(0);
						blank.setAreAid(bean.getAreAid());
						blank.setIndexId(Integer.parseInt(indexID[m]));
						blank.setFrequencyId(bean.getFrequencyId());
						blank.setStatId(bean.getStatId());
						blank.setDataArr(-1);
						blank.setFrequencyAtt(tempArr);
						blank.setYear(tempY);
						blank.setIndexValue(0.0);
						blank.setUuid(SysFuncUtils.getUUID());
						datas.put(tempY+ "年" + tempArr, blank);
					}
				}
			}
			
			viewData.put(indexName, datas);
		}
		
		this.viewCols = viewCols;
		this.viewData = viewData;
		return IFRAME;
	}
	
	public String getIntersectionInfo(){
		getDefaultInfo();
		/*if(this.getDimSel().length() == 0){
			jr.setSuccess(false);
			jr.setError("所选指标不包含相同的维度项");
			return ALLJSON;
		}*/
		if(this.getStatSel().length() == 0){
			jr.setSuccess(false);
			jr.setError("所选指标不包含相同的统计属性");
			return ALLJSON;
		}
		if(this.getFrquencySel().length() == 0){
			jr.setSuccess(false);
			jr.setError("所选指标不包含相同的统计频度");
			return ALLJSON;
		}
		jr.setSuccess(true);
		return ALLJSON;
	}
	
	public String enterPage(){
		List<IndexIndexs> indexs = indexIndexsService.getAllIndexIndexs();
		StringBuffer indexsStr = new StringBuffer();
		if(indexs != null){
			for(IndexIndexs temp : indexs){
				indexsStr.append("<option value=\""+temp.getId()+"\">"+temp.getIndexName()+"</option>");
			}
		}
		indexSel = indexsStr.toString();
		
		// 默认显示地区
		List<IndexDimMember> subDims = indexDimMemberService.getIndexDimMembersByDimID(1);
		StringBuffer subdimStr = new StringBuffer();
		if(subDims != null){
			for(IndexDimMember temp : subDims){
				subdimStr.append("<option value=\""+temp.getId()+"\">"+temp.getMemberName()+"</option>");
			}
		}
		subDimSel = subdimStr.toString();
		
		return SUCCESS;
	}
	
	private void getDefaultInfo(){
		//List<IndexDim> dims = indexDimService.getIntersectionDims(this.IDs);
		List<IndexStat> stats = indexStatService.getIntersectionStats(this.IDs);
		List<IndexFrequency> frequencys = indexFrequencyService.getIntersectionFrequencys(this.IDs);
		
		//StringBuffer dimStr = new StringBuffer();
		StringBuffer stateStr = new StringBuffer();
		StringBuffer frequencyStr = new StringBuffer();
		
		/*for(IndexDim temp : dims){
			dimStr.append("<option value=\""+temp.getId()+"\">"+temp.getName()+"</option>");
		}*/
		if(stats != null){
			for(IndexStat temp : stats){
				stateStr.append("<option value=\""+temp.getId()+"\">"+temp.getName()+"</option>");
			}
		}
		if(frequencys != null){
			for(IndexFrequency temp : frequencys){
				frequencyStr.append("<option value=\""+temp.getId()+"\">"+temp.getName()+"</option>");
			}
		}
		
		// 维度
		//dimSel = dimStr.toString();
		// 统计属性
		statSel = stateStr.toString();
		// 统计频度
		frquencySel = frequencyStr.toString();
	}
	
	public List<IndexData> getBeans() {
		return beans;
	}

	public void setBeans(List<IndexData> beans) {
		this.beans = beans;
	}

	public int getSYear() {
		return sYear;
	}

	public void setSYear(int year) {
		sYear = year;
	}

	public int getEYear() {
		return eYear;
	}

	public void setEYear(int year) {
		eYear = year;
	}

	public IndexData getBean() {
		return bean;
	}

	public void setBean(IndexData bean) {
		this.bean = bean;
	}

	public JsonReturn getJr() {
		return jr;
	}

	public void setJr(JsonReturn jr) {
		this.jr = jr;
	}

	public String getIDs() {
		return IDs;
	}

	public void setIDs(String ds) {
		IDs = ds;
	}

	public String getDimSel() {
		return dimSel;
	}

	public void setDimSel(String dimSel) {
		this.dimSel = dimSel;
	}

	public String getStatSel() {
		return statSel;
	}

	public void setStatSel(String statSel) {
		this.statSel = statSel;
	}

	public String getFrquencySel() {
		return frquencySel;
	}

	public String[] getViewCols() {
		return viewCols;
	}

	public void setViewCols(String[] viewCols) {
		this.viewCols = viewCols;
	}

	public Map<String, Map<String, IndexData>> getViewData() {
		return viewData;
	}

	public void setViewData(Map<String, Map<String, IndexData>> viewData) {
		this.viewData = viewData;
	}

	public void setIndexIndexsService(IndexIndexsService indexIndexsService) {
		this.indexIndexsService = indexIndexsService;
	}

	public void setFrquencySel(String frquencySel) {
		this.frquencySel = frquencySel;
	}

	public void setIndexDimService(IndexDimService indexDimService) {
		this.indexDimService = indexDimService;
	}

	public void setIndexFrequencyService(IndexFrequencyService indexFrequencyService) {
		this.indexFrequencyService = indexFrequencyService;
	}

	public String getIndexSel() {
		return indexSel;
	}

	public void setIndexSel(String indexSel) {
		this.indexSel = indexSel;
	}

	public String getSubDimSel() {
		return subDimSel;
	}

	public void setSubDimSel(String subDimSel) {
		this.subDimSel = subDimSel;
	}

	public void setIndexDimMemberService(IndexDimMemberService indexDimMemberService) {
		this.indexDimMemberService = indexDimMemberService;
	}

	public void setIndexStatService(IndexStatService indexStatService) {
		this.indexStatService = indexStatService;
	}

	public void setIndexDataService(IndexDataService indexDataService) {
		this.indexDataService = indexDataService;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -