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