Commit 4487dd4a by caojingji

Merge remote-tracking branch 'remotes/origin/master' into zhaosn_bate

parents 9d69bc2d 77c106a2
package com.founder.interservice.bkxx.controller;
import com.founder.interservice.VO.ResultVO;
import com.founder.interservice.bkxx.model.BkTaskResult;
import com.founder.interservice.bkxx.model.Bkxx;
import com.founder.interservice.bkxx.model.BkxxFilter;
import com.founder.interservice.bkxx.repository.BkTaskResultRepository;
import com.founder.interservice.bkxx.repository.BkxxRepository;
import com.founder.interservice.bkxx.service.BkService;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.util.EasyUIPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@CrossOrigin //跨域访问
public class BkController {
@Autowired
BkService bkService;
@Autowired
BkxxRepository bkxxRepository;
@Autowired
BkTaskResultRepository bkTaskResultRepository;
/**
* 标识号布控 新增界面
* @return
*/
@RequestMapping(value = "/toBshbkInsertJsp")
public ModelAndView toBshbkInsertJsp(){
public ModelAndView toBshbkInsertJsp(Bkxx bkxx){
ModelAndView modelAndView = new ModelAndView("bkxx/bkxxInsert");
modelAndView.addObject("flag","bsh");
return modelAndView;
}
/**
*时空伴随任务 采集 界面
* @return
*/
@RequestMapping(value = "/toskbsrwInsertJsp")
public ModelAndView toskbsrwInsertJsp(){
ModelAndView modelAndView = new ModelAndView("Insert");
modelAndView.addObject("flag","skbs");
modelAndView.addObject("bkxx",bkxx);
return modelAndView;
}
/**
......@@ -43,9 +48,10 @@ public class BkController {
* @return
*/
@RequestMapping(value = "/toSssbbkInsertJsp")
public ModelAndView toSssbbkInsertJsp(){
public ModelAndView toSssbbkInsertJsp(Bkxx bkxx){
ModelAndView modelAndView = new ModelAndView("bkxx/bkxxInsert");
modelAndView.addObject("flag","sssb");
modelAndView.addObject("bkxx",bkxx);
return modelAndView;
}
@RequestMapping(value = "/toBkxxListJsp")
......@@ -53,9 +59,9 @@ public class BkController {
return "/bkxx/bkxxlist";
}
@RequestMapping(value ="/saveBkxx",method = {RequestMethod.POST})
@RequestMapping(value ="/saveBkxx",method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public String saveBkxx( Bkxx bkxx){
public ResultVO saveBkxx( Bkxx bkxx){
return bkService.saveBkxx(bkxx);
}
......@@ -90,4 +96,75 @@ public class BkController {
return "success";
}
/**
* 根据案件编号查询布控任务信息
* @param asjbh
* @return
*/
@RequestMapping("/getBkxxList")
@ResponseBody
public List<Bkxx> getBkxxList(@Validated String asjbh){
System.out.println("asjbh ========================"+asjbh);
List<Bkxx> list = bkxxRepository.findBkxxsByAsjbh(asjbh);
System.out.println(list);
return list;
}
/* *//**
* 查询结果集
* @param bkTaskResult
* @return
*//*
@RequestMapping("/getBkResult")
@ResponseBody
public List<BkTaskResult> getBkResult(@Validated BkTaskResult bkTaskResult){
List<BkTaskResult> results = null;
if(bkTaskResult!=null&&bkTaskResult.getBkXxzjbh()!=null){
results = bkTaskResultRepository.findBkResultsByBkXxzjbh(bkTaskResult.getBkXxzjbh());
}
return results;
}*/
/**
* 获取最新位置,这里针对返回结果作一些处理,所需要的目标结果为null的不再返回给脑图
* @param bkTaskResult
* @return
*/
@RequestMapping("/getBkResult")
@ResponseBody
public List<BkTaskResult> getBkResult(@Validated BkTaskResult bkTaskResult){
List<BkTaskResult> results = null;
if(bkTaskResult!=null&&bkTaskResult.getBkXxzjbh()!=null){
results = bkTaskResultRepository.findBkResultsByBkXxzjbh(bkTaskResult.getBkXxzjbh());
}
List<BkTaskResult> resultsList = new ArrayList<>();
String newLocat = "",imsi = "",imei = "",flag="";
if (results!=null){
for(BkTaskResult result:results){
newLocat = result.getNewLocation();
imsi = result.getImsi();
imei = result.getImei();
flag = result.getFlag();
if("newLocation".equals(bkTaskResult.getType())){
if (newLocat!=null&&!"".equals(newLocat)){
resultsList.add(result);
}
}else if("IMSI".equals(bkTaskResult.getType())&&"01".equals(flag)){
if (imsi!=null&&!"".equals(imsi)){
resultsList.add(result);
}
}else if("IMEI".equals(bkTaskResult.getType())&&"01".equals(flag)){
if (imei!=null&&!"".equals(imei)){
resultsList.add(result);
}
}
}
}
return resultsList;
}
}
package com.founder.interservice.bkxx.model;
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Proxy;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
* Created by liuys on 20private String 9/3/6.
*/
@Entity
@Proxy(lazy = false)
@Data
@DynamicUpdate
@Table(name = "TB_BK_TASKRESULT")
public class BkTaskResult {
@Id
private String xxzjbh;
private String bkXxzjbh;
private String bkbsh;
private String bshlxdm;
private String bshlxmc;
private String asjbh;
private String sfzh;
private String sjhm;
private String imei;
private String imsi;
private String newLocation;
private String j;
private String w;
private Date zqsj;
private String flag;
private String car;
private Date djsj;
private Date xgsj;
//忽略针对这个字段的映射
@Transient
private String type;
}
......@@ -5,11 +5,17 @@ import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Proxy;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Entity
@Proxy(lazy = false)
@Data
@DynamicUpdate
@Table(name = "TB_ST_BKXX")
public class Bkxx {
@Id
......@@ -21,6 +27,7 @@ public class Bkxx {
private String bkyj;
private String bkyq;
private String asjbh ;//案事件编号
private String sms;//是否短信通知(0:否 1:是)
@JSONField(format = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private java.util.Date bksj_start ;
......@@ -32,21 +39,11 @@ public class Bkxx {
private String sqr_xm;
private String sqr_jh;
private String sqr_lxdh;
private String bkzt;//布控状态(0正常;1停止)
private String bkzt;//布控状态,01开始,02已有结果返回,03结束
@JSONField(format = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private java.util.Date djsj;//登记时间
private Date xgsj;//修改时间
private String bkqx;//布控期限
/* private String bkbsh; //布控标识号
private String bshlxdm; //布控号类型代码
private String bshlxmc;//布控号类型名称
private String bkrSfzh; //布控人身份证号
private String bkrXm;//布控人姓名
private String bkrJh;//布控人警号
private String bkrLxdh;//布控人联系电话
private Date bkKssj;//布控开始时间*/
}
package com.founder.interservice.bkxx.repository;
import com.founder.interservice.bkxx.model.BkTaskResult;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/**
* Created by liuys on 2019/3/6.
*/
public interface BkTaskResultRepository extends JpaRepository<BkTaskResult,String>,JpaSpecificationExecutor<BkTaskResult> {
List<BkTaskResult> findBkResultsByBkXxzjbh(String bkXxzjbh);
}
......@@ -2,10 +2,12 @@ package com.founder.interservice.bkxx.repository;
import com.founder.interservice.bkxx.model.Bkxx;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
public interface BkxxRepository extends JpaRepository<Bkxx,String> {
public interface BkxxRepository extends JpaRepository<Bkxx,String> ,JpaSpecificationExecutor<Bkxx> {
List<Bkxx> findBkxxsByAsjbh(String asjbh);
}
package com.founder.interservice.bkxx.service;
import com.founder.interservice.VO.ResultVO;
import com.founder.interservice.bkxx.model.Bkxx;
import com.founder.interservice.bkxx.model.BkxxFilter;
import com.founder.interservice.exception.InterServiceException;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
......@@ -17,7 +16,7 @@ import java.util.Map;
*/
public interface BkService {
public String saveBkxx(Bkxx bkxx) ;
public ResultVO saveBkxx(Bkxx bkxx) ;
/**
* 分页查询布控信息
......
package com.founder.interservice.bkxx.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.founder.interservice.bkxx.model.BkTaskResult;
import com.founder.interservice.bkxx.model.Bkxx;
import com.founder.interservice.bkxx.repository.BkTaskResultRepository;
import com.founder.interservice.bkxx.repository.BkxxRepository;
import com.founder.interservice.model.Track;
import com.founder.interservice.service.IphoneTrackService;
import com.founder.interservice.util.DateUtil;
import com.founder.interservice.util.HttpUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.*;
/**
* Created by liuys on 2019/3/8.
*/
@Component
@Async
public class BkScheduleService {
@Autowired
BkxxRepository bkxxRepository;
@Autowired
BkServiceCommon bkServiceCommon;
@Autowired
BkTaskResultRepository bkTaskResultRepository;
/**
* 根据手机号码进行布控
*/
@Scheduled(initialDelay = 6000,fixedDelay = 8*60*60*1000)
//@Scheduled(initialDelay = 6000,fixedDelay = 60*1000)
public void SjhmBkTask(){
/**
* 根据手机号布控的任务
*/
//布控类型是手机号的,和布控状态是01的,即布控状态是开始的
//QQ和微信id布控,微信id/QQ跟其他的不同,
// 首先,录入QQ/微信id布控保存之后,即开始调一次布控结果,
// 然后运行布控线程,调回来结果,然后首次调用结果进行比对,
// 比对有新的结果,则属于出现新的设备号
List<Bkxx> allTasks = new ArrayList<>();
List<Bkxx> sjhmTasks = getBkTasks("001");
List<Bkxx> QQTasks = getBkTasks("002");
List<Bkxx> WXTasks = getBkTasks("003");
allTasks.addAll(sjhmTasks);
allTasks.addAll(QQTasks);
allTasks.addAll(WXTasks);
taskBody( allTasks);
}
/**
* 布控IMEI/IMSI,每天晚上运行一次
* 首先,录入IMEI/IMSI布控保存之后,即开始调一次布控结果,
* 然后运行布控线程,调回来结果,然后与首次调用结果进行比对,
* 比对有新的结果,则属于出现新的设备号
*/
//
//@Scheduled(initialDelay = 6000,fixedDelay = 8*60*60*1000)
@Scheduled(cron = "0 0 22 * * ?")
public void IMBSH(){
//布控类型是IMSI/IMEI的,和布控状态不是03的,即布控状态是开始的
List<Bkxx> allTasks = new ArrayList<>();
List<Bkxx> IMSITasks = getBkTasks("006");
List<Bkxx> IMEITasks = getBkTasks("007");
allTasks.addAll(IMSITasks);
allTasks.addAll(IMEITasks);
//更新需要停止的布控任务
taskBody(allTasks);
}
/**
* 任务执行体
*/
private void taskBody(List<Bkxx> allTasks) {
Date now = new Date();
//更新需要停止的布控任务
stopTak(allTasks,now);
//开始布控任务
startTask(allTasks);
}
/**
* 查询任务
* @param type
* @return
*/
private List<Bkxx> getBkTasks(String type) {
return bkxxRepository.findAll(new Specification<Bkxx>(){
@Override
public Predicate toPredicate(Root<Bkxx> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate p1 = criteriaBuilder.equal(root.get("bkdxlx").as(String.class), type);
//任务状态不是03的,即状态是01(布控中),或者02(布控有结果)的
Predicate p2 = criteriaBuilder.notEqual(root.get("bkzt").as(String.class), "03");
criteriaQuery.where(criteriaBuilder.and(p1,p2));
return criteriaQuery.getRestriction();
}
});
}
/**
* 开启布控任务
*/
public void startTask(List<Bkxx> bkTaskList){
/**
* 首先对任务进行分类:
* 1.如果是手机号,通过手机号调取IMSI,然后通过IMSI调取最新轨迹
* 2.如果是QQ/微信号,--》先调用IMSI,然后调取最新位置和新出现的设置
* 3.如果是IMSI/IMEI,--》新出现的设备号(IMEI/IMSI?手机号),最新位置信息
* 4.如果是sfzh,先不作考虑
*/
String bshlx = "",bshhm = "";
for(Bkxx task:bkTaskList){
bshlx = task.getBkdxlx();
bshhm = task.getBkdxhm();
//通过手机号调取imsi
List<String> imsis= bkServiceCommon.queryTargetBshByBsh(bshhm,"IMSI");
if ("001".equals(bshlx)){
//1.手机号码,QQ/微信id调取轨迹信息
getTrackAndImsi(task, imsis);
}else if ("002".equals(bshlx)||"003".equals(bshlx)||"007".equals(bshlx)){
//2.QQ号码或者微信id/IMEI
//通过QQ号/微信id,其一:调取新出现的设备号,其二:最新位置
//新出现的设备号:即如果在布控过程中出现新的IMSI号,则属于新的设备号
//注:经过测试通过QQ/微信id只能调取到IMSI号码和其他信息,不能调取IMEI信息
//QQ/微信id跟手机号不同的地方在于,QQ/微信id需要判重,是否有新的设备号返还
//查看首次推送回的imsi,进行重复判断,即判断是不是新出现的imsi号码
getTrackAndImsi(task, imsis);
}else if ("006".equals(bshlx)){
//3.通过IMSI调取新出现的设备号IMEI
List<String> imeis= bkServiceCommon.queryTargetBshByBsh(bshhm,"IMEI");
List<String> oldImeis = new ArrayList<>();
if(imeis != null && !imeis.isEmpty()){
for (String imei:imeis) {
//每次保存之前进行重复判断
List<BkTaskResult> bkTaskResults = bkTaskResultRepository.findBkResultsByBkXxzjbh(task.getXxzjbh());
if(bkTaskResults!=null&&bkTaskResults.size()>0){
for (BkTaskResult oldResult:bkTaskResults) {
oldImeis.add(oldResult.getImei());
}
if(!oldImeis.contains(imei)){
//出现新的imei号码,即出现新的设备号
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, task, "",imei);
bkTaskResult.setFlag("01");
bkTaskResultRepository.save(bkTaskResult);
}
}else{
//此数据库中没有
//出现新的imei号码,即出现新的设备号
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, task, "",imei);
bkTaskResult.setFlag("01");
bkTaskResultRepository.save(bkTaskResult);
}
}
//保存结果之后,更新任务状态,表示有结果返回
task.setBkzt("02");
task.setXgsj(new Date());
bkxxRepository.save(task);
}
}
}
}
private void getTrackAndImsi(Bkxx task, List<String> imsis) {
if(imsis != null && !imsis.isEmpty()){
for (String imsi:imsis) {
//通过imsi调取最新位置
bkServiceCommon.saveNewLocation(task, imsi);
}
//保存结果之后,更新任务状态,表示有结果返回
task.setBkzt("02");
task.setXgsj(new Date());
bkxxRepository.save(task);
}
}
/**
* 停止需要停止的布控任务,即比对当前时间和布控任务结束时间,超过当前日期,则更新布控任务状态
* @param bkTaskList
*/
public void stopTak(List<Bkxx> bkTaskList,Date now){
Date jssj = null;
for (Bkxx task:bkTaskList) {
jssj = task.getBksj_end();
if (jssj.before(now)){
task.setBkzt("03");
task.setXgsj(now);
bkxxRepository.save(task);
}
}
}
}
package com.founder.interservice.bkxx.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.founder.interservice.bkxx.model.BkTaskResult;
import com.founder.interservice.bkxx.model.Bkxx;
import com.founder.interservice.bkxx.repository.BkTaskResultRepository;
import com.founder.interservice.bkxx.repository.BkxxRepository;
import com.founder.interservice.model.Track;
import com.founder.interservice.service.IphoneTrackService;
import com.founder.interservice.util.DateUtil;
import com.founder.interservice.util.HttpUtil;
import com.founder.interservice.util.KeyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by liuys on 2019/3/12.
*/
@Service
public class BkServiceCommon {
@Autowired
BkTaskResultRepository bkTaskResultRepository;
@Autowired
BkxxRepository bkxxRepository;
@Value("${wabigdata.gettrack.url}")
private String gettrack_url;
@Value("${wabigdata.objectrelation.url}")
private String objectrelation_url;
/**
* 设置布控结果参数
* @param newLocation
* @param task
* @param imsi
* @param imei
* @return
*/
public BkTaskResult setBkResult(Track newLocation, Bkxx task, String imsi, String imei) {
BkTaskResult bkTaskResult = new BkTaskResult();
bkTaskResult.setXxzjbh(KeyUtil.getUniqueKey("BK"));
bkTaskResult.setBkXxzjbh(task.getXxzjbh());
bkTaskResult.setAsjbh(task.getXxzjbh());
bkTaskResult.setBkbsh(task.getBkdxhm());
bkTaskResult.setBshlxdm(task.getBkdxlx());
bkTaskResult.setBshlxmc(task.getBkdxlxmc());
bkTaskResult.setImsi(imsi);
bkTaskResult.setImei(imei);
if(newLocation!=null){
bkTaskResult.setNewLocation(newLocation.getAddress());
bkTaskResult.setJ(newLocation.getJ());
bkTaskResult.setW(newLocation.getW());
bkTaskResult.setZqsj(new Date(newLocation.getTimestamp()));
}
return bkTaskResult;
}
/**
* 通过标识号调取目标标识号
* @param objValue
* @param bshType
* @return
*/
public List<String> queryTargetBshByBsh(String objValue, String bshType) {
JSONObject jsonObject = null;
String url = objectrelation_url+"&objectValue="+objValue;
String result = HttpUtil.getWaData(url);
//String result = "{\"results\":[{\"count\":375,\"first_timestamp\":1541832396000,\"objectFromType\":4314,\"objectFromTypeName\":\"IMSI\",\"objectFromValue\":\"500231198608201872\",\"objectToType\":4315,\"objectToTypeName\":\"指纹编号\",\"objectToValue\":\"5002316713060001\",\"relativeType\":4403,\"relativeTypeName\":\"IMEI-IMSI\",\"source\":1376,\"sourceName\":\"刑总-海鑫-人员基本信息\",\"timestamp\":1545627478000},{\"count\":375,\"first_timestamp\":1541832396000,\"objectFromType\":4314,\"objectFromTypeName\":\"IMSI\",\"objectFromValue\":\"500231198608201872\",\"objectToType\":4315,\"objectToTypeName\":\"IMEI\",\"objectToValue\":\"864552034163647\",\"relativeType\":4403,\"relativeTypeName\":\"IMEI-IMSI\",\"source\":1376,\"sourceName\":\"大情报-二代证办理信息\",\"timestamp\":1545627478000},{\"count\":375,\"first_timestamp\":1541832396000,\"objectFromType\":4314,\"objectFromTypeName\":\"IMSI\",\"objectFromValue\":\"500231198608201872\",\"objectToType\":4315,\"objectToTypeName\":\"IMEI\",\"objectToValue\":\"864552034163647\",\"relativeType\":4403,\"relativeTypeName\":\"IMEI-IMSI\",\"source\":1376,\"sourceName\":\"大情报-二代证办理信息\",\"timestamp\":1545627478000},{\"count\":375,\"first_timestamp\":1541832396000,\"objectFromType\":4314,\"objectFromTypeName\":\"IMSI\",\"objectFromValue\":\"500231198608201872\",\"objectToType\":4315,\"objectToTypeName\":\"IMEI\",\"objectToValue\":\"864552034163647\",\"relativeType\":4403,\"relativeTypeName\":\"IMEI-IMSI\",\"source\":1376,\"sourceName\":\"大情报-看守所人员信息\",\"timestamp\":1545627478000},{\"count\":375,\"first_timestamp\":1541832396000,\"objectFromType\":4314,\"objectFromTypeName\":\"IMSI\",\"objectFromValue\":\"460010858605079\",\"objectToType\":4315,\"objectToTypeName\":\"IMEI\",\"objectToValue\":\"864552034163647\",\"relativeType\":4403,\"relativeTypeName\":\"IMEI-IMSI\",\"source\":1376,\"sourceName\":\"4G-联通-QQ\",\"timestamp\":1545627478000}],\"status\":\"ok\"}";
if(null != result && result.startsWith("{")){
jsonObject = JSONObject.parseObject(result);
}
List<String> targetBsh = new ArrayList<>();
if(jsonObject != null){
JSONArray jsonArray = jsonObject.getJSONArray("results");
if(jsonArray != null && jsonArray.size() > 0){
for (int i = 0; i <= jsonArray.size() - 1;i++){
JSONObject resObj = jsonArray.getJSONObject(i);
String objectType = resObj.getString("objectToTypeName");
if (objectType != null && bshType.equals(objectType)){
String Bsh = (String) resObj.get("objectToValue");
if(!targetBsh.contains(Bsh)){
targetBsh.add(Bsh);
}
}
}
}
}
return targetBsh;
}
/**
* 保存最新位置,并判重
* @param task
* @param imsi
*/
public void saveNewLocation(Bkxx task, String imsi) {
String kssj = DateUtil.getDate().getTime()+"";
String jssj = DateUtil.convertStringToDate(DateUtil.beforeDate(-1).substring(0,10)).getTime()+"";
//每次保存之前进行重复判断
List<BkTaskResult> bkTaskResults = bkTaskResultRepository.findBkResultsByBkXxzjbh(task.getXxzjbh());
Track newLocation = getNewLocation(imsi,kssj,jssj);
List<String> oldImsis = new ArrayList<>();
if(bkTaskResults!=null&&bkTaskResults.size()>0){
for (BkTaskResult oldResult:bkTaskResults){
//将所有的旧的imsi存入list中
oldImsis.add(oldResult.getImsi());
if(imsi.equals(oldResult.getImsi())&&newLocation!=null){
oldResult.setNewLocation(newLocation.getAddress());
oldResult.setJ(newLocation.getJ());
oldResult.setW(newLocation.getW());
oldResult.setZqsj(new Date(newLocation.getTimestamp()));
bkTaskResultRepository.save(oldResult);
}
}
if(!oldImsis.contains(imsi)){
//当前imsi号不存在
BkTaskResult bkTaskResult = setBkResult( newLocation, task, imsi, "");
bkTaskResult.setFlag("01");
bkTaskResultRepository.save(bkTaskResult);
}
}else{
//关于此条数据,从来没有存储结果,无需判重,直接存储
BkTaskResult bkTaskResult = setBkResult( newLocation, task, imsi, "");
bkTaskResultRepository.save(bkTaskResult);
}
}
/**
* 通过imsi调取最新位置
* @param obj
* @param kssj
* @param jssj
*/
public Track getNewLocation(String obj,String kssj,String jssj){
String url = gettrack_url + "&objectValue="+obj+"&startTime="+kssj+"&endTime="+jssj;
String result = HttpUtil.getWaData(url);
Track newLocation = null;
JSONObject jsonObejct = null;
if(null != result && result.startsWith("{")){
jsonObejct = JSONObject.parseObject(result);
}
if(jsonObejct != null) {
JSONArray jsonArray = jsonObejct.getJSONArray("results");
if (jsonArray != null && jsonArray.size() > 0) {
List<Track> tracks = jsonArray.toJavaList(Track.class);
newLocation = tracks.get(0);
}
}
return newLocation;
}
public static void main(String[] args){
/* long now = 1547332440000l;
Date date = new Date(now);
System.out.println(date);*/
List<String> str = new ArrayList<>();
str.add("123");
str.add("456");
boolean s = str.contains("789");
String kssj = DateUtil.getDate().getTime()+"";
String jssj = DateUtil.convertStringToDate(DateUtil.beforeDate(-1).substring(0,10)).getTime()+"";
System.out.println(kssj);
System.out.println(jssj);
System.out.println(s);
}
}
package com.founder.interservice.bkxx.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.founder.interservice.VO.ResultVO;
import com.founder.interservice.bkxx.model.BkTaskResult;
import com.founder.interservice.bkxx.model.Bkxx;
import com.founder.interservice.bkxx.model.BkxxFilter;
import com.founder.interservice.bkxx.repository.BkTaskResultRepository;
import com.founder.interservice.bkxx.repository.BkxxRepository;
import com.founder.interservice.bkxx.service.BkService;
import com.founder.interservice.enums.ResultEnum;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.mapper.xzxt.BkxxMapper;
import com.founder.interservice.util.KeyUtil;
import com.founder.interservice.util.ResultVOUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -16,31 +23,110 @@ public class BkServiceImpl implements BkService{
@Autowired
private BkxxMapper bkxxMapper;
@Autowired
BkServiceCommon bkServiceCommon;
@Autowired
BkxxRepository bkxxRepository;
@Autowired
BkTaskResultRepository bkTaskResultRepository;
@Override
public String saveBkxx(Bkxx bkxx) {
public ResultVO saveBkxx(Bkxx bkxx) {
//先查询是否存在这条数据(案事件编号、布控人警号、布控标识号、布控类型)
//获取客户端查询条件
String flag="success";
JSONObject result = new JSONObject();
ResultVO resultVO = null;
try {
int bkxxs = bkxxMapper.selectBkxx(bkxx);
if(bkxxs<1){
bkxx.setXxzjbh(get32UUID());
String id = KeyUtil.getUniqueKey("BK");
bkxx.setXxzjbh(id);
bkxx.setDjsj(new Date());
bkxx.setBkzt("01");
bkxxRepository.save(bkxx);
}else{
flag = "error";//已存在
result.put("id", bkxx.getXxzjbh());
result.put("status", ResultEnum.SUCCESS.getCode());
result.put("message", "保存成功!");
/**
* 同时新增布控任务,这里需要作如下几件事:
* 其一:如果布控的是手机号码,无需干扰
* 其二:如果布控的是微信id/QQ,则首先需要调取一次其所关联的imsi信息,
* 然后保存结果
* 其三:如果是IMEI,则首先需要调取一次其所关联的imsi信息,
* 然后保存结果
* 其四:如果是IMSI,则首先需要调取一次其所关联的imei信息,
* 然后保存结果
* 001:手机号布控,002:QQ号码布控,003:微信id,004:身份证号,005:车牌号,006:IMSI,007:IMEI,008:护照,009:微信号码
*/
if ("002".equals(bkxx.getBkdxlx())||"003".equals(bkxx.getBkdxlx())||"007".equals(bkxx.getBkdxlx())){
//QQ号码/微信id/IMEI
List<String> imsis= bkServiceCommon.queryTargetBshByBsh(bkxx.getBkdxhm(),"IMSI");
List<String> oldImsis = new ArrayList<>();
if(imsis != null && !imsis.isEmpty()) {
for (String imsi : imsis) {
List<BkTaskResult> bkTaskResults = bkTaskResultRepository.findBkResultsByBkXxzjbh(bkxx.getXxzjbh());
if(bkTaskResults!=null&&bkTaskResults.size()>0){
for (BkTaskResult oldResult:bkTaskResults){
oldImsis.add(oldResult.getImsi());
}
if (!oldImsis.contains(imsi)){
//在库中不存在
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, bkxx, imsi, "");
bkTaskResultRepository.save(bkTaskResult);
}
}else{
//关于此数据,库中没有结果
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, bkxx, imsi, "");
bkTaskResultRepository.save(bkTaskResult);
}
}
}
}else if("006".equals(bkxx.getBkdxlx())){
//通过IMSI查询IMEI
List<String> imeis= bkServiceCommon.queryTargetBshByBsh(bkxx.getBkdxhm(),"IMSI");
List<String> oldImeis = new ArrayList<>();
if(imeis != null && !imeis.isEmpty()) {
for (String imei : imeis) {
List<BkTaskResult> bkTaskResults = bkTaskResultRepository.findBkResultsByBkXxzjbh(bkxx.getXxzjbh());
if(bkTaskResults!=null&&bkTaskResults.size()>0){
for (BkTaskResult oldResult:bkTaskResults){
oldImeis.add(oldResult.getImei());
}
if (oldImeis.contains(imei)){
//在库中不存在
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, bkxx, "", imei);
bkTaskResultRepository.save(bkTaskResult);
}
}else {
//关于此数据,库中没有结果
BkTaskResult bkTaskResult = bkServiceCommon.setBkResult( null, bkxx, "", imei);
bkTaskResultRepository.save(bkTaskResult);
}
}
}
}
} else {
result.put("id", null);
result.put("status", ResultEnum.PARAM_ERROR.getCode());
result.put("message", "数据已存在,不可重复!");
}
return flag;
}
//32位UUID
public static String get32UUID(){
UUID id=UUID.randomUUID();
String[] idd=id.toString().split("-");
return idd[0]+idd[1]+idd[2]+idd[3]+idd[4];
resultVO = ResultVOUtil.success(result);
}catch(Exception e){
e.printStackTrace();
resultVO = ResultVOUtil.error(ResultEnum.RESULT_ERROR.getCode(),ResultEnum.RESULT_ERROR.getMessage());
}
return resultVO;
}
/**
* 分页查询布控信息
* @param bkxxFilter
......
......@@ -28,7 +28,7 @@ public class CaseInformationContorller {
@ResponseBody
public JSONObject selectCaseInformationList(@RequestParam(value = "sfzh") String sfzh){
JSONObject resultObj = new JSONObject();
List<CaseInformation> caseInformationList = new ArrayList<>();
List<CaseInformation> caseInformationList = null;
try {
caseInformationList = caseInformationService.selectCaseInformationList(sfzh);
if(caseInformationList != null && !caseInformationList.isEmpty() ){
......
......@@ -15,7 +15,7 @@ import java.util.concurrent.Executors;
public class ScheduleConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
//设定一个长度10的定时任务线程池
taskRegistrar.setScheduler(Executors.newScheduledThreadPool(20));
//设定一个长度50的定时任务线程池
taskRegistrar.setScheduler(Executors.newScheduledThreadPool(50));
}
}
......@@ -3,14 +3,14 @@ package com.founder.interservice.controller;
import com.founder.interservice.enums.ResultEnum;
import com.founder.interservice.qgzyfw.action.CallDygabxxfw;
import com.founder.interservice.qgzyfw.domain.GabConfig;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -22,7 +22,7 @@ public class MinistrySuspectInfoController {
@Autowired
private GabConfig gabConfig;
@RequestMapping("/queryMinistrySuspectInfo")
@RequestMapping(value = "/queryMinistrySuspectInfo",method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public JSONObject queryMinistrySuspectInfo(String sfzh){//ZHFZXYR_CYZJ_ZJHM 查询资源所需的条件 513624198110310011 510211198301103713 510218198208064953
JSONObject resultObj = new JSONObject();
......@@ -35,19 +35,18 @@ public class MinistrySuspectInfoController {
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject);
Object[] os = jsonArray.toArray();
Map<String,Object> mapQg = new HashMap<String, Object>();
mapQg = call.getGabZyInfoByJyaq("fzxyr",os,gabConfig);
Map<String,Object> mapQg = call.getGabZyInfoByJyaq("fzxyr",os,gabConfig);
List<Map<String,Object>> asjbhList = (List<Map<String,Object>>)mapQg.get("dataResult");
System.out.println("------------------asjbhList(第一)------------------------"+ asjbhList);
//通过案事件编号调取案事件信息resultList
for (Map<String,Object> asjbh:asjbhList) {
for (Map<String,Object> map:asjbhList) {
JSONObject jsonObject1 = new JSONObject();
String asjbh = (String) map.get("ASJBH");
jsonObject1.put("ASJBH", asjbh);
JSONArray jsonArray1 = new JSONArray();
jsonArray1.add(jsonObject1);
Object[] objects = jsonArray1.toArray();
Map<String,Object> m = new HashMap<String, Object>();
m = call.getGabZyInfoByJyaq("asj",objects,gabConfig);
Map<String,Object> m = call.getGabZyInfoByJyaq("asj",objects,gabConfig);
int count = Integer.valueOf((String)m.get("account"));
List<Map<String,Object>> result = (List<Map<String,Object>>)m.get("dataResult");
for (int i=0;i<count;i++){
......@@ -62,11 +61,10 @@ public class MinistrySuspectInfoController {
resultObj.put("message","无数据");
}
resultObj.put("dataList",resultList);
System.out.println("------------------返回dataList------------------------"+resultList);
} catch (Exception e) {
e.printStackTrace();
resultObj.put("code", ResultEnum.RESULT_ERROR.getCode());
resultObj.put("message",ResultEnum.RESULT_ERROR.getMessage());
e.printStackTrace();
}
return resultObj;
}
......
package com.founder.interservice.mapper.xzxt;
import com.founder.interservice.user.model.User;
import org.springframework.stereotype.Repository;
/**
* Created by zhulinying on 2019/3/20.
* @ClassName: UserMapper
* @Description: java类作用描述
* @CreateDate: 2019-03-20 10:22
* @Version: 1.0
*/
@Repository
public interface UserMapper {
/**
* 根据用户名和警号查询用户列表
* @param user
* @return
*/
public User queryUserByid(User user);
}
......@@ -12,7 +12,7 @@ import java.util.Map;
import com.founder.interservice.qgzyfw.domain.*;
import com.founder.interservice.util.StringUtil;
import net.sf.json.JSONObject;
import com.alibaba.fastjson.JSONObject;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
......@@ -82,7 +82,6 @@ public class CallDygabxxfw{
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName("syncBizProcess");
res = (String) call.invoke(new Object[]{sendId,serviceId,bizParamXml});
System.out.println(res);
}catch(Exception e){
e.printStackTrace();
}
......@@ -116,7 +115,7 @@ public class CallDygabxxfw{
//以下是为了拿到属性名对应的属性值
for(int i=0;i<os.length;i++){
String o = os[i].toString();
JSONObject jsonobj = JSONObject.fromObject(o);
JSONObject jsonobj = JSONObject.parseObject(o);;
if("class java.util.Date".equals(stype) || "class java.lang.Number".equals(stype)){
Object objt1 = jsonobj.get(sname+"1");
Object objt2 = jsonobj.get(sname+"2");
......@@ -178,7 +177,6 @@ public class CallDygabxxfw{
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(bizParamXml);
return bizParamXml;
}
//以下方法处理的是部级反馈的结果
......@@ -211,7 +209,6 @@ public class CallDygabxxfw{
Element rootElement = doc.getRootElement();
Element accountElement = rootElement.element("AMOUNT");
int account = Integer.parseInt(accountElement.getText());//返回数据的条数
System.out.println("total==="+account);
datamap.put("account", String.valueOf(account));//存放的是返回结果数量
String id = "";//服务类型
List pkgs = new ArrayList();
......@@ -280,17 +277,13 @@ public class CallDygabxxfw{
}
return datalist;
}
public Map<String, String> getDataMap() {
return DataMap;
}
public void setDataMap(Map<String, String> dataMap) {
DataMap = dataMap;
}
// @Override
public boolean hasPermission() {
// TODO Auto-generated method stub
return false;
}
}
......@@ -67,10 +67,13 @@ public class ScheduledService {
List<Predicate> list = new ArrayList<>();
Expression<String> exp = root.<String>get("state");
list.add(exp.in(Arrays.asList("QUEUEING","STARTING","RUNNING")));
Predicate p1 = criteriaBuilder.like(root.get("taskCaseId").as(String.class), "A%");
list.add(p1);
Predicate[] p = new Predicate[list.size()];
return criteriaBuilder.and(list.toArray(p));
}
});
System.out.println("taskList====================================="+taskList);
if(taskList != null && !taskList.isEmpty()){
String taskId = null,progress=null,state=null,result=null;Map<String,String> taskMap=null;
......
package com.founder.interservice.regionalanalysis.service.impl;
import com.founder.interservice.util.HttpUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import static com.founder.interservice.util.PropertieUtil.writeProperties;
@Component
@Async
public class TestSendTask {
@Value(value = "${wabigdata.regionalAnalysisTask.url}")
private String REGION_ALANALYSIS_URL; //发送任务接口
@Value(value = "${wabigdata.trackTravelTogetherForPhoneTask.url}")
private String TOGETHER_TASK_URL;
/**
* 定时任务测试区域碰撞接口发送
* 定时线程 项目启动后两分钟后开始执行,每隔三分钟执行一次
*/
@Scheduled(initialDelay = 1000,fixedDelay = 300000) //项目启动后1秒开始执行 每个五分钟执行一次
public void doTestSendTask(){
System.out.println("测试线程开始执行");
long day1 = System.currentTimeMillis();
String param0 = "{\"taskName\":\"0308测试任务碰撞\",\"perform\":{\"expression\":\"A1∩A2\",\"regional\":[{\"startTime\":1552017600000,\"endTime\":1552028400000,\"name\":\"A1\",\"source\":[0],\"lc\":[{\"j\":106.45365179918545,\"w\":29.72276345368788},{\"j\":106.451926590033,\"w\":29.715865237868453},{\"j\":106.4610922150265,\"w\":29.713692156324868},{\"j\":106.46306846181835,\"w\":29.721531105706845}]},{\"startTime\":1551999600000,\"endTime\":1552003200000,\"name\":\"A2\",\"source\":[0],\"lc\":[{\"j\":106.47868907688176,\"w\":29.739880302076706},{\"j\":106.47495138004449,\"w\":29.73141713703786},{\"j\":106.4876030212831,\"w\":29.728832496999747},{\"j\":106.49098157454996,\"w\":29.73848800075083}]}]},\"taskCaseId\":\"A5002316100002010125009\"}";
String param1 = "{\"taskName\":\"0308测试数据2\",\"perform\":{\"expression\":\"A1∩A2∩A3\",\"regional\":[{\"startTime\":1551999600000,\"endTime\":1552006800000,\"name\":\"A1\",\"source\":[0],\"lc\":[{\"j\":106.48005544068074,\"w\":29.740317929307647},{\"j\":106.47717991858055,\"w\":29.733483884898916},{\"j\":106.487602981047,\"w\":29.729836485935863},{\"j\":106.49098157194565,\"w\":29.738551000033393}]},{\"startTime\":1552024800000,\"endTime\":1552032000000,\"name\":\"A2\",\"source\":[0],\"lc\":[{\"j\":106.45424901331486,\"w\":29.721526874468},{\"j\":106.45194961015589,\"w\":29.715507218808916},{\"j\":106.46251664004187,\"w\":29.71292474618398},{\"j\":106.46416978345204,\"w\":29.721141012674796}]},{\"startTime\":1552006800000,\"endTime\":1552014000000,\"name\":\"A3\",\"source\":[0],\"lc\":[{\"j\":106.58392451501742,\"w\":29.64318553331031},{\"j\":106.5831524663565,\"w\":29.636814327637232},{\"j\":106.59168777893633,\"w\":29.636053074748915},{\"j\":106.59156256674235,\"w\":29.64322514505666}]}]},\"taskCaseId\":\"A5002316100002010125009\"}";
String param2 = "{\"taskName\":\"0308测试数据4\",\"perform\":{\"expression\":\"A1∩A2∩A3∩A4\",\"regional\":[{\"startTime\":1551999600000,\"endTime\":1552006800000,\"name\":\"A1\",\"source\":[0],\"lc\":[{\"j\":106.48027044321213,\"w\":29.741696698155923},{\"j\":106.47574257055277,\"w\":29.732168337439152},{\"j\":106.48975961496463,\"w\":29.72908133193557},{\"j\":106.49392941328695,\"w\":29.738171047468047}]},{\"startTime\":1552017600000,\"endTime\":1552032000000,\"name\":\"A2\",\"source\":[0],\"lc\":[{\"j\":106.45439301623477,\"w\":29.722467721445025},{\"j\":106.45101436816898,\"w\":29.715069150192157},{\"j\":106.46266069910358,\"w\":29.712422607924626},{\"j\":106.46524813252731,\"w\":29.719884951342372}]},{\"startTime\":1552006800000,\"endTime\":1552014000000,\"name\":\"A3\",\"source\":[0],\"lc\":[{\"j\":106.58424758119362,\"w\":29.644001213955516},{\"j\":106.58291843613114,\"w\":29.63546456416532},{\"j\":106.59474361876339,\"w\":29.63510813983358},{\"j\":106.59467135759317,\"w\":29.644807140999305}]},{\"startTime\":1551931200000,\"endTime\":1551938400000,\"name\":\"A4\",\"source\":[0],\"lc\":[{\"j\":107.3790778161817,\"w\":30.309489039553455},{\"j\":107.37631263222399,\"w\":30.306961472257793},{\"j\":107.37931191647654,\"w\":30.304610307340198},{\"j\":107.38302982364938,\"w\":30.30771577718766}]}]},\"taskCaseId\":\"A5002316100002010125009\"}";
Random ra =new Random();
int i = ra.nextInt(2);
String taskId = null;
String name = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(new Date());
int qycount = 0;
switch(i){
case 0:
qycount = 2;
break;
case 1:
qycount = 3;
break;
case 2:
qycount = 4;
break;
}
try{
switch(i){
case 0:
taskId = HttpUtil.doPostJson(REGION_ALANALYSIS_URL,param0);
break;
case 1:
taskId = HttpUtil.doPostJson(REGION_ALANALYSIS_URL,param1);
break;
case 2:
taskId = HttpUtil.doPostJson(REGION_ALANALYSIS_URL,param2);
break;
}
String logValue = null;
if ("Rate Limit".equals(taskId) || "null".equals(taskId)) {
logValue="区域碰撞日志:区域个数:"+qycount + ";任务状态:FAIL;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}else if(taskId == null || "".equals(taskId)){
logValue="区域碰撞日志:区域个数:"+qycount + ";任务状态:TIMEOUT;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}else{
logValue="区域碰撞日志:区域个数:"+qycount + ";任务状态:SUCCESS;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}
writeProperties("regionalTaskLogFile.properties", name, logValue);
}catch (Exception e){
try{
e.printStackTrace();
String logValue="区域碰撞日志:区域个数:"+ qycount + ";任务状态:TIMEOUT;任务编号:null;用时"+(System.currentTimeMillis()-day1+"毫秒");
writeProperties("regionalTaskLogFile.properties", name, logValue);
}catch (Exception e1){
e1.printStackTrace();
}
}
}
@Scheduled(initialDelay = 2000,fixedDelay = 300000) //项目启动后两秒开始执行一次 每个五分钟执行一次
public void doTestTogetherSendTask(){
System.out.println("测试伴随线程开始执行");
long day1 = System.currentTimeMillis();
String taskId = null;
String name = "T"+new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(new Date());
try{
String url = TOGETHER_TASK_URL + "&objectType=" + "4314"
+ "&objectValue=" + "460029789430171"
+ "&taskName="+"测试伴随任务"
+ "&taskCaseId=" + "A5001231231234234"
+ "&startTime=" + System.currentTimeMillis()
+ "&endTime=" + System.currentTimeMillis();
taskId = HttpUtil.getWaData(url);
String logValue = null;
if("Rate Limit".equals(taskId.trim()) || "null".equals(taskId)){
logValue="伴随任务:任务状态:FAIL;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}else if(taskId == null || "".equals(taskId)){
logValue="伴随任务:任务状态:TIMEOUT;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}else{
logValue="伴随任务:任务状态:SUCCESS;任务编号:"+taskId+";用时"+(System.currentTimeMillis()-day1+"毫秒");
}
writeProperties("TogetherTaskLogFile.properties", name, logValue);
}catch (Exception e){
try{
e.printStackTrace();
String logValue="伴随任务:任务状态:TIMEOUT;任务编号:null;用时"+(System.currentTimeMillis()-day1+"毫秒");
writeProperties("TogetherTaskLogFile.properties", name, logValue);
}catch (Exception e1){
e1.printStackTrace();
}
}
}
}
......@@ -208,6 +208,7 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
List<Track> tracks = jsonArray.toJavaList(Track.class);
List<TrackVO> trackVOs = new ArrayList<TrackVO>();
if(tracks != null && tracks.size() > 0){
tracks = removeTrack(tracks); //对数据进行去重
for (Track track : tracks ) {
if(track.getTimestamp() != 0){
track.setTimestr(DateUtil.getDateTime(new Date(track.getTimestamp())));
......@@ -270,7 +271,6 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
Track pTrack = new Track();
pTrack.setAddress(track.getAddress());
pTrack.setObjectvalue(track.getObjectvalue());
pTrack.setSource_md5(track.getSource_md5());
pTrack.setTimestamp(track.getTimestamp());
Example<Track> example = Example.of(pTrack);
boolean bol = trackRepository.exists(example);
......@@ -383,8 +383,7 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
if (idRelations.size() < 1) {
objectRelationMapper.saveIdRelation(idRelation);//保存身份证号和电话号码
}
IphoneTrackServiceImpl service = new IphoneTrackServiceImpl();
service.savePhoneRelation(sjhm, idRelation.getAsjbh(), idRelation.getSfzh(), idRelation.getJh());//保存电话号码和QQ微信
savePhoneRelation(sjhm, idRelation.getAsjbh(), idRelation.getSfzh(), idRelation.getJh());//保存电话号码和QQ微信
}
}catch(Exception e){
e.printStackTrace();
......@@ -426,12 +425,9 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
r.setTimestamp(DateUtil.getDateTime(new Date(Long.valueOf(r.getTimestamp()))));
}
Relation relation = new Relation();
relation.setObjectfromtype(r.getObjectfromtype());
relation.setObjectfromvalue(r.getObjectfromvalue());
relation.setObjecttotype(r.getObjecttotype());
relation.setObjecttovalue(r.getObjecttovalue());
relation.setRelativetype(r.getRelativetype());
relation.setSource(r.getSource());
Example<Relation> example = Example.of(relation);
boolean bol = relationRepository.exists(example);
if(!bol){
......@@ -738,8 +734,7 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
private List<Relation> removeRelation(List<Relation> relations){
HashMap<String,Relation> tempMap = new HashMap<>();
for (Relation r : relations) {
String key = r.getObjectfromtype()+r.getObjectfromvalue()+r.getObjecttotype()+
r.getObjecttovalue()+r.getRelativetype()+r.getSource();
String key = r.getObjectfromvalue()+r.getObjecttovalue()+r.getRelativetype();
if(!tempMap.containsKey(key)){
tempMap.put(key, r);
}
......@@ -750,6 +745,26 @@ public class IphoneTrackServiceImpl implements IphoneTrackService {
}
return tempList;
}
/**
* 批量插入Track轨迹数据时,防止有重复的数据出现,报违反唯一标识错误
* 所以先对其进行去重
* @param tracks
* @return
*/
private List<Track> removeTrack(List<Track> tracks){
HashMap<String,Track> tempMap = new HashMap<>();
for (Track r : tracks) {
String key = r.getObjectvalue() + r.getTimestamp() + r.getAddress();
if(!tempMap.containsKey(key)){
tempMap.put(key, r);
}
}
List<Track> tempList = new ArrayList<>();
for(String key : tempMap.keySet()){
tempList.add(tempMap.get(key));
}
return tempList;
}
}
package com.founder.interservice.tracktraveltogether.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.VO.ResultVO;
import com.founder.interservice.enums.ResultEnum;
import com.founder.interservice.model.AutoTbStRy;
import com.founder.interservice.regionalanalysis.VO.RegionalTaskResultVO;
import com.founder.interservice.regionalanalysis.model.RegionalTask;
import com.founder.interservice.regionalanalysis.model.RegionalTaskResult;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.regionalanalysis.model.RegionalTaskResultDetail;
import com.founder.interservice.service.IphoneTrackService;
import com.founder.interservice.tracktraveltogether.model.TogetherTaskResult;
import com.founder.interservice.tracktraveltogether.model.TrackTogetherTask;
import com.founder.interservice.tracktraveltogether.service.TrackTogetherService;
import com.founder.interservice.tracktraveltogether.vo.TogetherTaskResultVO;
import com.founder.interservice.tracktraveltogether.vo.TrackTogetherTaskVO;
import com.founder.interservice.util.*;
import com.founder.interservice.util.DateUtil;
import com.founder.interservice.util.EasyUIPage;
import com.founder.interservice.util.ResultVOUtil;
import com.founder.interservice.util.StringUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
......@@ -63,6 +55,19 @@ public class TrackTogetherContoller {
return modelAndView;
}
/**
*时空伴随任务 采集 界面
* @return
*/
@RequestMapping(value = "/toskbsrwInsertJsp")
public ModelAndView toskbsrwInsertJsp(String fsrjh,String fsrIdentity,String taskCaseId){
ModelAndView modelAndView = new ModelAndView("gjbs/Insert");
modelAndView.addObject("fsrjh",fsrjh);
modelAndView.addObject("fsrIdentity",fsrIdentity);
modelAndView.addObject("taskCaseId",taskCaseId);
modelAndView.addObject("flag","skbs");
return modelAndView;
}
/**
*
* @Description: 跳转到时空轨迹伴随结果展示(新)
* @Param:
......@@ -232,7 +237,7 @@ public class TrackTogetherContoller {
resultVO = ResultVOUtil.error(ResultEnum.TASK_SEND_ERROR.getCode(),ResultEnum.TASK_SEND_ERROR.getMessage());
}
}catch (InterServiceException e){
}catch (Exception e){
e.printStackTrace();
resultVO = ResultVOUtil.error(ResultEnum.TASK_SEND_ERROR.getCode(),ResultEnum.TASK_SEND_ERROR.getMessage());
}
......@@ -270,6 +275,8 @@ public class TrackTogetherContoller {
return jsonObject;
}
/**
*
* @Description: 发送伴随任务
......@@ -283,37 +290,36 @@ public class TrackTogetherContoller {
* @Author: cao peng
* @date: 2018/9/9 0009-20:30
*/
@RequestMapping(value = "/sendTrackTogetherTask",method = {RequestMethod.GET,RequestMethod.POST})
@RequestMapping(value ="/sendTrackTogetherTask",method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public ResultVO sendTrackTogetherTask(HttpServletRequest request){
ResultVO resultVO = null;
public String sendTrackTogetherTask(TrackTogetherTask trackParam,String fsrjh,String fsrIdentity,String taskCaseId){
String data="";
try {
TrackTogetherTask trackParam = new TrackTogetherTask();
String startTime =request.getParameter("startTime");
String endTime =request.getParameter("endTime");
trackParam.setObjectValue(request.getParameter("objectValue"));
trackParam.setObjectType(request.getParameter("objectType"));
trackParam.setTaskName(request.getParameter("taskName"));
trackParam.setTaskCaseId(request.getParameter("taskCaseId"));
String startTime = trackParam.getSTime();
String endTime = trackParam.getETime();
Date kssj = startTime.contains(" ") ? DateUtil.convertStringToDateTime(startTime): DateUtil.convertStringToDate(startTime);
trackParam.setStartTime(kssj);
Date jssj = endTime.contains(" ") ? DateUtil.convertStringToDateTime(endTime) : DateUtil.convertStringToDate(endTime);
trackParam.setEndTime(jssj);
trackParam.setDjsj(new Date());
String taskId = trackTogetherService.sendTrackTogetherTask(trackParam); //发送任务 并且得到任务编号
if(!StringUtil.ckeckEmpty(taskId)){
if(!StringUtil.ckeckEmpty(taskId) && !taskId.startsWith("R") && !"null".equals(taskId)){
trackParam.setTaskId(taskId);
}else{
throw new InterServiceException(ResultEnum.TASK_SEND_ERROR);
}
trackParam.setProgress("0");
trackParam.setState("QUEUEING");
trackParam.setFsrJh(fsrjh);
trackParam.setFsrIdentity(fsrIdentity);
trackParam.setTaskCaseId(taskCaseId);
trackTogetherService.saveTogetherTask(trackParam);
resultVO = ResultVOUtil.success(taskId);
}catch (InterServiceException e){
data="1";
}catch (Exception e){
e.printStackTrace();
resultVO = ResultVOUtil.error(e.getCode(),e.getMessage());
data="0";
}
return resultVO;
return data;
}
/**
......
......@@ -29,6 +29,8 @@ public class TrackTogetherTask {
private String progress;// 任务进度
private Date startTime; //开始时间
private Date endTime; //结束时间
private String fsrJh;//发送人警号
private String fsrIdentity;//发送人身份证号
@Column(insertable = false)
private Date djsj; //登记时间
//单独给实体添加私有属性
......@@ -36,4 +38,11 @@ public class TrackTogetherTask {
private int begin;
@Transient
private int end;
@Transient
private String sTime;
@Transient
private String eTime;
@Transient
private String bkdxlx;
}
......@@ -17,7 +17,7 @@ import java.util.List;
* @Version: 1.0
*/
public interface TrackTogetherService {
public String sendTrackTogetherTask(TrackTogetherTask trackParam);
public String sendTrackTogetherTask(TrackTogetherTask trackParam) throws Exception ;
public void saveTogetherTask(TrackTogetherTask trackParam);
......
......@@ -58,7 +58,7 @@ public class TogetherScheduledService {
* @Author: cao peng
* @date: 2018/8/22 0022-16:35
*/
@Scheduled(initialDelay = 180000,fixedDelay = 180000) //项目启动后延迟三分钟秒执行,每次执行完后三分钟后再次执行
@Scheduled(initialDelay = 120000,fixedDelay = 120000) //项目启动后延迟三分钟秒执行,每次执行完后三分钟后再次执行
public void queryTaskResult(){
System.out.println("=============TogetherTask Start Running================");
System.out.println("Thread Name:=======" + Thread.currentThread().getName());
......@@ -87,7 +87,6 @@ public class TogetherScheduledService {
String info_url = TOGETHER_INFO_URL + "&taskId=" + task.getTaskId();
String taskInfoResult = HttpUtil.getWaData(info_url);
//String taskInfoResult = "{\"items\":[{\"count\":75,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013088311061\"},{\"count\":70,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460029233464484\"},{\"count\":65,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013022609934\"},{\"count\":63,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460013312607010\"},{\"count\":57,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460018669002987\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460008397079525\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460020523597601\"},{\"count\":53,\"objectType\":4394,\"objectTypeName\":\"电话号码\",\"objectValue\":\"460003164872839\"}],\"taskId\":\"98f6bcd4621d373cade4e832627b4f6-540-xzxt-api-3-1536231954767\"}";
taskInfoResult = HttpUtil.getWaData(info_url);
getAndSaveInfo(taskInfoResult,task);
}
if(!state.equals(task.getState())){
......@@ -113,14 +112,8 @@ public class TogetherScheduledService {
r.setXXZJBH(KeyUtil.getUniqueKey("TT"));
r.setDjsj(new Date());
}
TogetherTaskResult param = new TogetherTaskResult();
param.setTaskId(task.getTaskId());
Example<TogetherTaskResult> example = Example.of(param);
List<TogetherTaskResult> results = taskResultRepository.findAll(example);
if(results == null || results.isEmpty()){
taskResultRepository.save(taskResults);
getAndSaveRydetail(taskResults);
}
taskResultRepository.save(taskResults);
getAndSaveRydetail(taskResults);
}
}
}catch (Exception e){
......
......@@ -64,7 +64,7 @@ public class TrackTogetherServiceImpl implements TrackTogetherService {
* @date: 2018/9/9 0009-20:55
*/
@Override
public String sendTrackTogetherTask(TrackTogetherTask trackParam){
public String sendTrackTogetherTask(TrackTogetherTask trackParam) throws Exception{
try{
String taskId = null;
if(trackParam != null){
......@@ -74,8 +74,9 @@ public class TrackTogetherServiceImpl implements TrackTogetherService {
+ "&taskCaseId=" + trackParam.getTaskCaseId()
+ "&startTime=" + trackParam.getStartTime().getTime()
+ "&endTime=" + trackParam.getEndTime().getTime();
System.out.println("url =============" + url);
taskId = HttpUtil.getWaData(url);
System.out.println("taskId ===============" +taskId);
System.out.println("taskId==============" + taskId);
}
return taskId;
}catch (Exception e){
......@@ -97,6 +98,7 @@ public class TrackTogetherServiceImpl implements TrackTogetherService {
try{
taskRepository.save(trackParam);
}catch (Exception e){
e.printStackTrace();
throw new InterServiceException(ResultEnum.RESULT_ERROR);
}
}
......
......@@ -2,7 +2,6 @@ package com.founder.interservice.tracktraveltogether.vo;
import lombok.Data;
import javax.persistence.Entity;
import java.util.Date;
/**
......@@ -15,6 +14,8 @@ public class TrackTogetherTaskVO {
private String taskName; //任务名称
private String taskCaseId; //案件编号
private String state; //任务状态
private String fsrjh; //发送人警号
private String fsrIdentity; //发送人身份证号
private Date startTime; //开始时间
private Date endTime; //结束时间
private Date djsj; //登记时间
......
package com.founder.interservice.user.controller;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.user.model.User;
import com.founder.interservice.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @ClassName: UserContoller
* @Auther: 朱琳瑛
* @Description: java类作用描述
* @CreateDate: 2019-03-18 15:16
* @Version: 1.0
*/
@Controller
@CrossOrigin //跨域访问
public class UserContoller {
@Autowired
private UserService userService;
/**
* 根据用户id或警号查询用户列表
* username: 用户名
* policemanid:警号
* @return
*/
@RequestMapping(value = "/queryUserByid")
@ResponseBody
public User queryUserByid(String userid, String policemanid,
@RequestParam(value = "page",defaultValue = "0") int page,
@RequestParam(value = "rows",defaultValue = "0") int rows){
User users = new User();
try{
User user = new User();
user.setUserid(userid);
user.setPolicemanid(policemanid);
users = userService.queryUserByid(user);
String truename = users.getTrue_name();
System.out.print("truename="+truename);
}catch (InterServiceException e){
e.printStackTrace();
}
return users;
}
}
package com.founder.interservice.user.model;
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import java.util.Date;
/**
* @ClassName: UserContoller
* @Auther: 朱琳瑛
* @Description: java类作用描述
* @CreateDate: 2019-03-18 15:21
* @Version: 1.0
*/
@Data
@Entity
@Table(name = "TB_ST_USER")
@DynamicUpdate
public class User {
@Id
private String userid;
private String tech_id;
private String username;
private String user_level;
private String password;
private String true_name;
private String open_flag;
private String default_module;
private String remark;
private Date create_date;
private String create_pname;
private Date modify_date;
private String modify_pname;
private String policemanid;
private String card_id;
private String phone_no;
private String jz_dwdm;
private String jz_dwmc;
private String scbz;
private String sex;
private String birthday;
//单独给实体添加私有属性
@Transient
private int begin;
@Transient
private int end;
}
package com.founder.interservice.user.service;
import com.founder.interservice.user.model.User;
/**
* @ClassName: UserService
* @Auther: 朱琳瑛
* @Description: java类作用描述
* @CreateDate: 2019-03-18 15:16
* @Version: 1.0
*/
public interface UserService {
public User queryUserByid(User user);
}
package com.founder.interservice.user.service.impl;
import com.founder.interservice.mapper.xzxt.UserMapper;
import com.founder.interservice.user.model.User;
import com.founder.interservice.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @ClassName: UserService
* @Auther: 朱琳瑛
* @Description: java类作用描述
* @CreateDate: 2019-03-18 15:19
* @Version: 1.0
*/
@Transactional
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
/**
* 根据用户名或警号查询用户列表
* username: 用户名
* policemanid:警号
* @return
*/
@Override
public User queryUserByid(User user) {
return userMapper.queryUserByid(user);
}
}
package com.founder.interservice.user.vo;
import lombok.Data;
import java.util.Date;
/**
* 用户实体的VO类
*/
@Data
public class UserVOS {
private String userid;
private String tech_id;
private String username;
private String user_level;
private String password;
private String true_name;
private String open_flag;
private String default_module;
private String remark;
private Date create_date;
private String create_pname;
private Date modify_date;
private String modify_pname;
private String policemanid;
private String card_id;
private String phone_no;
private String jz_dwdm;
private String jz_dwmc;
private String scbz;
private String sex;
private String birthday;
}
......@@ -28,11 +28,6 @@ public class HttpUtil {
*/
public static String getWaData(String url){
String result = HttpUtil.doGet(url);
int i = 0;
while(i < 3 && (!result.startsWith("{") || StringUtil.ckeckEmpty(result))){
result = HttpUtil.doGet(url);
i++;
}
return result;
}
......
......@@ -57,6 +57,9 @@ public class PropertieUtil {
String filePath = PropertieUtil.class.getResource("/").getPath()+fileName;
// 获取配置文件
Properties pps = new Properties();
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
pps.load(new InputStreamReader(in,"UTF-8"));
in.close();
OutputStream out = new FileOutputStream(filePath);//true表示追加打开,false表示每次都是清空重写
// 设置配置名称和值
pps.setProperty(parameterName, parameterValue);
......
......@@ -22,9 +22,9 @@ mybatis:
# port:
gab_url:
ip: 10.172.20.13:9002
ip: 10.178.8.68:7101
#请求方地址
senderId: C00-10001940
senderId: C00-10002910
#asj-服务方地址
receiverAsjId: S10-10005788
#fzxyr-4.10全国刑侦案事件犯罪嫌疑人信息查询服务
......@@ -52,29 +52,29 @@ xdhbigdata:
getCjDataServiceId: XDHWS0022
wabigdata:
objectrelation:
url: http://www.adu.cq:6080/api?name=objectRelation&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=objectRelation&key=62bf1b59c14bf770ccbc48767db26c48
gettrack:
url: http://www.adu.cq:6080/api?name=getTrack&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=getTrack&key=62bf1b59c14bf770ccbc48767db26c48
relationGetAll:
url: http://www.adu.cq:6080/api?name=relationGetAll&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=relationGetAll&key=62bf1b59c14bf770ccbc48767db26c48
pgis:
url: http://77.1.24.49:8080/lbs/poiController/poiMarkers
pgis_title:
url: http://77.1.24.49:8080/lbs?flag=search&jdObj=&wdObj=&inputFlag=&saveFlag=
#区域碰撞 相关的url
regionalAnalysisTask: #提交任务
url: http://www.adu.cq:6080/api?name=regionalAnalysisTask&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=regionalAnalysisTask&key=62bf1b59c14bf770ccbc48767db26c48
regionalAnalysisTaskStatus: #获取任务状态
url: http://www.adu.cq:6080/api?name=regionalAnalysisTaskStatus&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=regionalAnalysisTaskStatus&key=62bf1b59c14bf770ccbc48767db26c48
regionalAnalysisTaskInfo: #获取任务结果
url: http://www.adu.cq:6080/api?name=regionalAnalysisTaskInfo&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=regionalAnalysisTaskInfo&key=62bf1b59c14bf770ccbc48767db26c48
#IMSI伴随 相关的url
trackTravelTogetherForPhoneTask: #提交任务
url: http://www.adu.cq:6080/api?name=trackTravelTogetherForPhoneTask&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=trackTravelTogetherForPhoneTask&key=62bf1b59c14bf770ccbc48767db26c48
trackTravelTogetherForPhoneTaskStatus: #查询任务状态
url: http://www.adu.cq:6080/api?name=trackTravelTogetherForPhoneTaskStatus&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=trackTravelTogetherForPhoneTaskStatus&key=62bf1b59c14bf770ccbc48767db26c48
trackTravelTogetherForPhoneTaskInfo: #获取任务数据
url: http://www.adu.cq:6080/api?name=trackTravelTogetherForPhoneTaskInfo&key=62bf1b59c14bf770ccbc48767db26c48
url: http://77.19.1.20:8608/api?name=trackTravelTogetherForPhoneTaskInfo&key=62bf1b59c14bf770ccbc48767db26c48
#mysql sql打印
logging:
level:
......
......@@ -76,7 +76,7 @@
AND t.sqr_jh= #{sqr_jh, jdbcType=VARCHAR }
</if>
<if test="asjbh != null and asjbh != ''">
and t.ASJBH= #{ASJBH, jdbcType=VARCHAR }
and t.asjbh= #{asjbh, jdbcType=VARCHAR }
</if>
<if test="bkdxhm != null and bkdxhm != ''">
and t.bkdxhm= #{bkdxhm, jdbcType=VARCHAR }
......
<?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="com.founder.interservice.mapper.xzxt.UserMapper">
<select id="queryUserByid" parameterType="com.founder.interservice.user.model.User" resultType="com.founder.interservice.user.model.User">
select
t.USERID as userid,
t.TECH_ID as tech_id,
t.USERNAME as username,
t.USER_LEVEL as user_level,
t.PASSWORD as password,
t.TRUE_NAME as true_name,
t.OPEN_FLAG as open_flag,
t.DEFAULT_MODULE as default_module,
t.remark as remark,
t.CREATE_DATE as create_date,
t.CREATE_PNAME as create_pname,
t.MODIFY_DATE as modify_date,
t.MODIFY_PNAME as modify_pname,
t.POLICEMANID as policemanid,
t.CARD_ID as card_id,
t.PHONE_NO as phone_no,
t.JZ_DWDM as jz_dwdm,
t.JZ_DWMC as jz_dwmc,
t.SEX as sex,
t.BIRTHDAY as birthday,
t.SCBZ as scbz
from TB_ST_USER t
where
t.SCBZ='0'
<if test="userid != null and userid != ''">
and t.USERID = #{userid}
</if>
<if test="policemanid != null and policemanid != ''">
and t.POLICEMANID = #{policemanid}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -183,6 +183,11 @@ a.left-list-ftitle:hover{
margin-top: -4px;
width:100%;
}
.cxtj table input[type='radio']{
width: 18px;
height: 18px;
margin-right:5px;
}
.cxtj table .panel-noscroll{
border:none;
}
......@@ -496,4 +501,77 @@ a.re_qs:hover{
}
table.datagrid-btable td[field="zlwh"] .datagrid-cell{
overflow: visible;
}
\ No newline at end of file
}
/*用户提示弹窗样式*/
.wrap_mask{
width:100%;
height:100%;
position:fixed;
top:0;
left:0;
background-color:rgba(0,0,0,0.5);
z-index:9998;
}
.xtyhts_wrap{
width:906px;
padding-bottom:25px;
background-color:#fff;
border-radius:10px;
-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.2);
-o-box-shadow: 0 1px 3px rgba(0,0,0,0.2);
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 2px 10px rgba(0,0,0,0.3);
position:fixed;
top:50%;
left:50%;
margin-top:-180px;
margin-left:-453px;
z-index:9999;
}
.xtyhts_wrap h1{
width:100%;
height:60px;
line-height:60px;
text-align:center;
font-size:20px;
border-bottom:1px solid #acc4cc;
vertical-align:middle;
}
.xtyhts_wrap h1 img{
vertical-align:middle;
margin-right:6px;
margin-bottom:3px;
}
.xtyhts_center{
width:90%;
margin:0 auto;
}
.xtyhts_wrap p{
font-size:16px;
color:#000;
line-height:34px;
}
.xtyhts_wrap p.xtyhts_center_p{
text-indent:2em;
line-height:30px;
}
.btn_div{
width:100%;
text-align:center;
margin-top:35px;
}
.xtyhts_wrap .close_btn{
display:inline-block;
text-align:center;
font-size:14px;
padding:8px 12px;
border:1px solid #ccc;
border-radius:8px;
background-color:#09f;
color:#fff;
}
.xtyhts_wrap .close_btn:hover{
background-color:#048be4;
}
/*用户提示弹窗样式*/
\ No newline at end of file
......@@ -60,30 +60,39 @@
$("#bkdxlx").combobox({
onChange: function (lx,o) {
var validStr="";
if(lx=="001"){//手机
validStr=['mobile'];
}else if(lx=="002"){//QQ号码
validStr=['QQ'];
}else if(lx=="003"){//微信号码
}else if(lx=="004"){//身份证号
validStr=['idCode'];
}else if(lx=="005"){//车牌号
validStr=['cphm'];
}else if(lx=="009"){//微信ID
}else if(lx=="006"){//IMSI
validStr=['imsi'];
}else if(lx=="007"){//IMEI
validStr=['imei'];
}
if(validStr!=""){
if(lx ==""){
$("#bkdxhm").textbox({
required: true,
validType:validStr
required: false
});
}else{
var validStr="";
if(lx=="001"){//手机
validStr=['mobile'];
}else if(lx=="002"){//QQ号码
validStr=['QQ'];
}else if(lx=="003"){//微信号码
}else if(lx=="004"){//身份证号
validStr=['idCode'];
}else if(lx=="005"){//车牌号
validStr=['cphm'];
}else if(lx=="009"){//微信ID
}else if(lx=="006"){//IMSI
validStr=['imsi'];
}else if(lx=="007"){//IMEI
validStr=['imei'];
}
if(validStr!=""){
$("#bkdxhm").textbox({
required: true,
validType:validStr
});
}
}
}
});
......@@ -109,14 +118,14 @@
dateType:'json',
data : $('#form1').serializeArray(),
success:function(data){
if(data=="success"){
$.messager.show({title:'提示',msg:'保存成功'});
if(data.data.id!=null){
$.messager.alert({title:'提示',msg:'保存成功'});
}else{
$.messager.show({title:'提示',msg:'数据已存在,不可重复提交'});
$.messager.alert({title:'提示',msg:'数据已存在,不可重复提交'});
}
},
error:function(e) {
$.messager.show({title:'提示',msg:"出错:"+e});
$.messager.alert({title:'提示',msg:"出错:"+e});
}
})
}
......@@ -137,10 +146,11 @@ function doClear(){
$("#bklx").combobox('setValue',"");
$("#bkyj").val("");
$("#bkyq").val("");
$("#sqr_xm").val('');
$("#sqr_jh").val('');
$("#djsj").val('');
$("#bksj_start").val('');
$("#bksj_end").val('');
$("#bkqx").val("");
$("#bkqx").val('');
}
\ No newline at end of file
$(function(){
$("#objectType").combobox({
onChange: function (lx,o) {
var validStr="";
if(lx=="3996"){//手机号码
validStr=['mobile'];
}else if(lx=="4314"){//IMS
validStr=['imsi'];
}else if(lx=="6424"){//车牌号
validStr=['cphm'];
}
if(validStr!=""){
$("#objectValue").textbox({
required: true,
validType:validStr
});
}
}
});
});
function doClear(){
$("#objectType").combobox('setValue',"");
//$("#bkdxhm").textbox('setValue',"");
$("#objectValue").textbox('setValue',"");
$("#taskName").textbox('setValue',"");
$("#datepicker1").val('');
$("#datepicker2").val('');
}
function submit() {
var bkdxlxmc=$('#objectType').combobox('getText');//获取下拉框的文本
$('#bkdxlxmc').val(bkdxlxmc);
var objectType=$("#objectType").combobox('getValue');
$("#objectType").combobox({
required: true
});
$("#objectType").combobox('setValue',objectType);
var fsrjh = $("#fsrjh").val();
var fsrIdentity = $("#fsrIdentity").val();
var taskCaseId = $("#taskCaseId").val();
console.info($('#form1').serialize())
console.info($('#form1').serializeArray())
if($('#form1').form('enableValidation').form('validate')){
$.ajax({
method : 'post',
url : 'sendTrackTogetherTask?fsrjh='+fsrjh+"&fsrIdentity="+fsrIdentity+"&taskCaseId="+taskCaseId,
dateType:'json',
data : $('#form1').serializeArray(),
success:function(data){
if(data=="1"){
$.messager.show({title:'提示',msg:'任务发送成功!'});
}else{
$.messager.show({title:'提示',msg:'任务发送失败,请重新发送!'});
}
},
error:function(e) {
$.messager.show({title:'提示',msg:"出错:"+e});
}
})
}
}
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S027',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S027',0);
COMMIT;
-------------------------------------------------------------------------------------------
--创建布控信息表
CREATE TABLE XZXT.TB_BK_TASKRESULT
(
XXZJBH VARCHAR2(30 BYTE),
BK_XXZJBH VARCHAR2(30 BYTE),
BKBSH VARCHAR2(20),
BSHLXDM VARCHAR2(10 BYTE),
BSHLXMC VARCHAR2(50 BYTE),
ASJBH VARCHAR2(50 BYTE),
SFZH VARCHAR2(50 BYTE),
SJHM VARCHAR2(20 BYTE),
IMEI VARCHAR2(20 BYTE),
IMSI VARCHAR2(20 BYTE),
NEW_LOCATION VARCHAR2(200 BYTE),
J VARCHAR2(40 BYTE),
W VARCHAR2(40 BYTE),
ZQSJ DATE,
FLAG VARCHAR2(2 BYTE),
CAR VARCHAR2(20 BYTE),
DJSJ DATE DEFAULT sysdate,
XGSJ DATE DEFAULT sysdate
)TABLESPACE TBS_BIGDATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
COMMENT ON table XZXT.TB_BK_TASKRESULT is '布控信息表';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.XXZJBH IS '信息主键编号,主键';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.BK_XXZJBH IS '布控信息主键编号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.BKBSH IS '标识号号码';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.BSHLXDM IS '标识号类型代码';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.BSHLXMC IS '标识号类型名称';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.ASJBH IS '案事件编号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.SFZH IS '身份证号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.SJHM IS '手机号码';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.IMEI IS 'IMEI号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.IMSI IS 'IMSI号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.NEW_LOCATION IS '最新位置';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.J IS '经度';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.W IS '纬度';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.ZQSJ IS '抓取时间';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.FLAG IS '是否是新出现的设备号(00,表示不是,01表示是新出现的设备号)';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.CAR IS '车牌号';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.DJSJ IS '登记时间';
COMMENT ON COLUMN XZXT.TB_BK_TASKRESULT.XGSJ IS '修改时间';
--创建主键
CREATE UNIQUE INDEX PK_BKTASKRESULT_XXZJBH ON XZXT.TB_BK_TASKRESULT
(XXZJBH)
LOGGING
TABLESPACE TBS_INDEX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE XZXT.TB_BK_TASKRESULT ADD (
CONSTRAINT PK_BKTASKRESULT_XXZJBH
PRIMARY KEY
(XXZJBH)
USING INDEX
TABLESPACE TBS_INDEX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S027';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S028',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S028',0);
COMMIT;
-------------------------------------------------------------------------------------------
-- Add/modify columns
alter table TB_ST_BKXX add XGSJ DATE;
-- Add comments to the columns
comment on column TB_ST_BKXX.XGSJ
is '修改时间';
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S028';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S021',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S021',0);
COMMIT;
-------------------------------------------------------------------------------------------
delete from relation a where (a.objectfromvalue,A.OBJECTTOVALUE,A.RELATIVETYPE) in (select OBJECTFROMVALUE,OBJECTTOVALUE,RELATIVETYPE from relation group by OBJECTFROMVALUE,OBJECTTOVALUE,RELATIVETYPE having count(*) > 1)
and ROWID not in (select min(ROWID) from relation group by OBJECTFROMVALUE,OBJECTTOVALUE,RELATIVETYPE having count(*) > 1);
drop index XZXT.inx_RelaFromToValue;
drop index XZXT.inx_rela_formval_totype;
CREATE UNIQUE INDEX XZXT.inx_RelaFromToValue ON XZXT.Relation
(OBJECTFROMVALUE,OBJECTTOVALUE,RELATIVETYPE)
LOGGING
TABLESPACE TBS_INDEX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S021';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S030',0);
COMMIT;
-------------------------------------------------------------------------------------------
delete from Track a where (a.OBJECTVALUE,a.ADDRESS,A.TIMESTAMP) in (select OBJECTVALUE,ADDRESS,TIMESTAMP from Track group by OBJECTVALUE,ADDRESS,TIMESTAMP having count(*) > 1)
and ROWID not in (select min(ROWID) from Track group by OBJECTVALUE,ADDRESS,TIMESTAMP having count(*) > 1);
DROP INDEX XZXT.inx_TrackObjtvalTime;
CREATE UNIQUE INDEX XZXT.inx_TrackObjtvalTime ON XZXT.Track
(ADDRESS,OBJECTVALUE,TIMESTAMP)
LOGGING
TABLESPACE TBS_INDEX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
-----------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S030';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S031',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S031',0);
COMMIT;
-------------------------------------------------------------------------------------------
-- Add/modify columns
alter table TB_ST_BKXX add SMS VARCHAR2(2);
-- Add comments to the columns
comment on column TB_ST_BKXX.SMS
is '是否短信通知(0:否 1:是)';
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S031';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S032',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S032',0);
COMMIT;
-------------------------------------------------------------------------------------------
ALTER TABLE XZXT.TB_ST_TRACKTOGETHERTASK
ADD (FSR_JH VARCHAR2(10 BYTE));
ALTER TABLE XZXT.TB_ST_TRACKTOGETHERTASK
ADD (FSR_IDENTITY VARCHAR2(20 BYTE));
COMMENT ON COLUMN XZXT.TB_ST_TRACKTOGETHERTASK.FSR_JH IS '发送人警号';
COMMENT ON COLUMN XZXT.TB_ST_TRACKTOGETHERTASK.FSR_IDENTITY IS '发送人身份证号';
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S032';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S033',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S033',0);
COMMIT;
-------------------------------------------------------------------------------------------
-- Create table
create table TB_ST_JZXX
(
XXZJBH VARCHAR2(30) not null,
ADDRESS VARCHAR2(500),
LAT VARCHAR2(50),
LON VARCHAR2(50),
LRSJ DATE
)
tablespace TBS_BIGDATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
next 8
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table TB_ST_JZXX
is '基站信息表';
-- Add comments to the columns
comment on column TB_ST_JZXX.XXZJBH
is '信息主键编号,主键';
comment on column TB_ST_JZXX.ADDRESS
is '基站名称';
comment on column TB_ST_JZXX.LAT
is '基站纬度';
comment on column TB_ST_JZXX.LON
is '基站经度';
comment on column TB_ST_JZXX.LRSJ
is '录入时间默认当前';
-- Create/Recreate primary, unique and foreign key constraints
alter table TB_ST_JZXX
add constraint PK_JZXX_XXZJBH primary key (XXZJBH)
using index
tablespace TBS_INDEX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S033';
COMMIT;
\ No newline at end of file
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S034',0);
INSERT INTO XZXT.SYS_DBLOG(SID,STATUS)VALUES('S034',0);
COMMIT;
-------------------------------------------------------------------------------------------
CREATE TABLE XZXT.TB_ST_USER
(
USERID VARCHAR2(32 BYTE) NOT NULL,
TECH_ID VARCHAR2(32 BYTE),
USERNAME VARCHAR2(50 BYTE),
USER_LEVEL VARCHAR2(4 BYTE),
PASSWORD VARCHAR2(50 BYTE),
TRUE_NAME VARCHAR2(100 BYTE),
OPEN_FLAG VARCHAR2(4 BYTE),
DEFAULT_MODULE VARCHAR2(4 BYTE),
REMARK CLOB,
CREATE_DATE DATE,
CREATE_PNAME VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
MODIFY_PNAME VARCHAR2(50 BYTE),
POLICEMANID VARCHAR2(32 BYTE),
CARD_ID VARCHAR2(28 BYTE),
PHONE_NO VARCHAR2(20 BYTE),
JZ_DWDM VARCHAR2(32 BYTE),
JZ_DWMC VARCHAR2(200 BYTE),
SCBZ VARCHAR2(1 BYTE),
SEX VARCHAR2(4 BYTE),
BIRTHDAY VARCHAR2(50 BYTE)
)
TABLESPACE TBS_BIGDATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
COMMENT ON COLUMN XZXT.TB_ST_USER.USERID IS '主键id';
COMMENT ON COLUMN XZXT.TB_ST_USER.TECH_ID IS '角色id';
COMMENT ON COLUMN XZXT.TB_ST_USER.USERNAME IS '用户名';
COMMENT ON COLUMN XZXT.TB_ST_USER.USER_LEVEL IS '用户级别';
COMMENT ON COLUMN XZXT.TB_ST_USER.PASSWORD IS '密码';
COMMENT ON COLUMN XZXT.TB_ST_USER.TRUE_NAME IS '真实姓名';
COMMENT ON COLUMN XZXT.TB_ST_USER.CREATE_DATE IS '创建时间';
COMMENT ON COLUMN XZXT.TB_ST_USER.CREATE_PNAME IS '创建用户名称';
COMMENT ON COLUMN XZXT.TB_ST_USER.MODIFY_DATE IS '修改时间';
COMMENT ON COLUMN XZXT.TB_ST_USER.MODIFY_PNAME IS '修改用户名称';
COMMENT ON COLUMN XZXT.TB_ST_USER.POLICEMANID IS '警号';
COMMENT ON COLUMN XZXT.TB_ST_USER.PHONE_NO IS '手机号';
COMMENT ON COLUMN XZXT.TB_ST_USER.JZ_DWDM IS '用户单位';
COMMENT ON COLUMN XZXT.TB_ST_USER.JZ_DWMC IS '用户单位名称';
COMMENT ON COLUMN XZXT.TB_ST_USER.SCBZ IS '删除标志';
COMMENT ON COLUMN XZXT.TB_ST_USER.SEX IS '性别';
COMMENT ON COLUMN XZXT.TB_ST_USER.BIRTHDAY IS '出生日期';
CREATE UNIQUE INDEX XZXT.TB_ST_USER_PK ON XZXT.TB_ST_USER
(USERID)
LOGGING
TABLESPACE TBS_BIGDATA
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE XZXT.TB_ST_USER ADD (
CONSTRAINT TB_ST_USER_PK
PRIMARY KEY
(USERID));
-------------------------------------------------------------------------------------------
UPDATE XZXT.SYS_DBLOG SET STATUS=1 WHERE SID='S034';
COMMIT;
\ No newline at end of file
......@@ -114,21 +114,21 @@
<td class="ar" width="13.3%"><span class="red">*</span>申请人_姓名:</td>
<td width="20%">
<span class="textbox" style="border:none">
<input type="text" name="sqr_xm" id = "sqr_xm" class="easyui-textbox" style="height:26px;" data-options="required:true">
<input type="text" name="sqr_xm" id = "sqr_xm" readonly value="${bkxx.sqr_xm}" class="easyui-textbox" style="height:26px;" data-options="required:true">
</span>
</td>
<td class="ar" width="13.3%">申请人_警号:</td>
<td width="20%">
<span class="textbox">
<input type="text" name="sqr_jh" id = "sqr_jh">
<input type="text" name="sqr_jh" id = "sqr_jh" readonly value="${bkxx.sqr_jh}">
</span>
</td>
<%-- <td class="ar" width="13.3%">登记时间:</td>
<td class="ar" width="13.3%"><span class="red">*</span>申请人_联系电话:</td>
<td width="20%">
<span class="textbox">
<input id="djsj" name="djsj" class="Wdate" type="text" onkeypress="return checkDateFmt();" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd'})"/>
<span class="textbox" style="border:none">
<input type="text" name="sqr_lxdh" id = "sqr_lxdh" value="${bkxx.sqr_lxdh}" class="easyui-textbox" style="height:26px;" data-options="required:true">
</span>
</td>--%>
</td>
</tr>
<tr>
......@@ -136,14 +136,15 @@
<td width="20%">
<span class="textbox">
<input id="bksj_start" name="bksj_start" class="val easyui-validatebox Wdate zdy-wdate " data-options="required: true" type="text" onkeypress="return checkDateFmt();"
onFocus="WdatePicker({onpicked:checkfinish,dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\'bksj_end\')}'})" />
onFocus="WdatePicker({onpicked:checkfinish,dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'bksj_end\',{d:-15});}',maxDate:'#F{$dp.$D(\'bksj_end\')}'})" />
</span>
</td>
<td class="ar" width="13.3%"><span class="red">*</span>至:</td>
<td width="20%">
<span class="textbox">
<input id="bksj_end" name="bksj_end" class="val easyui-validatebox Wdate zdy-wdate " data-options="required: true" type="text" onkeypress="return checkDateFmt();"
onFocus="WdatePicker({onpicked:checkfinish,dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'bksj_start\')}'})"/>
onFocus="WdatePicker({onpicked:checkfinish,dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'bksj_start\')}',maxDate:'#F{$dp.$D(\'bksj_start\',{d:15});}'})"/>
</span>
</td>
<td class="ar" width="13.3%">布控期限:</td>
......@@ -153,16 +154,33 @@
</span>
</td>
</tr>
<tr>
<td class="ar" width="13.3%"><span class="red">*</span>是否短信通知:</td>
<td width="20%">
<span style="border:none">
<input id="r1" type="radio" value="0" name="sms">否</input>
<input id="r2" type="radio" value="1" name="sms">是</input>
</span>
</td>
<td class="ar" width="13.3%"></td>
<td width="20%">
</td>
<td class="ar" width="13.3%"></td>
<td width="20%">
</td>
</tr>
<tr>
<td colspan="6" style="text-align: center;height:50px;">
<a class="btn_a btn_search easyui-linkbutton" onclick="submit()" >保存 </a>
<a class="btn_a btn_empty easyui-linkbutton" onclick="doClear()">重置</a>
<input type="hidden" id="bkdxlxmc" name="bkdxlxmc" />
<input type="hidden" id="asjbh" name="asjbh" />
<input type="hidden" id="sqr_sfzh" name="sqr_sfzh" />
<input type="hidden" id="sqr_lxdh" name="sqr_lxdh" />
<input type="hidden" id="bkzt" name="bkzt" value="0"/>
<input type="hidden" id="asjbh" name="asjbh" value="${bkxx.asjbh}"/>
<input type="hidden" id="sqr_sfzh" name="sqr_sfzh" value="${bkxx.sqr_sfzh}"/>
</td>
</tr>
</tbody>
......@@ -184,5 +202,43 @@
<script type="text/javascript" src="/common/datepicker/WdatePicker.js"></script>
<script type="text/javascript" src="/common/datepicker/calendar.js"></script>
<script type="text/javascript" src="/js/bkxxInsert.js"></script>
<!--用户提示-->
<div id="yhtsxx" style="display: none">
<div class="wrap_mask" id="wrap_mask_yhts"></div>
<div class="xtyhts_wrap" id="xtyhts_wrap">
<h1>布控注意事项</h1>
<div class="xtyhts_center">
<p>1、强轨迹布控和关联关系两种布控的数据源均来自于网安,都属于涉密机数据,在使用过程中一定要慎重,严防数据泄露。</p>
<p>2、强轨迹布控:系统会在布控时间段内,每天早晨6时、中午14时、夜间23时调取可疑标识号的最新轨迹数据,并将其推荐。</p>
<p>3、关联关系布控:系统会在布控时间段内,每天夜间23点调取可疑标识号的关联数据,并自动计算比对,将新增的关联数据推荐。</p>
<p>4、系统会自动将布控结果以短消息推送给布控人,如果不想接受短消息,手机号码可选择不填。</p>
</div>
<div class="btn_div"><a class="close_btn" onclick='hideTip();'>我 知 道 了</a></div>
</div>
</div>
<script type="text/javascript">
//用户提示弹窗
$(function() {
$("#yhtsxx").show();
var sms='${bkxx.sms}';
if(sms=="null" || sms==""){
$(":radio[name='sms'][value='0']").prop("checked", "checked");
}else if(sms=="1" || sms=="0"){
$(":radio[name='sms'][value='" + sms + "']").prop("checked", "checked");
}else{
$(":radio[name='sms'][value='0']").prop("checked", "checked");
}
});
function hideTip(){
$("#wrap_mask_yhts").fadeOut();
$("#xtyhts_wrap").fadeOut();
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -123,7 +123,7 @@
{title : '操作', field : 'opt', align : 'center',width:'10%', formatter :
function(value, row, index) {
var str = "";
if(row.bkzt==0){
if(row.bkzt=='01'){
str += '<span class="icon_chakan"><a href="javascript:ck(\'' + row.xxzjbh +'\');" title="撤控">撤控</a></span>';
}
return str;
......@@ -157,7 +157,7 @@
if (data) {
$.ajax({
url : "updateBkztByXxzjbh",
data:{xxzjbh:xxzjbh,bkzt:1},
data:{xxzjbh:xxzjbh,bkzt:'04'},
success:function(data){
if(data=="success"){
$.messager.alert({
......
......@@ -30,7 +30,9 @@
</header>
<article class="main-cen-box">
<div class="cxtj">
<form name="wfqdzczlForm" id="form1" class="easyui-form" data-options="">
<form name="wfqdzczlForm" id="form1" class="easyui-form" data-options="novalidate:true">
<input type = "hidden" name="yhCate" id = "yhCate" value="00" />
<input type = "hidden" name="projectName" id = "projectName" value="00" />
<fieldset>
<legend>采集时空伴随任务信息 </legend>
<table>
......@@ -39,20 +41,19 @@
<td class="ar" width="13.3%">案事件编号:</td>
<td width="20%">
<span class="textbox">
<input type="text" id = "" name="" class="easyui-textbox" disabled="disabled" style="height:26px;"/>
<input type="text" id = "taskCaseId" name="taskCaseId" class="easyui-textbox" disabled="disabled" style="height:26px;" value="${taskCaseId}"/>
</span>
</td>
<td class="ar" width="13.3%">标识号:</td>
<td width="20%">
<span class="textbox">
<input type="text" id = "" name="" class="easyui-textbox" style="height:26px;"/>
<span class="textbox" style="border:none">
<input type="text" id="objectValue" name="objectValue" class="easyui-textbox" style="height:26px;" data-options="required:true"/>
</span>
</td>
<td class="ar" width="13.3%">标识号类型:</td>
<td width="20%">
<span class="textbox">
<select name = "bkdxlx" id = "bkdxlx" class="easyui-combobox" style="height:26px;" data-options="panelHeight:'auto'" />>
<span class="textbox" style="border:none;">
<select name = "objectType" id="objectType" class="easyui-combobox" data-options="panelHeight:'auto'" style="height:26px;">
<option value=""></option>
<option value="3996">手机号码</option>
<option value="4314"> IMSI</option>
......@@ -64,20 +65,20 @@
<tr>
<td class="ar">任务名称:</td>
<td>
<span class="textbox">
<input type="text" id = "" name="" class="easyui-textbox" style="height:26px;"/>
<span class="textbox" style="border:none;">
<input type="text" id="taskName" name="taskName" class="easyui-textbox" style="height:26px;" data-options="required:true"/>
</span>
</td>
<td class="ar">伴随开始时间:</td>
<td>
<span class="textbox">
<input id="datepicker1" name="" class="Wdate" type="text" onkeypress="return checkDateFmt();" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'%y-%M-%d'})"/>
<span class="textbox" style="border:none;">
<input id="datepicker1" name="sTime" class="val easyui-validatebox Wdate zdy-wdate" type="text" onkeypress="return checkDateFmt();" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'%y-%M-%d'})" data-options="required:true"/>
</span>
</td>
<td class="ar">伴随结束时间:</td>
<td>
<span class="textbox">
<input id="datepicker2" name="" class="Wdate" type="text" onkeypress="return checkDateFmt();" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datepicker1\')}',maxDate:'#F{$dp.$D(\'datepicker1\',{d:+1})&&\'%y-%M-%d\'}'})"/>
<span class="textbox" style="border:none;">
<input id="datepicker2" name="eTime" class="val easyui-validatebox Wdate zdy-wdate" type="text" onkeypress="return checkDateFmt();" onFocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datepicker1\')}'})" data-options="required:true"/>
</span>
</td>
</tr>
......@@ -85,20 +86,20 @@
<td class="ar" width="13.3%">发送人警号:</td>
<td width="20%">
<span class="textbox">
<input type="text" name="" disabled="disabled" id = "" class="easyui-textbox" style="height:26px;">
<input type="text" name="fsrjh" disabled="disabled" id = "fsrjh" value="${fsrjh}" class="easyui-textbox" style="height:26px;">
</span>
</td>
<td class="ar" width="13.3%">发送人身份证号:</td>
<td width="20%">
<span class="textbox">
<input type="text" disabled="disabled" class="easyui-textbox" name="" id = "" style="height:26px;">
<input type="text" disabled="disabled" class="easyui-textbox" name="fsrIdentity" id = "fsrIdentity" value="${fsrIdentity}" style="height:26px;">
</span>
</td>
</tr>
<tr>
<td colspan="6" style="text-align: center;height:50px;">
<a class="btn_a btn_search easyui-linkbutton" onclick="" >发送</a>
<a class="btn_a btn_empty easyui-linkbutton" onclick="">重置</a>
<a class="btn_a btn_search easyui-linkbutton" onclick="submit()" >发送</a>
<a class="btn_a btn_empty easyui-linkbutton" onclick="doClear()">重置</a>
<input type="hidden" id="bkdxlxmc" name="bkdxlxmc" />
<input type="hidden" id="asjbh" name="asjbh" />
<input type="hidden" id="sqr_sfzh" name="sqr_sfzh" />
......@@ -144,5 +145,6 @@
return h+"-"+m+"-"+d+" "+hh+":"+mm+":"+ss;
}
</script>
<script type="text/javascript" src="/js/bsrwInsert.js"></script>
</body>
</html>
\ No newline at end of file
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