Commit b9b9ace8 by liulianglang

统计报表

parent d6f7f695
package org.springblade.founder.tjfx.controller;
import io.swagger.annotations.ApiOperation;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.AjtjResult;
import org.springblade.founder.tjfx.entity.LianTj;
import org.springblade.founder.tjfx.entity.*;
import org.springblade.founder.tjfx.service.AjtjService;
import org.springblade.founder.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -55,4 +53,40 @@ public class AjTjController {
return R.error(e.getMessage());
}
}
@PostMapping("/getAjjgfbt")
@ApiOperation(value = "案件结构分布图", notes = "案件结构分布图")
public R getAjjgfbt(AjtjParam ajtjParam){
try {
Ajjgfbtj result = ajtjService.getAjjgfbt(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getAjSwrstj")
@ApiOperation(value = "案件死亡人数柱状图", notes = "案件死亡人数柱状图")
public R getAjSwrstj(AjtjParam ajtjParam){
try {
TbJnQntj result = ajtjService.getAjSwrstj(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getAjSwrsyuest")
@ApiOperation(value = "案件死亡人数分月走势图", notes = "案件死亡人数分月走势图")
public R getAjSwrsyuest(AjtjParam ajtjParam){
try {
List<AjtjResult> result = ajtjService.getAjSwrsyuest(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.tjfx.entity;
import lombok.Data;
@Data
public class Ajjgfbtj {
private int total; //总数
private int dqcount;
private int btzpcount;
private int dxzpcount;
private int qdcount;
private int jjfzcount;
private int dpfzajcount;
}
......@@ -4,7 +4,11 @@ import lombok.Data;
@Data
public class LianTj {
private int liaCount;
private int poxanCount;
private int pojanCount;
private Integer liaCount;
private Integer poxanCount;
private Integer poanTotal;
private Integer pojanCount;
private String latbbfb;
private String patbbfb;
private String type;
}
package org.springblade.founder.tjfx.entity;
import lombok.Data;
@Data
public class TbJnQntj {
private String type;
private Integer jnzs;
private Integer qnzs;
private String tbbfb;
private String hbbfb;
}
package org.springblade.founder.tjfx.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.tjfx.entity.Ajjgfbtj;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.AjtjResult;
import org.springframework.stereotype.Component;
......@@ -13,9 +14,28 @@ public interface AjtjMapper {
//各月份发案数分析
List<AjtjResult> getFapafyuest(AjtjParam ajtjParam);
int getqnrqFaCount(String qnrq);
//各月份破案数分析
List<AjtjResult> getPayuest(AjtjParam ajtjParam);
int getqnrqPaCount(String qnrq);
int getqnrqSwrsCount(String qnrq);
int getFaCount(AjtjParam ajtjParam);
int getPaCount(AjtjParam ajtjParam);
//死亡人数
int getAjSwrs(AjtjParam ajtjParam);
List<AjtjResult> getAjSwrsyuest(AjtjParam ajtjParam);
//作案人数
int getAjZars(AjtjParam ajtjParam);
List<AjtjResult> getAjZarsyuest(AjtjParam ajtjParam);
//案件结构分布
Ajjgfbtj getFaAjlbCount(AjtjParam ajtjParam);
}
......@@ -20,6 +20,11 @@
order by asj.larq
</select>
<select id="getqnrqFaCount" resultType="java.lang.Integer">
SELECT count(1)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0' and to_char(ASJ.LARQ,'yyyy-MM') =#{qnrq}
</select>
<select id="getFaCount" resultType="java.lang.Integer">
SELECT count(1)
......@@ -33,6 +38,33 @@
</if>
</select>
<select id="getFaAjlbCount" resultType="org.springblade.founder.tjfx.entity.Ajjgfbtj">
select count(1) total,
<![CDATA[sum(case when asj.ajlbdm in (
'05000200'
) then 1 else 0 end) ]]> as dqcount,
<![CDATA[ sum( case when asj.ajlbdm in (
'05000300'
) && asj.zatz_jyqk ='050003000100' then 1 else 0 end)]]> as btzpcount,
<![CDATA[ sum(case when asj.ajlbdm in (
'05000300'
) && asj.zatz_jyqk !='050003000100' then 1 else 0 end) ]]> as dxzpcount,
<![CDATA[ sum(case when asj.ajlbdm in (
'05000400'
) then 1 else 0 end) ]]> as qdcount,
<![CDATA[ sum(case when asj.ajlbdm in (
'03010000','03011000','03020000','03030000','03040000','03050000','03060000','03070000','03080000'
) then 1 else 0 end) ]]> as jjfzcount,
<![CDATA[ sum(case when asj.ajlbdm like '0607%' then 1 else 0 end) ]]> as dpfzajcount
from tb_st_asj asj
</select>
<!--各月份破案数分析-->
<select id="getPayuest" resultType="org.springblade.founder.tjfx.entity.AjtjResult">
select asj.larq as monthName,count(*) faNum from (
......@@ -50,6 +82,52 @@
order by asj.larq
</select>
<select id="getAjSwrsyuest" resultType="org.springblade.founder.tjfx.entity.AjtjResult">
select asj.larq as monthName,sum(asj.rs) faNum from (
SELECT to_char(asj.larq,'yyyy-mm') as larq,asj.asjswry_rs as rs
FROM tb_st_asj asj
where asj.xxsc_pdbz='0'
<if test="larqQssj!=null and larqQssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[>=]]> to_date(#{larqQssj, jdbcType=VARCHAR},'yyyy-mm-dd')
</if>
<if test="larqJssj!=null and larqJssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[<]]> to_date(#{larqJssj, jdbcType=VARCHAR},'yyyy-mm-dd ') +1
</if>
) asj
group by asj.larq
order by asj.larq
</select>
<select id="getAjZarsyuest" resultType="org.springblade.founder.tjfx.entity.AjtjResult">
select asj.larq as monthName,sum(asj.rs) faNum from (
SELECT to_char(asj.larq,'yyyy-mm') as larq,asj.zary_rs as rs
FROM tb_st_asj asj
where asj.xxsc_pdbz='0'
<if test="larqQssj!=null and larqQssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[>=]]> to_date(#{larqQssj, jdbcType=VARCHAR},'yyyy-mm-dd')
</if>
<if test="larqJssj!=null and larqJssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[<]]> to_date(#{larqJssj, jdbcType=VARCHAR},'yyyy-mm-dd ') +1
</if>
) asj
group by asj.larq
order by asj.larq
</select>
<select id="getqnrqPaCount" resultType="java.lang.Integer">
SELECT count(1)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0' and asj.ZCJDDM = '0600' and to_char(ASJ.LARQ,'yyyy-MM') =#{qnrq}
</select>
<select id="getqnrqSwrsCount" resultType="java.lang.Integer">
SELECT sum(asjswry_rs)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0' and to_char(ASJ.LARQ,'yyyy-MM') =#{qnrq}
</select>
<select id="getPaCount" resultType="java.lang.Integer">
SELECT count(1)
......@@ -66,4 +144,34 @@
</if>
</select>
<select id="getAjSwrs" resultType="java.lang.Integer">
SELECT sum(asjswry_rs)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0'
<if test="larqQssj!=null and larqQssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[>=]]> to_date(#{larqQssj, jdbcType=VARCHAR},'yyyy-mm-dd')
</if>
<if test="larqJssj!=null and larqJssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[<]]> to_date(#{larqJssj, jdbcType=VARCHAR},'yyyy-mm-dd ') +1
</if>
</select>
<select id="getAjZars" resultType="java.lang.Integer">
SELECT sum(zary_rs)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0'
<if test="larqQssj!=null and larqQssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[>=]]> to_date(#{larqQssj, jdbcType=VARCHAR},'yyyy-mm-dd')
</if>
<if test="larqJssj!=null and larqJssj!=''"><!--时间不为空 根据立案日期选择查询-->
AND ASJ.LARQ <![CDATA[<]]> to_date(#{larqJssj, jdbcType=VARCHAR},'yyyy-mm-dd ') +1
</if>
</select>
</mapper>
package org.springblade.founder.tjfx.service;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.AjtjResult;
import org.springblade.founder.tjfx.entity.LianTj;
import org.springblade.founder.tjfx.entity.*;
import java.util.List;
......@@ -16,4 +14,9 @@ public interface AjtjService {
List<LianTj> getlipoanzzt(AjtjParam ajtjParam);
//案件结构分布图
Ajjgfbtj getAjjgfbt(AjtjParam ajtjParam);
TbJnQntj getAjSwrstj(AjtjParam ajtjParam);
List<AjtjResult> getAjSwrsyuest(AjtjParam ajtjParam);
}
package org.springblade.founder.tjfx.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.AjtjResult;
import org.springblade.founder.tjfx.entity.LianTj;
import org.springblade.founder.tjfx.entity.*;
import org.springblade.founder.tjfx.mapper.AjtjMapper;
import org.springblade.founder.tjfx.service.AjtjService;
import org.springblade.founder.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
......@@ -21,9 +22,45 @@ public class AjtjServiceImpl implements AjtjService {
@Override
public List<AjtjResult> getFapafyuest(AjtjParam ajtjParam) {
// List<AjtjResult> faan=ajtjMapper.getFapafyuest(ajtjParam);
//
// List<AjtjResult> poan=ajtjMapper.getPayuest(ajtjParam);
List<AjtjResult> faan = ajtjMapper.getFapafyuest(ajtjParam);
try {
if (faan.size() >= 2) {
AjtjResult lastnum = faan.get(faan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
AjtjResult lasternum = faan.get(faan.size() - 1);
Double lasterfanum = Double.parseDouble(lasternum.getFaNum());
//计算百分百
if (lasterfanum > lastfanum) {
String format = String.format("%.2f", (((lasterfanum - lastfanum) / lasterfanum) * 100)) + "%";
faan.get(faan.size() - 1).setName("环比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - lasterfanum) / lasterfanum) * 100)) + "%";
faan.get(faan.size() - 1).setName("环比上升" + format);
}
}
if (faan.size() >= 1) {
AjtjResult lastnum = faan.get(faan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
String rq = lastnum.getMonthName();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String qnrq = sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(rq), 1));
Integer qnfa = ajtjMapper.getqnrqFaCount(qnrq);
//计算百分百
if (qnfa > lastfanum) {
String format = String.format("%.2f", (((qnfa - lastfanum) / qnfa) * 100)) + "%";
faan.get(faan.size() - 1).setName("同比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - qnfa) / qnfa) * 100)) + "%";
faan.get(faan.size() - 1).setName("同比上升" + format);
}
}
} catch (Exception e) {
}
return ajtjMapper.getFapafyuest(ajtjParam);
}
......@@ -31,28 +68,190 @@ public class AjtjServiceImpl implements AjtjService {
@Override
public List<AjtjResult> getPayuest(AjtjParam ajtjParam) {
// List<AjtjResult> faan=ajtjMapper.getFapafyuest(ajtjParam);
List<AjtjResult> poan=ajtjMapper.getPayuest(ajtjParam);
List<AjtjResult> poan = ajtjMapper.getPayuest(ajtjParam);
try {
if (poan.size() >= 2) {
AjtjResult lastnum = poan.get(poan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
AjtjResult lasternum = poan.get(poan.size() - 1);
Double lasterfanum = Double.parseDouble(lasternum.getFaNum());
//计算百分百
if (lasterfanum > lastfanum) {
String format = String.format("%.2f", (((lasterfanum - lastfanum) / lasterfanum) * 100)) + "%";
poan.get(poan.size() - 1).setName("环比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - lasterfanum) / lasterfanum) * 100)) + "%";
poan.get(poan.size() - 1).setName("环比上升" + format);
}
}
if (poan.size() >= 1) {
AjtjResult lastnum = poan.get(poan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
String rq = lastnum.getMonthName();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String qnrq = sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(rq), 1));
Integer qnfa = ajtjMapper.getqnrqPaCount(qnrq);
//计算百分百
if (qnfa > lastfanum) {
String format = String.format("%.2f", (((qnfa - lastfanum) / qnfa) * 100)) + "%";
poan.get(poan.size() - 1).setName("同比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - qnfa) / qnfa) * 100)) + "%";
poan.get(poan.size() - 1).setName("同比上升" + format);
}
}
} catch (Exception e) {
}
return poan;
}
@Override
public List<AjtjResult> getAjSwrsyuest(AjtjParam ajtjParam) {
List<AjtjResult> poan = ajtjMapper.getAjSwrsyuest(ajtjParam);
try {
if (poan.size() >= 2) {
AjtjResult lastnum = poan.get(poan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
AjtjResult lasternum = poan.get(poan.size() - 1);
Double lasterfanum = Double.parseDouble(lasternum.getFaNum());
//计算百分百
if (lasterfanum > lastfanum) {
String format = String.format("%.2f", (((lasterfanum - lastfanum) / lasterfanum) * 100)) + "%";
poan.get(poan.size() - 1).setName("环比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - lasterfanum) / lasterfanum) * 100)) + "%";
poan.get(poan.size() - 1).setName("环比上升" + format);
}
}
if (poan.size() >= 1) {
AjtjResult lastnum = poan.get(poan.size() - 1);
Double lastfanum = Double.parseDouble(lastnum.getFaNum());
String rq = lastnum.getMonthName();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String qnrq = sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(rq), 1));
Integer qnfa = ajtjMapper.getqnrqSwrsCount(qnrq);
//计算百分百
if (qnfa > lastfanum) {
String format = String.format("%.2f", (((qnfa - lastfanum) / qnfa) * 100)) + "%";
poan.get(poan.size() - 1).setName("同比下降" + format);
} else {
String format = String.format("%.2f", (((lastfanum - qnfa) / qnfa) * 100)) + "%";
poan.get(poan.size() - 1).setName("同比上升" + format);
}
}
} catch (Exception e) {
}
return poan;
}
@Override
public List<LianTj> getlipoanzzt(AjtjParam ajtjParam) {
List<LianTj> tj=new ArrayList<>();
LianTj jntj=new LianTj();
int lian=ajtjMapper.getFaCount(ajtjParam);
int poan=ajtjMapper.getPaCount(ajtjParam);
List<LianTj> tj = new ArrayList<>();
LianTj jntj = new LianTj();
jntj.setType("jn");
LianTj qntj = new LianTj();
qntj.setType("qn");
Integer lian = ajtjMapper.getFaCount(ajtjParam);
Integer poan = ajtjMapper.getPaCount(ajtjParam);
ajtjParam.setJabz("1");
int xpoan=ajtjMapper.getPaCount(ajtjParam);
String kssj=ajtjParam.getLarqQssj();
String jssj=ajtjParam.getLarqJssj();
jntj.setLiaCount(lian);
jntj.setPojanCount(poan-xpoan);
jntj.setPoxanCount(xpoan);
tj.add(jntj);
Integer xpoan = ajtjMapper.getPaCount(ajtjParam);
String kssj = ajtjParam.getLarqQssj();
String jssj = ajtjParam.getLarqJssj();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
AjtjParam qntjParam = new AjtjParam();
try {
qntjParam.setLarqQssj(sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(kssj), 1)));
qntjParam.setLarqQssj(sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(jssj), 1)));
Integer qnlian = ajtjMapper.getFaCount(qntjParam);
Integer qnpoan = ajtjMapper.getPaCount(qntjParam);
qntjParam.setJabz("1");
Integer qnxpoan = ajtjMapper.getPaCount(qntjParam);
qntj.setLiaCount(qnlian);
qntj.setPoanTotal(qnpoan);
qntj.setPojanCount(qnpoan - qnxpoan);
qntj.setPoxanCount(qnxpoan);
tj.add(qntj);
//计算百分百
if (qnlian > lian) {
String format = String.format("%.2f", (((qnlian.doubleValue() - lian.doubleValue()) / qnlian.doubleValue()) * 100)) + "%";
jntj.setLatbbfb("同比下降" + format);
} else {
String format = String.format("%.2f", (((lian.doubleValue() - qnlian.doubleValue()) / qnlian.doubleValue()) * 100)) + "%";
jntj.setLatbbfb("同比上升" + format);
}
if (qnpoan > poan) {
String format = String.format("%.2f", (((qnpoan.doubleValue() - poan.doubleValue()) / qnpoan.doubleValue()) * 100)) + "%";
jntj.setLatbbfb("同比下降" + format);
} else {
String format = String.format("%.2f", (((poan.doubleValue() - qnpoan.doubleValue()) / qnpoan.doubleValue()) * 100)) + "%";
jntj.setLatbbfb("同比上升" + format);
}
jntj.setLiaCount(lian);
jntj.setPojanCount(poan - xpoan);
jntj.setPoxanCount(xpoan);
jntj.setPoanTotal(poan);
tj.add(jntj);
} catch (Exception e) {
}
return tj;
}
@Override
public TbJnQntj getAjSwrstj(AjtjParam ajtjParam) {
TbJnQntj tj=new TbJnQntj();
Integer jnsw = ajtjMapper.getAjSwrs(ajtjParam);
String kssj = ajtjParam.getLarqQssj();
String jssj = ajtjParam.getLarqJssj();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
AjtjParam qntjParam = new AjtjParam();
try {
qntjParam.setLarqQssj(sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(kssj), 1)));
qntjParam.setLarqQssj(sdf.format(DateUtil.getDateBeforeToYear(sdf.parse(jssj), 1)));
Integer qnsw = ajtjMapper.getAjSwrs(qntjParam);
//计算百分百
if (qnsw > jnsw) {
String format = String.format("%.2f", (((qnsw.doubleValue() - jnsw.doubleValue()) / qnsw.doubleValue()) * 100)) + "%";
tj.setTbbfb("同比下降" + format);
} else {
String format = String.format("%.2f", (((jnsw.doubleValue() - qnsw.doubleValue()) / qnsw.doubleValue()) * 100)) + "%";
tj.setTbbfb("同比上升" + format);
}
tj.setJnzs(jnsw);
tj.setQnzs(qnsw);
} catch (Exception e) {
}
return tj;
}
@Override
public Ajjgfbtj getAjjgfbt(AjtjParam ajtjParam) {
Ajjgfbtj fbtj= ajtjMapper.getFaAjlbCount(ajtjParam);
return fbtj;
}
}
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