org.jeecg.modules.dataVue.task.FocusWarnJob //复杂情况 private void getCassByJs(String jh, String distance,String js){ BigDecimal jsNum=new BigDecimal(js); String warnHisSql="select * from (select * from A_FOCUS_WARN where JH='%s' and SOURCE='临井复杂' order by WARN_TIME desc) where rownum=1"; warnHisSql=String.format(warnHisSql,jh); List> warnHisList= iaFocusWarnService.querySql(warnHisSql,null); if(warnHisList.size()>0){ BigDecimal dsjsHis=new BigDecimal(warnHisList.get(0).get("DSJS").toString()); if((dsjsHis.subtract(jsNum)).compareTo(new BigDecimal("1"))==-1&&(dsjsHis.subtract(jsNum)).compareTo(new BigDecimal("-1"))==1){ return; } } long startTime = System.currentTimeMillis(); String sql = " select xzb x, yzb y " + " from v_scdt_jwxx t " + " where xzb is not null and yzb is not null " + String.format(" and jh = '%s' ", jh); List> data = iLjrbService.querySql(sql, null); if (data.size() == 0) { sql = " select t2.sjjwzzbx x, t2.SJJWZZBY y from mv_azj01 t2 " + " where sjjwzzbx is not null and sjjwzzby is not null " + String.format(" and jh = '%s' ", jh); data = iZjfzService.querySql(sql, null); } String[] x = new String[2]; if (data.size() > 0) { x[0] = data.get(0).get("X").toString(); x[1] = data.get(0).get("Y").toString(); } if (data.size() == 0) { return; } String zzbX = x[0]; // 4xxxxxx String hzbY = x[1]; // 2yyyyyyyy sql = "select t1.ID,t1.JH, SGXH, SGMC, DSJS, t3.name as caselevel, t2.sjjwzzbx, t2.sjjwhzby\n" + " from jsra t1\n" + " left join jjbxx t2\n" + " on t2.jh = t1.jh\n" + " left join Text_cl t3\n" + " on t3.id = t1.sgdjbh\n" + " where sglbid is not null\n" + " and sqrt(power((t2.sjjwzzbx - %s), 2) +\n" + " power((t2.sjjwhzby - %s), 2)) < %s\n" + " order by t1.dsjs "; sql = String.format(sql, zzbX, hzbY, distance); List> list = iZjfzService.querySql(sql, null); List warnList=new ArrayList<>(); for(Map itemMap:list){ BigDecimal dsjs=new BigDecimal(itemMap.get("DSJS").toString()); if((dsjs.subtract(jsNum)).compareTo(new BigDecimal("1"))==-1&&(dsjs.subtract(jsNum)).compareTo(new BigDecimal("-1"))==1){ AFocusWarn record=new AFocusWarn(); record.setSource("邻井复杂"); record.setJh(jh); record.setCatogary(itemMap.get("SGMC").toString()); record.setWarnTime(new Date()); record.setBjnr(itemMap.get("FSJGJYY").toString()); record.setServercost(System.currentTimeMillis() - startTime); record.setDsjs(itemMap.get("DSJS").toString()); record.setKey(jh+jh); warnList.add(record); } } iaFocusWarnService.saveBatch(warnList); }