java task 表 数据库_java 后台定时扫表,判断报警,插入数据库

package com.xh.core.util;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import java.util.TimerTask;

import com.xh.core.modules.model.online.OnlineBean;

import com.xh.core.modules.model.online.OnlineService;

import com.xh.core.modules.model.polygon.PolygonBean;

import com.xh.core.modules.model.polygon.PolygonService;

import com.xh.core.modules.model.ralogs.RalogsBean;

import com.xh.core.modules.model.ralogs.RalogsService;

import com.xh.core.modules.model.regional.RegionalBean;

import

com.xh.core.modules.model.regional.RegionalService;

import com.xh.core.modules.model.terminal.TerminalBean;

import

com.xh.core.modules.model.terminal.TerminalService;

public class AlarmsTask extends TimerTask {

private RalogsService ralogsService;

private OnlineService onlineService;

private RegionalService regionalService;

private PolygonService polygonService;

private TerminalService terminalService;

public void setRalogsService(RalogsService ralogsService)

{

this.ralogsService = ralogsService;

}

public void setOnlineService(OnlineService onlineService)

{

this.onlineService = onlineService;

}

public void setRegionalService(RegionalService

regionalService) {

this.regionalService = regionalService;

}

public void setTerminalService(TerminalService

terminalService) {

this.terminalService = terminalService;

}

public void setPolygonService(PolygonService polygonService)

{

this.polygonService = polygonService;

}

public void run() {

List list = new ArrayList();

list = onlineService.queryAllOnline();

String dates =

TimeEncoding.getCurrTime(TimeEncoding.DATATIME_FORMAT);

if (null != list && list.size() > 0) {

List glist = new ArrayList();

glist = regionalService.queryAllRegional();

for (int i = 0; i < list.size(); i++) {

OnlineBean oBean = list.get(i);

String tnums = oBean.getOnum();

Date stime =

TimeEncoding.getFormatTime(oBean.getOstime());

Date etime =

TimeEncoding.getFormatTime(oBean.getOetime());

int sid = oBean.getOsrid();

int eid = oBean.getOerid();

int pid = oBean.getOpid();

PolygonBean pBean = null;

if (pid != 0) {

pBean = polygonService.getPolygonBeanById(pid);

}

if (tnums != null && !"".equals(tnums)) {

String tnumss[] = tnums.split(",");

for (int j = 0; j < tnumss.length; j++) {

TerminalBean tBean = terminalService

.findbyTnum(tnumss[j]);

String date[] = NewestDate.getNewDate(tnumss[j]);

if (date[1].indexOf(dates) < -1) {// 是不是当天数据

continue;

}

Date gpst = TimeEncoding.getFormatTime(date[1]);

if (gpst.getTime() > etime.getTime()

|| gpst.getTime() < stime.getTime()) {// 时间不对中断

continue;

}

Location wgs84 = new Location(Double

.parseDouble(date[3].trim()), Double

.parseDouble(date[2].trim()));

Location bd09 = Location.transform_wgs84_to_bd09(wgs84);

for (int k = 0; k < glist.size(); k++) {// 判断区域报警

RegionalBean rBean = glist.get(k);

int rid = rBean.getRid();

if (rid != sid && rid != eid) {

if (GeocodeAddrInfo.ppsIsBound(rBean

.getPoints(), bd09.getLng(), bd09

.getLat())) {

RalogsBean rab = ralogsService

.getRalogsBean(tnumss[j], "0",

date[1], rBean.getRid(),

oBean.getOid());

if (rab == null) {

RalogsBean ra = new RalogsBean();

ra.setAlat(bd09.getLat() + "");

ra.setAlng(bd09.getLng() + "");

ra.setAspeed(date[5]);

ra.setAnum(tnumss[j]);

ra.setAtime(date[1]);

ra.setRstatus(0);

ra.setAname("0");

ra.setAuser(oBean.getOid() + "");

ra.setAphone(tBean.getTcarCode());

ra.setAremark(rBean.getRname());

ra.setOrid(rBean.getRid());

ralogsService.insertRalogs(ra);

}

}

}

}

if (pBean != null && pBean.getPid() != 0) {

if (!GeocodeAddrInfo.ppsIsLine(pBean.getPoints(),

bd09.getLng(), bd09.getLat())) {// 判断线路报警

RalogsBean rab = ralogsService.getRalogsBean(

tnumss[j], "1", date[1],

pBean.getPid(), oBean.getOid());

if (rab == null) {

RalogsBean ra = new RalogsBean();

ra.setAlat(bd09.getLat() + "");

ra.setAlng(bd09.getLng() + "");

ra.setAspeed(date[5]);

ra.setAnum(tnumss[j]);

ra.setAtime(date[1]);

ra.setRstatus(0);

ra.setAuser(oBean.getOid() + "");

ra.setAname("1");

ra.setAphone(tBean.getTcarCode());

ra.setAremark(pBean.getPname());

ra.setOrid(pBean.getPid());

ralogsService.insertRalogs(ra);

}

}

}

}

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值