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

📄 indexdimdaoimpl.java.svn-base

📁 用户模块和指标模块等等,还有其它的模块吧
💻 SVN-BASE
字号:
package com.srit.gcz.dao.impl;

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

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapperResultSetExtractor;

import com.srit.gcz.bean.IndexDim;
import com.srit.gcz.bean.IndexDimRel;
import com.srit.gcz.bean.IndexFrequency;
import com.srit.gcz.bean.rowmapper.IndexDimRowMapper;
import com.srit.gcz.dao.IndexDimDao;
import com.srit.gcz.util.SysConstant;
import com.srit.gcz.util.SysFuncUtils;

/**
 * 维度
 * 
 * @Company 国研科技
 * @author 陈鹏昊
 * @date 2009-3-24
 * @version 1.0
 * @since 1.0
 */
public class IndexDimDaoImpl implements IndexDimDao {
	// 查询某维度
	private static final String QUERY_DIM = "SELECT * FROM "
			+ SysConstant.TABLE_INDEX_DIM + " WHERE ID = ?";
	// 查询所有维度
	private static final String QUERY_ALL_DIM = "SELECT * FROM "
			+ SysConstant.TABLE_INDEX_DIM;
	// 查询某指标所有维度
	private static final String QUERY_REL_DIM = "SELECT a.* FROM "
			+ SysConstant.TABLE_INDEX_DIM + " A,"
			+ SysConstant.TABLE_INDEX_INDEXDIM
			+ " B WHERE A.ID = B.RELID AND B.INDEXID = ?";
	// 查询某指标所有维度ID
	private static final String QUERY_IDMID_INDEXSTAT  = "SELECT a.ID FROM "
		+ SysConstant.TABLE_INDEX_DIM + " A,"
		+ SysConstant.TABLE_INDEX_INDEXDIM
		+ " B WHERE A.ID = B.RELID AND B.INDEXID = ?";
	// 新增维度
	private static final String INSERT_DIM = "INSERT INTO "
			+ SysConstant.TABLE_INDEX_DIM + "(ID, NAME, REMARK, COLREL) VALUES(?, ?, ?, ?)";
	// 新增维度指标关系
	private static final String INSERT_REL_DIM = "INSERT INTO "
			+ SysConstant.TABLE_INDEX_INDEXDIM
			+ "(INDEXID, RELID) VALUES(?, ?)";
	// 更新维度
	private static final String UPDATE_DIM  = "UPDATE "
			+ SysConstant.TABLE_INDEX_DIM + " SET NAME = ?, REMAKR = ? WHERE ID = ?";
	// 删除维度
	private static final String DELETE_DIM = "DELETE FROM "
			+ SysConstant.TABLE_INDEX_DIM + " WHERE ID = ?";
	// 删除维度指标关系
	private static final String DELETE_REL_DIM = "DELETE FROM "
			+ SysConstant.TABLE_INDEX_INDEXDIM + " WHERE INDEXID = ?";
	// Srping注入
	private JdbcTemplate jdbcTemplate;

	public boolean delete(IndexDim bean) {
		int operMark = jdbcTemplate.update(DELETE_DIM,
				new Object[] { bean.getId() });
		return (operMark > 0) ? true : false;
	}

	public boolean deleteRel(String IDs) {
		String[] idArray = IDs.split(",");
		for(int i = 0;i < idArray.length;i++){
			int id = Integer.parseInt(idArray[i]);
			if(jdbcTemplate.update(DELETE_REL_DIM,new Object[] {id}) < 1){
				return false;
			}
		}
		return true;
	}

	public boolean updateRel(int ID, String rels) {
		deleteRel(ID+"");
		saveRel(ID, rels);
		return false;
	}
	
	public IndexDim getIndexDimByID(int ID) {
		IndexDim bean = (IndexDim) jdbcTemplate.queryForObject(
				QUERY_DIM, new Object[] { ID }, new IndexDimRowMapper());
		return bean;
	}

	@SuppressWarnings("unchecked")
	public List<IndexDim> getIndexDims() {
		Object obj = jdbcTemplate.query(QUERY_ALL_DIM,
				new RowMapperResultSetExtractor(new IndexDimRowMapper()));
		return (List<IndexDim>) obj;
	}

	@SuppressWarnings("unchecked")
	public List<IndexDim> getIndexDimsByIndexID(int ID) {
		Object obj = jdbcTemplate.query(QUERY_REL_DIM,
				new Object[] { ID }, new RowMapperResultSetExtractor(
						new IndexDimRowMapper()));
		return (List<IndexDim>) obj;
	}

	public List<IndexDim> getIndexDimsByIndexIDs(String IDs) {
		String[] array = IDs.split(",");
		String[] statIDs = new String[array.length];
		for(int i = 0; i < array.length;i++){
			String temp = getIndexDimsID(Integer.parseInt(array[i]));
			statIDs[i] = temp;
		}
		String reID = SysFuncUtils.getIntersection(statIDs);
		if(reID.length() > 0){
			List<IndexDim> allDims = getIndexDims();
			Map<String, IndexDim> allDimMap = new HashMap<String, IndexDim>();
			for(IndexDim temp : allDims){
				allDimMap.put(temp.getId()+"", temp);
			}
			String[] res = reID.split(",");
			List<IndexDim> reDims = new ArrayList<IndexDim>();
			for(int j = 0;j < res.length;j++){
				reDims.add(allDimMap.get(res[j]));
			}
			return reDims;
		}else{
			return null;
		}
	}
	
	private String getIndexDimsID(int ID){
		List rows = jdbcTemplate.queryForList(QUERY_IDMID_INDEXSTAT, new Object[]{ ID });
		Iterator it = rows.iterator();
		StringBuffer stb = new StringBuffer();
		while(it.hasNext()) {  
		    Map map = (Map) it.next();  
		    String id = map.get("ID").toString();
			stb.append(id).append(",");
		}
		return SysFuncUtils.delLastChart(stb);
	}
	
	public boolean save(IndexDim bean) {
		int operMark = jdbcTemplate.update(INSERT_DIM, new Object[] {
				bean.getId(), bean.getName() });
		return (operMark > 0) ? true : false;
	}

	public boolean saveRel(int ID, String rels) {
		int operMark = -1;
		String[] rel_Array = rels.split(",");
		for(int i = 0;i < rel_Array.length;i++){
			operMark = jdbcTemplate.update(INSERT_REL_DIM, new Object[] {
					 ID, Integer.parseInt(rel_Array[i]) });
			if (operMark <= 0) {
				return false;
			}
		}
		return true;
	}

	public boolean update(IndexDim bean) {
		int operMark = jdbcTemplate.update(UPDATE_DIM, new Object[] {
				bean.getName(), bean.getId() });
		return (operMark > 0) ? true : false;
	}

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

}

⌨️ 快捷键说明

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