From af6d33f7c16b121538a6cdd417728e03c4ad0ef1 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期四, 19 六月 2025 16:55:19 +0800 Subject: [PATCH] 准东数据推送 --- src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongSchedule.java | 665 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 665 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongSchedule.java new file mode 100644 index 0000000..7cf7902 --- /dev/null +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongSchedule.java @@ -0,0 +1,665 @@ +package com.ruoyi.doublePrevention.scheduls; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ImageToBase64; +import com.ruoyi.doublePrevention.entity.CJReport.*; +import com.ruoyi.doublePrevention.entity.CJReport.CJdto.HandlerDO.CJReportDangerInfoDTO; +import com.ruoyi.doublePrevention.entity.ZDReport.*; +import com.ruoyi.doublePrevention.enums.SyncEnum; +import com.ruoyi.doublePrevention.service.baseService.*; +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; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.*; + +import static com.ruoyi.common.utils.Threads.sleep; + +@Slf4j +@Component +/** + * 华东 + */ +public class ZhunDongSchedule { + + 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"; + + @Autowired + private PreventCJReportRiskAnaUnitService CJRiskAnaUnitService; + @Autowired + private PreventCJReportRiskEventService CJEventService; + @Autowired + private PreventCJReportRiskControlMeasureService CJMeasureService; + @Autowired + private PreventCJReportCheckTaskFromWorkService CJTaskFromWorkService; + @Autowired + private PreventCJReportCheckRecordFromTaskService CJTaskRecordService; + @Autowired + private PreventCJReportDangerInfoService CJDangerInfoService; + + @Scheduled(cron = "0 0/6 * * * ? ") + public void updateHuaidongReportStatus() { + log.info("开始推送准东数据..." + DateUtils.dateTimeNow()); + + //风险单元 + riskAnaUnitsWork(); + sleep(5000); + //风险事件 + HDEventsWork(); + sleep(5000); + //风险管控措施 + riskControlMeasure(); + //排查任务表 + sleep(5000); + HDTaskFromWorks(); + //排查记录表 + // sleep(5000); + ZDRecordFromTasks(); + sleep(5000); + //治理信息表 + ZDDangerInfos(); + + } + + /** + * 安全风险分析单元 + */ + @Transactional + public void riskAnaUnitsWork() { + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + log.info("【A】安全风险分析单元-处理数据..."); + List<PreventCJReportRiskAnaUnit> CJRiskAnaUnits = CJRiskAnaUnitService.listReportUnitDateHuaiDong(); + + if (ObjectUtils.isNotEmpty(CJRiskAnaUnits)) { + List<PreventZDReportRiskAnaUnit> list = new ArrayList<>(); + + //转化数据 + for (PreventCJReportRiskAnaUnit cjRiskAnaUnit : CJRiskAnaUnits) { + PreventZDReportRiskAnaUnit riskAnaUnit = new PreventZDReportRiskAnaUnit(); + riskAnaUnit.setRISKUNIT_ID(cjRiskAnaUnit.getId()); + riskAnaUnit.setRISK_UNIT_NAME(cjRiskAnaUnit.getRiskUnitName()); + //todo 等级未知 + riskAnaUnit.setRISK_CLASS("1"); + riskAnaUnit.setHAZARD_DEP(cjRiskAnaUnit.getHazardDep()); + riskAnaUnit.setHAZARD_CODE(cjRiskAnaUnit.getHazardCode()); + riskAnaUnit.setHAZARD_LIABLE_PERSON(cjRiskAnaUnit.getHazardLiablePerson()); + riskAnaUnit.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjRiskAnaUnit.getCreateDate())); + riskAnaUnit.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date())); + riskAnaUnit.setCREATE_BY(cjRiskAnaUnit.getCreateBy()); + riskAnaUnit.setUPDATE_BY(cjRiskAnaUnit.getUpdateBy()); + riskAnaUnit.setDELETE_MARK(cjRiskAnaUnit.getDeleted()); + list.add(riskAnaUnit); + } + log.info("【A】安全风险分析单元开始推送数据...原始数据:" + JSON.toJSONString(list)); + StringBuffer unitResultBuffer = null; + //上报数据 + try { + + URL url = new URL(URL + "/api/wwyt/t_aqfxfxdy_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(list).getBytes(StandardCharsets.UTF_8)); + } + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + unitResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + unitResultBuffer.append(line); + } + log.info("【A】安全风险分析单元result:" + unitResultBuffer); + JSONObject jsonObject = JSONObject.parseObject(unitResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + //遍历数据,设置数据上报成功 + for (PreventCJReportRiskAnaUnit CJRiskAnaUnit : CJRiskAnaUnits) { + HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam(); + //封装数据 + handlerZDReportParam.setId(CJRiskAnaUnit.getId()); + handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerZDReportParam.setZhunReportTime(new Date()); + CJRiskAnaUnitService.updateHDReportStatusById(handlerZDReportParam); + } + } + + } else { + log.info("【A】安全风险分析单元推送数据失败..." + unitResultBuffer); + } + } + + log.info("【A】安全风险分析单元推送数据结束..."); + } catch (Exception e) { + e.printStackTrace(); + } + }else { + log.info("【A】安全风险分析单元无可推数据"); + } + + } + @Transactional + public void HDEventsWork() { + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + /** + * 2、处理安全风险事件数据 + * */ + log.info("【B】安全风险事件-处理数据..."); + List<PreventCJReportRiskEvent> HDEvents = CJEventService.listReportEventDateHuaiDong(); + + if (ObjectUtils.isNotEmpty(HDEvents)) { + List<ZDReportRiskEventDTO> eventList = new ArrayList<>(); + for (PreventCJReportRiskEvent hdEvent : HDEvents) { + ZDReportRiskEventDTO ZDReportRiskEventDTO = new ZDReportRiskEventDTO(); + ZDReportRiskEventDTO.setRISKEVENT_ID(hdEvent.getId()); + ZDReportRiskEventDTO.setRISK_UNIT_ID(hdEvent.getRiskUnitId()); + ZDReportRiskEventDTO.setRISK_EVENT_NAME(hdEvent.getRiskEventName()); + ZDReportRiskEventDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, hdEvent.getCreateDate())); + ZDReportRiskEventDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date())); + ZDReportRiskEventDTO.setCREATE_BY(hdEvent.getCreateBy()); + ZDReportRiskEventDTO.setUPDATE_BY(hdEvent.getUpdateBy()); + ZDReportRiskEventDTO.setDELETE_MARK(hdEvent.getDeleted()); + eventList.add(ZDReportRiskEventDTO); + } + + log.info("【【风险事件原始数据】】" + JSONObject.toJSONString(eventList)); + //加密数据 + + StringBuffer eventResultBuffer = null; + //上报数据 + try { + URL url = new URL(URL + "/api/wwyt/t_aqfxsj_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(eventList).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("【B】安全风险事件result:" + eventResultBuffer.toString()); + + JSONObject jsonObject = JSONObject.parseObject(eventResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + for (PreventCJReportRiskEvent CJEvent : HDEvents) { + HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam(); + //封装数据 + handlerZDReportParam.setId(CJEvent.getId()); + handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerZDReportParam.setZhunReportTime(new Date()); + CJEventService.updateEventReportStatusHuaiDong(handlerZDReportParam); + } + } + + } else { + log.info("【B】安全风险事件推送数据失败..." + eventResultBuffer); + } + + } + + } catch (Exception e) { + e.printStackTrace(); + } + log.info("【B】处理安全风险事件数据结束..."); + }else { + log.info("【B】处理安全风险无可推数据"); + } + } + + @Transactional + public void riskControlMeasure() { + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + + /** + * 3、处理风险管控措施数据 + * */ + log.info("【C】风险管控措施-处理数据..."); + List<PreventCJReportRiskControlMeasure> CJMeasures = CJMeasureService.listReportMeasureDateHuaiDong(); + //封装上报数据 + List<ZDReportRiskControlMeasureDTO> reportMeasureList = new ArrayList<>(); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(CJMeasures)) { + for (PreventCJReportRiskControlMeasure cjMeasure : CJMeasures) { + ZDReportRiskControlMeasureDTO ZDReportRiskControlMeasureDTO = new ZDReportRiskControlMeasureDTO(); + + ZDReportRiskControlMeasureDTO.setRISKMEASURE_ID(cjMeasure.getId()); + ZDReportRiskControlMeasureDTO.setRISK_EVENT_ID(cjMeasure.getRiskEventId()); + ZDReportRiskControlMeasureDTO.setDATA_SRC(cjMeasure.getDataSrc()); + ZDReportRiskControlMeasureDTO.setRISK_MEASURE_DESC(cjMeasure.getRiskMeasureDesc()); + ZDReportRiskControlMeasureDTO.setCLASSIFY1(cjMeasure.getClassify1()); + ZDReportRiskControlMeasureDTO.setCLASSIFY2(cjMeasure.getClassify2()); + //非必传 + //ZDReportRiskControlMeasureDTO.setCLASSIFY3(cjMeasure.getClassify3()); + ZDReportRiskControlMeasureDTO.setTROUBLESHOOT_CONTENT(cjMeasure.getTroubleshootContent()); + ZDReportRiskControlMeasureDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjMeasure.getCreateDate())); + ZDReportRiskControlMeasureDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date())); + ZDReportRiskControlMeasureDTO.setCREATE_BY(cjMeasure.getCreateBy()); + ZDReportRiskControlMeasureDTO.setUPDATE_BY(cjMeasure.getUpdateBy()); + ZDReportRiskControlMeasureDTO.setDELETE_MARK(cjMeasure.getDeleted()); + reportMeasureList.add(ZDReportRiskControlMeasureDTO); + } + log.info("【C】风险管控措施-处理数据【原始数据】" + JSONObject.toJSONString(reportMeasureList)); + + //数据上报 + + StringBuffer measureResultBuffer = null; + //上报数据 + try { + URL url = new URL(URL + "/api/wwyt/t_aqfxgkcs_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(reportMeasureList).getBytes(StandardCharsets.UTF_8)); + } + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + measureResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + measureResultBuffer.append(line); + } + log.info("【C】安全风险管控措施推result:" + measureResultBuffer.toString()); + JSONObject jsonObject = JSONObject.parseObject(measureResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasures) { + HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam(); + //封装数据 + handlerZDReportParam.setId(CJMeasure.getId()); + handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerZDReportParam.setZhunReportTime(new Date()); + CJMeasureService.updateHDReportStatusById(handlerZDReportParam); + } + } + } else { + log.info("【C】安全风险管控措施推送数据失败..." + measureResultBuffer); + } + log.info("【C】安全风险管控措施数据结束..."); + + } + } catch (Exception e) { + e.printStackTrace(); + } + }else { + log.info("【C】安全风险管控措施无可推数据"); + } + + + + } + + + @Transactional + public void HDTaskFromWorks() { + + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + /** + * 4、处理 任务-配置 数据 + * */ + log.info("【D】隐患排查任务-处理数据..."); + List<PreventCJReportCheckTaskFromWork> CJTaskFromWorks = CJTaskFromWorkService.listReportTaskFromWorkDateHuaiDong(); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(CJTaskFromWorks)) { + //封装上报数据 + List<ZDReportCheckTaskFromWorkDTO> reportCheckTaskFromWorkList = new ArrayList<>(); + for (PreventCJReportCheckTaskFromWork cjTaskFromWork : CJTaskFromWorks) { + ZDReportCheckTaskFromWorkDTO ZDReportCheckTaskFromWorkDTO = new ZDReportCheckTaskFromWorkDTO(); + ZDReportCheckTaskFromWorkDTO.setCHECKTASK_ID(cjTaskFromWork.getId()); + ZDReportCheckTaskFromWorkDTO.setRISK_MEASURE_ID(cjTaskFromWork.getRiskMeasureId()); + ZDReportCheckTaskFromWorkDTO.setTROUBLESHOOT_CONTENT(cjTaskFromWork.getTroubleshootContent()); + ZDReportCheckTaskFromWorkDTO.setWORK_START_TIME(cjTaskFromWork.getWorkStartTime()); + ZDReportCheckTaskFromWorkDTO.setWORK_END_TIME(cjTaskFromWork.getWorkEndTime()); + ZDReportCheckTaskFromWorkDTO.setWORK_DAY_TYPE(cjTaskFromWork.getWorkDayType()); + ZDReportCheckTaskFromWorkDTO.setWORK_TYPE(cjTaskFromWork.getWorkType()); + //非必传 + if (cjTaskFromWork.getTaskNum() != null){ + ZDReportCheckTaskFromWorkDTO.setTASK_NUM(cjTaskFromWork.getTaskNum() + ""); + } + //ZDReportCheckTaskFromWorkDTO.setTASK_NUM(cjTaskFromWork.getTaskNum() == null ? "0" : cjTaskFromWork.getTaskNum() + ""); + ZDReportCheckTaskFromWorkDTO.setCHECK_CYCLE(cjTaskFromWork.getCheckCycle()); + ZDReportCheckTaskFromWorkDTO.setCHECK_CYCLE_UNIT(cjTaskFromWork.getCheckCycleUnit()); + ZDReportCheckTaskFromWorkDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjTaskFromWork.getCreateDate())); + ZDReportCheckTaskFromWorkDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date())); + ZDReportCheckTaskFromWorkDTO.setCREATE_BY(cjTaskFromWork.getCreateBy()); + ZDReportCheckTaskFromWorkDTO.setUPDATE_BY(cjTaskFromWork.getUpdateBy()); + ZDReportCheckTaskFromWorkDTO.setDELETE_MARK(cjTaskFromWork.getDeleted()); + reportCheckTaskFromWorkList.add(ZDReportCheckTaskFromWorkDTO); + } + log.info("【D】隐患排查任务【原始数据】" + JSONObject.toJSONString(reportCheckTaskFromWorkList)); + + StringBuffer taskFromWorkResultBuffer = null; + //上报数据 + try { + URL url = new URL(URL + "/api/wwyt/t_yhpcrwxx_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(reportCheckTaskFromWorkList).getBytes(StandardCharsets.UTF_8)); + } + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + taskFromWorkResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + taskFromWorkResultBuffer.append(line); + } + log.info("【D】隐患排查任务-处理结果:" + taskFromWorkResultBuffer.toString()); + JSONObject jsonObject = JSONObject.parseObject(taskFromWorkResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + for (PreventCJReportCheckTaskFromWork CJTaskFromWork : CJTaskFromWorks) { + HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam(); + //封装数据 + handlerZDReportParam.setId(CJTaskFromWork.getId()); + handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerZDReportParam.setZhunReportTime(new Date()); + CJTaskFromWorkService.updateHDReportStatusById(handlerZDReportParam); + } + } + + } else if (jsonObject.getInteger("status") == 500) { + log.info("【D】隐患排查任务-处理失败:" + taskFromWorkResultBuffer.toString()); + } + log.info("【D】隐患排查任务数据结束..."); + } + } catch (Exception e) { + e.printStackTrace(); + } + }else { + log.info("【D】隐患排查任务无可推数据"); + } + + } + @Transactional + public void ZDRecordFromTasks() { + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + /** + * 5、处理 任务-记录 数据 + * */ + log.info("【E】任务记录-处理数据..."); + List<PreventCJReportCheckRecordFromTask> CJRecordFromTasks = CJTaskRecordService.listReportTaskRecordDateHuaiDong(); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(CJRecordFromTasks)){ + //封装上报数据 + List<ZDReportCheckRecordFromTaskDTO> reportCheckRecordFromTaskDTOS = new ArrayList<>(); + for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) { + ZDReportCheckRecordFromTaskDTO reportCheckRecordFromTaskDTO = new ZDReportCheckRecordFromTaskDTO(); + reportCheckRecordFromTaskDTO.setRECORD_ID(cjRecordFromTask.getId()); + reportCheckRecordFromTaskDTO.setCHECK_TASK_ID(cjRecordFromTask.getCheckTaskId()); + reportCheckRecordFromTaskDTO.setCHECK_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjRecordFromTask.getCheckTime())); + reportCheckRecordFromTaskDTO.setCHECK_STATUS(cjRecordFromTask.getCheckStatus()); + reportCheckRecordFromTaskDTO.setMOBILE_ME(cjRecordFromTask.getMobileCode()); + reportCheckRecordFromTaskDTO.setIS_DEFEND(cjRecordFromTask.getDefend()); + reportCheckRecordFromTaskDTO.setCREATE_BY_MOBILE(cjRecordFromTask.getCreateByMobile()); + reportCheckRecordFromTaskDTO.setUPDATE_BY_MOBILE(cjRecordFromTask.getUpdateByMobile()); + reportCheckRecordFromTaskDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjRecordFromTask.getCreateDate())); + reportCheckRecordFromTaskDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjRecordFromTask.getUpdateDate())); + reportCheckRecordFromTaskDTO.setCREATE_BY(cjRecordFromTask.getCreateBy()); + reportCheckRecordFromTaskDTO.setUPDATE_BY(cjRecordFromTask.getUpdateBy()); + reportCheckRecordFromTaskDTO.setDELETE_MARK(cjRecordFromTask.getDeleted()); + reportCheckRecordFromTaskDTOS.add(reportCheckRecordFromTaskDTO); + + } + //数据上报 + log.info("【E】任务记录-处理数据【原始数据】" + JSONObject.toJSONString(reportCheckRecordFromTaskDTOS)); + StringBuffer dangerInfoResultBuffer = null; + //上报数据 + try { + URL url = new URL(URL+"/api/wwyt/t_yhpcjl_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(reportCheckRecordFromTaskDTOS).getBytes(StandardCharsets.UTF_8)); + } + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + dangerInfoResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + dangerInfoResultBuffer.append(line); + } + log.info("【E】任务记录-处理数据result:" + dangerInfoResultBuffer); + JSONObject jsonObject = JSONObject.parseObject(dangerInfoResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) { + HandlerZDReportParam handlerZDReportParam = new HandlerZDReportParam(); + handlerZDReportParam.setId(cjRecordFromTask.getId()); + handlerZDReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerZDReportParam.setZhunReportTime(new Date()); + CJTaskRecordService.updateHDReportStatusById(handlerZDReportParam); + } + } + + }else { + log.error("【E】任务记录-处理数据result:" + dangerInfoResultBuffer); + } + log.info("【E】任务记录推送数据结束..."); + } + } catch (Exception e) { + e.printStackTrace(); + } + + }else { + log.info("【E】任务记录无可推数据"); + } + + } + @Transactional + public void ZDDangerInfos() { + + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + /** + * 6、处理隐患信息数据 + * */ + log.info("【F】隐患信息-处理数据..."); + List<ZDPreventCJReportDangerInfo> CJDangerInfos = CJDangerInfoService.listReportDangerDateZhunDong(); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(CJDangerInfos)){ + //封装上报数据 + List<ZDReportDangerInfoDTO> reportDangerInfoLists = new ArrayList<>(); + for (ZDPreventCJReportDangerInfo cjDangerInfo : CJDangerInfos) { + ZDReportDangerInfoDTO cjReportDangerInfoDTO = new ZDReportDangerInfoDTO(); + cjReportDangerInfoDTO.setDANGER_ID(cjDangerInfo.getId()); + cjReportDangerInfoDTO.setREGIST_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getRegistTime())); + cjReportDangerInfoDTO.setREGISTRANT(cjDangerInfo.getRegistrant()); + cjReportDangerInfoDTO.setDANGER_NAME(cjDangerInfo.getDangerName()); + cjReportDangerInfoDTO.setHAZARD_CODE(cjDangerInfo.getHazardCode()); + cjReportDangerInfoDTO.setRISK_MEASURE_ID(cjDangerInfo.getRiskMeasureId()); + cjReportDangerInfoDTO.setCHECK_RECORD_ID(cjDangerInfo.getCheckRecordId()); + cjReportDangerInfoDTO.setDANGER_LEVEL(cjDangerInfo.getDangerLevel()); + cjReportDangerInfoDTO.setDANGER_SRC(cjDangerInfo.getDangerSrc()); + cjReportDangerInfoDTO.setDANGER_MANAGE_TYPE(cjDangerInfo.getDangerManageType()); + cjReportDangerInfoDTO.setHAZARD_DANGER_TYPE(cjDangerInfo.getHazardDangerType() == null ? "0" : cjDangerInfo.getHazardDangerType()); + cjReportDangerInfoDTO.setHAZARD_CATEGORY(cjDangerInfo.getHazardCategory()); + cjReportDangerInfoDTO.setDANGER_DESC(cjDangerInfo.getDangerDesc()); + //非必传 +// cjReportDangerInfoDTO.setDANGER_REASON(cjDangerInfo.getDangerReason()); +// cjReportDangerInfoDTO.setCONTROL_MEASURES(cjDangerInfo.getControlMeasures()); + // cjReportDangerInfoDTO.setCOST(cjDangerInfo.getCost()); + cjReportDangerInfoDTO.setLIABLE_PERSON(cjDangerInfo.getLiablePerson()); + cjReportDangerInfoDTO.setDANGER_MANAGE_DEADLINE(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getDangerManageDeadline())); + cjReportDangerInfoDTO.setCHECK_ACCEPT_PERSON(cjDangerInfo.getCheckAcceptPerson()); + cjReportDangerInfoDTO.setCHECK_ACCEPT_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getCheckAcceptTime())); + //非必传 + // cjReportDangerInfoDTO.setCHECK_ACCEPT_COMMENT(cjDangerInfo.getCheckAcceptComment()); + cjReportDangerInfoDTO.setDANGER_STATE(cjDangerInfo.getDangerState()); + //非必传 +// cjReportDangerInfoDTO.setMANAGEMENT_CLASSIFICATION(cjDangerInfo.getManagementClassification()); +// cjReportDangerInfoDTO.setOCCURRENCE_LINK(cjDangerInfo.getOccurrenceLink()); +// cjReportDangerInfoDTO.setATTACHMENTS1(ImageToBase64.convertImageToBase64(cjDangerInfo.getPreRectifyPhoto())); +// cjReportDangerInfoDTO.setATTACHMENTS2(ImageToBase64.convertImageToBase64(cjDangerInfo.getPostRectifyPhoto())); + // cjReportDangerInfoDTO.setFJ(cjDangerInfo.getRectifyAttachment()); + + cjReportDangerInfoDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getCreateDate())); + cjReportDangerInfoDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getUpdateDate())); + cjReportDangerInfoDTO.setDELETE_MARK(cjDangerInfo.getDeleted()); + cjReportDangerInfoDTO.setCREATE_BY(cjDangerInfo.getCreateBy()); + cjReportDangerInfoDTO.setUPDATE_BY(cjDangerInfo.getUpdateBy()); + reportDangerInfoLists.add(cjReportDangerInfoDTO); + } + + //数据上报 + log.info("【F】隐患信息-处理数据【原始数据】" + JSONObject.toJSONString(reportDangerInfoLists)); + StringBuffer dangerInfoResultBuffer = null; + //上报数据 + try { + URL url = new URL(URL+"/api/wwyt/t_yhzlxx_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(reportDangerInfoLists).getBytes(StandardCharsets.UTF_8)); + } + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + dangerInfoResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + dangerInfoResultBuffer.append(line); + } + log.info("【F】隐患信息-处理数据result:" + dangerInfoResultBuffer.toString()); + JSONObject jsonObject = JSONObject.parseObject(dangerInfoResultBuffer.toString()); + if (jsonObject.getInteger("status") == 200) { + String message = jsonObject.getString("message"); + if (message.contains("失效0条")) { + for (PreventCJReportDangerInfo dangerInfo : CJDangerInfos) { + HandlerZDReportParam handlerCJReportParam = new HandlerZDReportParam(); + handlerCJReportParam.setId(dangerInfo.getId()); + handlerCJReportParam.setZhunReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerCJReportParam.setZhunReportTime(new Date()); + CJDangerInfoService.updateZDReportStatusById(handlerCJReportParam); + } + } + }else { + log.info("【】隐患信息推送数据失败..."+ dangerInfoResultBuffer); + } + log.info("【F】隐患信息推送数据结束..."); + + } + } catch (Exception e) { + e.printStackTrace(); + } + }else { + log.info("【F】检查任务无可推数据"); + } + + + } + + +} -- Gitblit v1.9.2