From 2b67ed2da39eba5824cfee7950e03be2c1a256ec Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期一, 20 十月 2025 13:17:04 +0800
Subject: [PATCH] 新增数据上传准东
---
src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongTaskLogSchedule.java | 193 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 173 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongTaskLogSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongTaskLogSchedule.java
index bd15c57..edc6ded 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongTaskLogSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongTaskLogSchedule.java
@@ -5,11 +5,16 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.doublePrevention.entity.ZDReport.HandlerZDReportParam;
+import com.ruoyi.doublePrevention.entity.ZDReport.ZDTaskDangerLogDTO;
import com.ruoyi.doublePrevention.entity.ZDReport.ZDTaskLogDTO;
+import com.ruoyi.doublePrevention.enums.SyncEnum;
+import com.ruoyi.project.tr.specialCheck.domin.TbSpecialCheckScoreAndDangerLog;
import com.ruoyi.project.tr.specialCheck.domin.TbSpecialCheckTaskLog;
+import com.ruoyi.project.tr.specialCheck.mapper.TbSpecialCheckScoreAndDangerLogMapper;
import com.ruoyi.project.tr.specialCheck.mapper.TbSpecialCheckTaskLogMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -24,32 +29,47 @@
import java.util.Date;
import java.util.List;
+import static com.ruoyi.common.utils.Threads.sleep;
+
@Component
@Slf4j
public class ZhunDongTaskLogSchedule {
private static final String TOKEN = "030B6744-EECB-4732-B679-280373E7E575";
private static final String URL = "http://218.31.50.112:8087";
- private static final String TOKEN_PRE = "token";
+ // private static final String TOKEN_PRE = "token";
@Autowired
private TbSpecialCheckTaskLogMapper taskSpecialLogMapper;
- // @Scheduled(cron = "0 0/6 * * * ? ")
+
+ @Autowired
+ private TbSpecialCheckScoreAndDangerLogMapper tbSpecialCheckScoreAndDangerLogMapper;
+
+
+ // @Scheduled(cron = "35 1 0/2 * * ? ")
+ @Scheduled(cron = "0 0/2 * * * ? ")
public void updateZhunDongTASkLogReportStatus() {
- //todo 准东基础数据推送
+ // 准东基础数据推送
+
+ log.info("【AA】开始推送准东专项数据..." + DateUtils.dateTimeNow());
+ //专项检查情况记录
+ ZDCheckRecordLogWork();
+ sleep(5000);
+ //专项隐患
+ ZDCheckDangerLogWork();
+
}
@Transactional
- public void ZDTaskLogWork() {
+ public void ZDCheckRecordLogWork() {
HttpURLConnection con = null;
BufferedReader buffer = null;
int responseCode = 200;
/**
- * 1、隐患排查任务基础数据
+ * 1、专项检查情况记录数据
* */
- log.info("【Q】隐患排查任务基础数据-处理数据...");
- //todo 更换查询sql
- List<TbSpecialCheckTaskLog> taskLogLists = taskSpecialLogMapper.listTestReportTask();
+ log.info("【QQ】专项检查情况记录数据-处理数据...");
+ List<TbSpecialCheckTaskLog> taskLogLists = taskSpecialLogMapper.listZDCheckRecordLog();
if (ObjectUtils.isNotEmpty(taskLogLists)) {
List<ZDTaskLogDTO> zdTaskLogDTOS = new ArrayList<>();
@@ -59,7 +79,7 @@
zdTaskLogDTO.setHazard_code(specialCheckTaskLog.getHazardCode());
zdTaskLogDTO.setTask_id(specialCheckTaskLog.getTaskId());
zdTaskLogDTO.setCheck_type(specialCheckTaskLog.getCheckType());
- zdTaskLogDTO.setCheck_date(DateUtils.parseDateToStrLocal(DateUtils.YYYYMMDDHHMMSS, specialCheckTaskLog.getCheckDate()));
+ zdTaskLogDTO.setCheck_date(DateUtils.parseDateToStrLocal(DateUtils.YYYYMMDD, specialCheckTaskLog.getCheckDate()));
zdTaskLogDTO.setCreate_date(DateUtils.parseDateToStrLocal(DateUtils.YYYYMMDDHHMMSS, specialCheckTaskLog.getCreateDate()));
zdTaskLogDTO.setUpdate_date(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date()));
zdTaskLogDTO.setCreate_by(specialCheckTaskLog.getCreateBy());
@@ -68,7 +88,7 @@
zdTaskLogDTOS.add(zdTaskLogDTO);
}
- log.info("【【【Q】隐患排查任务基础数据】】" + JSONObject.toJSONString(zdTaskLogDTOS));
+ log.info("【【【QQ】专项检查情况记录数据】】" + JSONObject.toJSONString(zdTaskLogDTOS));
//加密数据
StringBuffer eventResultBuffer = null;
@@ -101,7 +121,7 @@
while ((line = buffer.readLine()) != null) {
eventResultBuffer.append(line);
}
- log.info("【Q】隐患排查任务基础数据result:" + eventResultBuffer.toString());
+ log.info("【QQ】专项检查情况记录数据result:" + eventResultBuffer.toString());
JSONObject jsonObject = JSONObject.parseObject(eventResultBuffer.toString());
if (jsonObject.getInteger("status") == 200) {
@@ -109,17 +129,16 @@
if (message.contains("失效0条")) {
for (TbSpecialCheckTaskLog tbSpecialCheckTaskLog : taskLogLists) {
HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam();
- //todo 更换查询数据
//封装数据
-// handlerZDReportParam.setId(CJEvent.getId());
-// handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
-// handlerZDReportParam.setZhunReportTime(new Date());
-// CJEventService.updateEventReportStatusHuaiDong(handlerZDReportParam);
+ handlerZDReportParam.setId(tbSpecialCheckTaskLog.getId());
+ handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerZDReportParam.setZhunReportTime(new Date());
+ taskSpecialLogMapper.updateEventReportStatusZhunDong(handlerZDReportParam);
}
}
} else {
- log.info("【Q】隐患排查任务基础数据推送数据失败..." + eventResultBuffer);
+ log.info("【QQ】专项检查情况记录数据推送数据失败..." + eventResultBuffer);
}
}
@@ -127,9 +146,143 @@
} catch (Exception e) {
e.printStackTrace();
}
- log.info("【Q】隐患排查任务基础数据推送数据结束...");
- }else {
- log.info("【Q】隐患排查任务基础数据无可推数据");
+ log.info("【QQ】专项检查情况记录数据推送数据结束...");
+ } else {
+ log.info("【QQ】专项检查情况记录数据无可推数据");
}
}
+
+
+ @Transactional
+ public void ZDCheckDangerLogWork() {
+ HttpURLConnection con = null;
+ BufferedReader buffer = null;
+ int responseCode = 200;
+ /**
+ * 1、专项检查隐患信息
+ * */
+ log.info("【PP】专项检查隐患信息数据-处理数据...");
+ List<TbSpecialCheckScoreAndDangerLog> dangerLogs = tbSpecialCheckScoreAndDangerLogMapper.listCheckDangerList();
+
+ if (ObjectUtils.isNotEmpty(dangerLogs)) {
+ List<ZDTaskDangerLogDTO> zdTaskDangerLogDTOS = new ArrayList<>();
+ for (TbSpecialCheckScoreAndDangerLog dangerLog : dangerLogs) {
+ ZDTaskDangerLogDTO taskDangerLogDTO = new ZDTaskDangerLogDTO();
+ taskDangerLogDTO.setId(dangerLog.getId());
+ taskDangerLogDTO.setDanger_id(dangerLog.getDangerId());
+ taskDangerLogDTO.setTask_id(dangerLog.getTaskId());
+ taskDangerLogDTO.setCheck_type(dangerLog.getCheckType());
+ taskDangerLogDTO.setCheck_date(DateUtils.parseDateToStrLocal(DateUtils.YYYYMMDD, dangerLog.getCheckDate()));
+ taskDangerLogDTO.setCheck_pay(dangerLog.getCheckPay());
+ taskDangerLogDTO.setCheck_item_id(dangerLog.getCheckItemId());
+ taskDangerLogDTO.setCheck_score_id(dangerLog.getCheckScoreId());
+ taskDangerLogDTO.setHarm_type(dangerLog.getHarmType());
+ taskDangerLogDTO.setCreate_date(DateUtils.parseDateToStrLocal(DateUtils.YYYYMMDDHHMMSS, dangerLog.getCreateDate()));
+ taskDangerLogDTO.setUpdate_date(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date()));
+ taskDangerLogDTO.setCreate_by(dangerLog.getCreateBy());
+ taskDangerLogDTO.setUpdate_by(dangerLog.getUpdateBy());
+ taskDangerLogDTO.setDeleted(dangerLog.getDeleted().toString());
+
+ zdTaskDangerLogDTOS.add(taskDangerLogDTO);
+ }
+
+ log.info("【【【PP】专项检查隐患信息数据】】" + JSONObject.toJSONString(zdTaskDangerLogDTOS));
+ //加密数据
+
+ StringBuffer eventResultBuffer = null;
+ //上报数据
+ try {
+ URL url = new URL(URL + "/api/wwyt/tb_base_check_danger_List");
+ //得到连接对象
+ con = (HttpURLConnection) url.openConnection();
+ // 设置请求方式和参数
+ con.setRequestMethod("POST");
+ con.setDoOutput(true);
+ con.setDoInput(true);
+ con.setUseCaches(false);
+ con.setRequestProperty("token", TOKEN);
+ con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
+ // 发送请求体
+ try (OutputStream os = con.getOutputStream()) {
+ os.write(JSON.toJSONString(zdTaskDangerLogDTOS).getBytes(StandardCharsets.UTF_8));
+ }
+ //得到响应码
+ responseCode = con.getResponseCode();
+ //确认响应流不为空
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ //得到响应流
+ InputStream inputStream = con.getInputStream();
+ //将响应流转换成字符串
+ eventResultBuffer = new StringBuffer();
+ String line;
+ buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
+ while ((line = buffer.readLine()) != null) {
+ eventResultBuffer.append(line);
+ }
+ log.info("【PP】专项检查隐患信息数据result:" + eventResultBuffer.toString());
+
+ JSONObject jsonObject = JSONObject.parseObject(eventResultBuffer.toString());
+ if (jsonObject.getInteger("status") == 200) {
+ String message = jsonObject.getString("message");
+ if (message.contains("失效0条")) {
+ for (TbSpecialCheckScoreAndDangerLog scoreAndDangerLog : dangerLogs) {
+ HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam();
+ //封装数据
+ handlerZDReportParam.setId(scoreAndDangerLog.getId());
+ handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode());
+ handlerZDReportParam.setZhunReportTime(new Date());
+ tbSpecialCheckScoreAndDangerLogMapper.updateEventReportStatusZhunDong(handlerZDReportParam);
+ }
+ }
+
+ } else if (jsonObject.getInteger("status") == 500) {
+ String message = jsonObject.getString("message");
+ if (message.contains("不存在danger_id为")) {
+ String s = extractDangerId(message);
+ if (ObjectUtils.isNotEmpty(s)) {
+ HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam();
+ //封装数据
+ handlerZDReportParam.setId(s);
+ handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode());
+ handlerZDReportParam.setZhunReportTime(new Date());
+ tbSpecialCheckScoreAndDangerLogMapper.updateEventReportStatusZhunDongSp(handlerZDReportParam);
+ }
+ }
+
+
+ log.info("【PP】专项检查隐患信息数据推送数据失败..." + eventResultBuffer);
+ } else {
+ log.info("【PP】专项检查隐患信息数据推送数据失败..." + eventResultBuffer);
+ }
+
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ log.info("【PP】专项检查隐患信息数据推送数据结束...");
+ } else {
+ log.info("【PP】专项检查隐患信息数据无可推数据");
+ }
+ }
+
+
+ public static String extractDangerId(String message) {
+ // 方法1: 使用substring方式提取
+ String prefix = "不存在danger_id为";
+ String suffix = "的隐患";
+
+ if (message.contains(prefix) && message.contains(suffix)) {
+ int startIndex = message.indexOf(prefix) + prefix.length();
+ int endIndex = message.indexOf(suffix);
+ return message.substring(startIndex, endIndex);
+ }
+ return null;
+// int start = message.indexOf("不存在danger_id为") + "不存在danger_id为".length();
+// int end = message.indexOf("的隐患");
+// if (end > start) {
+// return message.substring(start, end);
+// }
+// return null;
+ }
}
--
Gitblit v1.9.2