📄 indexdimdaoimpl.java.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 + -