Commit b1268d9b by 宋珺琪

数据统计(五色)

parent da99cc67
......@@ -37,5 +37,9 @@ public class DataStatisticsParams {
private String mxbh;
//案件状态
private String ajztdm;
//图例描述
private String tlms;
//图例颜色
private String tlys;
}
......@@ -3,6 +3,8 @@ package com.founder.publicapi.controller.SkWarningService;
import com.alibaba.fastjson.JSONObject;
import com.founder.commonutils.model.newPublicEntity.MapRestResult;
import com.founder.commonutils.model.newPublicEntity.WarningEntity.DataStatisticsParams;
import com.founder.commonutils.model.newPublicEntity.WarningEntity.MapExportEntity;
import com.founder.commonutils.util.ExportExcelUtil;
import com.founder.publicapi.service.DataStatisticsService;
import com.founder.servicebase.logs.OperLog;
import com.founder.servicebase.logs.OperationType;
......@@ -12,6 +14,12 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Api("数据统计")
@CrossOrigin
@RequestMapping("/dataStatistics")
......@@ -35,5 +43,48 @@ public class DataStatisticsController {
return new MapRestResult(resultObj);
}
@ApiOperation("一体化门户数据统计新地图20230207新发案导出")
@PostMapping("/getIntegratedTwoMapNewExport")
@OperLog(message = "一体化门户数据统计导出",operation = OperationType.QUERY)
public void getIntegratedTwoMapNewExport(@RequestBody DataStatisticsParams params , HttpServletResponse response)throws Exception{
JSONObject resultObj=dataStatisticsService.getIntegratedTwoMapNew(params);
List<MapExportEntity> list = castMapToBean((List<Map<String,Object>>)resultObj.get("xzqh"), MapExportEntity.class);
ExportExcelUtil<MapExportEntity> exportExcelUtil = new ExportExcelUtil<>();
String[] headersName = {"行政区划","立案数","上期数","立案同比率"};
String[] headersField = {"name","num","sqcount","amplitude"};
exportExcelUtil.exportExcel("犯罪态势感知", headersName, headersField, list, response,"犯罪态势感知");
}
/**
* List<Map<String, Object>>转List<T>
*/
public <T> List<T> castMapToBean(List<Map<String, Object>> list, Class<T> clazz) throws Exception {
if (list == null || list.size()==0) {
return null;
}
List<T> tList = new ArrayList<T>();
// 获取类中声明的所有字段
Field[] fields = clazz.getDeclaredFields();
T t;
for (Map<String, Object> map : list) {
// 每次都先初始化一遍,然后再设置值
t = clazz.newInstance();
for (Field field : fields) {
// 把序列化的字段去除掉
if (!"serialVersionUID".equals(field.getName())) {
// 由于Field都是私有属性,所有需要允许修改
field.setAccessible(true);
// 设置值, 类型要和vo中的属性名称对应好,不然会报类型转换错误
if(null!=map.get(field.getName())){
field.set(t, String.valueOf(map.get(field.getName())));
}
}
}
tList.add(t); // 把转换好的数据添加到集合中
}
return tList;
}
}
......@@ -57,7 +57,7 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
mapIn = mapTjNew(params);// 各类别统计
mapIn = xzqhmc(mapIn);// 区划名称转换
mapIn = getMapInColour(mapIn, "2222222222222222222222222222222222");// 颜色转换--------------------------------------
mapIn = getMapInColour(mapIn, params);// 颜色转换--------------------------------------这里还没修改 +++++++++
mapIn = mapIn.stream().filter(e -> StringUtils.isNotBlank(e.get("name").toString())).sorted((a1, a2) ->
((Double) a2.get("amplitudenum")).compareTo((Double) a1.get("amplitudenum")))
.collect(Collectors.toList());// 降序
......@@ -144,6 +144,10 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
if (xlabdmList.size()>0){
params.setXzlb(String.join(",", xlabdmList));//实体设置小案类别代码
}
params.setTlms(waringVo.getTlms());//图例描述
params.setTlys(waringVo.getTlys());//图例颜色
return params;
}
......@@ -693,7 +697,16 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
return xzqhlaList;
}
//颜色转换
public List<Map<String,Object>> getMapInColour(List<Map<String,Object>> list,String ajlb){
public List<Map<String,Object>> getMapInColour(List<Map<String,Object>> list,DataStatisticsParams params){
String[] tlmsList = params.getTlms().split(",");
String[] tlysList = params.getTlys().split(",");
for (int i = 0; i <tlmsList.length; i++) {
String ms = tlmsList[i];
String ys =tlysList[i];
}
String ajlb = "";
// 犯罪形势-电信网络诈骗案件立案数
if(ajlb.equals("004")||ajlb.equals("017")){
for(Map maps:list){
......
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