Commit 2955bf72 by yangyang

弱轨迹统计计算提交(阿里云)

parent 6909778f
......@@ -19,6 +19,7 @@ import com.founder.servicebase.logs.OperationType;
import com.founder.publicapi.service.SkTrailService;
import com.founder.servicebase.service.SkDictionaryService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -244,7 +245,7 @@ public class SkTrailController extends ApiController implements ExcelControllerI
ArrayList<Map.Entry<String,Object>> listMapCf = new ArrayList<>();// 始发地点统计
ArrayList<Map.Entry<String,Object>> listMapMd = new ArrayList<>();// 目的地点统计
if(records.size()>0){
if(records.size()>0)if(records.size()>0){
// 火车、飞机轨迹进行计算
if("hcgj".equals(sktrailParam.getLikeField())||"jcgj".equals(sktrailParam.getLikeField())||"jdgj".equals(sktrailParam.getLikeField())){
// 对拿回得所有数据进行分组 出发为一组/达到为一组
......@@ -252,11 +253,15 @@ public class SkTrailController extends ApiController implements ExcelControllerI
map.forEach((key,value)->{
if(key.equals("1")){
value.stream().forEach(h->{
listCf.add(h.getAddress());
if(StringUtils.isNotEmpty(h.getAddress())) {
listCf.add(h.getAddress());
}
});
}else if(key.equals("2")){
value.stream().forEach(h->{
listDd.add(h.getAddress());
if(StringUtils.isNotEmpty(h.getAddress())) {
listDd.add(h.getAddress());
}
});
}
});
......@@ -270,11 +275,11 @@ public class SkTrailController extends ApiController implements ExcelControllerI
}
Map<String, Object> valueResult = new LinkedHashMap<>();
Map<String, Object> valueResult1 = new LinkedHashMap<>();
mapTjCf.entrySet().stream().sorted(Map.Entry
.comparingByValue())
mapTjCf.entrySet().stream().sorted(Map.Entry.<String,Integer>
comparingByValue().reversed())
.forEachOrdered(b->valueResult.put(b.getKey(), b.getValue()));
listMapCf = new ArrayList<>(valueResult.entrySet());
listMapCf = (ArrayList<Map.Entry<String,Object>>)listMapCf.stream().parallel().sorted((o1, o2) -> o2.getValue().toString().compareTo(o1.getValue().toString()))
listMapCf = (ArrayList<Map.Entry<String,Object>>)listMapCf.stream().parallel()
.limit(1).collect(Collectors.toList());
listDdDistinct = listDd.stream().distinct().collect(Collectors.toList());
......@@ -285,25 +290,28 @@ public class SkTrailController extends ApiController implements ExcelControllerI
listDdGl = listDd.stream().filter(s -> s.equals(dd)).collect(Collectors.toList());
mapTjDd.put(dd,listDdGl.size());
}
mapTjDd.entrySet().stream().sorted(Map.Entry
.comparingByValue())
mapTjDd.entrySet().stream().sorted(Map.Entry.<String,Integer>
comparingByValue().reversed())
.forEachOrdered(b->valueResult1.put(b.getKey(), b.getValue()));
listMapMd = new ArrayList<>(valueResult1.entrySet());
listMapMd = (ArrayList<Map.Entry<String,Object>>)listMapMd.stream().parallel().sorted((o1, o2) -> o2.getValue().toString().compareTo(o1.getValue().toString()))
listMapMd = (ArrayList<Map.Entry<String,Object>>)listMapMd.stream().parallel()
.limit(1).collect(Collectors.toList());
String lastGj = "";// 日期为空 展示暂无数据
if(!StringUtil.isEmpty(records.get(records.size()-2).getDate())){
lastGj = records.get(records.size()-2).getDate()+","+records.get(records.size()-2).getAddress()+"—>"+records.get(records.size()-1).getAddress();
}else{
if(StringUtil.isEmpty(records.get(0).getDate())||"jdgj".equals(sktrailParam.getLikeField())||StringUtil.isEmpty(records.get(1).getAddress())){
lastGj = "暂无数据";
}else{
lastGj = records.get(0).getDate()+","+records.get(0).getAddress()+"—>"+records.get(1).getAddress();
}
mapResult.put("zxgj","最新轨迹:"+lastGj);// 最后两条数据即为 最新轨迹
mapResult.put("sfdd","始发地点:"+listMapCf.get(0).getKey()+"("+listMapCf.get(0).getValue()+"次"+")");
mapResult.put("mddd","目的地点:"+listMapMd.get(0).getKey()+"("+listMapMd.get(0).getValue()+"次"+")");
mapResult.put("zxgj",lastGj);// 最后两条数据即为 最新轨迹
mapResult.put("sfdd",listMapCf.get(0).getKey()+"("+listMapCf.get(0).getValue()+"次"+")");
mapResult.put("mddd",listMapMd.get(0).getKey()+"("+listMapMd.get(0).getValue()+"次"+")");
}else if("wbgj".equals(sktrailParam.getLikeField())||"ldgj".equals(sktrailParam.getLikeField())){
records.stream().forEach(h->{
listCf.add(h.getAddress());
});
if(StringUtils.isNotEmpty(h.getAddress())) {
listCf.add(h.getAddress());
}
});
listCfDistinct = listCf.stream().distinct().collect(Collectors.toList());
// 对地点 出现次数最多得地址
Map<String,Integer> mapTjCf = new LinkedHashMap<>();
......@@ -313,14 +321,21 @@ public class SkTrailController extends ApiController implements ExcelControllerI
mapTjCf.put(cf,listDdGl.size());
}
Map<String, Object> valueResult = new LinkedHashMap<>();
mapTjCf.entrySet().stream().sorted(Map.Entry
.comparingByValue())
mapTjCf.entrySet().stream().sorted(Map.Entry.<String,Integer>
comparingByValue().reversed())
.forEachOrdered(b->valueResult.put(b.getKey(), b.getValue()));
listMapCf = new ArrayList<>(valueResult.entrySet());
listMapCf = (ArrayList<Map.Entry<String,Object>>)listMapCf.stream().parallel().sorted((o1, o2) -> o2.getValue().toString().compareTo(o1.getValue().toString()))
listMapCf = (ArrayList<Map.Entry<String,Object>>)listMapCf.stream().parallel()
.limit(1).collect(Collectors.toList());
mapResult.put("zxgj","最新轨迹:"+records.get(records.size()-1).getDate()+","+records.get(records.size()-1).getAddress());// 最后两条数据即为 最新轨迹
mapResult.put("dd","地点:"+listMapCf.get(0).getKey()+"("+listMapCf.get(0).getValue()+"次"+")");
String lastGj = "";// 日期为空 展示暂无数据
if(StringUtil.isEmpty(records.get(0).getDate())||StringUtil.isEmpty(records.get(0).getAddress())){
lastGj = "暂无数据";
}else{
lastGj = records.get(0).getDate()+","+records.get(0).getAddress();
}
mapResult.put("zxgj",lastGj);// 最后两条数据即为 最新轨迹
mapResult.put("dd",listMapCf.get(0).getKey()+"("+listMapCf.get(0).getValue()+"次"+")");
}
}
return new MapRestResult(200, "OK", mapResult.size(), mapResult);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment