logger.info("fetchData end, eids.length={}, eids={}", eids.length, eids);
//复杂的去重处理,先把相同的数据统一起来,最后在取相同数据中最大的EID数据
long [] a = new long[eids.length];
List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
List<String> companyCodeList = new ArrayList<String>();
//添加COMPANYCODE
for (long eid : eids) {
DataRow zbyzInfo = dao.queryZBYZInfo(eid);
if(zbyzInfo!=null && zbyzInfo.size()>0) {
Date noticeDate = (Date) zbyzInfo.get("NOTICEDATE");//公告日期
String COMPANYCODE= zbyzInfo.getString("COMPANYCODE");//公司代码
String DESCRIPTION = zbyzInfo.getString("DESCRIPTION").toString();//内容
//先保存所有的数据
HashMap<String,Object> map = new HashMap<String,Object>();
map.put("eid", eid);
map.put("noticeDate", noticeDate);
map.put("COMPANYCODE", COMPANYCODE);
map.put("DESCRIPTION", DESCRIPTION);
companyCodeList.add(COMPANYCODE);
list.add(map);
}
}
if(companyCodeList.size() > 0 && list.size() > 0){
Map<String,ArrayList<HashMap<String, Object>>> map2 = new HashMap<String,ArrayList<HashMap<String,Object>>>();
for (String companyCode : companyCodeList) {
ArrayList<HashMap<String, Object>> list2 = new ArrayList<HashMap<String,Object>>();
//根据公司代码遍历所有的数据来分类
for (HashMap<String, Object> map : list) {
if(map.containsKey(companyCode)){
//存在
list2.add(map);
}
}
map2.put(companyCode, list2);
}
//处理同一公司code的数据 最复杂的地方
//1.遍历map
Iterator<Entry<String, ArrayList<HashMap<String, Object>>>> iterator = map2.entrySet().iterator();
while(iterator.hasNext()){
Entry<String, ArrayList<HashMap<String, Object>>> entry = iterator.next();
ArrayList<HashMap<String,Object>> value = entry.getValue();
for (HashMap<String, Object> hashMap : value) {
//同一公司 日期相同的筛选
}
}
}
//return Arrays.asList(ArrayUtils.toObject(eids));