From a151b0d0d0d3f6344c53a0528b7b32f00b8d8583 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期五, 11 七月 2025 14:08:15 +0800 Subject: [PATCH] 优化处理特殊推送 --- src/main/java/com/ruoyi/doublePrevention/scheduls/FormTaskSchedule.java | 509 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java | 5 src/main/java/com/ruoyi/doublePrevention/repository/PreventReportConfigRepository.java | 4 src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventReportConfigServiceImpl.java | 5 src/main/resources/mybatis/doublePrevention/PreventReportConfigMapper.xml | 4 src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventReportConfigService.java | 2 6 files changed, 524 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/repository/PreventReportConfigRepository.java b/src/main/java/com/ruoyi/doublePrevention/repository/PreventReportConfigRepository.java index 578060d..8535a9e 100644 --- a/src/main/java/com/ruoyi/doublePrevention/repository/PreventReportConfigRepository.java +++ b/src/main/java/com/ruoyi/doublePrevention/repository/PreventReportConfigRepository.java @@ -23,4 +23,8 @@ * 数据上报配置-按照id查询 */ PreventReportConfig selectById(int id); + + Integer getSpecPushData(); + + } diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/FormTaskSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/FormTaskSchedule.java new file mode 100644 index 0000000..87764cd --- /dev/null +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/FormTaskSchedule.java @@ -0,0 +1,509 @@ +package com.ruoyi.doublePrevention.scheduls; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.utils.BeanCopyUtils; +import com.ruoyi.doublePrevention.config.redis.RedisUtils; +import com.ruoyi.doublePrevention.entity.*; +import com.ruoyi.doublePrevention.entity.CJReport.CJdto.CJReportResultData; +import com.ruoyi.doublePrevention.entity.CJReport.CJdto.Data; +import com.ruoyi.doublePrevention.entity.CJReport.CJdto.ErrorMsgDetails; +import com.ruoyi.doublePrevention.entity.CJReport.CJdto.HandlerDO.CJReportCheckRecordFromTaskDTO; +import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportCheckRecordFromTask; +import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportCheckTaskFromWork; +import com.ruoyi.doublePrevention.enums.CJReportEnum; +import com.ruoyi.doublePrevention.enums.E; +import com.ruoyi.doublePrevention.enums.SyncEnum; +import com.ruoyi.doublePrevention.exception.AusinessException; +import com.ruoyi.doublePrevention.repository.param.HandlerCJReportParam; +import com.ruoyi.doublePrevention.service.baseService.*; +import com.ruoyi.project.system.user.domain.User; +import com.ruoyi.project.system.user.service.IUserService; +import com.ruoyi.project.tr.hiddenDangerCheck.domain.HiddenDangerCheck; +import com.ruoyi.project.tr.hiddenDangerCheck.service.IHiddenDangerCheckService; +import com.ruoyi.project.tr.hiddenDangerCheckPoint.domain.HiddenDangerCheckPoint; +import com.ruoyi.project.tr.hiddenDangerCheckPoint.service.IHiddenDangerCheckPointService; +import org.apache.commons.lang3.ObjectUtils; +import org.bouncycastle.crypto.engines.AESFastEngine; +import org.bouncycastle.crypto.modes.GCMBlockCipher; +import org.bouncycastle.crypto.params.AEADParameters; +import org.bouncycastle.crypto.params.KeyParameter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.util.*; +@Component +public class FormTaskSchedule { + + + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private PreventReportConfigService preventReportConfigService; + + @Autowired + private PreventCJReportCheckRecordFromTaskService CJTaskRecordService; + + @Autowired + private PreventRiskDangerCheckLogService preventRiskDangerCheckLogService;//排查任务记录附属表 + + @Autowired + private PreventRiskControlMeasureService preventRiskControlMeasureService; + + @Autowired + private IUserService trUserService; //用户服务 + + @Autowired + private PreventTaskTypeService taskTypeService; + + @Autowired + private IHiddenDangerCheckService trHiddenDangerCheckService;//排查任务记录 + + @Autowired + private IHiddenDangerCheckPointService trHiddenDangerCheckPointService;//隐患信息上报、整改、验收 + + @Autowired + private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//管控措施,任务清单对应关系。基础排查点附属表 + + @Autowired + private PreventCJReportCheckTaskFromWorkService CJTaskFromWorkService; + + @Autowired + private RedisUtils redisUtils; + + private static String TASK_SPE_REDIS_KEY = "TASK_SPE_REDIS_KEY"; + + public static String companyCode = "652310082"; + + + String token = "GT6gGJV7JV"; + String key = "Bv+NeBolwqg2Pbc1yVwrZA=="; + String iv = "4QC9V8eAiB7tdlgBkMsTAw=="; + + public static final int MAC_BIT_SIZE = 128; + + public static String encrypt(String plainText, byte[] key, byte[] iv) { + String sr; + try { + byte[] plainBytes = plainText.getBytes(StandardCharsets.UTF_8); + GCMBlockCipher cipher = new GCMBlockCipher(new + AESFastEngine()); + AEADParameters parameters = + new AEADParameters(new KeyParameter(key), + MAC_BIT_SIZE, iv, null); + cipher.init(true, parameters); + byte[] encryptedBytes = new + byte[cipher.getOutputSize(plainBytes.length)]; + int retLen = cipher.processBytes(plainBytes, 0, plainBytes.length, + encryptedBytes, 0); + cipher.doFinal(encryptedBytes, retLen); + sr = Base64.getEncoder().encodeToString(encryptedBytes); + } catch (Exception ex) { + throw new RuntimeException(ex.getMessage()); + } + return sr; + } + + //@Scheduled(cron = "0 0/30 * * * ? ") + @Scheduled(cron = "0 0/1 * * * ? ") + @Transactional + public void taskFormRedis() { + redisUtils.set(TASK_SPE_REDIS_KEY, preventReportConfigService.getSpecPushData() == null ? 1 : preventReportConfigService.getSpecPushData()); + } + + + + @Scheduled(cron = "45 3/3 * * * ? ") + @Transactional + public void taskFormSchedule() { + Object o = redisUtils.get(TASK_SPE_REDIS_KEY); + if (ObjectUtils.isEmpty(o)){ + redisUtils.set(TASK_SPE_REDIS_KEY, preventReportConfigService.getSpecPushData() == null ? 1 : preventReportConfigService.getSpecPushData()); + }else { + Integer i = Integer.valueOf(o.toString()); + if (i == 1){ + logger.info("【特殊】上报数据开始TASKFORM未开启..."); + return; + } + } + + logger.info("【####】上报数据开始TASKFORM..."); + + HttpURLConnection con = null; + BufferedReader buffer = null; + int responseCode = 200; + + SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:MM:ss"); + + Date date = new Date(); + //格式化时间,作为token的时间戳 + SimpleDateFormat tokenDate= new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String formatDate = tokenDate.format(date); + + logger.info("【token时间】" + formatDate); + + //使用风险分析单元数据上报主配置,作为自动上报开关 + PreventReportConfig reportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode()); + if (reportConfig.getReportType() == 0){ + return; + } + + /** + * 5、处理 任务-记录 数据 + * */ + logger.info("【5】TASKFORM任务记录-处理数据..."); + List<PreventCJReportCheckRecordFromTask> CJRecordFromTasks = CJTaskRecordService.listReportTaskRecordDate(); + if (ObjectUtils.isNotEmpty(CJRecordFromTasks)){ + //封装上报数据 + List<CJReportCheckRecordFromTaskDTO> reportRecordFromTaskList = new ArrayList<>(); + for (PreventCJReportCheckRecordFromTask cjRecordFromTask : CJRecordFromTasks) { + CJReportCheckRecordFromTaskDTO cjReportCheckRecordFromTaskDTO = BeanCopyUtils.copyBean(cjRecordFromTask, CJReportCheckRecordFromTaskDTO.class); +// cjReportCheckRecordFromTaskDTO.setCreateDate(dateFormat.format(cjRecordFromTask.getCreateDate())); +// cjReportCheckRecordFromTaskDTO.setUpdateDate(dateFormat.format(cjRecordFromTask.getUpdateDate())); + cjReportCheckRecordFromTaskDTO.setCheckTime(dateFormat.format(cjRecordFromTask.getCheckTime())); + cjReportCheckRecordFromTaskDTO.setMobileMe(cjRecordFromTask.getMobileCode()); + cjReportCheckRecordFromTaskDTO.setIsDefend(cjRecordFromTask.getDefend()); + reportRecordFromTaskList.add(cjReportCheckRecordFromTaskDTO); + } +// System.out.println(Arrays.toString(reportRecordFromTaskList.toArray())); + //数据加密 + String AESReportRecordFromTask = encrypt(JSONObject.toJSONString(reportRecordFromTaskList), key.getBytes(), iv.getBytes()); + logger.info("TASKFORM数据加密完成,开始上报数据"); + + StringBuffer recordFromTaskResultBuffer = null; + //上报数据 + try { + URL url = new URL("http://120.71.182.198:9999/v1/data/receive/measuresTaskRecordMsg"); + //URL url = new URL("https://cjzjg.gtaq.com.cn:7004/v1/data/receive/measuresTaskRecordMsg"); //备用地址 + //得到连接对象 + con = (HttpURLConnection) url.openConnection(); + //设置请求类型 + con.setRequestMethod("POST"); + //设置Content-Type,此处根据实际情况确定 + con.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); + // con.setRequestProperty(HTTP.CONN_DIRECTIVE,HTTP.CONN_CLOSE); + con.setConnectTimeout(600000); + con.setReadTimeout(600000); + + //允许写出 + con.setDoOutput(true); + //允许读入 + con.setDoInput(true); + //不使用缓存 + con.setUseCaches(false); + //设置请求头 + con.setRequestProperty("X-Access-Token",token+tokenDate.format(new Date()).toString()); + OutputStream os = con.getOutputStream(); + Map paraMap = new HashMap(); + paraMap.put("data", AESReportRecordFromTask);/**封装数据*/ + //组装入参,设置请求体 + os.write(JSON.toJSONString(paraMap).getBytes()); + //得到响应码 + responseCode = con.getResponseCode(); + //本段日志,测试成功后,可注释掉 + if (responseCode == HttpURLConnection.HTTP_OK) { + //得到响应流 + InputStream inputStream = con.getInputStream(); + //将响应流转换成字符串 + recordFromTaskResultBuffer = new StringBuffer(); + String line; + buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); + while ((line = buffer.readLine()) != null) { + recordFromTaskResultBuffer.append(line); + } + logger.info("TASKFORMresult:" + recordFromTaskResultBuffer.toString()); + }else { + logger.info("TASKFORMHttp结果:" + responseCode); + } + } catch (Exception e) { + e.printStackTrace(); + } + + logger.info("【TASKFORM】接收返回值"); + CJReportResultData CJRecordFromTaskResult = new CJReportResultData(); + try { + CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class); + if (ObjectUtils.isEmpty(CJRecordFromTaskResult)){ + throw new RuntimeException("返回值为空"); + } + }catch (Exception e){ + e.printStackTrace(); + logger.info("【TASKFORM】接收返回值异常"); + } + + //接收返回值,保存返回值 +// CJReportResultData CJRecordFromTaskResult = JSONObject.parseObject(recordFromTaskResultBuffer.toString(), CJReportResultData.class); + //接收返回值,保存返回值 + logger.info("【TASKFORM】保存上报结果"); + List<String> errorIdList= new ArrayList<>(); + Data data = JSONObject.parseObject(CJRecordFromTaskResult.getData(), Data.class); + //保存失败结果 + if (ObjectUtils.isNotEmpty(data)){ + for (ErrorMsgDetails errorMsgDetail : data.getErrorMsgDetails()) { + errorIdList.add(errorMsgDetail.getId()); + } + } + logger.info("【TASKFORM】CJRecordFromTask数据上报结果:" + CJRecordFromTaskResult.getCode()); + //设置所有数据上报成功 + if (CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCCESS.getCode()) || CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){ + for (PreventCJReportCheckRecordFromTask CJRecordFromTask : CJRecordFromTasks) { + HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam(); + //封装数据 + handlerCJReportParam.setId(CJRecordFromTask.getId()); + handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_SUCCESS.getCode()); + handlerCJReportParam.setReportTime(date); + CJTaskRecordService.updateCJReportStatusById(handlerCJReportParam); + } + } + //设置上报失败的数据,上报失败 + if (CJRecordFromTaskResult.getCode().equals(CJReportEnum.FAIL.getCode()) || CJRecordFromTaskResult.getCode().equals(CJReportEnum.SUCESS_AND_FAIL.getCode())){ + for (String failId : errorIdList) { + //上报失败 + HandlerCJReportParam handlerCJReportParam = new HandlerCJReportParam(); + //封装数据 + handlerCJReportParam.setId(failId); + handlerCJReportParam.setReportStatus(SyncEnum.SYNC_EXEC_FAIL.getCode()); + handlerCJReportParam.setReportTime(date); + CJTaskRecordService.updateCJReportStatusById(handlerCJReportParam); + } + } + logger.info("【TASKFORM】任务记录-数据处理完成"); + }else { + logger.info("【TASKFORM】任务记录-无数据上报昌吉州"); + } + + + } + + + + @Scheduled(cron = "10 1/2 * * * ? ") + @Transactional + public void CJReportDateSchedule(){ + + Object o = redisUtils.get(TASK_SPE_REDIS_KEY); + if (ObjectUtils.isEmpty(o)){ + redisUtils.set(TASK_SPE_REDIS_KEY, preventReportConfigService.getSpecPushData() == null ? 1 : preventReportConfigService.getSpecPushData()); + }else { + Integer i = Integer.valueOf(o.toString()); + if (i == 1){ + logger.info("【特殊】数据生成TASKFORM未开启..."); + return; + } + } + /** + * 5、排查任务记录数据 PreventReportCheckRecordFromTask + * */ + //读取安全风险管控措施数据上报主配置信息 + PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode()); + //如果安全风险管控措施主配置开启上报 + if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())) { + + //logger.info("【##】5.检索排查任务记录数据..."); + logger.info("【Cratetaskform】5.检索排查任务记录数据..."); + + //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) + List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask(); + List<Long> taskIds = new ArrayList<>(); + //获取上报数据对象 + List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>(); + int tag = 0; +// HandlerReportParam handlerReportParam = new HandlerReportParam(); +// List<HandlerReportParam> handlerReportParamList = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(tasks)) { + //获取信息 + List<User> allUserList = trUserService.getAllUser(); + List<PreventRiskControlMeasure> allMeasureList = preventRiskControlMeasureService.getAllMeasureList(); + List<PreventTaskType> allTaskTypeList = taskTypeService.getAllTaskTypeList(); + //遍历,封装数据 + for (PreventRiskDangerCheckLog task : tasks) { + //获取任务记录主表信息 + HiddenDangerCheck hiddenDangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(task.getCheckId()); + //转换检查结果 + //如果已经执行过,进入方法 + if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1) { + + List<HiddenDangerCheckPoint> hiddenDangerCheckPointList = trHiddenDangerCheckPointService.getHiddenDangerCheckPointByCheckId(task.getCheckId()); + + //避免个别任务无检查点的情况 + if (ObjectUtils.isEmpty(hiddenDangerCheckPointList)) { + logger.info("【Cratetaskform】排查任务记录CJ:异常,无检查点..."); + } else { + for (HiddenDangerCheckPoint hiddenDangerCheckPoint : hiddenDangerCheckPointList) { + //获取上报数据对象 + PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask(); + CJRecordFromTask.setCheckStatus("0");// 0-正常;1-存在隐患;2-未处理;3-其他 + if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1) { + CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 + } + + User createUser = new User(); + User updateUser = new User(); +// createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy()); +// if(ObjectUtils.isEmpty(createUser)){ +// createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy()); +// } +// updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy()); + + + // todo 取出所有用户信息,再循环在匹配 + for (User user : allUserList) { + if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())) { + createUser = user; + } + if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())) { + updateUser = user; + } + } + if (ObjectUtils.isEmpty(createUser)) { + for (User user : allUserList) { + if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())) { + createUser = user; + } + } + } + + + //封装上报昌吉州的任务数据 +// String taskUuid = UUID.randomUUID().toString(); + CJRecordFromTask.setId(UUID.randomUUID().toString()); + CJRecordFromTask.setCompanyCode(companyCode); + CJRecordFromTask.setCreateBy(createUser.getUserName()); + CJRecordFromTask.setCreateDate(hiddenDangerCheckById.getCreateTime()); + CJRecordFromTask.setCreateByMobile(createUser.getPhonenumber()); + if (ObjectUtils.isEmpty(updateUser)) { + CJRecordFromTask.setUpdateBy(createUser.getUserName()); + CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getCreateTime()); + CJRecordFromTask.setUpdateByMobile(createUser.getPhonenumber()); + } else { + CJRecordFromTask.setUpdateBy(updateUser.getUserName()); + CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getUpdateTime()); + CJRecordFromTask.setUpdateByMobile(updateUser.getPhonenumber()); + } + + if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())) { + CJRecordFromTask.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 + } else { + CJRecordFromTask.setDeleted("0"); + } + CJRecordFromTask.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); + CJRecordFromTask.setReportTime(null); + CJRecordFromTask.setZhunReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); + CJRecordFromTask.setZhunReportTime(null); + CJRecordFromTask.setDataSource((byte) 1); + List<PreventRiskDangerCheckAndMeasure> baseCheckPointAndMeasure = riskDangerCheckAndMeasureService.getByBaseCheckPointId(hiddenDangerCheckPoint.getCheckPointId()); + //获取该条记录对应的管控措施id, + Long controlMeasureId = 1L; + for (PreventRiskDangerCheckAndMeasure checkAndMeasure : baseCheckPointAndMeasure) { + controlMeasureId = checkAndMeasure.getControlMeasureId(); + } +// //获取该条记录对应的管控措施uuid +// PreventRiskControlMeasure preventRiskControlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(controlMeasureId); +// //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid +// PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId()); +// CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId()); + // todo 取出所有措施,再循环在匹配 + boolean checkTaskIdExist = true; + for (PreventRiskControlMeasure measure : allMeasureList) { + if (controlMeasureId.equals(measure.getId())) { + //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid + + PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(measure.getUuid(), task.getJobId()); + try { + // if(preventCJReportCheckTaskFromWork!=null) { + CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId()); + //} + } catch (Exception e) { + checkTaskIdExist = false; + logger.info("chekcPointId={},PreventRiskDangerCheckLogId={},controlMeasureId={},measure uuid={},jobId={}", hiddenDangerCheckPoint.getId(), task.getId(), controlMeasureId, measure.getUuid(), task.getJobId()); + logger.error(e.getMessage()); + } + } + } + + if (!checkTaskIdExist) { + continue; + } + CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime()); + CJRecordFromTask.setTaskId(task.getCheckId()); + //第二版标准新增 + CJRecordFromTask.setMobileCode(task.getMobileCode().toString()); + + int typeTag = 0; +// List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId()); +// for (PreventTaskType typeByJobId : typeByJobIds) { +// if (typeByJobId.getType()!= 0) { +// typeTag = 1; +// } +// } + + // todo 取出所有任务信息表,再循环在匹配 + for (PreventTaskType taskType : allTaskTypeList) { + if (taskType.getJobId().equals(task.getJobId())) { + if (taskType.getType() != 0) { + typeTag = 1; + } + } + } + + + CJRecordFromTask.setDefend(String.valueOf(typeTag)); + //封装数据 + CJRecordFromTaskLists.add(CJRecordFromTask); + } + } + + //设置原始数据上报状态 +// handlerReportParam.setId(task.getId()); +// handlerReportParam.setReportTime(new Date()); +// handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); +// handlerReportParamList.add(handlerReportParam); +// preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam); + int i = 1; + taskIds.add(task.getId()); + tag++; + } + logger.info("【Cratetaskform】5.数据封装完成..."); + + } + } else { + logger.info("【Cratetaskform双重预防】当前无排查任务记录需要处理"); + } + + if (CJRecordFromTaskLists.size() > 0) { + logger.info("【Cratetaskform双重预防】排查任务记录CJ:数据处理..."); + + + //设置原始数据状态 + int taskUpdateResult = preventRiskDangerCheckLogService.updateTaskReportStatusByList(taskIds); + if (taskUpdateResult < taskIds.size()) { + logger.error("【Cratetaskform】排查任务记录CJ:数据处理开始taskIds...排查任务记录原始数据更新失败, 取消操作"); + throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录原始数据更新失败, 取消操作"); + } + int result = CJTaskRecordService.insertRecordList(CJRecordFromTaskLists); + if (result < CJRecordFromTaskLists.size()) { + logger.error("【Cratetaskform】排查任务记录CJ:数据处理开始taskIds...排查任务记录插入失败, 取消操作"); + throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败, 取消操作"); + } + + + } + } else { + logger.info("Cratetaskform排查任务记录数据上报已关闭"); + } + + } + + + +} diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java index 9af1e86..3988c76 100644 --- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java @@ -639,17 +639,12 @@ if (CJRecordFromTaskLists.size() > 0) { log.info("【双重预防】排查任务记录CJ:数据处理..."); - log.info("【双重预防】排查任务记录CJ:数据处理开始taskIds..." + JSONObject.toJSONString(taskIds)); - - //设置原始数据状态 int taskUpdateResult = preventRiskDangerCheckLogService.updateTaskReportStatusByList(taskIds); if (taskUpdateResult < taskIds.size()) { log.error("【双重预防】排查任务记录CJ:数据处理开始taskIds...排查任务记录原始数据更新失败, 取消操作"); throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录原始数据更新失败, 取消操作"); } - - log.info("【双重预防】排查任务记录CJ:数据处理开始CJRecordFromTaskLists..." + JSONObject.toJSONString(CJRecordFromTaskLists)); int result = CJTaskRecordService.insertRecordList(CJRecordFromTaskLists); if (result < CJRecordFromTaskLists.size()) { log.error("【双重预防】排查任务记录CJ:数据处理开始taskIds...排查任务记录插入失败, 取消操作"); diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventReportConfigService.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventReportConfigService.java index b2cd6a3..7deb51c 100644 --- a/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventReportConfigService.java +++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventReportConfigService.java @@ -20,4 +20,6 @@ * 数据上报配置-按照id查询 */ PreventReportConfig getReportConfigById(int Id); + + Integer getSpecPushData(); } diff --git a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventReportConfigServiceImpl.java b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventReportConfigServiceImpl.java index f3b8103..1e0b45f 100644 --- a/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventReportConfigServiceImpl.java +++ b/src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventReportConfigServiceImpl.java @@ -39,5 +39,10 @@ return preventReportConfigRepository.selectById(Id); } + @Override + public Integer getSpecPushData() { + return preventReportConfigRepository.getSpecPushData(); + } + } diff --git a/src/main/resources/mybatis/doublePrevention/PreventReportConfigMapper.xml b/src/main/resources/mybatis/doublePrevention/PreventReportConfigMapper.xml index 8c553bf..7e0630d 100644 --- a/src/main/resources/mybatis/doublePrevention/PreventReportConfigMapper.xml +++ b/src/main/resources/mybatis/doublePrevention/PreventReportConfigMapper.xml @@ -32,4 +32,8 @@ select * from prevent_report_config where id = #{id} </select> + + <select id="getSpecPushData" resultType="int"> + select report_state from spec_data_push + </select> </mapper> -- Gitblit v1.9.2