Commit 1811cf52 by lilei

修改检验数据的线程

parent 3da045c3
......@@ -4,14 +4,25 @@ import io.swagger.annotations.Api;
import org.springblade.founder.asj.entity.TbStAsj;
import org.springblade.founder.asj.service.IAjxxzljcService;
import org.springblade.founder.asj.service.impl.AjxxzljcServiceImpl;
import org.springblade.founder.asj.util.IPUtil;
import org.springblade.founder.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Map;
/**
......@@ -28,6 +39,9 @@ public class AjxxzljcController {
@Autowired
private IAjxxzljcService ajxxzljcService;
@Value("${jcsjfile}")
private String jcsjfile;
// 对tbstasj 表里面的数据打标签 0代表合格 1 代表不合格
/**
......@@ -41,7 +55,18 @@ public class AjxxzljcController {
@Scheduled(cron = "0 0 0 * * ?")
public R checkAsjjbxx(){
try {
ajxxzljcService.insertzljc();
String ip = IPUtil.getInet4Address();
System.out.println("ip:"+ip);
if ("26.3.14.62".equals(ip)) {
ajxxzljcService.insertzljc();
File file = new File(jcsjfile);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String now = simpleDateFormat.format(new Date());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(now); // 写入文件
out.flush(); // 把缓存区内容压入文件
out.close(); // 最后记得关闭文件
}
return R.ok();
}catch (Exception e){
e.printStackTrace();
......
......@@ -39,6 +39,8 @@ public class TbStAsj {
// 当前案件是否合格标志 0为不合格 1为合格
private String sfhgpdbz;
//当前案件是否合格标志(检查时排除法律文书) 0为不合格 1为合格
private String flwssfhgpdbz;
/**
* 侦查终结 破案手段代码
*/
......
......@@ -7,6 +7,7 @@
cz.laywsjzt as laywsjzt,
cz.zczjywsjzt as zczjywsjzt,
asj.xckybh as xckybh,
asj.gxsj as gxsj,
(select name from sys_dictitem where groupid = 'CODE_AJXZ' and code = asj.zatz_jyqk) zatzJyqk,
asj.jyaq as jyaq,
DATE_FORMAT(asj.asjfssj_Asjfskssj,'%Y-%m-%d %H:%i:%S') as asjfssjAsjfskssj,
......@@ -28,6 +29,7 @@
where asj.xxsc_pdbz='0'
and cz.laywsjzt ='02'
and asj.sfma_pdbz = '1'
and cz.zczjywsjzt = '02'
</select>
......@@ -68,7 +70,8 @@
<if test="xxczryXm != null and xxczryXm != ''"> XXCZRY_XM = #{ xxczryXm , jdbcType=VARCHAR }, </if>
<if test="xxczdwGajgjgdm != null and xxczdwGajgjgdm != ''"> XXCZDW_GAJGJGDM = #{ xxczdwGajgjgdm , jdbcType=VARCHAR }, </if>
<if test="xxczdwGajgmc != null and xxczdwGajgmc != ''"> XXCZDW_GAJGMC = #{ xxczdwGajgmc , jdbcType=VARCHAR }, </if>
<if test="sfhgpdbz != null and sfhgpdbz != ''"> SFHGPDBZ = #{ sfhgpdbz , jdbcType=VARCHAR }, </if>
<if test="sfhgpdbz != null and sfhgpdbz != ''"> SFHGPDBZ = #{ sfhgpdbz , jdbcType=VARCHAR }, </if>
<if test="flwssfhgpdbz != null and flwssfhgpdbz != ''"> FLWSSFHGPDBZ = #{ flwssfhgpdbz , jdbcType=VARCHAR }, </if>
gxsj = now()
WHERE ASJBH = #{asjbh,jdbcType=VARCHAR}
</update>
......
......@@ -13,8 +13,11 @@ import org.springblade.founder.asj.service.IAjxxzljcService;
import org.springblade.founder.flwsfj.entity.TbStAsjFlws;
import org.springblade.modules.system.entity.XzxtUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
......@@ -32,6 +35,8 @@ public class AjxxzljcServiceImpl implements IAjxxzljcService {
private AjxxzljcMapper ajxxzljcMapper;
@Autowired
private IAjDetailService ajDetailService;
@Value("${jcsjfile}")
private String jcsjfile;
// 质量检测
@Override
......@@ -48,7 +53,25 @@ public class AjxxzljcServiceImpl implements IAjxxzljcService {
cacheExecutor.execute(new Runnable() {
public void run() {
try {
insertXcc(jbasj);
File file = new File(jcsjfile);
if (!file.exists()){
file.createNewFile();
}
String line = "";
InputStreamReader reader = new InputStreamReader(new FileInputStream(file)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
line = br.readLine();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date gxsj = simpleDateFormat.parse(jbasj.getGxsj());//更新时间
Date jcsj = null;
if (StringUtils.isNotEmpty(line)){
jcsj = simpleDateFormat.parse(line);//检测时间
}
boolean b = gxsj.getTime()>= jcsj.getTime();
if (jcsj==null||gxsj.getTime()>=jcsj.getTime()){
insertXcc(jbasj);
}
} catch (Exception e) {
e.printStackTrace();
}
......@@ -63,40 +86,28 @@ public class AjxxzljcServiceImpl implements IAjxxzljcService {
private void insertXcc(TbStAsj jbasj){
Boolean result = getJtxx(jbasj);
//
TbStAsj tbStAsj = new TbStAsj();
Boolean result = getJtxx(jbasj,"");
Boolean resultflws = getJtxx(jbasj,"flws");
tbStAsj.setAsjbh(jbasj.getAsjbh());
if(!result) {
// 案件相关的字段是有为空的,那么就将案件里面字段 sfhgpdbz 变为0
TbStAsj tbStAsj = new TbStAsj();
tbStAsj.setSfhgpdbz("0"); //不合格
tbStAsj.setAsjbh(jbasj.getAsjbh());
// XzxtUser userXzxt = SecureUtil.getUserXzxt();
// tbStAsj.setXxczryXm(userXzxt.getUserName());
// tbStAsj.setXxczryGmsfhm(userXzxt.getIdentitycard());
// tbStAsj.setXxczdwGajgmc(userXzxt.getUnitname());
// tbStAsj.setXxczdwGajgjgdm(userXzxt.getUnitcode());
ajxxzljcMapper.updateTbSta(tbStAsj);
}else {
// 案件相关的字段是没有为空的,那么就将案件里面字段 sfhgpdbz 变为1
TbStAsj tbStAsj = new TbStAsj();
tbStAsj.setSfhgpdbz("1"); //合格
// tbStAsj.setAsjbh(jbasj.getAsjbh());
// XzxtUser userXzxt = SecureUtil.getUserXzxt();
// tbStAsj.setXxczryXm(userXzxt.getUserName());
// tbStAsj.setXxczryGmsfhm(userXzxt.getIdentitycard());
// tbStAsj.setXxczdwGajgmc(userXzxt.getUnitname());
// tbStAsj.setXxczdwGajgjgdm(userXzxt.getUnitcode());
ajxxzljcMapper.updateTbSta(tbStAsj);
}
if(!resultflws) {
tbStAsj.setFlwssfhgpdbz("0"); //不合格
}else {
tbStAsj.setFlwssfhgpdbz("1"); //合格
}
ajxxzljcMapper.updateTbSta(tbStAsj);
}
private Boolean getJtxx(TbStAsj jbasj){
private Boolean getJtxx(TbStAsj jbasj,String type){
// 遍历出来的jbasj是 每一条数据,现在对每一个数据进行质量检测
// 存放字段如果为空的,那么就把这个字段存放到这个里面
......@@ -107,43 +118,42 @@ public class AjxxzljcServiceImpl implements IAjxxzljcService {
String zczjywsjzt = jbasj.getZczjywsjzt();//侦查终结业务数据状态
String laywsjzt = jbasj.getLaywsjzt();//立案业务数据状态
String asjbh = jbasj.getAsjbh();//获取每一个案件的asjbh
boolean result;
boolean ajFlag; //案件基本信息 是否合格判断标志
boolean ajWsFlag; //法律文书 是否合格判断标志
boolean result= true;
boolean ajFlag= true; //案件基本信息 是否合格判断标志
boolean ajWsFlag= true; //法律文书 是否合格判断标志
boolean xyrFlag = true;
boolean xyrWsFlag = true;
boolean bhrFlag = true;
// 判断每一个案件基本信息里面 质量检测是否合格,和将质量检测的字段都返回
//判断每一个案件基本信息里面 质量检测是否合格,和将质量检测的字段都返回
Map<String, Object> map = IncheckAsjjbxx(jbasj, laywsjzt, zczjywsjzt);
ajFlag = (boolean) map.get("result"); //获取到案件基本信息的质量检测是否合格
// 判断每一个法律文书里面 质量检测是否合格,和将质量检测的字段都返回
Map<String, Object> map1 = checkAsjflws(jbasj, laywsjzt, zczjywsjzt);
ajWsFlag = (boolean) map1.get("result");
// 判断犯罪嫌疑人 里面质量检测是否合格,和将质量检测的字段都返回
Map<String,Object> xyrMap = new HashMap<>();
Map<String,Object> xyrWsMap = new HashMap<>();
Map<String,Object> bhrMap = new HashMap<>();
if(!"".equals(zczjywsjzt)) {//侦查终结审批
//嫌疑人检测
xyrMap = checkFzxry(asjbh);
xyrFlag= (boolean) xyrMap.get("result");
//嫌疑人检测
xyrMap = checkFzxry(asjbh);
xyrFlag= (boolean) xyrMap.get("result");
//检查时排除法律文书
if (!"flws".equals(type)){
//判断每一个法律文书里面 质量检测是否合格,和将质量检测的字段都返回
Map<String, Object> map1 = checkAsjflws(jbasj, laywsjzt, zczjywsjzt);
ajWsFlag = (boolean) map1.get("result");
//嫌疑人法律文书检测
xyrWsMap = checkFzxryFlws(asjbh);
xyrWsFlag= (boolean) xyrWsMap.get("result");
}
//被害人检测
bhrMap = checkBhr(asjbh);
bhrFlag= (boolean) bhrMap.get("result");
}else {
//被害人检测
bhrMap = checkBhr(asjbh);
bhrFlag= (boolean) bhrMap.get("result");
}
//被害人检测
bhrMap = checkBhr(asjbh);
bhrFlag= (boolean) bhrMap.get("result");
result=ajFlag&&ajWsFlag&&xyrFlag&&xyrWsFlag&&bhrFlag;
return result;
......@@ -158,7 +168,7 @@ public class AjxxzljcServiceImpl implements IAjxxzljcService {
Map<String, Object> resultMapHtml = new HashMap<String, Object>();
// 根据asjbh 获取案件的信息
TbStAsj jbasj = ajxxzljcMapper.getAjxxByAsjbh(asjbh);
Boolean jtxx = getJtxx(jbasj); //对每一个案件进行质量检测
Boolean jtxx = getJtxx(jbasj,""); //对每一个案件进行质量检测
List<String> ReString = new ArrayList<>();
// 存放字段如果为空的,那么就把这个字段存放到这个里面
......
package org.springblade.founder.asj.util;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
/**
* @auther: Lilei
* @date: 2021/5/19 18:11
*/
public class IPUtil {
//获取本机的IP地址
public static String getInet4Address()throws Exception {
Enumeration<NetworkInterface> nis;
String ip = null;
try {
nis = NetworkInterface.getNetworkInterfaces();
for (; nis.hasMoreElements();) {
NetworkInterface ni = nis.nextElement();
Enumeration<InetAddress> ias = ni.getInetAddresses();
for (; ias.hasMoreElements();) {
InetAddress ia = ias.nextElement();
//ia instanceof Inet6Address && !ia.equals("")
if (ia instanceof Inet4Address && !ia.getHostAddress().equals("127.0.0.1")) {
ip = ia.getHostAddress();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return ip;
}
}
......@@ -99,6 +99,9 @@ blade:
ssdw: 100000000000
#存放检查数据是否合格的时间的文件
jcsjfile: /data2/jcsj.txt
#单点登录接口配置
app_id: MA0101000055
app_key: 9hb7IlJiS0mK5hI3
......
......@@ -41,6 +41,9 @@ blade:
log-mode: true
ssdw: 100000000000
#存放检查数据是否合格的时间的文件
jcsjfile: /data2/jcsj.txt
#单点登录接口配置
app_id: MA0101000055
app_key: 9hb7IlJiS0mK5hI3
......
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