Commit 259afecd by wang_jiaxing

修改全国案件查询为使用接口查询,将可疑线索分为多个线程同时查询

parent d02a0c7f
......@@ -187,6 +187,31 @@
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier><!-- jdk版本 -->
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.5</version>
</dependency>
</dependencies>
<build>
......
......@@ -7,10 +7,10 @@
where ZHFZXYR_CYZJ_ZJHM = #{zjhm,jdbcType=VARCHAR}
and XXSC_PDBZ = '0'
<if test="qsAsjbhList != null and qsAsjbhList.size() > 0">
and ASJBH not in
and not exists (select asjbh from TB_XW_ZBFZXYR where asjbh in
<foreach collection="qsAsjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
</foreach>)
</if>
</select>
<select id="getAsjListByParam" resultType="org.springblade.founder.asj.entity.JbAsjXs">
......@@ -36,10 +36,10 @@
where XXSC_PDBZ = '0'
and JYAQ like '%' || #{bsh,jdbcType=VARCHAR} || '%'
<if test="qsAsjbhList != null and qsAsjbhList.size() > 0">
and ASJBH not in
and not exists (select asjbh from TB_XW_ZBFZXYR where asjbh in
<foreach collection="qsAsjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
</foreach>)
</if>
</select>
</mapper>
package org.springblade.founder.asj.entity;
public class TbXszCbypQgaj {
//线索组案件编号
private String xszajbh =null;
//案事件编号
private String asjbh = null;
// 案件名称
private String ajmc= null;
// 案件类别代码
private String ajlbdm = null;
//侦查阶段代码
private String zcjddm = null;
//案事件发生时间_开始时间
private String asjfssjKssj = null;
//案事件发生地点_行政区划代码
private String asjfsddXzqhdm = null;
//案事件发生地点_行政区划代码省级
private String xzqhdmSj = null;
// 立案单位代码
private String ladwGajgjgdm = null;
// 立案单位名称
private String ladwGajgMc = null;
//串并相关服务标志号
private String cbxgfwbzh = null;
//简要案情
private String jyaq = null;
public String getXzqhdmSj() {
return xzqhdmSj;
}
public void setXzqhdmSj(String xzqhdmSj) {
this.xzqhdmSj = xzqhdmSj;
}
public String getCbxgfwbzh() {
return cbxgfwbzh;
}
public void setCbxgfwbzh(String cbxgfwbzh) {
this.cbxgfwbzh = cbxgfwbzh;
}
public String getLadwGajgjgdm() {
return ladwGajgjgdm;
}
public void setLadwGajgjgdm(String ladwGajgjgdm) {
this.ladwGajgjgdm = ladwGajgjgdm;
}
public String getLadwGajgMc() {
return ladwGajgMc;
}
public void setLadwGajgMc(String ladwGajgMc) {
this.ladwGajgMc = ladwGajgMc;
}
public String getXszajbh() {
return xszajbh;
}
public void setXszajbh(String xszajbh) {
this.xszajbh = xszajbh;
}
public String getAsjbh() {
return asjbh;
}
public void setAsjbh(String asjbh) {
this.asjbh = asjbh;
}
public String getAjmc() {
return ajmc;
}
public void setAjmc(String ajmc) {
this.ajmc = ajmc;
}
public String getAjlbdm() {
return ajlbdm;
}
public void setAjlbdm(String ajlbdm) {
this.ajlbdm = ajlbdm;
}
public String getZcjddm() {
return zcjddm;
}
public void setZcjddm(String zcjddm) {
this.zcjddm = zcjddm;
}
public String getAsjfssjKssj() {
return asjfssjKssj;
}
public void setAsjfssjKssj(String asjfssjKssj) {
this.asjfssjKssj = asjfssjKssj;
}
public String getAsjfsddXzqhdm() {
return asjfsddXzqhdm;
}
public void setAsjfsddXzqhdm(String asjfsddXzqhdm) {
this.asjfsddXzqhdm = asjfsddXzqhdm;
}
public String getJyaq() {
return jyaq;
}
public void setJyaq(String jyaq) {
this.jyaq = jyaq;
}
}
......@@ -34,12 +34,22 @@ public class TbXwKyxsHm extends BaseModel {
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
if (qgAsjbhList == null){
this.qgAsjbhList = null;
this.qgAjsl = 0;
} else {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
if (qsAsjbhList == null){
this.qsAsjbhList = null;
this.qsAjsl = 0;
} else {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
}
......@@ -34,12 +34,22 @@ public class TbXwKyxsJdc extends BaseModel {
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
if (qgAsjbhList == null){
this.qgAsjbhList = null;
this.qgAjsl = 0;
} else {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
if (qsAsjbhList == null){
this.qsAsjbhList = null;
this.qsAjsl = 0;
} else {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
}
......@@ -38,12 +38,22 @@ public class TbXwKyxsRy extends BaseModel {
private QgckryBean jbxx;//人员基本信息
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
if (qgAsjbhList == null){
this.qgAsjbhList = null;
this.qgAjsl = 0;
} else {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
if (qsAsjbhList == null){
this.qsAsjbhList = null;
this.qsAjsl = 0;
} else {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
}
......@@ -32,7 +32,7 @@ public interface KyxsService {
* @author lystar
* 2021/11/23 20:06
*/
Map<String, Object> getKyxsByAsjbh(String asjbh);
Map<String, Object> getKyxsByAsjbh(String asjbh) throws Exception;
/**
* getKyxsByXxzjbh 查询可疑线索详情
......@@ -55,7 +55,6 @@ public interface KyxsService {
/**
* getFile 获取文件流
* @param xxzjbh:信息主键编号
* @return void
* @author lystar
* 2021/11/24 21:10
*/
......
package org.springblade.founder.asj.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springblade.founder.asj.entity.TbXszCbypQgaj;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class QgAsjQueryService {
@Value("${ssdw}")
private String ssdw;
@Value("${grade}")
private String grade;
@Value("${zhyyPath}")
private String zhyyPath;
public List<TbXszCbypQgaj> getQgAsjByBsh(String bsh) {
try {
List<TbXszCbypQgaj> tbStAsjQGList = null;
String os = "['{\"JYAQ\":\"%" + bsh + "%\",\"XXSC_PDBZ\":\"0\"}']";
Map<Object, Object> param = new HashMap<>();
param.put("zylx", "asj");
param.put("os", os);
String url = zhyyPath + "/getGabZyInfoByJyaqMatj.action";
//Map map=restTemplate.postForObject(url,param,Map.class);
//dataResult=(List)map.get("dataResult");
//http链接工具
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
StringEntity entity = new StringEntity(JSONArray.toJSONString(param));
entity.setContentType("application/json");//发送json数据需要设置contentType
entity.setContentEncoding("utf-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String jsonResult = EntityUtils.toString(response.getEntity(), "utf-8");
System.out.println("请求部级接口返回数据======" + jsonResult);
if (null != jsonResult && !"".equals(jsonResult)) {
JSONObject jsonObject = JSONObject.parseObject(jsonResult);
if (jsonObject.containsKey("dataResult")) {
tbStAsjQGList = (List) jsonObject.get("dataResult");
}
}
}
List<TbXszCbypQgaj> tbXszCbypQgajList = new ArrayList<>();
if (tbStAsjQGList != null && tbStAsjQGList.size() > 0) {
for (TbXszCbypQgaj xszCbypQgaj : tbStAsjQGList) {
TbXszCbypQgaj tbXszCbypQgaj = new TbXszCbypQgaj();
Map<String, String> map = (Map) xszCbypQgaj;
for (String key : map.keySet()) {
if ("ASJBH".equals(key)) {
tbXszCbypQgaj.setAsjbh(map.get("ASJBH"));
// 截取案件编号前两位省级
tbXszCbypQgaj.setXzqhdmSj(map.get("ASJBH").substring(1, 3) + "0000");
} else if ("AJMC".equals(key)) {
tbXszCbypQgaj.setAjmc(map.get("AJMC"));
} else if ("AJLBDM".equals(key)) {
tbXszCbypQgaj.setAjlbdm(map.get("AJLBDM"));
} else if ("ZCJDDM".equals(key)) {
tbXszCbypQgaj.setZcjddm(map.get("ZCJDDM"));
} else if ("ASJFSSJ_ASJFSKSSJ".equals(key)) {
String asjfssjAsjfskssj = map.get("ASJFSSJ_ASJFSKSSJ");
// 是否为空
if (null != asjfssjAsjfskssj && !"".equals(asjfssjAsjfskssj)) {
// 年月日 时分秒中间有多个空格
String[] arr = asjfssjAsjfskssj.split("\\s+");
// 有时分秒
if (arr.length > 1) {
String a = arr[1].substring(0, 8);
String lastTime = arr[0] + " " + a;
tbXszCbypQgaj.setAsjfssjKssj(lastTime);
}
// 只有年月日
else {
tbXszCbypQgaj.setAsjfssjKssj(asjfssjAsjfskssj);
}
}
} else if ("ASJFSDD_XZQHDM".equals(key)) {// 行政区划地址为空时(先截取案件编号除去(A)前六位(区级)查询案发地)
// 不为空
tbXszCbypQgaj.setAsjfsddXzqhdm(map.get("ASJFSDD_XZQHDM"));
} else if ("JYAQ".equals(key)) {
tbXszCbypQgaj.setJyaq(map.get("JYAQ"));
} else if ("LADW_GAJGJGDM".equals(key)) {
tbXszCbypQgaj.setLadwGajgjgdm(map.get("LADW_GAJGJGDM"));
} else if ("LADW_GAJGMC".equals(key)) {
tbXszCbypQgaj.setLadwGajgMc(map.get("LADW_GAJGMC"));
}
}
String asjbh = tbXszCbypQgaj.getAsjbh();
// grade 级别为1的拿外省 2的拿本市外的
if ("1".equals(grade)) {
//去除本省的案件信息
String tempSsdw = ssdw.substring(0, 2);
if (StringUtils.isNotEmpty(asjbh) && !asjbh.substring(1, 3).equals(tempSsdw)) {//外省
tbXszCbypQgajList.add(tbXszCbypQgaj);
}
} else {
//去除本市的案件信息
String tempSsdw = ssdw.substring(0, 4);
if (StringUtils.isNotEmpty(asjbh) && !asjbh.substring(1, 5).equals(tempSsdw)) {//去除本市
tbXszCbypQgajList.add(tbXszCbypQgaj);
}
}
}
}
return tbXszCbypQgajList;
} catch (Exception e){
e.printStackTrace();
return null;
}
}
}
......@@ -8,6 +8,7 @@ import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.founder.asj.dao.*;
import org.springblade.founder.asj.entity.*;
import org.springblade.founder.asj.service.KyxsService;
import org.springblade.founder.asj.service.QgAsjQueryService;
import org.springblade.founder.entity.QgckryBean;
import org.springblade.founder.utils.QgryckUtils;
import org.springblade.founder.utils.SysXxzjbhService;
......@@ -18,15 +19,19 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.FutureTask;
@Service
public class KyxsServiceImpl implements KyxsService {
......@@ -43,13 +48,16 @@ public class KyxsServiceImpl implements KyxsService {
private HnJbAsjXsMapper hnJbAsjXsMapper;
@Autowired
private QgJbAsjXsMapper qgJbAsjXsMapper;
@Autowired
private QgAsjQueryService qgAsjQueryService;
@Autowired
private SysXxzjbhService xxzjbhService;
@Value("${ixqrck_flag}")
private boolean ixqrckFlag;
@Resource(name = "CachedThreadPoolService")
private ExecutorService CachedThreadPoolService;
@Override
public String saveNewKyxs(String asjbh, String type, String kyhm, String kyyj, MultipartFile file, Double jd, Double wd) throws IOException {
......@@ -114,58 +122,110 @@ public class KyxsServiceImpl implements KyxsService {
}
@Override
public Map<String, Object> getKyxsByAsjbh(String asjbh) {
public Map<String, Object> getKyxsByAsjbh(String asjbh) throws Exception {
HashMap<String, Object> resultMap = new HashMap<>();
QueryWrapper<TbXwKyxsRy> ryQueryWrapper = new QueryWrapper<>();
ryQueryWrapper.eq("asjbh", asjbh);
ryQueryWrapper.eq("xxsc_pdbz", "0");
ryQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsRy> ryList = tbXwKyxsRyMapper.selectList(ryQueryWrapper);
QueryWrapper<TbXwKyxsHm> hmQueryWrapper = new QueryWrapper<>();
hmQueryWrapper.eq("asjbh", asjbh);
hmQueryWrapper.eq("xxsc_pdbz", "0");
hmQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsHm> hmList = tbXwKyxsHmMapper.selectList(hmQueryWrapper);
QueryWrapper<TbXwKyxsJdc> jdcQueryWrapper = new QueryWrapper<>();
jdcQueryWrapper.eq("asjbh", asjbh);
jdcQueryWrapper.eq("xxsc_pdbz", "0");
jdcQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsJdc> jdcList = tbXwKyxsJdcMapper.selectList(jdcQueryWrapper);
//查询可疑人员线程
FutureTask<List<TbXwKyxsRy>> ryListTask = new FutureTask<>(() -> {
QueryWrapper<TbXwKyxsRy> ryQueryWrapper = new QueryWrapper<>();
ryQueryWrapper.eq("asjbh", asjbh);
ryQueryWrapper.eq("xxsc_pdbz", "0");
ryQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsRy> ryList = tbXwKyxsRyMapper.selectList(ryQueryWrapper);
if (ryList != null) {
for (TbXwKyxsRy ry : ryList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListZjhm(ry.getKyxsryZjhm());
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListZjhm(ry.getKyxsryZjhm(), hnAsjbhList);
ry.setQgAsjbhList(qgAsjbhList);
ry.setQsAsjbhList(hnAsjbhList);
}
}
return ryList;
});
CachedThreadPoolService.submit(ryListTask);
//查询可疑号码线程
FutureTask<List<TbXwKyxsHm>> hmListTask = new FutureTask<>(() -> {
QueryWrapper<TbXwKyxsHm> hmQueryWrapper = new QueryWrapper<>();
hmQueryWrapper.eq("asjbh", asjbh);
hmQueryWrapper.eq("xxsc_pdbz", "0");
hmQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsHm> hmList = tbXwKyxsHmMapper.selectList(hmQueryWrapper);
if (hmList != null) {
for (TbXwKyxsHm hm : hmList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(hm.getKyxshmYdhm());
hm.setQsAsjbhList(hnAsjbhList);
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(hm.getKyxshmYdhm(), hnAsjbhList);
hm.setQgAsjbhList(qgAsjbhList);
// List<TbXszCbypQgaj> qgajList = qgAsjQueryService.getQgAsjByBsh(hm.getKyxshmYdhm());
// if (qgajList != null && qgajList.size() > 0){
// List<String> qgAsjbhList = new ArrayList<>();
// for (TbXszCbypQgaj qgaj : qgajList) {
// qgAsjbhList.add(qgaj.getAsjbh());
// }
// hm.setQgAsjbhList(qgAsjbhList);
// } else {
// hm.setQgAsjbhList(null);
// }
}
}
return hmList;
});
CachedThreadPoolService.submit(hmListTask);
//查询可疑车辆线程
FutureTask<List<TbXwKyxsJdc>> jdcListTask = new FutureTask<>(() -> {
QueryWrapper<TbXwKyxsJdc> jdcQueryWrapper = new QueryWrapper<>();
jdcQueryWrapper.eq("asjbh", asjbh);
jdcQueryWrapper.eq("xxsc_pdbz", "0");
jdcQueryWrapper.orderByDesc("djsj");
List<TbXwKyxsJdc> jdcList = tbXwKyxsJdcMapper.selectList(jdcQueryWrapper);
if (jdcList != null) {
for (TbXwKyxsJdc jdc : jdcList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(jdc.getKyxsjdcCphm());
jdc.setQsAsjbhList(hnAsjbhList);
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(jdc.getKyxsjdcCphm(), hnAsjbhList);
jdc.setQgAsjbhList(qgAsjbhList);
// List<TbXszCbypQgaj> qgajList = qgAsjQueryService.getQgAsjByBsh(jdc.getKyxsjdcCphm());
// if (qgajList != null && qgajList.size() > 0){
// List<String> qgAsjbhList = new ArrayList<>();
// for (TbXszCbypQgaj qgaj : qgajList) {
// qgAsjbhList.add(qgaj.getAsjbh());
// }
// jdc.setQgAsjbhList(qgAsjbhList);
// } else {
// jdc.setQgAsjbhList(null);
// }
}
}
return jdcList;
});
CachedThreadPoolService.submit(jdcListTask);
//查询可疑图像
List<TbXwKyxsTx> txList = tbXwKyxsTxMapper.selectListByAsjbh(asjbh);
if (txList != null) {
resultMap.put("txList", txList);
resultMap.put("txCount", txList.size());
}
//获取线程执行的结果
List<TbXwKyxsRy> ryList = ryListTask.get();
List<TbXwKyxsHm> hmList = hmListTask.get();
List<TbXwKyxsJdc> jdcList = jdcListTask.get();
if (ryList != null) {
for (TbXwKyxsRy ry : ryList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListZjhm(ry.getKyxsryZjhm());
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListZjhm(ry.getKyxsryZjhm(), hnAsjbhList);
ry.setQgAsjbhList(qgAsjbhList);
ry.setQsAsjbhList(hnAsjbhList);
}
resultMap.put("ryList", ryList);
resultMap.put("ryCount", ryList.size());
}
if (hmList != null) {
for (TbXwKyxsHm hm : hmList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(hm.getKyxshmYdhm());
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(hm.getKyxshmYdhm(), hnAsjbhList);
hm.setQgAsjbhList(qgAsjbhList);
hm.setQsAsjbhList(hnAsjbhList);
}
resultMap.put("hmList", hmList);
resultMap.put("hmCount", hmList.size());
}
if (jdcList != null) {
for (TbXwKyxsJdc jdc : jdcList) {
List<String> hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(jdc.getKyxsjdcCphm());
List<String> qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(jdc.getKyxsjdcCphm(), hnAsjbhList);
jdc.setQgAsjbhList(qgAsjbhList);
jdc.setQsAsjbhList(hnAsjbhList);
}
resultMap.put("jdcList", jdcList);
resultMap.put("jdcCount", jdcList.size());
}
if (txList != null) {
resultMap.put("txList", txList);
resultMap.put("txCount", txList.size());
}
return resultMap;
}
......@@ -210,7 +270,7 @@ public class KyxsServiceImpl implements KyxsService {
tbXwKyxsJdc.setQgAsjbhList(qgAsjbhList);
tbXwKyxsJdc.setQsAsjbhList(hnAsjbhList);
return tbXwKyxsJdc;
case "tx": //机动车
case "tx": //图像
return tbXwKyxsTxMapper.selectOneByXxzjbh(xxzjbh);
}
}
......
......@@ -107,6 +107,11 @@ public class TbStAppRyxx extends BaseModel {
//人员涉案信息 联系电话
private String rysaLxdh;
@TableField(exist = false)
private String rySjhm;
@TableField(exist = false)
private String ryCphm;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date xxrbksj;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
......
package org.springblade.founder.utils;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import java.util.Properties;
public class PropertiesUtil {
public static String getPropertiesValue(String fileName, String key) {
try {
Resource resource = new ClassPathResource(fileName);
Properties pro = PropertiesLoaderUtils.loadProperties(resource);
return pro.getProperty(key);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
package org.springblade.founder.ydjwhc.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.*;
@Configuration
public class ThreadPoolConfig {
@Bean("ThreadPoolService")
public ThreadPoolExecutor myexecutor(){
int cores = Runtime.getRuntime().availableProcessors();//获取系统CPU核心数
int poolSize=cores*2;
return new ThreadPoolExecutor(poolSize,
poolSize+1,30L, TimeUnit.SECONDS, new LinkedBlockingDeque<>());
}
@Bean("CachedThreadPoolService")
public ExecutorService CachedThreadPool(){
return Executors.newCachedThreadPool();
}
}
package org.springblade.founder.ydjwhc.controller;
import org.apache.commons.lang.StringUtils;
import org.springblade.founder.utils.R;
import org.springblade.founder.ydjwhc.service.BjHcService;
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.RestController;
import java.util.Map;
@RestController
@RequestMapping("/bjhc")
public class BjHcController {
@Autowired
private BjHcService bjHcService;
@PostMapping("/rybjhcBySfzh")
public R rybjhcBySfzh(String sfzh){
try {
if (StringUtils.isEmpty(sfzh)){
return R.error("身份证号不能为空");
}
Map<String, Object> resultMap = bjHcService.rybjhcBySfzh(sfzh);
return R.ok().data(resultMap);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/clsahcByCphm")
public R clsahcByCphm(String cphm){
try {
if (StringUtils.isEmpty(cphm)){
return R.error("车牌号码不能为空");
}
Map<String, Object> resultMap = bjHcService.clsahcByCphm(cphm);
return R.ok().data(resultMap);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.ydjwhc.entity;
import java.io.Serializable;
/**
* Created by zl on 2019/5/7.
*/
public class Fzxyr implements Serializable {
private String asjbh = null;
private String zhfzxyr_cyzj_zjhm = null;
private String zhfzxyr_xm;
private String zhfzxyr_xbdm;
private String zhfzxyr_xzz_dzmc;
private String jyqk;
public String getZhfzxyr_cyzj_zjhm() {
return zhfzxyr_cyzj_zjhm;
}
public void setZhfzxyr_cyzj_zjhm(String zhfzxyr_cyzj_zjhm) {
this.zhfzxyr_cyzj_zjhm = zhfzxyr_cyzj_zjhm;
}
public String getAsjbh() {
return asjbh;
}
public void setAsjbh(String asjbh) {
this.asjbh = asjbh;
}
public String getZhfzxyr_xm() {
return zhfzxyr_xm;
}
public void setZhfzxyr_xm(String zhfzxyr_xm) {
this.zhfzxyr_xm = zhfzxyr_xm;
}
public String getZhfzxyr_xbdm() {
return zhfzxyr_xbdm;
}
public void setZhfzxyr_xbdm(String zhfzxyr_xbdm) {
this.zhfzxyr_xbdm = zhfzxyr_xbdm;
}
public String getZhfzxyr_xzz_dzmc() {
return zhfzxyr_xzz_dzmc;
}
public void setZhfzxyr_xzz_dzmc(String zhfzxyr_xzz_dzmc) {
this.zhfzxyr_xzz_dzmc = zhfzxyr_xzz_dzmc;
}
public String getJyqk() {
return jyqk;
}
public void setJyqk(String jyqk) {
this.jyqk = jyqk;
}
}
package org.springblade.founder.ydjwhc.entity;
import lombok.Data;
import org.springblade.founder.asj.entity.TbXszCbypQgaj;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class HcAjJg {
private String asjbh;
private String ajmc;
private String ladw;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date larq;
public HcAjJg() {}
public HcAjJg(TbXszCbypQgaj asjByBsh) {
this.asjbh = asjByBsh.getAsjbh();
this.ajmc = asjByBsh.getAjmc();
this.ladw = asjByBsh.getLadwGajgMc();
}
}
package org.springblade.founder.ydjwhc.entity;
import java.io.Serializable;
public class TaskData implements Serializable {
//信息主键编号
private String xxzjbh;
//任务编号
private String taskid;
//证件号码
private String zjhm;
//姓名
private String xm;
//数据行号
private String datanum;
public String getXxzjbh() {
return xxzjbh;
}
public void setXxzjbh(String xxzjbh) {
this.xxzjbh = xxzjbh;
}
public String getTaskid() {
return taskid;
}
public void setTaskid(String taskid) {
this.taskid = taskid;
}
public String getZjhm() {
return zjhm;
}
public void setZjhm(String zjhm) {
this.zjhm = zjhm;
}
public String getDatanum() {
return datanum;
}
public void setDatanum(String datanum) {
this.datanum = datanum;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
}
package org.springblade.founder.ydjwhc.entity;
import lombok.Data;
import java.sql.Blob;
import java.util.Date;
@Data
public class TbStFzxyr {
public String XXZJBH ;// 信息主键编号
public String ASJBH ;// 案事件编号
public String XXFC_PDBZ ;// 信息封存_判断标识
public String ZCXSHQFS_ZCXSHQFSDM ;// 侦查线索获取方式_侦查线索获取方式代码
public String ZCXSHQFS_DMBCMS ;// 侦查线索获取方式_代码补充描述
public String ZBGZCS_ZBGZCSDM ;// 抓捕工作措施_抓捕工作措施代码
public String ZBGZCS_DMBCMS ;// 抓捕工作措施_代码补充描述
public String ZHFS_ZHFSDM ;// 抓获方式_抓获方式代码
public String ZHFS_DMBCMS ;// 抓获方式_代码补充描述
public String RSQDJHSFS_RSQDJHSFSDM ;// 人身确定及核实方式_人身确定及核实方式代码
public String RSQDJHSFS_DMBCMS ;// 人身确定及核实方式_代码补充描述
public Date ZHRQ ;// 抓获日期
public String ZHDD_XZQHDM ;// 抓获地点_行政区划代码
public String ZHDD_DZMC ;// 抓获地点_地址名称
public String ZHDW_GAJGJGDM ;// 抓获单位_公安机关机构代码
public String ZHDW_GAJGMC ;// 抓获单位_公安机关名称
public String ZHFZXYR_ASJXGRYBH ;// 抓获犯罪嫌疑人_案事件相关人员编号
public String ZHFZXYR_FZXYRDAZTDM ;// 抓获犯罪嫌疑人_犯罪嫌疑人到案状态代码
public String ZHFZXYR_RSQZCSDM ;// 抓获犯罪嫌疑人_人身强制措施代码
public String ZHFZXYR_GTFZFZXYRSADWZYDM ;// 抓获犯罪嫌疑人_共同犯罪犯罪嫌疑人涉案地位作用代码
public String ZHFZXYR_ZTRYBH ;// 抓获犯罪嫌疑人_在逃人员编号
public String ZHFZXYR_SFSZRY_PDBZ ;// 抓获犯罪嫌疑人_是否收赃人员_判断标识
public String ZHFZXYR_SFTAZS_PDBZ ;// 抓获犯罪嫌疑人_是否投案自首_判断标识
public String ZHFZXYR_SFSWZT_PDBZ ;// 抓获犯罪嫌疑人_是否上网追逃_判断标识
public String ZHFZXYR_XM ;// 抓获犯罪嫌疑人_姓名
public String ZHFZXYR_CYM ;// 抓获犯罪嫌疑人_曾用名
public String ZHFZXYR_BMCH ;// 抓获犯罪嫌疑人_别名绰号
public String ZHFZXYR_CYZJ_CYZJDM ;// 抓获犯罪嫌疑人_常用证件_常用证件代码
public String ZHFZXYR_CYZJ_DMBCMS ;// 抓获犯罪嫌疑人_常用证件_代码补充描述
public String ZHFZXYR_CYZJ_ZJHM ;// 抓获犯罪嫌疑人_常用证件_证件号码
public Date ZHFZXYR_CSRQ_RQGZXX ;// 抓获犯罪嫌疑人_出生日期_日期估值下限
public Date RQGZXX_CSRQ_RQGZSX ;// 抓获犯罪嫌疑人_出生日期_日期估值上限
public String ZHFZXYR_XBDM ;// 抓获犯罪嫌疑人_性别代码
public String ZHFZXYR_GJDM ;// 抓获犯罪嫌疑人_国籍代码
public String ZHFZXYR_JGDM ;// 抓获犯罪嫌疑人_籍贯省市县代码
public String ZHFZXYR_MZDM ;// 抓获犯罪嫌疑人_民族代码
public String ZHFZXYR_CSD_GJHDQDM ;// 抓获犯罪嫌疑人_出生地_国家和地区代码
public String ZHFZXYR_CSD_XZQHDM ;// 抓获犯罪嫌疑人_出生地_行政区划代码
public String ZHFZXYR_CSD_DZMC ;// 抓获犯罪嫌疑人_出生地_地址名称
public String ZHFZXYR_HJDZ_XZQHDM ;// 抓获犯罪嫌疑人_户籍地址_行政区划代码
public String ZHFZXYR_HJDZ_DZMC ;// 抓获犯罪嫌疑人_户籍地址_地址名称
public String ZHFZXYR_XZZ_XZQHDM ;// 抓获犯罪嫌疑人_现住址_行政区划代码
public String ZHFZXYR_XZZ_DZMC ;// 抓获犯罪嫌疑人_现住址_地址名称
public String ZHFZXYR_JWZZ_GJHDQDM ;// 抓获犯罪嫌疑人_境外住址_国家和地区代码
public String ZHFZXYR_JWZZ_DZMC ;// 抓获犯罪嫌疑人_境外住址_地址名称
public String ZHFZXYR_SG ;// 抓获犯罪嫌疑人_身高
public String ZHFZXYR_TZ ;// 抓获犯罪嫌疑人_体重
public String ZHFZXYR_ZC ;// 抓获犯罪嫌疑人_足长
public Blob ZHFZXYR_TMTZMS ;// 抓获犯罪嫌疑人_体貌特征描述
public Blob ZHFZXYR_TBBJMS ;// 抓获犯罪嫌疑人_体表标记描述
public Blob ZHFZXYR_RQTTZ_JYQK ;// 抓获犯罪嫌疑人_人其他特征_简要情况
public String ZHFZXYR_GZDW ;// 抓获犯罪嫌疑人_工作单位
public String ZHFZXYR_ZJXYDM ;// 抓获犯罪嫌疑人_宗教信仰代码
public String ZHFZXYR_ZZMMDM ;// 抓获犯罪嫌疑人_政治面貌代码
public String ZHFZXYR_XLDM ;// 抓获犯罪嫌疑人_学历代码
public String ZHFZXYR_JYZKDM ;// 抓获犯罪嫌疑人_婚姻状况代码
public String ZHFZXYR_BYZKDM ;// 抓获犯罪嫌疑人_兵役状况代码
public String ZHFZXYR_ZY_ZYLBDM ;// 抓获犯罪嫌疑人_职业_职业类别代码
public String ZHFZXYR_ZY_DMBCMS ;// 抓获犯罪嫌疑人_职业_代码补充描述
public String ZHFZXYR_ASJXGRYSF_ASJXGRYSFDM ;// 抓获犯罪嫌疑人_案事件相关人员身份_案事件相关人员身份代码
public String ZHFZXYR_ASJXGRYSF_DMBCMS ;// 抓获犯罪嫌疑人_案事件相关人员身份_代码补充描述
public String ZHFZXYR_FZXYRTSZC_FZXYRTSZCDM ;// 抓获犯罪嫌疑人_犯罪嫌疑人特殊专长_犯罪嫌疑人特殊专长代码
public String ZHFZXYR_FZXYRTSZC_DMBCMS ;// 抓获犯罪嫌疑人_犯罪嫌疑人特殊专长_代码补充描述
public String ZHFZXYR_JL ;// 抓获犯罪嫌疑人_简历
public Blob ZHFZXYR_GRAHJHDTD_JYQK ;// 抓获犯罪嫌疑人_个人爱好及活动特点_简要情况
public Blob ZHFZXYR_WFFZJLMS ;// 抓获犯罪嫌疑人_违法犯罪经历描述
public String ZHFZXYR_SFYXDS_PDBZ ;// 抓获犯罪嫌疑人_是否有吸毒史_判断标识
public String ZHFZXYR_LYDP_SAWPDM ;// 抓获犯罪嫌疑人_滥用毒品_涉案物品代码
public String ZHFZXYR_LYDP_DMBCMS ;// 抓获犯罪嫌疑人_滥用毒品_代码补充描述
public String ZHFZXYR_SFHY_PDBZ ;// 抓获犯罪嫌疑人_是否怀孕_判断标识
public String ZHFZXYR_DPNJSFYX_PDBZ ;// 抓获犯罪嫌疑人_毒品尿检是否阳性_判断标识
public String ZHFZXYR_SFAZBBDXDZ_PDBZ ;// 抓获犯罪嫌疑人_是否艾滋病病毒携带者_判断标识
public String ZHFZXYR_SFZDJBHZ_PDBZ ;// 抓获犯罪嫌疑人_是否重大疾病患者_判断标识
public String ZHFZXYR_SFJSBR_PDBZ ;// 抓获犯罪嫌疑人_是否精神病人_判断标识
public Blob ZHFZXYR_XDWP_JYQK ;// 抓获犯罪嫌疑人_携带物品_简要情况
public String ZHFZXYR_SZZWBH ;// 抓获犯罪嫌疑人_十指指纹编号
public String ZHFZXYR_RYDNABH ;// 抓获犯罪嫌疑人_人员DNA编号
public String ZHFZXYR_RDFZSS_PDBZ ;// 抓获犯罪嫌疑人_认定犯罪事实_判断标识
public String ZHFZXYR_RDFZSS_ZCXWYJMS ;// 抓获犯罪嫌疑人_认定犯罪事实_侦查行为依据描述
public String ZHFZXYR_PCFZXY_PDBZ ;// 抓获犯罪嫌疑人_排除犯罪嫌疑_判断标识
public String ZHFZXYR_PCFZXY_ZCXWYJMS ;// 抓获犯罪嫌疑人_排除犯罪嫌疑_侦查行为依据描述
public Blob ZHFZXYR_BZ ;// 抓获犯罪嫌疑人_备注
}
package org.springblade.founder.ydjwhc.entity;
import lombok.Data;
import java.sql.Blob;
import java.util.Date;
@Data
public class TbStXzgzry {
public String XZGZRYBH ; // 刑侦关注人员编号
public String XZGZRYLBDM ; // 刑侦关注人员类别代码
public String XZGZRYGZJBDM ; // 刑侦关注人员关注级别代码
public Blob GZYJ_JYQK ; // 关注依据_简要情况
public String XM ; // 姓名
public String BMCH ; // 别名/绰号
public String CYM ; // 曾用名
public String XBDM ; // 性别代码
public String CYZJ_CYZJDM ; // 常用证件_常用证件代码
public String CYZJ_DMBCMS ; // 常用证件_代码补充描述
public String ZJHM ; // 证件号码
public Date CSRQ ; // 出生日期
public String GJDM ; // 国籍代码
public String JGDM ; // 籍贯省市县代码
public String MZDM ; // 民族代码
public String HJDZ_XZQHDM ; // 户籍地址_行政区划代码
public String HJDZ_DZMC ; // 户籍地址_地址名称
public String XZZ_XZQHDM ; // 现住址_行政区划代码
public String XZZ_DZMC ; // 现住址_地址名称
public String JWZZ_GJHDQDM ; // 境外住址_国家和地区代码
public String JWZZ_DZMC ; // 境外住址_地址名称
public String SGXX ; // 身高下限
public String SGSX ; // 身高上限
public String TZXX ; // 体重下限
public String TZSX ; // 体重上限
public String ZCXX ; // 足长下限
public String ZCSX ; // 足长上限
public String XXDM ; // 血型代码
public String TBBJMS ; // 体表标记描述
public String TMTZMS ; // 体貌特征描述
public String RQTTZ_JYQK ; // 人其他特征_简要情况
public String GZDW ; // 工作单位
public String ZJXYDM ; // 宗教信仰代码
public String ZZMMDM ; // 政治面貌代码
public String XLDM ; // 学历代码
public String HYZKDM ; // 婚姻状况代码
public String BYZKDM ; // 兵役状况代码
public String ZY_HYLBDM ; // 职业_行业类别代码
public String ZY_DMBCMS ; // 职业_代码补充描述
public String SF_ASJXGRYSFDM ; // 身份_案事件相关人员身份代码
public String SF_DMBCMS ; // 身份_代码补充描述
public String ZC_FZXYRTSZCDM ; // 专长_犯罪嫌疑人特殊专长代码
public String ZC_DMBCMS ; // 专长_代码补充描述
public String JL ; // 简历
public Blob GRAHJHDTD_JYQK ; // 个人爱好及活动特点_简要情况
public Blob GRSRZC_JYQK ; // 个人收入支出_简要情况
public Blob SHJW_JYQK ; // 社会交往_简要情况
public Blob WFFZJLMS ; // 违法犯罪经历描述
public String SFYXDS_PDBZ ; // 是否有吸毒史_判断标识
public String SFAZBBDXDZ_PDBZ ; // 是否艾滋病病毒携带者_判断标识
public String SFJSBR_PDBZ ; // 是否精神病人_判断标识
public String SFYJSZA_PDBZ ; // 是否有精神障碍_判断标识
public Date SWSJ ; // 死亡时间
}
package org.springblade.founder.ydjwhc.entity;
import lombok.Data;
import java.util.Date;
@Data
public class TbYwZtrynew {
private String ztrybh;
private String ztrylxdm;
private String asjbh;
private Date larq;
private String ladw_gajgjgdm;
private String ladw_gajgmc;
private String ajlbdm;
private String jyaq;
private String tjlbh;
private String tjjbdm;
private String bdb_pdbz;
private String ztjj;
private Date tpsj;
private String jnwqxdm;
private String rycjqryj;
private String tpfx_jyqk;
private Date zjcjrq;
private String fzxyrdaztdm;
private String ssjzrmby;
private String whjz;
private String xm;
private String cym;
private String bmch;
private String cyzjdm;
private String zjhm;
private Date csrq;
private String xbdm;
private String gjdm;
private String jgdm;
private String mzdm;
private String hjdz_xzqhdm;
private String hjdz_dzmc;
private String xzz_xzqhdm;
private String xzz_dzmc;
private String sgxx;
private String sgsx;
private String tmtzms;
private String tbbjms;
private String zylbdm;
private String szzwbh;
private String bz;
private Date swsj;
private String ztjjdx_jyqk;
private String zhfzxyr_pdbz;
private Date zhrq;
private String zhdd_xzqhdm;
private String zhdd_dzmc;
private String zhdw_gajgjgdm;
private String zhdw_gajgmc;
private String jwzbxzdw_dwmc;
private String zhfsdm;
private String cxdw_gajgjgdm;
private String cxdw_gajgmc;
private Date cxsj;
private String djspdw_gajgjgdm;
private String djspdw_gajgmc;
private String djspr_xm;
private String djspr_gmsfhm;
private String djspr_lxdh;
private Date djsp_spsj;
private String spdw_gajgjgdm;
private String cxspdw_gajgmc;
private String cxspr_xm;
private String cxspr_gmsfhm;
private String cxspr_lxdh;
private Date cxsp_spsj;
private String xxrbksj_rqsj;
private String nlsx;
private String nlxx;
private String zbdw_gajgjgdm;
private String zbdw_gajgmc;
private String zbr_xm;
private String zbr_gmsfhm;
private String zbr_lxdh;
private String ztry_dnabh;
private String ladwfldm;
private String zhdwfldm;
private String xzdwfldm;
private String cxr;
private String zhdd_xzqhdm_dmbcms;
private String zhdwfldm_dmbcms;
private String xzdwfldm_dmbcms;
private String zbdwfldm;
private String ztspr;
private String ky;
private String zbdw_lxdh;
private Date ztxgsj;
private String dbjb;
private String ryzt;
private String ywzt;
private String xxsc_pdbz;
private String yjbz;
private String ztry_glxxzjbh;
private Date gxsj;
private String xxzjbh;
private Date cxxgsj;
private String hjdszd_gajgjgdm;
private String xxlyms;
private String xxrbksjStart;
private String xxrbksjEnd;
private String ztzt;//
private String zp;
private String zmzplj;
private String zcmzplj;
private String ycmzplj;
private int begin;
private int end;
private String hjdz_xzqhdm_str;
private String ajlbdm_str;
private String xb_str;
private String flag;
}
package org.springblade.founder.ydjwhc.entity;
import java.io.Serializable;
/**
* Created by zl on 2019/5/7.
*/
public class Xzgzry implements Serializable {
private String xzgzrybh;
private String zjhm;
private String xm;
private String xbdm;
private String xzzDzmc;
private String jyqk;
public String getXzgzrybh() {
return xzgzrybh;
}
public void setXzgzrybh(String xzgzrybh) {
this.xzgzrybh = xzgzrybh;
}
public String getZjhm() {
return zjhm;
}
public void setZjhm(String zjhm) {
this.zjhm = zjhm;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getXbdm() {
return xbdm;
}
public void setXbdm(String xbdm) {
this.xbdm = xbdm;
}
public String getXzzDzmc() {
return xzzDzmc;
}
public void setXzzDzmc(String xzzDzmc) {
this.xzzDzmc = xzzDzmc;
}
public String getJyqk() {
return jyqk;
}
public void setJyqk(String jyqk) {
this.jyqk = jyqk;
}
}
package org.springblade.founder.ydjwhc.entity;
import java.io.Serializable;
/**
* Created by zl on 2019/5/7.
*/
public class Ztry implements Serializable {
private String ztrybh = null;
private String zjhm = null;
private String ryzt;
private String ryxm;
private String xbdm;
private String xzzDzmc;
private String jyaq;
public String getZjhm() {
return zjhm;
}
public String getZtrybh() {
return ztrybh;
}
public void setZjhm(String zjhm) {
this.zjhm = zjhm;
}
public void setZtrybh(String ztrybh) {
this.ztrybh = ztrybh;
}
public String getRyzt() {
return ryzt;
}
public void setRyzt(String ryzt) {
this.ryzt = ryzt;
}
public String getRyxm() {
return ryxm;
}
public void setRyxm(String ryxm) {
this.ryxm = ryxm;
}
public String getXbdm() {
return xbdm;
}
public void setXbdm(String xbdm) {
this.xbdm = xbdm;
}
public String getXzzDzmc() {
return xzzDzmc;
}
public void setXzzDzmc(String xzzDzmc) {
this.xzzDzmc = xzzDzmc;
}
public String getJyaq() {
return jyaq;
}
public void setJyaq(String jyaq) {
this.jyaq = jyaq;
}
}
package org.springblade.founder.ydjwhc.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.founder.ydjwhc.entity.HcAjJg;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
@DS("xzxt_qg")
public interface QgBjHcMapper {
List<HcAjJg> selectAjBySfzh(@Param("sfzh") String sfzh, @Param("qsAjList") List<HcAjJg> qsAjList);
List<HcAjJg> selectAjByCphm(@Param("cphm") String cphm, @Param("qsAjList") List<HcAjJg> qsAjList);
}
<?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.ydjwhc.mapper.QgBjHcMapper">
<select id="selectAjBySfzh" resultType="org.springblade.founder.ydjwhc.entity.HcAjJg">
select asj.ASJBH as ASJBH,
asj.AJMC as AJMC,
asj.LADW_GAJGMC as LADW,
asj.LARQ
from TB_ST_ASJ asj,
TB_XW_ZBFZXYR xyr
where xyr.ZHFZXYR_CYZJ_ZJHM = #{sfzh,jdbcType=VARCHAR}
and xyr.asjbh = asj.asjbh
and xyr.xxsc_pdbz = '0'
and asj.xxsc_pdbz = '0'
<if test="qsAjList != null and qsAjList.size() > 0">
and not exists(select asjbh from TB_ST_ASJ where asjbh in
<foreach collection="qsAjList" item="item" open="(" separator=", " close=")">
#{item.asjbh,jdbcType=VARCHAR}
</foreach>)
</if>
</select>
<select id="selectAjByCphm" resultType="org.springblade.founder.ydjwhc.entity.HcAjJg">
select asj.ASJBH as ASJBH,
asj.AJMC as AJMC,
asj.LADW_GAJGMC as LADW,
asj.LARQ
from TB_ST_ASJ asj
where asj.xxsc_pdbz = '0'
and asj.JYAQ like '%' || #{cphm,jdbcType=VARCHAR} || '%'
<if test="qsAjList != null and qsAjList.size() > 0">
and not exists(select asjbh from TB_ST_ASJ where asjbh in
<foreach collection="qsAjList" item="item" open="(" separator=", " close=")">
#{item.asjbh,jdbcType=VARCHAR}
</foreach>)
</if>
</select>
</mapper>
package org.springblade.founder.ydjwhc.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.ydjwhc.entity.HcAjJg;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Repository
@DS("xzxt_hm")
public interface QsBjHcMapper {
Map<String, String> selectRyBzByZjhm(String sfzh);
List<HcAjJg> selectAjBySfzh(String sfzh);
List<HcAjJg> selectAjByCphm(String cphm);
}
<?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.ydjwhc.mapper.QsBjHcMapper">
<select id="selectRyBzByZjhm" resultType="java.util.Map">
select ZJHM as ZJHM,
CODE_TXT as CODE,
AJLB_CODE_TXT as AJLB,
SABQ_TXT as SABQ
from TB_ST_RYBZ
where ZJHM = #{sfzh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
<select id="selectAjBySfzh" resultType="org.springblade.founder.ydjwhc.entity.HcAjJg">
select asj.ASJBH as ASJBH,
asj.AJMC as AJMC,
asj.LADW_GAJGMC as LADW,
asj.LARQ
from TB_ST_ASJ asj,
TB_XW_ZBFZXYR xyr
where xyr.ZHFZXYR_CYZJ_ZJHM = #{sfzh,jdbcType=VARCHAR}
and xyr.asjbh = asj.asjbh
and xyr.xxsc_pdbz = '0'
and asj.xxsc_pdbz = '0'
</select>
<select id="selectAjByCphm" resultType="org.springblade.founder.ydjwhc.entity.HcAjJg">
select asj.ASJBH as ASJBH,
asj.AJMC as AJMC,
asj.LADW_GAJGMC as LADW,
asj.LARQ
from TB_ST_ASJ asj
where asj.xxsc_pdbz = '0'
and JYAQ like '%' || #{cphm,jdbcType=VARCHAR} || '%'
</select>
</mapper>
package org.springblade.founder.ydjwhc.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/**
* Created by zl on 2019/5/7.
*/
@Component
@Mapper
public interface RyxxbjhcDao {
Integer getFzxyrByZjhm(String zjhm);
Integer getXzgzryByZjhm(String zjhm);
Integer getZtryByZjhm(String zjhm);
}
<?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.ydjwhc.mapper.RyxxbjhcDao">
<select id="getFzxyrByZjhm" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(1)
from TB_XW_ZBFZXYR
where zhfzxyr_cyzj_zjhm = #{zjhm}
</select>
<select id="getXzgzryByZjhm" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(1)
from tb_zt_xzgzry
where zjhm in #{zjhm}
</select>
<select id="getZtryByZjhm" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(1)
from TB_YW_ZTRY
where zjhm in #{zjhm}
</select>
</mapper>
package org.springblade.founder.ydjwhc.service;
import java.text.ParseException;
import java.util.Map;
import java.util.concurrent.ExecutionException;
public interface BjHcService {
/**
* bjhcBySfzh 根据身份证号进行人员背景核查
* @param sfzh: 身份证号
* @return java.util.Map<java.lang.String, java.lang.Object>
* @author lystar
* 2021/11/27 17:32
*/
Map<String, Object> rybjhcBySfzh(String sfzh) throws Exception;
/**
* clsahcByCphm 根据车牌号码进行案件查询
* @param cphm: 车牌号码
* @return java.util.Map<java.lang.String, java.lang.Object>
* @author lystar
* 2021/11/27 19:19
*/
Map<String, Object> clsahcByCphm(String cphm);
}
package org.springblade.founder.ydjwhc.service.impl;
import org.springblade.founder.asj.entity.TbXszCbypQgaj;
import org.springblade.founder.asj.service.QgAsjQueryService;
import org.springblade.founder.ryythcj.entity.TbStAppRyxx;
import org.springblade.founder.ryythcj.service.TbStAppRyxxService;
import org.springblade.founder.ydjwhc.controller.CallDygabxxfwController;
import org.springblade.founder.ydjwhc.entity.HcAjJg;
import org.springblade.founder.ydjwhc.mapper.QgBjHcMapper;
import org.springblade.founder.ydjwhc.mapper.QsBjHcMapper;
import org.springblade.founder.ydjwhc.mapper.RyxxbjhcDao;
import org.springblade.founder.ydjwhc.service.BjHcService;
import org.springblade.founder.ydjwhc.thread.TimeControl;
import org.springblade.founder.ydjwhc.thread.TimeControl2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
@Service
public class BjHcServiceImpl implements BjHcService {
@Autowired
private TbStAppRyxxService tbStAppRyxxService;
@Autowired
private QsBjHcMapper qsBjHcMapper;
@Autowired
private QgBjHcMapper qgBjHcMapper;
@Autowired
private QgAsjQueryService qgAsjQueryService;
@Autowired
private RyxxbjhcDao rbd;
@Autowired
private CallDygabxxfwController callDygabxxfwController;
@Resource(name = "CachedThreadPoolService")
private ExecutorService CachedThreadPoolService;
@Override
public Map<String, Object> rybjhcBySfzh(String sfzh) throws Exception {
HashMap<String, Object> resultMap = new HashMap<>();
//查询人员基本信息
TbStAppRyxx ryxx = tbStAppRyxxService.tqQgryxx(sfzh);
ryxx.setSfzh(sfzh);
//获取人员电话
// TODO 查询人员实名电话
//获取人员车牌号
// TODO 查询人员实名车牌
resultMap.put("ryxx", ryxx);
//查询人员主标签
ArrayList<String> compareSourcesDs = new ArrayList<>();
// compareSourcesDs.add("ztry"); //在逃人员
compareSourcesDs.add("fzxyr"); //犯罪嫌疑人
compareSourcesDs.add("xzgzry"); //刑侦关注人员
// compareSourcesDs.add("sfbqgzyry"); //司法厅在押人员
String zbq = getZbq(sfzh, compareSourcesDs);
resultMap.put("zbq", zbq);
//查询重点关注人员标签
Map<String, String> rybzMap = qsBjHcMapper.selectRyBzByZjhm(sfzh);
if (rybzMap != null) {
String CODE = processingBz(rybzMap.get("CODE"));
String AJLB = processingBz(rybzMap.get("AJLB"));
String SABQ = processingBz(rybzMap.get("SABQ"));
resultMap.put("rybq", CODE);
resultMap.put("ajbq", AJLB);
resultMap.put("sabq", SABQ);
}
//查询人员涉案信息
List<HcAjJg> qsAjList = qsBjHcMapper.selectAjBySfzh(sfzh);
resultMap.put("qsAjList", qsAjList);
resultMap.put("qsAjCount", qsAjList.size());
List<HcAjJg> qgAjList = qgBjHcMapper.selectAjBySfzh(sfzh, qsAjList);
resultMap.put("qgAjList", qgAjList);
resultMap.put("qgAjCount", qgAjList.size());
return resultMap;
}
@Override
public Map<String, Object> clsahcByCphm(String cphm) {
HashMap<String, Object> resultMap = new HashMap<>();
//查询车牌实名制
//TODO 查询车牌实名信息
//查询车牌涉案信息
List<HcAjJg> qsAjList = qsBjHcMapper.selectAjByCphm(cphm);
resultMap.put("qsAjList", qsAjList);
resultMap.put("qsAjCount", qsAjList.size());
// List<HcAjJg> qgAjList = qgBjHcMapper.selectAjByCphm(cphm, qsAjList);
// resultMap.put("qgAjList", qgAjList);
// resultMap.put("qgAjCount", qgAjList.size());
List<TbXszCbypQgaj> asjListByBsh = qgAsjQueryService.getQgAsjByBsh(cphm);
if (asjListByBsh != null && asjListByBsh.size() > 0) {
List<HcAjJg> qgAjList = new ArrayList<>();
for (TbXszCbypQgaj asjByBsh : asjListByBsh) {
HcAjJg hcAjJg = new HcAjJg(asjByBsh);
qgAjList.add(hcAjJg);
}
resultMap.put("qgAjList", qgAjList);
resultMap.put("qgAjCount", qgAjList.size());
} else {
resultMap.put("qgAjList", null);
resultMap.put("qgAjCount", 0);
}
return resultMap;
}
//查询人员主标签
private String getZbq(String sfzh, ArrayList<String> compareSourcesDs) throws ExecutionException, InterruptedException {
ArrayList<String> resultSourcesDs = new ArrayList<>();
//先查询全省
List<Map<String, String>> qsBdjg = getQsBdjg(sfzh, compareSourcesDs);
if (qsBdjg.size() > 0) {
for (Map<String, String> map : qsBdjg) {
if (map != null) { //全省已经查到的标签就不需要再查全国
resultSourcesDs.add(map.get("resourceName"));
}
}
compareSourcesDs.removeAll(resultSourcesDs);
}
if (compareSourcesDs.size() > 0) {
//查询全国
List<Map<String, String>> qgBdjg = getQgBdjg(sfzh, compareSourcesDs);
if (qgBdjg.size() > 0) {
for (Map<String, String> map : qgBdjg) {
if (map != null) {
resultSourcesDs.add(map.get("resourceName"));
}
}
}
}
String resultBq = "";
if (resultSourcesDs.contains("ztry")) {
resultBq += "在逃人员,";
}
if (resultSourcesDs.contains("fzxyr")) {
resultBq += "犯罪嫌疑人,";
}
if (resultSourcesDs.contains("xzgzry")) {
resultBq += "刑侦关注人员,";
}
if (resultSourcesDs.contains("sfbqgzyry")) {
resultBq += "司法厅在押人员,";
}
if (resultBq.length() > 0) {
resultBq = resultBq.substring(0, resultBq.length() - 1);
}
return resultBq;
}
//查询全国比对结果
private List<Map<String, String>> getQgBdjg(String sfzh, ArrayList<String> compareSourcesDs) throws ExecutionException, InterruptedException {
List<Future<Map<String, String>>> list = new ArrayList<>();
List<Map<String, String>> resultLiat = new ArrayList<>();
for (String compareSources : compareSourcesDs) {
TimeControl2 tcs = new TimeControl2(sfzh, compareSources, callDygabxxfwController);
Future<Map<String, String>> future = CachedThreadPoolService.submit(tcs);
list.add(future);
}
for (Future<Map<String, String>> future : list) {
Map<String, String> map = future.get();
if (map != null) {
resultLiat.add(map);
}
}
return resultLiat;
}
//查询全省比对结果
private List<Map<String, String>> getQsBdjg(String sfzh, ArrayList<String> compareSourcesDs) throws ExecutionException, InterruptedException {
List<Future<Map<String, String>>> list = new ArrayList<>();
List<Map<String, String>> resultLiat = new ArrayList<>();
for (String compareSources : compareSourcesDs) {
TimeControl tcs = new TimeControl(sfzh, compareSources, rbd);
Future<Map<String, String>> future = CachedThreadPoolService.submit(tcs);
list.add(future);
}
for (Future<Map<String, String>> future : list) {
Map<String, String> map = future.get();
if (map != null) {
resultLiat.add(map);
}
}
return resultLiat;
}
//替换标签中的#号
private String processingBz(String str) {
if (str == null) {
return null;
}
return str.replace("#", ",").substring(1);
}
}
package org.springblade.founder.ydjwhc.thread;
import org.springblade.founder.ydjwhc.mapper.RyxxbjhcDao;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Callable;
/**
* Created by zl on 2019/5/8.
*/
public class TimeControl implements Callable<Map<String, String>> {
private final RyxxbjhcDao rbd;
private String zjhm = "";
private String resourceName = "";
public TimeControl(String zjhm, String resourceName, RyxxbjhcDao rbd) {
if (zjhm != null) {
this.zjhm = zjhm;
}
if (resourceName != null) {
this.resourceName = resourceName;
}
this.rbd = rbd;
}
@Override
public Map<String, String> call() {
if (resourceName == null) {
return null;
}
switch (resourceName) {
case "ztry": {
Integer count = rbd.getZtryByZjhm(zjhm);
if (count != null && count > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "1");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "在逃人员");
return resultMap;
}
break;
}
case "xzgzry": {
Integer count = rbd.getXzgzryByZjhm(zjhm);
if (count != null && count > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "3");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "刑侦关注人员");
return resultMap;
}
break;
}
case "fzxyr": {
Integer count = rbd.getFzxyrByZjhm(zjhm);
if (count != null && count > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "2");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "犯罪嫌疑人");
return resultMap;
}
break;
}
case "sfbqgzyry": {
break;
}
}
return null;
}
}
package org.springblade.founder.ydjwhc.thread;
import org.springblade.founder.ydjwhc.controller.CallDygabxxfwController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
/**
* Created by zl on 2019/5/8.
*/
@SuppressWarnings("ALL")
public class TimeControl2 implements Callable<Map<String, String>> {
private String zjhm = "";
private String resourceName = "";
private CallDygabxxfwController callDygabxxfwController = null;
public TimeControl2(String zjhm, String resourceName, CallDygabxxfwController callDygabxxfwController) {
if (zjhm != null) {
this.zjhm = zjhm;
}
if (resourceName != null) {
this.resourceName = resourceName;
}
if (callDygabxxfwController != null) {
this.callDygabxxfwController = callDygabxxfwController;
}
}
@Override
public Map<String, String> call() {
switch (resourceName) {
case "ztry": {
Map map = callDygabxxfwController.getGabZyInfo("ztryxx", zjhm);
System.out.println("map====>" + map);
if (map != null) {
List<Map> resultList = (List) map.get("dataResult");
if (resultList.size() > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "1");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "在逃人员");
return resultMap;
}
}
break;
}
case "fzxyr": {
Map map = callDygabxxfwController.getGabZyInfo("fzxyr", zjhm);
System.out.println("map====>" + map);
if (map != null) {
List<Map> resultList = (List) map.get("dataResult");
if (resultList.size() > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "2");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "犯罪嫌疑人");
return resultMap;
}
}
break;
}
case "xzgzry": {
Map map = callDygabxxfwController.getGabZyInfo("xzgzry", zjhm);
System.out.println("map====>" + map);
if (map != null) {
List<Map> resultList = (List<Map>) map.get("dataResult");
if (resultList.size() > 0) {
HashMap<String, String> resultMap = new HashMap<>();
resultMap.put("zylx", "3");
resultMap.put("resourceName", resourceName);
resultMap.put("zymc", "刑侦关注人员");
return resultMap;
}
}
break;
}
case "sfbqgzyry": {
break;
}
}
return null;
}
}
......@@ -11,7 +11,10 @@ spring:
password:
database: 0
ssl: false
# host: 47.92.225.109
# host: 10.184.14.131
# port: 6379
# password: XZXT46
# host: 47.92.225.109
# port: 3001
# password: 123
# database: 0
......@@ -79,6 +82,9 @@ spring:
driver-class-name: oracle.jdbc.driver.OracleDriver
type: com.alibaba.druid.pool.DruidDataSource
xzxt_hn: #海南
# url: jdbc:oracle:thin:@10.184.17.3:1521:HNXZXT1
# username: XZXT
# password: XzxtPwd#46
url: jdbc:oracle:thin:@47.92.129.99:1560:orcl
username: XZXT
password: XzPwd#11022
......@@ -118,7 +124,12 @@ spring:
#ssdw: '010000000000'
ssdw: '540000050000'
ssdw: '460000000000'
#内蒙3.0跳转地址,用于调用全国接口
zhyyPath: http://zhyy.xzxt.nm
#grade 级别为1的拿外省 2的拿本市外的
grade: 1
#存放检查数据是否合格的时间的文件
jcsjfile: /data/jcsj.txt
......@@ -136,7 +147,7 @@ clientSecret: Wdxe9Cjh6Oi8bn65KjfT29Wtr4y8Dc
ossUrl: http://11.33.1.231:8282/ossFile/get
#字典码文件存放位置
jsonPath: E://data//xzjson
jsonPath: /Users/lystar/Software/fileUpLoad/json/
#功能使用日志开关
gnsyrzFlag: false
#附件上传地址
......
gaburl.ip: 10.94.62.3:7001
#?????(??????)
gaburl.senderId: C00-10002725
#????
#10.178.8.68:7101 C00-10002910
#????
#92.1.56.52:9002 C00-10001940
#????
#77.1.24.144:7001 C00-10002700
#???10.86.64.16:7002 C00-10003066
#???80.2.32.13:7001 C00-10002700
#???10.20.47.137:7001 C00-10003057
#???10.94.62.3:7001 C00-10002725
#asj-?????
gaburl.receiverAsjId: S10-10005788
#fzxyr-4.10??????????????????
gaburl.receiverFzxyrId: S10-10005787
#xzgzry-??????????????
gaburl.receiverXzgzryId: S10-10005784
#ztryxx-????????????
gaburl.receiverZtryxxId: S10-10005794
#cxztryxx-??????????????
gaburl.receiverCxztryxxId: S10-10005793
#ztryhcId-??????????
gaburl.ztryhcId: S10-10005792
#bdqjdchcId-???????????????
gaburl.bdqjdchcId: S10-10005790
#rysahcId-??????????
gaburl.rysahcId: S10-10005781
#sjsahcId-??????????
gaburl.sjsahcId: S10-10005780
#dnsahcId-??????????
gaburl.dnsahcId: S10-10005779
#yhksahcId-???????????
gaburl.yhksahcId: S10-10005776
#clsahcId-??????????
gaburl.clsahcId: S10-10005778
#zjsahcId-??????????
gaburl.zjsahcId: S10-10005777
#swtzId-??????????????
gaburl.swtzhcId: S10-10005776
#bnyzzw-????????????????
gaburl.bnyzzw: S10-10005785
#bcjdna-?????DNA????????
gaburl.bcjdna: S10-10005786
#ysbqhszryId-?????????????????
gaburl.ysbqhszryId: S10-10005799
#wzmstcxId-?????????????
gaburl.wzmstcxId: S10-10005797
#bdqpjdcId-???????????????
gaburl.bdqpjdcId: S10-10005791
#ssydtxsbId-????????????????
gaburl.ssydtxsbId: S10-10005789
#qgkqyxlthajxs-???????????????????
gaburl.qgkqyxlthajxs: S10-10005783
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