Przeglądaj źródła

【情报二期】数据域服务 - 布控资源表消费逻辑开发

peifj 1 miesiąc temu
rodzic
commit
cba31a7e92

+ 2 - 2
src/main/java/com/hhwy/qbeqsjy/dao/CtrlDao.java

@@ -179,7 +179,7 @@ public class CtrlDao {
      * @return
      */
     public int batchInsertWarningInfo(List<Object[]> warningInfoList){
-        String sql = "insert into t_ctrl_warning_info (rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjry_xm, yjry_sfzh, yjry_sjh, yjxxsm, yjzt, yjztmc, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrdwmc, zrbmbm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, jd, wd, cjsj, gxsj, yjglry_xm, yjglry_sfzh, yjglry_sjh, yjqymc) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+        String sql = "insert into t_ctrl_warning_info (rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjry_xm, yjry_sfzh, yjry_sjh, yjxxsm, yjzt, yjztmc, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrdwmc, zrbmbm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, jd, wd, cjsj, gxsj, yjglry_xm, yjglry_sfzh, yjglry_sjh, yjqymc, yjcsmc) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
         try {
             int[] insertRows = gaussdbJdbcTemplate.batchUpdate(sql, warningInfoList);
             return insertRows.length;
@@ -272,7 +272,7 @@ public class CtrlDao {
      */
     public List<Map<String, Object>> queryWarningInfoByInc(Timestamp startQueryTime, Timestamp newMaxCreateTime){
         List<Map<String, Object>> warningInfoList = new ArrayList<>();
-        String sql = "select rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjry_xm, yjry_sfzh, yjry_sjh, yjxxsm, yjzt, yjztmc, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrdwmc, zrbmbm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, jd, wd, cjsj, gxsj, yjglry_xm, yjglry_sfzh, yjglry_sjh, yjqymc from t_ctrl_warning_info where yjsj > ? and yjsj <= ? order by yjsj desc";
+        String sql = "select rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjry_xm, yjry_sfzh, yjry_sjh, yjxxsm, yjzt, yjztmc, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrdwmc, zrbmbm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, jd, wd, cjsj, gxsj, yjglry_xm, yjglry_sfzh, yjglry_sjh, yjqymc, yjcsmc from t_ctrl_warning_info where yjsj > ? and yjsj <= ? order by yjsj desc";
         try {
             warningInfoList = gaussdbJdbcTemplate.queryForList(sql, startQueryTime, newMaxCreateTime);
             log.info("【增量查询布控任务预警结果数据成功】 数据量:{}", warningInfoList.size());

+ 232 - 85
src/main/java/com/hhwy/qbeqsjy/kafka/service/ConsumeService.java

@@ -91,6 +91,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
         executor.shutdown();
     }
 
+
     public void dataConsume() {
         if (AuthService.isSecurityModel()){
             try {
@@ -216,7 +217,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                         if(GeoUtils.isPointInCircle(Double.valueOf(lat84), Double.valueOf(lon84), Double.valueOf(centerLat84), Double.valueOf(centerLon84), Double.valueOf(radius))){
                                             yjxxsm.append(",所在区域:");
                                             yjxxsm.append(areaName);
-                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, areaName});
+                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, areaName, addressName});
                                             yjxxsm.setLength(0);
                                             break;
                                         }
@@ -231,14 +232,14 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                         if(GeoUtils.isPointInPolygon(coordinates, new Coordinate(Double.valueOf(lon84), Double.valueOf(lat84)))){
                                             yjxxsm.append(",所在区域:");
                                             yjxxsm.append(areaName);
-                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, areaName});
+                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, areaName, addressName});
                                             yjxxsm.setLength(0);
                                             break;
                                         }
                                     }
                                 }
                             } else {   // 如果不存在布控区域信息,则默认布控区域范围为全天津市,预警数据直接入库
-                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, "天津市"});
+                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, currentTime, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lon84, lat84, currentTime, currentTime, null, null, null, "天津市", addressName});
                                 yjxxsm.setLength(0);
                             }
                             yjxxsm.setLength(0);
@@ -319,13 +320,15 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                     if(StringUtils.isNotBlank(sfdxzqhdm) && StringUtils.isNotBlank(mddxzqhdm)){
                                         // 始发地:天津,目的地:北京
                                         if("12".equals(sfdxzqhdm.substring(0, 2)) && "11".equals(mddxzqhdm.substring(0, 2))){
-                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkXm, lkSfzh, lkSjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeKy, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null});
+                                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkXm, lkSfzh, lkSjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeKy, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, null});
+                                            break;
                                         }
                                     }
                                 }
                             }
                             yjxxsm.setLength(0);
-                        } else if (resCodeTldp.equals(resourceCode)) {   // =========== 铁路订票数据
+                        }
+                        /*else if (resCodeTldp.equals(resourceCode)) {   // =========== 铁路订票数据
                             String ph = oriField.getString("TRAIN_TIC_NO");               // 票号
                             String ccrXm = oriField.getString("NAME");                    // 乘车人姓名
                             String ccrSfzh = oriField.getString("CRED_NUM");              // 乘车人身份证号
@@ -393,9 +396,10 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(lxrLxdh);
                             yjxxsm.append(",火车站:");
                             yjxxsm.append(hcz);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, ccrXm, ccrSfzh, ccrSjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeTldp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null});
+                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, ccrXm, ccrSfzh, ccrSjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeTldp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, null});
                             yjxxsm.setLength(0);
-                        } else if (resCodeMhdp.equals(resourceCode)) {   // =========== 民航订票数据
+                        } */
+                        else if (resCodeMhdp.equals(resourceCode)) {   // =========== 民航订票数据
                             String dzjlbh = oriField.getString("ORDSEAT_RECO_NO");             // 订座记录编号
                             String dph = oriField.getString("BOOTIC_NO");                      // 订票号
                             String lkzwm = oriField.getString("PASS_NAME");                    // 旅客中文名
@@ -450,7 +454,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(ddzcs);
                             yjxxsm.append(",客票状态:");
                             yjxxsm.append(kpzt);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkzwm, zjhm, lklxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeMhdp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null,null});
+                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, lkzwm, zjhm, lklxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeMhdp, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, null});
                             yjxxsm.setLength(0);
                         } else if (resCodeJnryzs.equals(resourceCode)) {   // =========== 境内人员住宿数据
                             // 旅馆编号
@@ -523,8 +527,6 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                 if("DRYJ-BSJJ-LKZD".equals(mxbh)){   // 单人预警-本市进京-旅客住店
                                     // --- todo
                                     // 该需求不合理,待定
-
-
                                 } else if("DRYJ-BSMGQY-LKZD".equals(mxbh)){   // 单人预警-本市敏感区域-旅客住店
                                     JSONArray areaInfoList = JSON.parseArray(bkqyxx);
                                     for (Object obj : areaInfoList) {
@@ -542,7 +544,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                                 if(GeoUtils.isPointInCircle(Double.valueOf(lgwd), Double.valueOf(lgjd), Double.valueOf(centerLat84), Double.valueOf(centerLon84), Double.valueOf(radius))){
                                                     yjxxsm.append(",所在区域:");
                                                     yjxxsm.append(qymc);
-                                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc});
+                                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc, lgdz});
                                                     yjxxsm.setLength(0);
                                                     break;
                                                 }
@@ -557,13 +559,14 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                                                 if(GeoUtils.isPointInPolygon(coordinates, new Coordinate(Double.valueOf(lgjd), Double.valueOf(lgwd)))){
                                                     yjxxsm.append(",所在区域:");
                                                     yjxxsm.append(qymc);
-                                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc});
+                                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, rzrXm, rzrSfzh, rzrLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeJnryzs, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, lgjd, lgwd, currentTime, currentTime, null, null, null, qymc, lgdz});
                                                     yjxxsm.setLength(0);
                                                     break;
                                                 }
                                             }
                                         }
                                     }
+
                                 }
                             }
                             yjxxsm.setLength(0);
@@ -595,11 +598,11 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             String premDesig = oriField.getString("PREM_DESIG");
                             String yycsmc = StringUtils.isNotBlank(premDesig)? premDesig : "暂无";
 //                            String dzmc = oriField.getString("ADDR_NAME");              // 地址名称
-                            String jd = oriField.getString("LON");                      // 经度
-                            String wd = oriField.getString("LAT");                      // 纬度
-                            String frXm = oriField.getString("LEGAL_NAME");             // 法人姓名
-                            String frSfzh = oriField.getString("LEGAL_CRED_NUM");       // 法人身份证号
-                            String frLxdh = oriField.getString("LEGAL_CTCT_TEL");       // 法人联系电话
+//                            String jd = oriField.getString("LON");                      // 经度
+//                            String wd = oriField.getString("LAT");                      // 纬度
+//                            String frXm = oriField.getString("LEGAL_NAME");             // 法人姓名
+//                            String frSfzh = oriField.getString("LEGAL_CRED_NUM");       // 法人身份证号
+//                            String frLxdh = oriField.getString("LEGAL_CTCT_TEL");       // 法人联系电话
                             String captureTimeWbsw = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
                             yjxxsm.append("网吧上网 - 上网人员姓名:");
                             yjxxsm.append(swryXm);
@@ -617,26 +620,49 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(yycsbh);
                             yjxxsm.append(",营业场所名称:");
                             yjxxsm.append(yycsmc);
-                            yjxxsm.append(",法人姓名:");
-                            yjxxsm.append(frXm);
-                            yjxxsm.append(",法人身份证号:");
-                            yjxxsm.append(frSfzh);
-                            yjxxsm.append(",法人联系电话:");
-                            yjxxsm.append(frLxdh);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, swryXm, swrySfzh, swryLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeWbsw, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, frXm, frSfzh, frLxdh, null});
+                            for (Map<String, Object> modelInfoMap : modelInfoList) {
+                                String mxbh = (String) modelInfoMap.get("mxbh");
+                                if("DRYJ-BSMGQY-WBSW".equals(mxbh)){   // 单人预警-本市敏感区域-网吧上网
+                                    // --- todo
+                                    // 表中无经、纬度数据,无法判断是否出现在布控区域
+                                    // 暂时不做过滤处理
+                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, swryXm, swrySfzh, swryLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeWbsw, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, yycsmc});
+                                    break;
+                                }
+                            }
                             yjxxsm.setLength(0);
                         } else if (resCodeDt.equals(resourceCode)) {   // =========== 地铁数据
-                            String ckXm = oriField.getString("XM");               // 乘客姓名
-                            String ckSfzh = oriField.getString("ZJHM");           // 乘客身份证号
-                            String ckLxdh = oriField.getString("YDDH");           // 乘客联系电话
-                            String skkh = oriField.getString("KH_XXBH");          // 刷卡卡号
-                            String sksj = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("SHK_JDSJ"))); // 刷卡时间
-                            String czmc = oriField.getString("CZM_MC");           // 车站名称
-                            String flmc = oriField.getString("FL_MC");            // 分类名称
-                            String jczbsmc = oriField.getString("JCZ_BS_MC");     // 进出站标识名称
-                            String jylxmc = oriField.getString("JY_LEX_MC");      // 交易类型名称
-                            String zjh = oriField.getString("ZHJH_JYQK");         // 闸机号
-                            String dtxlxx = oriField.getString("DTXLXX");         // 地铁线路信息
+                            // 乘客姓名
+                            String ckXm = oriField.getString("XM");
+                            // 乘客身份证号
+                            String ckSfzh = oriField.getString("ZJHM");
+                            // 乘客联系电话
+                            String yddh = oriField.getString("YDDH");
+                            String ckLxdh = StringUtils.isNotBlank(yddh)? yddh : yjrySjh;
+                            // 刷卡卡号
+                            String khXxbh = oriField.getString("KH_XXBH");
+                            String skkh = StringUtils.isNotBlank(khXxbh)? khXxbh : "暂无";
+                            // 刷卡时间   ---样例:20250329061228
+                            String shkJdsj = oriField.getString("SHK_JDSJ");
+                            String sksj = StringUtils.isNotBlank(shkJdsj)? TimeTool.timeStampToDateString(TimeTool.dateStringToTimeStamp3(shkJdsj)) : "暂无";
+                            // 车站名称
+                            String czmMc = oriField.getString("CZM_MC");
+                            String czmc = StringUtils.isNotBlank(czmMc)? czmMc : "暂无";
+                            // 分类名称
+                            String flMc = oriField.getString("FL_MC");
+                            String flmc = StringUtils.isNotBlank(flMc)? flMc : "暂无";
+                            // 进出站标识名称
+                            String jczBsMc = oriField.getString("JCZ_BS_MC");
+                            String jczbsmc = StringUtils.isNotBlank(jczBsMc)? jczBsMc : "暂无";
+                            // 交易类型名称
+                            String jyLexMc = oriField.getString("JY_LEX_MC");
+                            String jylxmc = StringUtils.isNotBlank(jyLexMc)? jyLexMc : "暂无";
+                            // 闸机号
+                            String zhjhJyqk = oriField.getString("ZHJH_JYQK");
+                            String zjh = StringUtils.isNotBlank(zhjhJyqk)? zhjhJyqk : "暂无";
+                            // 地铁线路信息
+                            String dtXlxx = oriField.getString("DTXLXX");
+                            String dtxlxx = StringUtils.isNotBlank(dtXlxx)? dtXlxx : "暂无";
                             String captureTimeDt = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
                             yjxxsm.append("地铁数据 - 乘客姓名:");
                             yjxxsm.append(ckXm);
@@ -660,20 +686,53 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(zjh);
                             yjxxsm.append(",地铁线路信息:");
                             yjxxsm.append(dtxlxx);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, ckXm, ckSfzh, ckLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDt, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null});
+                            for (Map<String, Object> modelInfoMap : modelInfoList) {
+                                String mxbh = (String) modelInfoMap.get("mxbh");
+                                if("DRYJ-BSMGQY-DT".equals(mxbh)){   // 单人预警-本市敏感区域-地铁
+                                    // --- todo
+                                    // 表中无经、纬度数据,无法判断是否出现在布控区域
+                                    // 暂时不做过滤处理
+                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, ckXm, ckSfzh, ckLxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDt, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, czmc});
+                                    break;
+                                }
+                            }
                             yjxxsm.setLength(0);
                         } else if (resCodeSjrd.equals(resourceCode)) {   // =========== 手机热点
-                            String yddh = oriField.getString("YDDH");                  // 移动电话
-                            String cjsbxxbh = oriField.getString("CHJI_SBE_XXBH");     // 城际设备信息编号
-                            String imsi = oriField.getString("GJYDYHSBM");             // 国际移动用户识别码,IMSI
-                            String imei = oriField.getString("GJYDSBSFDM");            // 国际移动设备识别码,IMEI
-                            String jhjxxbh = oriField.getString("JHJ_XXBH");           // 交换机信息编号
-                            String wzqyxxbh = oriField.getString("WZH_QUY_XXBH");      // 位置区域信息编号
-                            String xqxxbh = oriField.getString("XIQ_XXBH");            // 小区信息编号
-                            String jd = oriField.getString("DQJD");                    // 经度
-                            String wd = oriField.getString("DQWD");                    // 纬度
-                            String glsj = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("JDSJ")));   // 关联时间
+                            // 移动电话
+                            String yddhSrc = oriField.getString("YDDH");
+                            String yddh = StringUtils.isNotBlank(yddhSrc)? yddhSrc : yjrySjh;
+                            // 城际设备信息编号
+                            String chjiSbeXxbh = oriField.getString("CHJI_SBE_XXBH");
+                            String cjsbxxbh = StringUtils.isNotBlank(chjiSbeXxbh)? chjiSbeXxbh : "暂无";
+                            // 国际移动用户识别码,IMSI
+                            String gjydyhsbm = oriField.getString("GJYDYHSBM");
+                            String imsi = StringUtils.isNotBlank(gjydyhsbm)? gjydyhsbm : "暂无";
+                            // 国际移动设备识别码,IMEI
+                            String gjydsbsfdm = oriField.getString("GJYDSBSFDM");
+                            String imei = StringUtils.isNotBlank(gjydsbsfdm)? gjydsbsfdm : "暂无";
+                            // 交换机信息编号
+                            String jhjXxbh = oriField.getString("JHJ_XXBH");
+                            String jhjxxbh = StringUtils.isNotBlank(jhjXxbh)? jhjXxbh : "暂无";
+                            // 位置区域信息编号
+                            String wzhQuyXxbh = oriField.getString("WZH_QUY_XXBH");
+                            String wzqyxxbh = StringUtils.isNotBlank(wzhQuyXxbh)? wzhQuyXxbh : "暂无";
+                            // 小区信息编号
+                            String xiqXxbh = oriField.getString("XIQ_XXBH");
+                            String xqxxbh = StringUtils.isNotBlank(xiqXxbh)? xiqXxbh : "暂无";
+                            // 经度
+                            String jd = oriField.getString("DQJD");
+                            // 纬度
+                            String wd = oriField.getString("DQWD");
+                            // 关联时间   ---样例:1745476573
+                            String glsj = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("JDSJ")));
                             String captureTimeSjrd = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
+                            String addressName = null;
+                            if(StringUtils.isNotBlank(wd) && StringUtils.isNotBlank(jd)){
+                                double[] jwdBD = GpsCoordinateUtils.calWGS84toBD09(Double.valueOf(wd), Double.valueOf(jd));
+                                String rspStr = httpClient.sendGetRequst(addressQueryUrl.replace("x", String.valueOf(jwdBD[1])).replace("y", String.valueOf(jwdBD[0])), null);
+                                JSONObject rspJSONObj = JSON.parseObject(rspStr);
+                                addressName = rspJSONObj.getString("fullAddress");
+                            }
                             yjxxsm.append("手机热点 - 移动电话:");
                             yjxxsm.append(yddh);
                             yjxxsm.append(",城际设备信息编号:");
@@ -690,38 +749,92 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(xqxxbh);
                             yjxxsm.append(",关联时间:");
                             yjxxsm.append(glsj);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeSjrd, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, null});
+                            yjxxsm.append(",位置信息:");
+                            yjxxsm.append(StringUtils.isNotBlank(addressName)? addressName : "暂无");
+                            for (Map<String, Object> modelInfoMap : modelInfoList) {
+                                String mxbh = (String) modelInfoMap.get("mxbh");
+                                if("DRYJ-BSJJ-SJRD".equals(mxbh)){   // 单人预警-本市进京-手机热点
+                                    // 暂时不做过滤处理
+                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeSjrd, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, null, addressName});
+                                    break;
+                                }
+                            }
                             yjxxsm.setLength(0);
                         } else if (resCodeXlpc.equals(resourceCode)) {   // =========== 巡逻盘查(人员)
-                            String kkxxId = oriField.getString("KAK_XXID");                  // 卡口信息ID
-                            String kkmc = oriField.getString("KAK_MC");                      // 卡口名称
-                            String zdxh = oriField.getString("ZHD_XH");                      // 终端型号
-                            String kkssdwmc = oriField.getString("KAK_SS_DAW_MC");           // 卡口所属单位名称
-                            String pcsj = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("PAC_JDSJ")));   // 盘查时间
-                            String xm = oriField.getString("XM");                            // 人员姓名
-                            String sfzh = oriField.getString("GMSFHM");                      // 人员身份证号
-                            String lxdh = oriField.getString("LXDH");                        // 人员联系电话
-                            String rybq = oriField.getString("REY_BQI_MC");                  // 人员标签
-                            String jg = oriField.getString("JG_XZQHMC");                     // 籍贯
-                            String mz = oriField.getString("MZMZWZ");                        // 民族
-                            String jzdxxdz = oriField.getString("JZD_QHNXXDZ");              // 居住地区划内详细地址
-                            String pcmjXm = oriField.getString("PAC_MJ_XM");                 // 盘查民警姓名
-                            String pcmjJh = oriField.getString("PAC_MJ_JH");                 // 盘查民警警号
-                            String pcmjZh = oriField.getString("PAC_MJ_ZH");                 // 盘查民警账号
-                            String pcmjSsdwmc = oriField.getString("PAC_MJ_SS_DWMC");        // 盘查民警所属单位名称
-                            String pccljg = oriField.getString("PAC_CHL_JGU_MC");            // 盘查处理结果
-                            String pcclyjdwmc = oriField.getString("PAC_CHL_YIJ_DWMC");      // 盘查处理移交单位名称
-                            String pcdJd = oriField.getString("PCD_DQJD");                   // 盘查地经度
-                            String pcdWd = oriField.getString("PCD_DQWD");                   // 盘查地纬度
+                            // 卡口信息ID
+                            String kakXxId = oriField.getString("KAK_XXID");
+                            String kkxxId = StringUtils.isNotBlank(kakXxId)? kakXxId : "暂无";
+                            // 卡口名称
+                            String kakMc = oriField.getString("KAK_MC");
+                            String kkmc = StringUtils.isNotBlank(kakMc)? kakMc : "暂无";
+                            // 终端型号
+                            String zhdXh = oriField.getString("ZHD_XH");
+                            String zdxh = StringUtils.isNotBlank(zhdXh)? zhdXh : "暂无";
+                            // 终端串号简要情况
+                            String zhdChaJyqk = oriField.getString("ZHD_CHA_JYQK");
+                            String zdchjyqk = StringUtils.isNotBlank(zhdChaJyqk)? zhdChaJyqk : "暂无";
+
+                            // 盘查时间   ---样例:20250329061228
+                            String pacJdsj = oriField.getString("PAC_JDSJ");
+                            String pcsj = StringUtils.isNotBlank(pacJdsj)? TimeTool.timeStampToDateString(TimeTool.dateStringToTimeStamp3(pacJdsj)) : "暂无";
+                            // 人员姓名
+                            String xmSrc = oriField.getString("XM");
+                            String xm = StringUtils.isNotBlank(xmSrc)? xmSrc : "暂无";
+                            // 人员身份证号
+                            String gmsfhm = oriField.getString("GMSFHM");
+                            String sfzh = StringUtils.isNotBlank(gmsfhm)? gmsfhm : "暂无";
+                            // 人员联系电话
+                            String lxdhSrc = oriField.getString("LXDH");
+                            String lxdh = StringUtils.isNotBlank(lxdhSrc)? lxdhSrc : yjrySjh;
+//                            String rybq = oriField.getString("REY_BQI_MC");                  // 人员标签
+                            // 籍贯
+                            String jgXzqhmc = oriField.getString("JG_XZQHMC");
+                            String jg = StringUtils.isNotBlank(jgXzqhmc)? jgXzqhmc : "暂无";
+                            // 民族
+                            String mzmzwz = oriField.getString("MZMZWZ");
+                            String mz = StringUtils.isNotBlank(mzmzwz)? mzmzwz : "暂无";
+                            // 居住地区划内详细地址
+                            String jzdQhnxxdz = oriField.getString("JZD_QHNXXDZ");
+                            String jzdxxdz = StringUtils.isNotBlank(jzdQhnxxdz)? jzdQhnxxdz : "暂无";
+                            // 盘查民警姓名
+                            String pacMjXm = oriField.getString("PAC_MJ_XM");
+                            String pcmjXm = StringUtils.isNotBlank(pacMjXm)? pacMjXm : "暂无";
+                            // 盘查民警警号
+                            String pacMjJh = oriField.getString("PAC_MJ_JH");
+                            String pcmjJh = StringUtils.isNotBlank(pacMjJh)? pacMjJh : "暂无";
+                            // 盘查民警账号
+                            String pacMjZh = oriField.getString("PAC_MJ_ZH");
+                            String pcmjZh = StringUtils.isNotBlank(pacMjZh)? pacMjZh : "暂无";
+                            // 盘查民警所属单位名称
+                            String pacMjSsDwmc = oriField.getString("PAC_MJ_SS_DWMC");
+                            String pcmjSsdwmc = StringUtils.isNotBlank(pacMjSsDwmc)? pacMjSsDwmc : "暂无";
+                            // 盘查处理结果
+                            String pacChlJguMc = oriField.getString("PAC_CHL_JGU_MC");
+                            String pccljg = StringUtils.isNotBlank(pacChlJguMc)? pacChlJguMc : "暂无";
+                            // 盘查处理移交单位名称
+                            String pacChlYijDwmc = oriField.getString("PAC_CHL_YIJ_DWMC");
+                            String pcclyjdwmc = StringUtils.isNotBlank(pacChlYijDwmc)? pacChlYijDwmc : "暂无";
+                            // 业务类型名称
+                            String ywlxMc = oriField.getString("YWLX_MC");
+                            String ywlx = StringUtils.isNotBlank(ywlxMc)? ywlxMc : "暂无";
+                            // 盘查地经度
+                            String pcdJd = oriField.getString("PCD_DQJD");
+                            // 盘查地纬度
+                            String pcdWd = oriField.getString("PCD_DQWD");
                             String captureTimeXlpc = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
+                            String addressName = null;
+                            if(StringUtils.isNotBlank(pcdWd) && StringUtils.isNotBlank(pcdJd)){
+                                double[] jwdBD = GpsCoordinateUtils.calWGS84toBD09(Double.valueOf(pcdWd), Double.valueOf(pcdJd));
+                                String rspStr = httpClient.sendGetRequst(addressQueryUrl.replace("x", String.valueOf(jwdBD[1])).replace("y", String.valueOf(jwdBD[0])), null);
+                                JSONObject rspJSONObj = JSON.parseObject(rspStr);
+                                addressName = rspJSONObj.getString("fullAddress");
+                            }
                             yjxxsm.append("巡逻盘查 - 人员姓名:");
                             yjxxsm.append(xm);
                             yjxxsm.append(",人员身份证号:");
                             yjxxsm.append(sfzh);
                             yjxxsm.append(",人员联系电话:");
                             yjxxsm.append(lxdh);
-                            yjxxsm.append(",人员标签:");
-                            yjxxsm.append(rybq);
                             yjxxsm.append(",籍贯:");
                             yjxxsm.append(jg);
                             yjxxsm.append(",民族:");
@@ -730,14 +843,14 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(jzdxxdz);
                             yjxxsm.append(",盘查时间:");
                             yjxxsm.append(pcsj);
-                            yjxxsm.append(",卡口信息ID:");
+                            yjxxsm.append(",卡口ID:");
                             yjxxsm.append(kkxxId);
                             yjxxsm.append(",卡口名称:");
                             yjxxsm.append(kkmc);
                             yjxxsm.append(",终端型号:");
                             yjxxsm.append(zdxh);
-                            yjxxsm.append(",卡口所属单位名称:");
-                            yjxxsm.append(kkssdwmc);
+                            yjxxsm.append(",终端串号:");
+                            yjxxsm.append(zdchjyqk);
                             yjxxsm.append(",盘查民警姓名:");
                             yjxxsm.append(pcmjXm);
                             yjxxsm.append(",盘查民警警号:");
@@ -750,18 +863,38 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(pccljg);
                             yjxxsm.append(",盘查处理移交单位名称:");
                             yjxxsm.append(pcclyjdwmc);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, lxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeXlpc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, pcdJd, pcdWd, currentTime, currentTime, null, null, null, null});
+                            yjxxsm.append(",业务类型名称:");
+                            yjxxsm.append(ywlx);
+                            yjxxsm.append(",盘查地位置信息:");
+                            yjxxsm.append(StringUtils.isNotBlank(addressName)? addressName : "暂无");
+                            for (Map<String, Object> modelInfoMap : modelInfoList) {
+                                String mxbh = (String) modelInfoMap.get("mxbh");
+                                if("DRYJ-BSJJ-XLPC".equals(mxbh)){   // 单人预警-本市进京-巡逻盘查
+                                    // 暂时不做过滤处理
+                                    warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, lxdh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeXlpc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, pcdJd, pcdWd, currentTime, currentTime, null, null, null, null, addressName});
+                                    break;
+                                }
+                            }
                             yjxxsm.setLength(0);
                         } else if (resCodeZdjc.equals(resourceCode)) {   // =========== 站点检查(人员)
-                            String xm = oriField.getString("XM");                            // 人员姓名
-                            String sfzh = oriField.getString("GMSFHM");                      // 人员身份证号
-                            String mz = oriField.getString("MZMZWZ");                        // 民族
-                            String dz = oriField.getString("DZMC");                          // 地址
-                            String fzjg = oriField.getString("FZJG_MC");                     // 发证机关
-                            String zjyxqsrq = oriField.getString("ZJYXQ_KS_RQ");             // 证件有效起始日期
-                            String zjyxzzrq = oriField.getString("ZJYXQ_JSH_RQ");            // 证件有效终止日期
-                            String jybh = oriField.getString("JYU_BH");                      // 警员编号
-                            String jczmc = oriField.getString("JICZ_MC");                    // 检查站名称
+                            // 人员姓名
+                            String xm = oriField.getString("XM");
+                            // 人员身份证号
+                            String sfzh = oriField.getString("GMSFHM");
+                            // 民族
+                            String mz = oriField.getString("MZMZWZ");
+                            // 地址
+                            String dz = oriField.getString("DZMC");
+                            // 发证机关
+                            String fzjg = oriField.getString("FZJG_MC");
+                            // 证件有效起始日期
+                            String zjyxqsrq = oriField.getString("ZJYXQ_KS_RQ");
+                            // 证件有效终止日期
+                            String zjyxzzrq = oriField.getString("ZJYXQ_JSH_RQ");
+                            // 警员编号
+                            String jybh = oriField.getString("JYU_BH");
+                            // 检查站名称
+                            String jczmc = oriField.getString("JICZ_MC");
                             String jcsj = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("JIC_JDSJ")));   // 检查时间
                             String captureTimeZdjc = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
                             yjxxsm.append("站点检查 - 人员姓名:");
@@ -784,7 +917,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(jybh);
                             yjxxsm.append(",检查站名称:");
                             yjxxsm.append(jczmc);
-                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeZdjc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null});
+                            warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, xm, sfzh, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeZdjc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, null, null, currentTime, currentTime, null, null, null, null, null});
                             yjxxsm.setLength(0);
                         } else if (resCodeDzwl.equals(resourceCode)) {   // =========== 电子围栏(火车站)
                             String yddh = oriField.getString("MOB");                         // 移动电话
@@ -800,6 +933,13 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             String jzdqJd = oriField.getString("BASSTA_LON");                // 基站地球经度
                             String jzdqWd = oriField.getString("BASSTA_LAT");                // 基站地球纬度
                             String captureTimeDzwl = TimeTool.timeStampToDateString(Long.valueOf(oriField.getString("CAPTURE_TIME")));
+                            String addressName = null;
+                            if(StringUtils.isNotBlank(jzdqWd) && StringUtils.isNotBlank(jzdqJd)){
+                                double[] jwdBD = GpsCoordinateUtils.calWGS84toBD09(Double.valueOf(jzdqWd), Double.valueOf(jzdqJd));
+                                String rspStr = httpClient.sendGetRequst(addressQueryUrl.replace("x", String.valueOf(jwdBD[1])).replace("y", String.valueOf(jwdBD[0])), null);
+                                JSONObject rspJSONObj = JSON.parseObject(rspStr);
+                                addressName = rspJSONObj.getString("fullAddress");
+                            }
                             yjxxsm.append("电子围栏(火车站) - 移动电话:");
                             yjxxsm.append(yddh);
                             yjxxsm.append(",IMSI:");
@@ -822,7 +962,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(pd);
                             // 只保留命中点位在火车站区域内的数据
                             if(GeoUtils.isPointInCircle(Double.valueOf(jzdqWd), Double.valueOf(jzdqJd), Double.valueOf(centerPointLatHcz), Double.valueOf(centerPointLonHcz), Double.valueOf(radiusHcz))){
-                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDzwl, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jzdqJd, jzdqWd, currentTime, currentTime, null, null, null, "火车站"});
+                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yddh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, captureTimeDzwl, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jzdqJd, jzdqWd, currentTime, currentTime, null, null, null, "火车站", addressName});
                             }
                             yjxxsm.setLength(0);
                         } else if (resCodeRlgz.equals(resourceCode)) {   // =========== 人脸感知(火车站)
@@ -836,6 +976,13 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             String yjxsd = oriField.getString("EARALA_SIMILA");                 // 预警相似度
                             String gjxxcljg = oriField.getString("ALARM_INFO_PROC_RESU");       // 告警信息处理结果
                             String zprlwjlj = oriField.getString("SNASHO_PER_FACE_FILE_PATH");  // 抓拍人脸文件路径
+                            String addressName = null;
+                            if(StringUtils.isNotBlank(wd) && StringUtils.isNotBlank(jd)){
+                                double[] jwdBD = GpsCoordinateUtils.calWGS84toBD09(Double.valueOf(wd), Double.valueOf(jd));
+                                String rspStr = httpClient.sendGetRequst(addressQueryUrl.replace("x", String.valueOf(jwdBD[1])).replace("y", String.valueOf(jwdBD[0])), null);
+                                JSONObject rspJSONObj = JSON.parseObject(rspStr);
+                                addressName = rspJSONObj.getString("fullAddress");
+                            }
                             yjxxsm.append("人脸感知(火车站) - 抓拍机名称:");
                             yjxxsm.append(zpjmc);
                             yjxxsm.append(",告警人员姓名:");
@@ -854,7 +1001,7 @@ public class ConsumeService implements ApplicationListener<ContextRefreshedEvent
                             yjxxsm.append(zprlwjlj);
                             // 只保留命中点位在火车站区域内的数据
                             if(GeoUtils.isPointInCircle(Double.valueOf(wd), Double.valueOf(jd), Double.valueOf(centerPointLatHcz), Double.valueOf(centerPointLonHcz), Double.valueOf(radiusHcz))){
-                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, gjryXm, gjryZjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, gjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, "火车站"});
+                                warningInfoList.add(new Object[]{rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, gjryXm, gjryZjhm, yjrySjh, yjxxsm.toString(), yjzt, Constants.YJZT_WD, gjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jd, wd, currentTime, currentTime, null, null, null, "火车站", addressName});
                             }
                             yjxxsm.setLength(0);
                         }

+ 3 - 1
src/main/java/com/hhwy/qbeqsjy/service/SameTravelService.java

@@ -183,7 +183,7 @@ public class SameTravelService {
                     String zrbmbm = String.valueOf(ctrlTaskInfo.get("zrbmbm"));
                     // 生成预警信息编号
                     String yjxxbh = String.valueOf(generator.nextId());
-                    warningInfoList.add(new Object[]{taskId, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, jjyjDataMap.get("yjxxsm"), yjzt, Constants.YJZT_WD, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jjyjDataMap.get("jd"), jjyjDataMap.get("wd"), yjsj, yjsj, jjyjDataMap.get("yjflryXm"), jjyjDataMap.get("yjglrySfzh"), jjyjDataMap.get("yjglrySjh"), null});
+                    warningInfoList.add(new Object[]{taskId, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, jjyjDataMap.get("yjxxsm"), yjzt, Constants.YJZT_WD, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jjyjDataMap.get("jd"), jjyjDataMap.get("wd"), yjsj, yjsj, jjyjDataMap.get("yjflryXm"), jjyjDataMap.get("yjglrySfzh"), jjyjDataMap.get("yjglrySjh"), jjyjDataMap.get("yjqymc"), jjyjDataMap.get("yjcsmc")});
                 }
             }
             if(warningInfoList.size() > 0){
@@ -383,6 +383,8 @@ public class SameTravelService {
             jjyjDataMap.put("yjglryXm", xm2);
             jjyjDataMap.put("yjglrySfzh", zjhm2);
             jjyjDataMap.put("yjglrySjh", null);
+            jjyjDataMap.put("yjqymc", null);
+            jjyjDataMap.put("yjcsmc", rzlgxxArr[0]);
         }
         // 同长途客运
         if (Constants.RES_CODE_TCTKY.equals(resourceCode)){