Commit 4c4396f8 by liulianglang

初始化

parent 1d848055
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.service.AjtjService;
import org.springblade.founder.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(value = "/ajtj")
public class AjTjController {
@Autowired
private AjtjService ajtjService;
@PostMapping("/getFapafyuest")
@ApiOperation(value = "各月份立破案分月走势图", notes = "各月份立破案分月走势图")
public R getFapafyuest(AjtjParam ajtjParam){
try {
List<AjtjResult> result = ajtjService.getFapafyuest(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getPayuest")
@ApiOperation(value = "各月份立破案分月走势图", notes = "各月份立破案分月走势图")
public R getPayuest(AjtjParam ajtjParam){
try {
List<AjtjResult> result = ajtjService.getPayuest(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getlipoanzzt")
@ApiOperation(value = "各月份立破案柱状图", notes = "各月份立破案柱状图")
public R getlipoanzzt(AjtjParam ajtjParam){
try {
List<LianTj> result = ajtjService.getlipoanzzt(ajtjParam);
return R.ok().data("result",result);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.tjfx.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.founder.utils.BaseModel;
import org.springblade.modules.system.entity.XzxtUser;
import java.util.ArrayList;
import java.util.List;
@Data
public class AjtjParam extends BaseModel {
@ApiModelProperty(value = "单位代码")
private String unitcode;
@ApiModelProperty(value = "所属单位")
private String ssdw;
@ApiModelProperty(value = "当前单位及下级单位")
private List<List<String>> unitcodeList;
@ApiModelProperty(value = "用户级别")
private String grade;
@ApiModelProperty(value = "年份")
private String year;
@ApiModelProperty(value = "月份")
private String month;
@ApiModelProperty(value = "立案日期起始时间")
private String larqQssj;
@ApiModelProperty(value = "立案日期结束时间")
private String larqJssj;
@ApiModelProperty(value = "空-命案情况,zdsw-重大伤亡命案情况")
private String typeFlag;
@ApiModelProperty(value = "查询的单位代码(如查看广州的发破案情况)")
private String searchUnitcode;
@ApiModelProperty(value = "fa-发案 pa-破案 jrxzaj-今日新增案件数 ajbz-案件标注数")
private String type;
@ApiModelProperty(value = "透视时传入需要透视的code值")
private String code;
@ApiModelProperty(value = "案件性质")
private String ajxz;
@ApiModelProperty(value = "作案动机")
private String zadj;
@ApiModelProperty(value = "第几页")
private int page;
@ApiModelProperty(value = "每页行数")
private int rows;
@ApiModelProperty(value = "性别 1-男 2-女 9-未知")
private String xbdm;
@ApiModelProperty(value = "年龄段代码 01:14岁以下 02:14岁-17岁 03:18岁-25岁 04:26岁-35岁 05:36岁-45岁 07:46岁-55岁 08:56岁-65岁 09:66岁-75岁 10:75岁以上")
private String nlddm;
@ApiModelProperty(value = "是否导出判断标志,值为1时后台返回全量数据")
private String sfdc_pdbz;
@ApiModelProperty(value = "嫌疑人特征代码,01-精神病人 02-未成年人 03-在逃 04-死亡 05-抓获 99-总数")
private String xyrtzdm;
@ApiModelProperty(value = "地域分布代码,1010:城市 1020:农村")
private String dyfbdm;
@ApiModelProperty(value = "工作台统计类型,01:今日命案新增 02:立案待审批 03:立案审批未通过 04:侦查终结待审批 05:侦查终结待审批未通过 06:立案即将超期 07:立案已超期 08:侦查终结即将超期 09:侦查终结已超期")
private String gzt_type;
@ApiModelProperty(value = "当前用户单位代码的级别")
private String codeLevCol;
@ApiModelProperty(value = "当前用户单位代码级别的下一个级别")
private String dscodeLevCol;
@ApiModelProperty(value = "当前用户单位代码在第几级")
private String lev;
@ApiModelProperty(value = "排序字段,默认传入空值,按照单位代码排序")
private String pxzd;
@ApiModelProperty(value = "案件类型:xa现案,ja积案")
private String ajType;
@ApiModelProperty(value = "案件类别代码")
private String ajlbdm;
@ApiModelProperty(value = "行政区划代码")
private String xzqh;
private String jabz;//现案判断标志
@ApiModelProperty(value = "行政区划列表")
private List<String> xzqhList;
public void setUser(XzxtUser user){
this.unitcode =user.getUnitcode();
this.grade=user.getGrade();
}
public void setUnitcodeList(List<String> dwList) {
this.unitcodeList = new ArrayList<>();
List<String> dws = new ArrayList<>();
if (dwList.size() < 1000){
this.unitcodeList.add(dwList);
return;
}
for (String dw : dwList) {
if (dws.size() < 1000){
dws.add(dw);
} else {
this.unitcodeList.add(new ArrayList<>(dws));
dws.clear();
dws.add(dw);
}
}
if (!dws.isEmpty()){
this.unitcodeList.add(dws);
}
}
}
package org.springblade.founder.tjfx.entity;
import lombok.Data;
@Data
public class AjtjResult {
private String dwCode;
private String dwName;
private String faNum;
private String lev;
private String jd;
private String wd;
private String monthName;
private String xalb;//小类别
private String xalbStr;//小类别翻译
private String ajlbdm;//案件类别
private String ajlbdmStr;//案件类别翻译
private String hjd;//户籍地
private String hjdStr;//户籍地翻译
private String count;//数量
private String code;
private String name;
private String num;
}
package org.springblade.founder.tjfx.entity;
import lombok.Data;
@Data
public class LianTj {
private int liaCount;
private int poxanCount;
private int pojanCount;
}
package org.springblade.founder.tjfx.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.tjfx.entity.AjtjParam;
import org.springblade.founder.tjfx.entity.AjtjResult;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@Mapper
public interface AjtjMapper {
//各月份发案数分析
List<AjtjResult> getFapafyuest(AjtjParam ajtjParam);
//各月份破案数分析
List<AjtjResult> getPayuest(AjtjParam ajtjParam);
int getFaCount(AjtjParam ajtjParam);
int getPaCount(AjtjParam ajtjParam);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.springblade.founder.tjfx.mapper.AjtjMapper">
<!--各月份发案数分析-->
<select id="getFapafyuest" resultType="org.springblade.founder.tjfx.entity.AjtjResult">
select asj.larq as monthName,count(*) faNum from (
SELECT to_char(asj.larq,'yyyy-mm') as larq
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="getFaCount" resultType="java.lang.Integer">
SELECT count(1)
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="getPayuest" resultType="org.springblade.founder.tjfx.entity.AjtjResult">
select asj.larq as monthName,count(*) faNum from (
SELECT to_char(asj.larq,'yyyy-mm') as larq
FROM tb_st_asj asj
where asj.xxsc_pdbz='0' and asj.ZCJDDM = '0600'
<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="getPaCount" resultType="java.lang.Integer">
SELECT count(1)
FROM tb_st_asj asj
where asj.xxsc_pdbz='0' and asj.ZCJDDM = '0600'
<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>
<if test="jabz!=null and jabz!='' and jabz == '1'.toString()"><!--破现案查询-->
and to_char(ASJ.LARQ,'yyyy-mm-dd')=to_char(ASJ.ZCZJ_ZXSJ01,'yyyy-mm-dd')
</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 java.util.List;
public interface AjtjService {
//各月份发案数分析
List<AjtjResult> getFapafyuest(AjtjParam ajtjParam);
//各月份破案数分析
List<AjtjResult> getPayuest(AjtjParam ajtjParam);
List<LianTj> getlipoanzzt(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.mapper.AjtjMapper;
import org.springblade.founder.tjfx.service.AjtjService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class AjtjServiceImpl implements AjtjService {
@Resource
private AjtjMapper ajtjMapper;
@Override
public List<AjtjResult> getFapafyuest(AjtjParam ajtjParam) {
// List<AjtjResult> faan=ajtjMapper.getFapafyuest(ajtjParam);
//
// List<AjtjResult> poan=ajtjMapper.getPayuest(ajtjParam);
return ajtjMapper.getFapafyuest(ajtjParam);
}
@Override
public List<AjtjResult> getPayuest(AjtjParam ajtjParam) {
// List<AjtjResult> faan=ajtjMapper.getFapafyuest(ajtjParam);
List<AjtjResult> poan=ajtjMapper.getPayuest(ajtjParam);
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);
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);
return tj;
}
}
...@@ -61,6 +61,18 @@ public class DateUtil { ...@@ -61,6 +61,18 @@ public class DateUtil {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date()); return sdf.format(new Date());
} }
/**
* 得到几年前的时间
* @param d
* @param year
* @return
*/
public static Date getDateBeforeToYear(Date d,int year){
Calendar now =Calendar.getInstance();
now.setTime(d);
now.set(Calendar.YEAR,now.get(Calendar.YEAR)-year);
return now.getTime();
}
public static String getSysDateCnStr(){ public static String getSysDateCnStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
......
package org.springblade.founder.utils; //package org.springblade.founder.utils;
//
import org.apache.commons.httpclient.HttpStatus; //import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair; //import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod; //import org.apache.commons.httpclient.methods.PostMethod;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
/** ///**
* 警信通相关接口 // * 警信通相关接口
* @auther: Lilei // * @auther: Lilei
* @date: 2022/8/22 10:12 // * @date: 2022/8/22 10:12
*/ // */
//
public class JxtUtil { //public class JxtUtil {
private static final String url = "http://10.142.46.128:9080/sms/SMSSendService"; // private static final String url = "http://10.142.46.128:9080/sms/SMSSendService";
private static final String user_id = "4536"; // private static final String user_id = "4536";
private static final String user_pwd = "123456"; // private static final String user_pwd = "123456";
private static final String sub_code = "0213"; // private static final String sub_code = "0213";
//
public static R sendService(String phone ,String message) { // public static R sendService(String phone ,String message) {
if (StringUtils.isEmpty(phone)){ // if (StringUtils.isEmpty(phone)){
return R.error("用户手机号码为空"); // return R.error("用户手机号码为空");
} // }
if (StringUtils.isEmpty(message)){ // if (StringUtils.isEmpty(message)){
return R.error("用户发送消息内容为空"); // return R.error("用户发送消息内容为空");
} // }
String result = send(phone,message); // String result = send(phone,message);
//
if (result.startsWith("0#")){ // if (result.startsWith("0#")){
result = "提交成功," + result; // result = "提交成功," + result;
return R.ok().data("result",result); // return R.ok().data("result",result);
}else { // }else {
switch (result) { // switch (result) {
case "100": // case "100":
result = "余额不足"; // result = "余额不足";
break; // break;
case "101": // case "101":
result = "账号关闭"; // result = "账号关闭";
break; // break;
case "102": // case "102":
result = "短信内容超过195字或为空或内容编码格式不正确"; // result = "短信内容超过195字或为空或内容编码格式不正确";
break; // break;
case "103": // case "103":
result = "手机号码超过50个或合法的手机号码为空"; // result = "手机号码超过50个或合法的手机号码为空";
break; // break;
case "104": // case "104":
result = "用户访问时间间隔低于50毫秒"; // result = "用户访问时间间隔低于50毫秒";
break; // break;
case "105": // case "105":
result = "用户访问方式不是post方式"; // result = "用户访问方式不是post方式";
break; // break;
case "106": // case "106":
result = "用户名不存在"; // result = "用户名不存在";
break; // break;
case "107": // case "107":
result = "密码错误"; // result = "密码错误";
break; // break;
case "108": // case "108":
result = "指定访问ip错误"; // result = "指定访问ip错误";
break; // break;
case "110": // case "110":
result = "小号不合法"; // result = "小号不合法";
break; // break;
case "111": // case "111":
result = "短信内容内有敏感词"; // result = "短信内容内有敏感词";
break; // break;
case "-100": // case "-100":
result = "其他未知错误"; // result = "其他未知错误";
break; // break;
} // }
return R.error(result); // return R.error(result);
} // }
} // }
//
/* 接口返回代码说明 ///* 接口返回代码说明
0#数字#唯一ID 提交成功#提交成功的手机数量#发送唯一标示(状态报告接口将通过此唯一标示提交给个账号) //0#数字#唯一ID 提交成功#提交成功的手机数量#发送唯一标示(状态报告接口将通过此唯一标示提交给个账号)
100 余额不足 //100 余额不足
101 账号关闭 //101 账号关闭
102 短信内容超过195字或为空或内容编码格式不正确 //102 短信内容超过195字或为空或内容编码格式不正确
103 手机号码超过50个或合法的手机号码为空 //103 手机号码超过50个或合法的手机号码为空
104 用户访问时间间隔低于50毫秒 //104 用户访问时间间隔低于50毫秒
105 用户访问方式不是post方式 //105 用户访问方式不是post方式
106 用户名不存在 //106 用户名不存在
107 密码错误 //107 密码错误
108 指定访问ip错误 //108 指定访问ip错误
110 小号不合法 //110 小号不合法
111 短信内容内有敏感词 //111 短信内容内有敏感词
-100 其他未知错误*/ //-100 其他未知错误*/
//
//
private static String send(String phone ,String message){ // private static String send(String phone ,String message){
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient(); // org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
PostMethod postMethod = new PostMethod(url); // PostMethod postMethod = new PostMethod(url);
postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=GBK"); // postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=GBK");
NameValuePair userId = new NameValuePair("user_id", user_id); // NameValuePair userId = new NameValuePair("user_id", user_id);
NameValuePair userPwd = new NameValuePair("user_pwd", user_pwd); // NameValuePair userPwd = new NameValuePair("user_pwd", user_pwd);
NameValuePair mobile = new NameValuePair("mobile", phone); // NameValuePair mobile = new NameValuePair("mobile", phone);
NameValuePair msg_content = new NameValuePair("msg_content", message); // NameValuePair msg_content = new NameValuePair("msg_content", message);
NameValuePair subCode = new NameValuePair("sub_code", sub_code); // NameValuePair subCode = new NameValuePair("sub_code", sub_code);
//
NameValuePair[] data ={userId, userPwd, mobile, msg_content,subCode}; // NameValuePair[] data ={userId, userPwd, mobile, msg_content,subCode};
postMethod.setRequestBody(data); // postMethod.setRequestBody(data);
int statusCode = 0; // int statusCode = 0;
String result = ""; // String result = "";
try{ // try{
statusCode = httpClient.executeMethod(postMethod); // statusCode = httpClient.executeMethod(postMethod);
System.out.println("statusCode:"+statusCode); // System.out.println("statusCode:"+statusCode);
if (statusCode == HttpStatus.SC_OK) { // if (statusCode == HttpStatus.SC_OK) {
result = postMethod.getResponseBodyAsString(); // result = postMethod.getResponseBodyAsString();
//根据返回状态可判断是否发送成功 // //根据返回状态可判断是否发送成功
System.out.println("result:"+result); // System.out.println("result:"+result);
} // }
}catch (Exception e){ // }catch (Exception e){
e.printStackTrace(); // e.printStackTrace();
return "警信通接口调用失败"; // return "警信通接口调用失败";
} // }
return result; // return result;
} // }
//
//
} //}
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