2013年(92)
分类: 信息化
2013-05-18 02:45:53
1.?[代码][Java]代码???? 跳至 [1] [全屏预览] /**
*
* @author luyl
* luyllyl@gmail.com
*/
public class OrbitInfo {
private String id;
。。。。
private String dayOrNight;
private String taskType;
// 开始的时候此处是private int isDelte;同时把get\set也改过来。
private Integer isDelete;
private Long lastModified;
private Date createTime;
private Long fileSize;
private Float resolution;
//...get\set方法,开始时代码
//public void setIsDelete(int isDelete) {
// this.isDelete = isDelete;
//}
//public int getIsDelete() {
// return isDelete;
//}
public void setIsDelete(Integer isDelete) {
this.isDelete = isDelete;
}
public Integer getIsDelete() {
return isDelete;
}
}
//后台logic类要调用的方法
@SuppressWarnings("unchecked")
public Map listOrbit(int currentPage, int pageSize, Map map) {
HttpSession session =WebContextFactory.get().getSession(false);
List ids = (List)session.getAttribute("ids");
String key = (String)session.getAttribute("key");
StringBuilder sb = new StringBuilder("select {o.*}, {p.*} from t_mas_orbit_info o join t_mas_projection_info p on o.id=p.orbitid ");
if(ids!=null){
sb.append(" join T_MAS_META_TEMP m on p.id = m.valueid ");
}
sb.append(" where 1=1 ");
if(ids!=null){
sb.append(" and m.k ='"+ key +"' ");
}
String satellite=map.get("satellite").toString();
String sensor= map.get("sensor").toString();
String dayOrNight = map.get("dayOrNight").toString();
String resolution = "";
Object rr = map.get("resolution");
resolution=Float.toString(Float.valueOf(""+rr).floatValue() / 100000);
String stime = map.get("beginTime").toString();
String etime = map.get("endTime").toString();
if(!StringUtils.isEmpty(satellite)){
sb.append(" and o.satellite='"+satellite+"' ");
}
if(!StringUtils.isEmpty(sensor)){
sb.append(" and o.sensor='"+sensor+"' ");
}
if(!StringUtils.isEmpty(dayOrNight)){
sb.append(" and o.dayornight='"+dayOrNight+"' ");
}
if(!StringUtils.isEmpty(resolution)){
sb.append(" and p.resolutionx='"+resolution+"' ");
}
if(!StringUtils.isEmpty(stime)){
stime = stime.replaceAll("-|:|\\s", "");
sb.append(" and o.observationdate >= '"+ stime + "' ");
}
if(!StringUtils.isEmpty(etime)){
etime = etime.replaceAll("-|:|\\s", "");
sb.append(" and o.observationdate <= '"+ etime + "' ");
}
sb.append(" and p.thumbnail is not null ");
return orbitInfoDAO.orbitPage(currentPage, pageSize, sb.toString());
}
Dao类对应的方法:
public Map orbitPage(int currentPage, int pageSize, String nativeSql){
List list = (List)getSession().createSQLQuery(nativeSql)
.addEntity("o",OrbitInfo.class)
.addEntity("p", ProjectionInfo.class)
.setFirstResult((currentPage-1)*pageSize)
.setMaxResults(pageSize)
.list();
//得到总记录数:
String countSql = "select count(*) as total "+nativeSql.substring(nativeSql.indexOf("from"));
Double total= (Double)getSession().createSQLQuery(countSql).addScalar("total", Hibernate.DOUBLE).uniqueResult();
Map m = new HashMap(2);
m.put("all", total.intValue());
m.put("list", list);
return m;
}