提交 28427573 authored 作者: 董吉利's avatar 董吉利

1、增加了路段的javabean(Basehighwayalldata)修改了属性的类型,qidianhzuanghaoa,zhidianzhuanghao修改为double类型

2、查询的方法中queryHighWay中增加了查询结果返回值的判断
上级 4ac431e6
......@@ -12,9 +12,9 @@ public class Basehighwayalldata {
private String zhidianmingcheng;//止点名称
private String qidianzhuanghaoa;//起点桩号
private Double qidianzhuanghaoa;//起点桩号
private String zhidianzhuanghao;//止点桩号
private Double zhidianzhuanghao;//止点桩号
private String licheng;//里程
......@@ -228,19 +228,19 @@ public class Basehighwayalldata {
this.zhidianmingcheng = zhidianmingcheng;
}
public String getQidianzhuanghaoa() {
public Double getQidianzhuanghaoa() {
return qidianzhuanghaoa;
}
public void setQidianzhuanghaoa(String qidianzhuanghaoa) {
public void setQidianzhuanghaoa(Double qidianzhuanghaoa) {
this.qidianzhuanghaoa = qidianzhuanghaoa;
}
public String getZhidianzhuanghao() {
public Double getZhidianzhuanghao() {
return zhidianzhuanghao;
}
public void setZhidianzhuanghao(String zhidianzhuanghao) {
public void setZhidianzhuanghao(Double zhidianzhuanghao) {
this.zhidianzhuanghao = zhidianzhuanghao;
}
......
......@@ -14,10 +14,8 @@ import org.elasticsearch.transport.client.PreBuiltTransportClient;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Description: 自定义elasticsearch工具类,
......@@ -731,7 +729,7 @@ public class EsUtil_fanshe {
* @Author: dongjili
* @Date:
*/
public static HashMap<String, Object> queryHighWay(String keyword, String index, String type, int start, int row) throws Exception {
public static Map<String, Object> queryHighWay(String keyword, String index, String type, int start, int row) throws Exception {
//搜索数据
SearchRequestBuilder searchRequestBuilder = getClient().prepareSearch(index).setTypes(type).setFrom(start).setSize(row);
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length> 0(去掉字符串两端的多余的空格的长度)
......@@ -854,11 +852,48 @@ public class EsUtil_fanshe {
//获取私有的属性字段
Field[] beanFiled = clazz.getDeclaredFields();
basehighwayalldata.setId(hit.getId());
for (int a = 1; a < highwayNames.length; a++) {
for (int z = 1; z < highwayNames.length; z++) {
//暴力破解
beanFiled[a].setAccessible(true);
//beanFiled[a].setAccessible(true);
//给路段属性复制
beanFiled[a].set(basehighwayalldata, sourceAsMap.get(highwayNames[a]) == null ? "" : sourceAsMap.get(highwayNames[a]).toString());
//beanFiled[a].set(basehighwayalldata, sourceAsMap.get(highwayNames[a]) == null ? "" : sourceAsMap.get(highwayNames[a]).toString());
try {
//强制反射,让private 的属性也可以访问
beanFiled[z].setAccessible(true);
//把得到的属性进行赋值,就是把读取到的单元格中的数据赋给对应的属性
/* Row.MissingCellPolicy RETURN_NULL_AND_BLANK
Row.MissingCellPolicy RETURN_BLANK_AS_NULL
Row.MissingCellPolicy CREATE_NULL_AS_BLANK*/
if (beanFiled[z].getType().equals(String.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : sourceAsMap.get(highwayNames[z]).toString());
} else if (beanFiled[z].getType().equals(Integer.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? 0 : Integer.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Long.class.getName())) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : Long.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Float.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : Float.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Double.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? 0.0 : Double.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Byte.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : Byte.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Boolean.class)) {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : Boolean.valueOf(sourceAsMap.get(highwayNames[z]).toString()));
} else if (beanFiled[z].getType().equals(Date.class)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sdf.parse(sourceAsMap.get(highwayNames[z]) == null ? "" : sourceAsMap.get(highwayNames[z]).toString());
} catch (Exception e) {
e.printStackTrace();
}
beanFiled[z].set(basehighwayalldata, date);
} else {
beanFiled[z].set(basehighwayalldata, sourceAsMap.get(highwayNames[z]) == null ? "" : sourceAsMap.get(highwayNames[z]).toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
basehighwayalldataList.add(basehighwayalldata);
}
......@@ -866,6 +901,7 @@ public class EsUtil_fanshe {
put("total", hits.getTotalHits());
put("list", basehighwayalldataList);
}};
}
/**
......
......@@ -24,7 +24,7 @@ public class ReadElasticsearch {
*/
//List<Basebridgealldata> basebridgealldataList = EsUtil_fanshe.queryBridge("广州桥", "basebridgealldata", "2018", 0, 2000000000);
//分词查询路段数据返回list集合
//List<Basehighwayalldata> basehighwayalldataList = EsUtil_fanshe.queryHighWay("广州桥", "basehighwayalldata", "2018", 0, 2000000000);
//List<Basehighwayalldata> basehighwayalldataList = EsUtil_fanshe.queryHighWay("S226", "basehighwayalldata", "2018", 0, 2000000000);
//词条查询路线编号数据返回list集合
//List<Basehighwayalldata> basehighwayalldataList = EsUtil_fanshe.queryHighWayLXBH("S226", "basehighwayalldata", "2018", 0, 2000000000);
//路段查询所有数据返回
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论