|
@@ -8,7 +8,9 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Repository;
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.sql.Timestamp;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -100,7 +102,7 @@ public class CtrlDao {
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean batchInsertCtrlTaskInfo(List<Object[]> ctrlTaskInfoList){
|
|
|
- String sql = "insert into t_ctrl_task_info (rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, sqrxm, sqrsfzh, sqrjh, sqrdwdm, sqrdwmc, bkqyxx, ryxm, zjlxdm, zjhm, hjd, sjh, yzzt, xszt, rylb, rybq, gkjb, gkjbmc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwdm, zrbmdm, cjsj) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
|
+ String sql = "insert into t_ctrl_task_info (rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, bkqyxx, ryxm, zjlxdm, zjhm, hjd, sjh, yzzt, xszt, rylb, rybq, gkjb, gkjbmc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrbmbm, cjsj) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
|
try {
|
|
|
int[] insertRows = gaussDBJdbcTemplate.batchUpdate(sql, ctrlTaskInfoList);
|
|
|
return insertRows.length == ctrlTaskInfoList.size();
|
|
@@ -120,7 +122,7 @@ public class CtrlDao {
|
|
|
*/
|
|
|
public List<Map<String, Object>> queryCtrlTaskInfo(String taskId, String clue, String clueType){
|
|
|
List<Map<String, Object>> ctrlTaskInfoList = new ArrayList<>();
|
|
|
- StringBuilder sql = new StringBuilder("select rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, sqrxm, sqrsfzh, sqrjh, sqrdwdm, sqrdwmc, bkqyxx, ryxm, zjlxdm, zjhm, hjd, sjh, yzzt, xszt, rylb, rybq, gkjb, gkjbmc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwdm, zrbmdm from t_ctrl_task_info where taskId = '");
|
|
|
+ StringBuilder sql = new StringBuilder("select rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwbm, sqr_dwmc, bkqyxx, ryxm, zjlxdm, zjhm, hjd, sjh, yzzt, xszt, rylb, rybq, gkjb, gkjbmc, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, zrbmbm, cjsj from t_ctrl_task_info where rwbh = '");
|
|
|
sql.append(taskId);
|
|
|
sql.append("'");
|
|
|
if(clueCodePhone.equals(clueType)){
|
|
@@ -145,7 +147,7 @@ public class CtrlDao {
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean 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, zrdwdm, zrdwmc, zrbmdm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwdm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, cjsj, gxsj) 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, cjsj, gxsj) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
|
try {
|
|
|
int[] insertRows = gaussDBJdbcTemplate.batchUpdate(sql, warningInfoList);
|
|
|
return insertRows.length == warningInfoList.size();
|
|
@@ -161,14 +163,14 @@ public class CtrlDao {
|
|
|
* @param queryDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Map<String, Object>> queryWarningInfo(QueryDTO queryDTO){
|
|
|
+
|
|
|
String taskId = queryDTO.getTaskId();
|
|
|
String startTime = queryDTO.getStartTime();
|
|
|
String endTime = queryDTO.getEndTime();
|
|
|
Integer pageNum = queryDTO.getPageNum() == null ? Constants.NUM_1 : queryDTO.getPageNum();
|
|
|
Integer pageSize = queryDTO.getPageSize() == null ? queryMaxCount : queryDTO.getPageSize();
|
|
|
List<Map<String, Object>> warningInfoList = new ArrayList<>();
|
|
|
- StringBuilder sql = new StringBuilder("select rwbh, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjry_xm, yjry_sfzh, yjry_sjh, yjxxsm, yjzt, yjztmc, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwdm, zrdwmc, zrbmdm, zrbmmc, sqr_xm, sqr_sfzh, sqr_jh, sqr_dwdm, sqr_dwmc, yjry_lb, yjry_bq, gkjb, gkjbmc, ywly, cjsj, gxsj from t_ctrl_warning_info where 1 = 1");
|
|
|
+ StringBuilder sql = new StringBuilder("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, cjsj, gxsj from t_ctrl_warning_info where 1 = 1");
|
|
|
|
|
|
if(StringUtils.isNotBlank(taskId)){
|
|
|
sql.append(" and rwbh = '");
|
|
@@ -197,24 +199,72 @@ public class CtrlDao {
|
|
|
log.error("【查询布控任务预警结果数据发生异常】 异常信息:", e);
|
|
|
}
|
|
|
return warningInfoList;
|
|
|
+ }*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 根据 系统ID 获取预警数据查询记录表中对应的最新一次查询时间(绝对秒)
|
|
|
+ * @param sysId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Timestamp getLastQueryTimeBySysId(String sysId){
|
|
|
+ String sql = "select last_query_time from t_ctrl_warning_query_info where sysId = ?";
|
|
|
+ try {
|
|
|
+ return (Timestamp) gaussDBJdbcTemplate.queryForMap(sql, sysId).get("last_query_time");
|
|
|
+ } catch (Exception e){
|
|
|
+ log.error("【根据系统ID获取预警数据查询记录表中对应的最新一次查询时间发生异常】 异常信息:", e);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- * 根据 任务编号、线索值 查询布控任务对应的线索信息
|
|
|
- * @param taskId
|
|
|
+ * 基于最新一次查询时间,计算当前预警数据表中的最大入库时间(尽量减少参与计算预警数据中最大入库时间的数据量)
|
|
|
* @return
|
|
|
*/
|
|
|
-
|
|
|
- List<Map<String, Object>> clueInfoDetailList = new ArrayList<>();
|
|
|
- String sql = "select * from t_ctrl_clue_info where rwbh = ? and clue = ?";
|
|
|
+ public Timestamp getNewMaxCreateTime(Timestamp lastQueryTime){
|
|
|
+ String sql = "select max(cjsj) max_cjsj from t_ctrl_warning_info where cjsj > ?";
|
|
|
try {
|
|
|
- clueInfoDetailList = gaussDBJdbcTemplate.queryForList(sql, taskId, clue);
|
|
|
+ return (Timestamp) gaussDBJdbcTemplate.queryForMap(sql, lastQueryTime).get("max_cjsj");
|
|
|
} catch (Exception e){
|
|
|
- log.error("【查询布控任务对应线索详情信息发生异常】 异常信息:", e);
|
|
|
+ log.error("【基于最新一次查询时间,计算当前预警数据表中的最大入库时间发生异常】 异常信息:", e);
|
|
|
}
|
|
|
- return clueInfoDetailList;
|
|
|
- }*/
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 增量查询布控任务预警结果数据
|
|
|
+ * @param lastQueryTime
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<Map<String, Object>> queryWarningInfoByInc(Timestamp lastQueryTime, Timestamp currentMaxCreateTime){
|
|
|
+ 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, cjsj, gxsj from t_ctrl_warning_info where yjsj > ? and yjsj <= ? order by yjsj desc";
|
|
|
+ try {
|
|
|
+ warningInfoList = gaussDBJdbcTemplate.queryForList(sql, lastQueryTime, currentMaxCreateTime);
|
|
|
+ log.info("【增量查询布控任务预警结果数据成功】 数据量:{}", warningInfoList.size());
|
|
|
+ } catch (Exception e){
|
|
|
+ log.error("【增量查询布控任务预警结果数据发生异常】 异常信息:", e);
|
|
|
+ }
|
|
|
+ return warningInfoList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * 根据 系统ID 更新预警数据查询记录表中对应的最新一次查询时间(绝对秒)
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean updateLastQueryTimeBySysId(Timestamp currentMaxCreateTime, String sysId){
|
|
|
+ String sql = "update t_ctrl_warning_query_info set last_query_time = ? where where sysId = ?";
|
|
|
+ try {
|
|
|
+ int updateRows = gaussDBJdbcTemplate.update(sql, currentMaxCreateTime, sysId);
|
|
|
+ return updateRows > 0;
|
|
|
+ } catch (Exception e){
|
|
|
+ log.error("【根据系统ID更新预警数据查询记录表中对应的最新一次查询时间发生异常】 异常信息:", e);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|