Commit da99cc67 by 宋珺琪

数据统计(五色)

parent d2cbd235
......@@ -8,6 +8,7 @@ import com.founder.servicebase.logs.OperLog;
import com.founder.servicebase.logs.OperationType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......
......@@ -17,4 +17,9 @@ public interface DataStatisticsMapperCqxz {
List <SysDictitem> selectXzqhdmBycq();
//是否是父级
String getIsParent(String code,String type);
//如果是父级 获取所有pid为父级代码的code
List<String> getCodeList(String code, String type);
}
......@@ -25,6 +25,9 @@
and larq<![CDATA[>=]]> str_to_date(#{startTime},'%Y-%m-%d %H:%i:%s')
and larq<![CDATA[<=]]> str_to_date(#{endTime},'%Y-%m-%d %H:%i:%s')
<if test="ajztdm!=null and ajztdm!=''">
and zcjddm in (${ajztdm})
</if>
<if test="xzlb!=null and xzlb!=''">
and ZATZ_JYQK in (${xzlb})
</if>
......@@ -47,7 +50,9 @@
<if test="xzqhdm!=null and xzqhdm!=''">
and LADW_GAJGJGDM LIKE #{xzqhdm} || '%'
</if>
<if test="ajztdm!=null and ajztdm!=''">
and zcjddm in (${ajztdm})
</if>
<if test="xzlb!=null and xzlb!=''">
and ZATZ_JYQK in (${xzlb})
</if>
......@@ -59,7 +64,32 @@
</select>
<select id="selectXzqhdmBycq" resultType="com.founder.commonutils.model.newPublicEntity.SysDictitem">
select * from sys_dictitem where GROUPID='CODE_XZQH' AND CODE LIKE '50%'
select * from sys_dictitem where scbz='0' AND GROUPID='CODE_XZQH' AND CODE LIKE '50%'
</select>
<!-- 遍历是否是父级-->
<select id="getIsParent" resultType="java.lang.String">
select isparent from sys_dictitem
where scbz='0'
<if test="type!=null and type!=''">
AND GROUPID = #{ type , jdbcType=VARCHAR }
</if>
<if test="code!=null and code!=''">
AND CODE = #{ code , jdbcType=VARCHAR }
</if>
</select>
<!-- 是父级查询底下所有子集-->
<select id="getCodeList" resultType="java.lang.String">
select CODE from sys_dictitem
where scbz='0'
<if test="type!=null and type!=''">
AND GROUPID = #{ type , jdbcType=VARCHAR }
</if>
<if test="code!=null and code!=''">
AND pid = #{ code , jdbcType=VARCHAR }
</if>
</select>
</mapper>
\ No newline at end of file
package com.founder.publicapi.service.serviceimpl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -19,10 +20,13 @@ import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service
......@@ -36,7 +40,7 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
WarningRuleMapper warningRuleMapper;
NumberFormat percentInstance = NumberFormat.getPercentInstance();
DecimalFormat dF = new DecimalFormat("0.00000000");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
......@@ -86,11 +90,63 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
public DataStatisticsParams getDataParams(DataStatisticsParams params) {
WaringVo waringVo = DetialBymxbh(params.getMxbh());
params.setAjztdm(waringVo.getZcjddm());//实体设置侦察阶段代码
params.setAjlbdm(waringVo.getAjlbdm());//实体设置案件类别代码
params.setXzlb(waringVo.getXlabdm());//实体设置小案类别代码
String[] split = waringVo.getZcjddm().split(",");
List<String> zcdmList = new ArrayList<>();
for (String code : split) {
//遍历每一个代码是否是父级
String isParent = dataStatisticsMapperCqxz.getIsParent(code, "CODE_ZCJDDM");
if (isParent.equals("true")){
//如果是父级,查询底下所有的子级
List<String> code_zcjddm = dataStatisticsMapperCqxz.getCodeList(code, "CODE_ZCJDDM");
code_zcjddm.forEach(s -> {
zcdmList.add(s);
});
}else {
zcdmList.add(code);
}
}
if (zcdmList.size()>0){
params.setAjztdm( String.join(",", zcdmList));//实体设置侦察阶段代码
}
String[] split1 = waringVo.getAjlbdm().split(",");
List<String> ajlbdmList = new ArrayList<>();
for (String code : split1) {
String isParent = dataStatisticsMapperCqxz.getIsParent(code, "CODE_AJLB");
if (isParent.equals("true")) {
List<String> code_ajlb = dataStatisticsMapperCqxz.getCodeList(code, "CODE_AJLB");
code_ajlb.forEach(s -> {
ajlbdmList.add(s);
});
}else {
ajlbdmList.add(code);
}
}
if (ajlbdmList.size()>0){
params.setAjlbdm(String.join(",", ajlbdmList));//实体设置案件类别代码
}
String[] split2 = waringVo.getXlabdm().split(",");
List<String> xlabdmList = new ArrayList<>();
for (String code : split2) {
String isParent = dataStatisticsMapperCqxz.getIsParent(code, "CODE_XALB");
if (isParent.equals("true")) {
List<String> code_xalb = dataStatisticsMapperCqxz.getCodeList(code, "CODE_XALB");
code_xalb.forEach(s -> {
xlabdmList.add(s);
});
}else {
xlabdmList.add(code);
}
}
if (xlabdmList.size()>0){
params.setXzlb(String.join(",", xlabdmList));//实体设置小案类别代码
}
return params;
}
//近三年立现案
public JSONArray threeLaNew(DataStatisticsParams params) {
DataStatisticsParams params2 = new DataStatisticsParams();
......@@ -347,6 +403,7 @@ public class DataStatisticsServiceImpl implements DataStatisticsService {
public List<Map<String, Object>> addNoHaveXzqh(List<Map<String, Object>> xzqhList) {
List<SysDictitem> xzqhs = dataStatisticsMapperCqxz.selectXzqhdmBycq();
// 从 xzqhs 集合中筛选出那些 code 属性在 xzqhList 中所有 Map 对象的 xzqhdm 属性值均不包含的 SysDictitem 对象,返回结果作为一个新的 List<SysDictitem> 集合。
List<SysDictitem> list = xzqhs.stream().filter(item ->
!xzqhList.stream().map(e -> e.get("xzqhdm")).collect(Collectors.toList()).contains(item.getCode())).collect(Collectors.toList());
Iterator<SysDictitem> iterator1 = list.iterator();
......
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