双重预防项目-国泰新华二开定制版
heheng
2025-11-20 037e91db7dee12aa1adc666601d890a58ca2e2ab
src/main/java/com/ruoyi/doublePrevention/scheduls/ZhunDongSchedule.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ImageToBase64;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.doublePrevention.entity.CJReport.*;
import com.ruoyi.doublePrevention.entity.CJReport.CJdto.HandlerDO.CJReportDangerInfoDTO;
import com.ruoyi.doublePrevention.entity.ZDReport.*;
@@ -69,10 +70,17 @@
        //排查记录表
       // sleep(5000);
        ZDRecordFromTasks();
        sleep(5000);
    }
    @Scheduled(cron = "0 0/5 * * * ? ")
    public void updateHuaidongReportStatusDangerInfo() {
        log.info("开始推送准东数据隐患治理..." + DateUtils.dateTimeNow());
        sleep(1000);
        //治理信息表
        ZDDangerInfos();
    }
    /**
@@ -554,6 +562,8 @@
                /**
         * 6、处理隐患信息数据
         * */
        int i = CJDangerInfoService.updateErrorZDdata();
        log.info("【F】隐患信息-处理数据【原始数据错误更新数量】" + i);
        log.info("【F】隐患信息-处理数据...");
        List<ZDPreventCJReportDangerInfo> CJDangerInfos = CJDangerInfoService.listReportDangerDateZhunDong();
        if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(CJDangerInfos)){
@@ -588,16 +598,23 @@
                //非必传
//                cjReportDangerInfoDTO.setMANAGEMENT_CLASSIFICATION(cjDangerInfo.getManagementClassification());
//                cjReportDangerInfoDTO.setOCCURRENCE_LINK(cjDangerInfo.getOccurrenceLink());
                if(ObjectUtils.isNotEmpty(cjDangerInfo.getPreRectifyPhoto())){
                    cjReportDangerInfoDTO.setATTACHMENTS1(ImageToBase64.convertImageToBase64More(cjDangerInfo.getPreRectifyPhoto()));
                if(StringUtils.isNotEmpty(cjDangerInfo.getPreRectifyPhoto())){
                    String s = ImageToBase64.convertImageToBase64(cjDangerInfo.getPreRectifyPhoto());
                    if (StringUtils.isNotEmpty( s)){
                        cjReportDangerInfoDTO.setATTACHMENTS1(s);
                    }
                }
                if (ObjectUtils.isNotEmpty(cjDangerInfo.getPostRectifyPhoto())) {
                    cjReportDangerInfoDTO.setATTACHMENTS2(ImageToBase64.convertImageToBase64More(cjDangerInfo.getPostRectifyPhoto()));
                    String s = ImageToBase64.convertImageToBase64(cjDangerInfo.getPostRectifyPhoto());
                    if (StringUtils.isNotEmpty(s)){
                        cjReportDangerInfoDTO.setATTACHMENTS2(s);
                    }
                }
               // cjReportDangerInfoDTO.setFJ(cjDangerInfo.getRectifyAttachment());
                cjReportDangerInfoDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getCreateDate()));
                cjReportDangerInfoDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getUpdateDate()));
                cjReportDangerInfoDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date()));
                cjReportDangerInfoDTO.setDELETE_MARK(cjDangerInfo.getDeleted());
                cjReportDangerInfoDTO.setCREATE_BY(cjDangerInfo.getCreateBy());
                cjReportDangerInfoDTO.setUPDATE_BY(cjDangerInfo.getUpdateBy());
@@ -619,6 +636,8 @@
                con.setUseCaches(false);
                con.setRequestProperty("token", TOKEN);
                con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
                con.setConnectTimeout(10000);
                con.setReadTimeout(10000);
                // 发送请求体
                try (OutputStream os = con.getOutputStream()) {
                    os.write(JSON.toJSONString(reportDangerInfoLists).getBytes(StandardCharsets.UTF_8));
@@ -666,4 +685,135 @@
    }
    @Transactional
    public void ZDDangerInfosSP(Integer indexId) {
        HttpURLConnection con = null;
        BufferedReader buffer = null;
        int responseCode = 200;
        /**
         * 6、处理隐患信息数据
         * */
        log.info("【FFFF】隐患信息-处理数据...");
        List<ZDPreventCJReportDangerInfo> CJDangerInfos = CJDangerInfoService.listReportDangerDateZhunDongSP(indexId);
        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());
                if(StringUtils.isNotEmpty(cjDangerInfo.getPreRectifyPhoto())){
                    String s = ImageToBase64.convertImageToBase64(cjDangerInfo.getPreRectifyPhoto());
                    if (StringUtils.isNotEmpty( s)){
                        cjReportDangerInfoDTO.setATTACHMENTS1(s);
                    }
                }
                if (ObjectUtils.isNotEmpty(cjDangerInfo.getPostRectifyPhoto())) {
                    String s = ImageToBase64.convertImageToBase64(cjDangerInfo.getPostRectifyPhoto());
                    if (StringUtils.isNotEmpty(s)){
                        cjReportDangerInfoDTO.setATTACHMENTS2(s);
                    }
                }
                // cjReportDangerInfoDTO.setFJ(cjDangerInfo.getRectifyAttachment());
                cjReportDangerInfoDTO.setCREATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, cjDangerInfo.getCreateDate()));
                cjReportDangerInfoDTO.setUPDATE_TIME(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date()));
                cjReportDangerInfoDTO.setDELETE_MARK(cjDangerInfo.getDeleted());
                cjReportDangerInfoDTO.setCREATE_BY(cjDangerInfo.getCreateBy());
                cjReportDangerInfoDTO.setUPDATE_BY(cjDangerInfo.getUpdateBy());
                reportDangerInfoLists.add(cjReportDangerInfoDTO);
            }
            //数据上报
             log.info("【FFFF】隐患信息-处理数据【原始数据】" + 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");
                con.setConnectTimeout(10000);
                con.setReadTimeout(10000);
                // 发送请求体
                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("【FFFF】隐患信息-处理数据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("【FFFF】隐患信息推送数据失败..."+ dangerInfoResultBuffer);
                    }
                    log.info("【FFFF】隐患信息推送数据结束...");
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.info("【FFFF】隐患信息推送数据失败AAAA..."+ e.getMessage());
            }
        }else {
            log.info("【FFFF】检查任务无可推数据");
        }
    }
}