package com.gkhy.safePlatform.doublePrevention.scheduls;
|
|
import com.gkhy.safePlatform.account.rpc.apimodel.AccountAuthService;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.UserRPCRespDTO;
|
import com.gkhy.safePlatform.commons.enums.E;
|
import com.gkhy.safePlatform.commons.exception.AusinessException;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.doublePrevention.entity.*;
|
import com.gkhy.safePlatform.doublePrevention.entity.CJReport.*;
|
import com.gkhy.safePlatform.doublePrevention.enums.StatusEnum;
|
import com.gkhy.safePlatform.doublePrevention.enums.SyncEnum;
|
import com.gkhy.safePlatform.doublePrevention.repository.param.HandlerReportParam;
|
import com.gkhy.safePlatform.doublePrevention.repository.param.SearchReportDateParams;
|
import com.gkhy.safePlatform.doublePrevention.service.baseService.*;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.security.core.parameters.P;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.PostConstruct;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.UUID;
|
|
@Component
|
public class SearchReportDateSchedule {
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
@DubboReference(check = false)
|
private AccountAuthService accountAuthService;
|
|
@Autowired
|
private PreventReportConfigService preventReportConfigService;
|
@Autowired
|
private PreventReportConfigLogService preventReportConfigLogService;
|
@Autowired
|
private PreventReportRiskAnaUnitService riskAnaUnitService;
|
@Autowired
|
private PreventReportRiskEventService eventService;
|
@Autowired
|
private PreventReportRiskControlMeasureService measureService;
|
@Autowired
|
private PreventReportCheckTaskFromWorkService taskFromWorkService;
|
@Autowired
|
private PreventReportCheckRecordFromTaskService taskRecordService;
|
@Autowired
|
private PreventReportDangerInfoService dangerInfoService;
|
|
@Autowired
|
private PreventCJReportRiskAnaUnitService CJRiskAnaUnitService;
|
@Autowired
|
private PreventCJReportRiskEventService CJEventService;
|
@Autowired
|
private PreventCJReportRiskControlMeasureService CJMeasureService;
|
@Autowired
|
private PreventCJReportCheckTaskFromWorkService CJTaskFromWorkService;
|
@Autowired
|
private PreventCJReportCheckRecordFromTaskService CJTaskRecordService;
|
@Autowired
|
private PreventCJReportDangerInfoService CJDangerInfoService;
|
@Autowired
|
private PreventCJReportPointService CJPointService;
|
|
@Autowired
|
private PreventRiskAnaUnitService preventRiskUnitService;
|
@Autowired
|
private PreventRiskEventService preventRiskEventService;
|
@Autowired
|
private PreventRiskControlMeasureService preventRiskControlMeasureService;
|
@Autowired
|
private PreventDangerCheckContentService preventDangerCheckContentService;
|
@Autowired
|
private PreventRiskControlTemplateService preventRiskControlTemplateService;
|
@Autowired
|
private PreventDangerCheckWorkService preventDangerCheckWorkService;
|
@Autowired
|
private PreventDangerCheckTaskService preventDangerCheckTaskService;
|
@Autowired
|
private PreventDangerManageService preventDangerManageService;
|
@Autowired
|
private PreventDangerRectifyService preventDangerRectifyService;
|
@Autowired
|
private PreventWorkAndMeasureService preventWorkAndMeasureService;
|
@Autowired
|
private PreventTaskAndMeasureService preventTaskAndMeasureService;
|
|
|
@Transactional
|
//@Scheduled(cron = "0 0/1 * * * ?")
|
public void searchReportDate(){
|
|
logger.info("【双重预防】定时检索需要上报数据...");
|
int step = 1;
|
String companyCode = "652310082";
|
|
/**
|
* 1、检索风险分析单元
|
* */
|
//读取风险分析单元数据上报主配置信息
|
PreventReportConfig unitReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode());
|
//如果主配置开启上报,开始
|
if (unitReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
|
// logger.info("【##】1.检索风险分析单元...");
|
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventRiskAnaUnit> riskAnaUnitList = preventRiskUnitService.listRiskAnaUnit();
|
//获取上报数据list
|
List<PreventReportRiskAnaUnit> unitLists = new ArrayList<>();
|
List<PreventCJReportRiskAnaUnit> CJUnitLists = new ArrayList<>();
|
if (ObjectUtils.isNotEmpty(riskAnaUnitList)){
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
//遍历,封装数据
|
for (PreventRiskAnaUnit riskAnaUnit : riskAnaUnitList) {
|
// String riskAnaUnitUuid = UUID.randomUUID().toString();
|
//获取上报数据对象
|
PreventCJReportRiskAnaUnit CJReportRiskAnaUnit = new PreventCJReportRiskAnaUnit();
|
PreventReportRiskAnaUnit reportRiskAnaUnit = new PreventReportRiskAnaUnit();
|
//封装上报应急厅的风险分析单元数据
|
reportRiskAnaUnit.setId(riskAnaUnit.getUuid());
|
reportRiskAnaUnit.setCompanyCode(companyCode);
|
reportRiskAnaUnit.setRiskUnitName(riskAnaUnit.getRiskUnitName());
|
reportRiskAnaUnit.setHazardCode(riskAnaUnit.getRiskCode());
|
reportRiskAnaUnit.setHazardDep(riskAnaUnit.getLiableDep());
|
reportRiskAnaUnit.setHazardLiablePerson(riskAnaUnit.getLiablePerson());
|
if (riskAnaUnit.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportRiskAnaUnit.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportRiskAnaUnit.setDeleted(riskAnaUnit.getDeleteStatus().toString());
|
}
|
reportRiskAnaUnit.setCreateBy(riskAnaUnit.getCreateByUserName());
|
reportRiskAnaUnit.setCreateDate(riskAnaUnit.getGmtCreate());
|
reportRiskAnaUnit.setUpdateBy(riskAnaUnit.getLastEditUserName());
|
reportRiskAnaUnit.setUpdateDate(riskAnaUnit.getGmtModitify());
|
reportRiskAnaUnit.setDataSource((byte) 1);
|
reportRiskAnaUnit.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
reportRiskAnaUnit.setReportTime(null);
|
reportRiskAnaUnit.setRiskUnitId(riskAnaUnit.getId());
|
//封装上报昌吉州的风险分析单元数据
|
CJReportRiskAnaUnit.setId(riskAnaUnit.getUuid());
|
CJReportRiskAnaUnit.setCompanyCode(companyCode);
|
CJReportRiskAnaUnit.setRiskUnitName(riskAnaUnit.getRiskUnitName());
|
CJReportRiskAnaUnit.setHazardCode(riskAnaUnit.getRiskCode());
|
CJReportRiskAnaUnit.setHazardDep(riskAnaUnit.getLiableDep());
|
CJReportRiskAnaUnit.setHazardLiablePerson(riskAnaUnit.getLiablePerson());
|
if (riskAnaUnit.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportRiskAnaUnit.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportRiskAnaUnit.setDeleted(riskAnaUnit.getDeleteStatus().toString());
|
}
|
CJReportRiskAnaUnit.setCreateBy(riskAnaUnit.getCreateByUserName());
|
CJReportRiskAnaUnit.setCreateDate(riskAnaUnit.getGmtCreate());
|
CJReportRiskAnaUnit.setUpdateBy(riskAnaUnit.getLastEditUserName());
|
CJReportRiskAnaUnit.setUpdateDate(riskAnaUnit.getGmtModitify());
|
CJReportRiskAnaUnit.setDataSource((byte) 1);
|
CJReportRiskAnaUnit.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJReportRiskAnaUnit.setReportTime(null);
|
CJReportRiskAnaUnit.setRiskUnitId(riskAnaUnit.getId());
|
//封装数据
|
unitLists.add(reportRiskAnaUnit);
|
CJUnitLists.add(CJReportRiskAnaUnit);
|
//修改原始数据状态为待上传
|
handlerReportParam.setId(riskAnaUnit.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventRiskUnitService.updateReportStatus(handlerReportParam);
|
}
|
}else {
|
logger.info("【双重预防】当前无风险分析单元数据需要处理");
|
}
|
//写入应急厅转换表
|
for (PreventReportRiskAnaUnit unitList : unitLists) {
|
riskAnaUnitService.insertUnitList(unitList);
|
logger.info("【双重预防】1.风险分析单元:数据处理...");
|
}
|
//写入昌吉州转换表
|
for (PreventCJReportRiskAnaUnit CJUnit : CJUnitLists) {
|
CJRiskAnaUnitService.insertUnitList(CJUnit);
|
logger.info("【双重预防】1.风险分析单元CJ:数据处理...");
|
}
|
step = 2;
|
}else {
|
step = 2;
|
logger.info("风险分析单元数据上报已关闭");
|
}
|
|
|
/**
|
* 2、检索安全风险事件数据
|
* */
|
//读取风险分析单元数据上报主配置信息
|
PreventReportConfig eventReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_EVENT.getCode());
|
//如果风险事件主配置开启上报
|
if (eventReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
|
//logger.info("【##】2.检索安全风险事件...");
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventRiskEvent> riskEvents = preventRiskEventService.listReportEvent();
|
//获取上报数据对象与list
|
List<PreventReportRiskEvent> eventLists = new ArrayList<>();
|
List<PreventCJReportRiskEvent> CJEventLists = new ArrayList<>();
|
if (ObjectUtils.isNotEmpty(riskEvents)){
|
//遍历,封装数据
|
for (PreventRiskEvent riskEvent : riskEvents) {
|
//String eventUuid = UUID.randomUUID().toString();
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
PreventReportRiskEvent reportRiskEvent = new PreventReportRiskEvent();
|
PreventCJReportRiskEvent CJReportRiskEvent = new PreventCJReportRiskEvent();
|
//封装上报应急厅风险事件数据
|
reportRiskEvent.setId(riskEvent.getUuid());
|
reportRiskEvent.setCompanyCode(companyCode);
|
if (riskEvent.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportRiskEvent.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportRiskEvent.setDeleted(riskEvent.getDeleteStatus().toString());
|
}
|
reportRiskEvent.setCreateBy(riskEvent.getCreateByUserName());
|
reportRiskEvent.setCreateDate(riskEvent.getGmtCreate());
|
reportRiskEvent.setUpdateBy(riskEvent.getCreateByUserName());
|
reportRiskEvent.setUpdateDate(riskEvent.getGmtModitify());
|
reportRiskEvent.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
reportRiskEvent.setReportTime(null);
|
reportRiskEvent.setDataSource((byte) 1);
|
reportRiskEvent.setRiskUnitId(riskEvent.getRiskUnitUuid());
|
reportRiskEvent.setRiskEventName(riskEvent.getRiskEventName());
|
reportRiskEvent.setRiskEventId(riskEvent.getId());
|
//封装上报昌吉州风险事件数据
|
CJReportRiskEvent.setId(riskEvent.getUuid());
|
CJReportRiskEvent.setCompanyCode(companyCode);
|
if (riskEvent.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportRiskEvent.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportRiskEvent.setDeleted(riskEvent.getDeleteStatus().toString());
|
}
|
CJReportRiskEvent.setCreateBy(riskEvent.getCreateByUserName());
|
CJReportRiskEvent.setCreateDate(riskEvent.getGmtCreate());
|
CJReportRiskEvent.setUpdateBy(riskEvent.getCreateByUserName());
|
CJReportRiskEvent.setUpdateDate(riskEvent.getGmtModitify());
|
CJReportRiskEvent.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJReportRiskEvent.setReportTime(null);
|
CJReportRiskEvent.setDataSource((byte) 1);
|
CJReportRiskEvent.setRiskUnitId(riskEvent.getRiskUnitUuid());
|
CJReportRiskEvent.setRiskEventName(riskEvent.getRiskEventName());
|
CJReportRiskEvent.setRiskEventId(riskEvent.getId());
|
//封装数据
|
eventLists.add(reportRiskEvent);
|
CJEventLists.add(CJReportRiskEvent);
|
//设置原始数据上报状态
|
handlerReportParam.setId(riskEvent.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventRiskEventService.updateEventReportStatus(handlerReportParam);
|
}
|
}else {
|
logger.info("【双重预防】当前无安全风险事件数据需要处理");
|
}
|
//写入应急厅转换表
|
int eventTag;
|
for (PreventReportRiskEvent eventList : eventLists) {
|
int result = eventService.insertEventLists(eventList);
|
logger.info("【双重预防】2.风险分析事件:数据处理...");
|
}
|
//写入昌吉州转换表
|
for (PreventCJReportRiskEvent CJEvent : CJEventLists) {
|
CJEventService.insertEventLists(CJEvent);
|
logger.info("【双重预防】2.风险分析事件CJ:数据处理...");
|
}
|
step = 3;
|
}else {
|
step = 3;
|
logger.info("安全风险事件数据上报已关闭");
|
}
|
|
/**
|
* 3、检索安全风险管控措施数据
|
* */
|
//读取安全风险管控措施数据上报主配置信息
|
PreventReportConfig measureReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_MEASURE.getCode());
|
//如果安全风险管控措施主配置开启上报
|
if (measureReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
//logger.info("{【##】3.检索安全风险管控措施...");
|
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventRiskControlMeasure> measures = preventRiskControlMeasureService.listReportMeasure();
|
//获取上报数据list
|
List<PreventReportRiskControlMeasure> measureLists = new ArrayList<>();
|
List<PreventCJReportRiskControlMeasure> CJMeasureLists = new ArrayList<>();
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
|
if (ObjectUtils.isNotEmpty(measures)){
|
//遍历,封装数据
|
for (PreventRiskControlMeasure measure : measures) {
|
String measureUuid = UUID.randomUUID().toString();
|
//获取上报数据对象
|
PreventReportRiskControlMeasure reportMeasure = new PreventReportRiskControlMeasure();
|
PreventCJReportRiskControlMeasure CJReportMeasure = new PreventCJReportRiskControlMeasure();
|
//转换数据
|
PreventRiskControlTemplate controlTemplateById = preventRiskControlTemplateService.getControlTemplateById(measure.getClassify2());
|
String classify2 = measure.getClassify1() + "-" + controlTemplateById.getOrderIndex();
|
//封装上报应急厅管控措施数据
|
reportMeasure.setId(measure.getUuid());
|
reportMeasure.setCompanyCode(companyCode);
|
if (measure.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportMeasure.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportMeasure.setDeleted(measure.getDeleteStatus().toString());
|
}
|
reportMeasure.setCreateBy(measure.getCreateByUserName());
|
reportMeasure.setCreateDate(measure.getGmtCreate());
|
reportMeasure.setUpdateBy(measure.getCreateByUserName());
|
reportMeasure.setUpdateDate(measure.getGmtModitify());
|
reportMeasure.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
reportMeasure.setReportTime(null);
|
reportMeasure.setDataSource((byte) 1);
|
reportMeasure.setRiskEventId(measure.getRiskEventUuid());
|
reportMeasure.setRiskMeasureDesc(measure.getMeasureDesc());
|
reportMeasure.setDataSrc(measure.getControlType().toString());
|
reportMeasure.setClassify1(measure.getClassify1().toString());
|
reportMeasure.setClassify2(classify2);
|
reportMeasure.setClassify3(measure.getClassify3());
|
reportMeasure.setRiskMeasureId(measure.getId());
|
PreventDangerCheckContent contentByMeasureId = preventDangerCheckContentService.getCheckContentByMeasureId(measure.getId());
|
reportMeasure.setTroubleshootContent(contentByMeasureId.getCheckContent());
|
//封装上报昌吉州管控措施数据
|
CJReportMeasure.setId(measure.getUuid());
|
CJReportMeasure.setCompanyCode(companyCode);
|
if (measure.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJReportMeasure.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJReportMeasure.setDeleted(measure.getDeleteStatus().toString());
|
}
|
CJReportMeasure.setCreateBy(measure.getCreateByUserName());
|
CJReportMeasure.setCreateDate(measure.getGmtCreate());
|
CJReportMeasure.setUpdateBy(measure.getCreateByUserName());
|
CJReportMeasure.setUpdateDate(measure.getGmtModitify());
|
CJReportMeasure.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJReportMeasure.setReportTime(null);
|
CJReportMeasure.setDataSource((byte) 1);
|
CJReportMeasure.setRiskEventId(measure.getRiskEventUuid());
|
CJReportMeasure.setRiskMeasureDesc(measure.getMeasureDesc());
|
CJReportMeasure.setDataSrc(measure.getControlType().toString());
|
CJReportMeasure.setClassify1(measure.getClassify1().toString());
|
CJReportMeasure.setClassify2(classify2);
|
CJReportMeasure.setClassify3(measure.getClassify3());
|
CJReportMeasure.setRiskMeasureId(measure.getId());
|
CJReportMeasure.setTroubleshootContent(contentByMeasureId.getCheckContent());
|
//封装数据
|
measureLists.add(reportMeasure);
|
CJMeasureLists.add(CJReportMeasure);
|
//设置原始数据上报状态
|
handlerReportParam.setId(measure.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventRiskControlMeasureService.updateMeasureReportStatus(handlerReportParam);
|
}
|
}else {
|
logger.info("【双重预防】当前无安全风险管控措施数据需要处理");
|
}
|
|
step = 4;
|
//写入上报应急厅转换表
|
for (PreventReportRiskControlMeasure measureList : measureLists) {
|
measureService.insertMeasureList(measureList);
|
logger.info("【双重预防】3.安全风险管控措施:数据处理...");
|
}
|
//写入上报昌吉州转换表
|
for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasureLists) {
|
CJMeasureService.insertMeasureList(CJMeasure);
|
logger.info("【双重预防】3.安全风险管控措施CJ:数据处理...");
|
}
|
}else {
|
step = 4;
|
logger.info("安全风险管控措施数据上报已关闭");
|
}
|
|
/**
|
* 4、检索 任务配置 数据 prevent_report_check_record_from_task
|
* 本数据以 todo
|
* */
|
//读取任务配置数据上报主配置信息
|
PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
|
//如果任务配置主配置开启上报
|
if (workReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
// logger.info("【##】4.检索任务配置...");
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventDangerCheckWork> works = preventDangerCheckWorkService.listReportWork();
|
//获取上报数据对象与list
|
List<PreventReportCheckTaskFromWork> taskFromWorkLists = new ArrayList<>();
|
List<PreventCJReportCheckTaskFromWork> CJTaskFromWorkLists = new ArrayList<>();
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
|
if (ObjectUtils.isNotEmpty(works)){
|
//遍历,封装数据
|
for (PreventDangerCheckWork work : works) {
|
List<PreventWorkAndMeasure> workAndMeasureLists = preventWorkAndMeasureService.getWorkAndMeasureByWorkUuid(work.getUuid());
|
for (PreventWorkAndMeasure workAndMeasure : workAndMeasureLists) {
|
PreventReportCheckTaskFromWork taskFromWork = new PreventReportCheckTaskFromWork();
|
PreventCJReportCheckTaskFromWork CJTaskFromWork = new PreventCJReportCheckTaskFromWork();
|
//查询措施
|
PreventRiskControlMeasure controlMeasure = preventRiskControlMeasureService.getControlMeasureByUuid(workAndMeasure.getMeasureUuid());
|
String taskFromWorkUuid = UUID.randomUUID().toString();
|
PreventDangerCheckContent checkContent = preventDangerCheckContentService.getCheckContentByMeasureId(controlMeasure.getId());
|
//封装上报应急厅任务配置数据
|
taskFromWork.setId(work.getUuid());
|
taskFromWork.setCompanyCode(companyCode);
|
if (work.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJTaskFromWork.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJTaskFromWork.setDeleted(work.getDeleteStatus().toString());
|
}
|
taskFromWork.setCreateBy(work.getCreateByUserName());
|
taskFromWork.setCreateDate(work.getGmtCreate());
|
taskFromWork.setUpdateBy(work.getCreateByUserName());
|
taskFromWork.setUpdateDate(work.getGmtModitify());
|
taskFromWork.setCheckCycle(work.getCheckCycle());
|
taskFromWork.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
taskFromWork.setReportTime(null);
|
taskFromWork.setDataSource((byte) 1);
|
taskFromWork.setCheckCycleUnit(work.getCheckCycleUnit().toString());
|
taskFromWork.setRiskMeasureId(workAndMeasure.getMeasureUuid());
|
taskFromWork.setTroubleshootContent(checkContent.getCheckContent());
|
taskFromWork.setWorkId(work.getId());
|
//封装上报昌吉州任务配置数据
|
CJTaskFromWork.setId(work.getUuid());
|
CJTaskFromWork.setCompanyCode(companyCode);
|
if (work.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJTaskFromWork.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJTaskFromWork.setDeleted(work.getDeleteStatus().toString());
|
}
|
CJTaskFromWork.setCreateBy(work.getCreateByUserName());
|
CJTaskFromWork.setCreateDate(work.getGmtCreate());
|
CJTaskFromWork.setUpdateBy(work.getCreateByUserName());
|
CJTaskFromWork.setUpdateDate(work.getGmtModitify());
|
CJTaskFromWork.setCheckCycle(work.getCheckCycle());
|
CJTaskFromWork.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJTaskFromWork.setReportTime(null);
|
CJTaskFromWork.setDataSource((byte) 1);
|
CJTaskFromWork.setCheckCycleUnit(work.getCheckCycleUnit().toString());
|
CJTaskFromWork.setRiskMeasureId(workAndMeasure.getMeasureUuid());
|
CJTaskFromWork.setWorkId(work.getId());
|
//封装数据
|
taskFromWorkLists.add(taskFromWork);
|
CJTaskFromWorkLists.add(CJTaskFromWork);
|
//设置原始数据上报状态
|
handlerReportParam.setId(work.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventDangerCheckWorkService.updateWorkReportStatus(handlerReportParam);
|
|
}
|
}
|
}else {
|
logger.info("【双重预防】当前无任务配置数据需要处理");
|
}
|
//写入上报应急厅数据转换表
|
for (PreventReportCheckTaskFromWork taskFromWorks : taskFromWorkLists) {
|
taskFromWorkService.insertTaskFromWorkList(taskFromWorks);
|
logger.info("【双重预防】任务配置:数据处理...");
|
}
|
//写入上报昌吉州数据转换表
|
for (PreventCJReportCheckTaskFromWork CJTaskFromWorks : CJTaskFromWorkLists) {
|
CJTaskFromWorkService.insertTaskFromWorkList(CJTaskFromWorks);
|
logger.info("【双重预防】任务配置CJ:数据处理...");
|
}
|
}else {
|
step = 5;
|
logger.info("任务配置数据上报已关闭");
|
}
|
|
|
/**
|
* 5、排查任务记录数据 PreventReportCheckRecordFromTask
|
* */
|
//读取安全风险管控措施数据上报主配置信息
|
PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode());
|
//如果安全风险管控措施主配置开启上报
|
if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
|
//logger.info("【##】5.检索排查任务记录数据...");
|
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventDangerCheckTask> tasks = preventDangerCheckTaskService.listReportTask();
|
//获取上报数据对象
|
List<PreventReportCheckRecordFromTask> recordFromTaskLists = new ArrayList<>();
|
List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>();
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
if (ObjectUtils.isNotEmpty(tasks)){
|
//遍历,封装数据
|
for (PreventDangerCheckTask task : tasks) {
|
//创建人
|
PreventDangerCheckWork workById = preventDangerCheckWorkService.getWorkById(task.getCheckWorkId());
|
ResultVO<UserRPCRespDTO> rpcCreateUserResult = accountAuthService.getUserById(workById.getCreateByUserId());
|
UserRPCRespDTO createUser = (UserRPCRespDTO)rpcCreateUserResult.getData();
|
//修改人-执行人
|
ResultVO<UserRPCRespDTO> rpcExecUserResult = accountAuthService.getUserById(task.getExecUserId());
|
UserRPCRespDTO execUser = (UserRPCRespDTO)rpcExecUserResult.getData();
|
//获取上报数据对象
|
PreventReportCheckRecordFromTask recordFromTask = new PreventReportCheckRecordFromTask();
|
PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask();
|
String recordFromTaskUuid = UUID.randomUUID().toString();
|
//转换检查结果
|
String checkStatus = null;
|
if (ObjectUtils.isEmpty(task.getResult() )){
|
checkStatus = "2";
|
}else if (task.getResult() == 2){
|
checkStatus = "1";
|
}else if (task.getResult() == 1){
|
checkStatus = "0";
|
}
|
//封装上报应急厅的任务数据
|
recordFromTask.setId(task.getUuid());
|
recordFromTask.setCompanyCode(companyCode);
|
if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJRecordFromTask.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJRecordFromTask.setDeleted(task.getDeleteStatus().toString());
|
}
|
recordFromTask.setCreateBy(task.getCreateUserName());
|
recordFromTask.setCreateDate(task.getGmtCreate());
|
recordFromTask.setUpdateBy(task.getExecUserName());
|
recordFromTask.setUpdateDate(task.getGmtModitify());
|
recordFromTask.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
recordFromTask.setReportTime(null);
|
recordFromTask.setDataSource((byte) 1);
|
recordFromTask.setCheckTaskId(task.getCheckWorkUuid());
|
recordFromTask.setCheckStatus(checkStatus);
|
recordFromTask.setCheckTime(task.getStartTime());
|
recordFromTask.setTaskId(task.getId());
|
if (ObjectUtils.isEmpty(execUser.getPhone())){
|
recordFromTask.setUpdateByMobile(null);
|
}else {
|
recordFromTask.setUpdateByMobile(execUser.getPhone());
|
}
|
if (ObjectUtils.isEmpty(createUser.getPhone())){
|
recordFromTask.setCreateByMobile(null);
|
}else {
|
recordFromTask.setCreateByMobile(createUser.getPhone());
|
}
|
//封装上报昌吉州的任务数据
|
CJRecordFromTask.setId(task.getUuid());
|
CJRecordFromTask.setCompanyCode(companyCode);
|
CJRecordFromTask.setDeleted(task.getDeleteStatus().toString());
|
CJRecordFromTask.setCreateBy(task.getCreateUserName());
|
CJRecordFromTask.setCreateDate(task.getGmtCreate());
|
CJRecordFromTask.setUpdateBy(task.getExecUserName());
|
if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJRecordFromTask.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJRecordFromTask.setDeleted(task.getDeleteStatus().toString());
|
}
|
CJRecordFromTask.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJRecordFromTask.setReportTime(null);
|
CJRecordFromTask.setDataSource((byte) 1);
|
CJRecordFromTask.setCheckTaskId(task.getCheckWorkUuid());
|
CJRecordFromTask.setCheckStatus(checkStatus);
|
CJRecordFromTask.setCheckTime(task.getStartTime());
|
CJRecordFromTask.setTaskId(task.getId());
|
if (ObjectUtils.isEmpty(execUser.getPhone())){
|
CJRecordFromTask.setUpdateByMobile(null);
|
}else {
|
CJRecordFromTask.setUpdateByMobile(execUser.getPhone());
|
}
|
if (ObjectUtils.isEmpty(createUser.getPhone())){
|
CJRecordFromTask.setCreateByMobile(null);
|
}else {
|
CJRecordFromTask.setCreateByMobile(createUser.getPhone());
|
}
|
//封装数据
|
recordFromTaskLists.add(recordFromTask);
|
CJRecordFromTaskLists.add(CJRecordFromTask);
|
//设置原始数据上报状态
|
handlerReportParam.setId(task.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventDangerCheckTaskService.updateTaskReportStatus(handlerReportParam);
|
}
|
}else {
|
logger.info("【双重预防】当前无排查任务记录需要处理");
|
}
|
//插入上报应急厅转换表
|
for (PreventReportCheckRecordFromTask recordFromTasks : recordFromTaskLists) {
|
int result = taskRecordService.insert(recordFromTasks);
|
if (result < 0){
|
throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败");
|
}
|
logger.info("【双重预防】排查任务记录:数据处理...");
|
}
|
//插入上报昌吉州转换表
|
for (PreventCJReportCheckRecordFromTask CJRecordFromTasks : CJRecordFromTaskLists) {
|
int result = CJTaskRecordService.insert(CJRecordFromTasks);
|
if (result < 0){
|
throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败");
|
}
|
logger.info("【双重预防】排查任务记录CJ:数据处理...");
|
}
|
step = 6;
|
}else {
|
step = 6;
|
logger.info("排查任务记录数据上报已关闭");
|
}
|
|
/**
|
* 6、隐患信息数据
|
* */
|
//读取安全风险管控措施数据上报主配置信息
|
PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
|
//如果安全风险管控措施主配置开启上报
|
if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
|
//logger.info("【##】4.检索隐患信息数据...");
|
|
//查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
List<PreventDangerManage> dangerManages = preventDangerManageService.listReportDanger();
|
//获取上报数据list
|
|
List<PreventReportDangerInfo> dangerInfoLists = new ArrayList<>();
|
List<PreventCJReportDangerInfo> CJDangerInfoLists = new ArrayList<>();
|
if (ObjectUtils.isNotEmpty(dangerManages)){
|
HandlerReportParam handlerReportParam = new HandlerReportParam();
|
//遍历,封装数据
|
for (PreventDangerManage dangerManage : dangerManages) {
|
String dangerInfoUuid = UUID.randomUUID().toString();
|
//获取上报数据对象
|
PreventReportDangerInfo dangerInfo = new PreventReportDangerInfo();
|
PreventCJReportDangerInfo CJDangerInfo = new PreventCJReportDangerInfo();
|
PreventDangerRectify rectify = preventDangerRectifyService.getRectifyByManageIdForReport(dangerManage.getId());
|
|
//DangerLevel转换,减一
|
Integer level = dangerManage.getDangerLevel() - 1;
|
//DangerManageType = rectify.getRectifyType()
|
Integer manageType = dangerManage.getDangerType() - 1;
|
//封装上报应急厅的隐患数据
|
dangerInfo.setId(dangerManage.getUuid());
|
dangerInfo.setCompanyCode(companyCode);
|
if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJDangerInfo.setDeleted(dangerManage.getDeleteStatus().toString());
|
}
|
dangerInfo.setCreateBy(dangerManage.getCreateByUserName());
|
dangerInfo.setCreateDate(dangerManage.getGmtCreate());
|
dangerInfo.setUpdateBy(dangerManage.getLastEditUserName());
|
dangerInfo.setUpdateDate(dangerManage.getGmtModitify());
|
dangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
dangerInfo.setReportTime(null);
|
dangerInfo.setDataSource((byte) 1);
|
if (dangerManage.getRiskUnitId() != null){
|
PreventRiskAnaUnit riskUnit = preventRiskUnitService.getRiskUnitById(dangerManage.getRiskUnitId());
|
//封装上报应急厅的隐患数据
|
dangerInfo.setHazardCode(riskUnit.getRiskCode());//风险分析对象编码
|
//封装上报昌吉州的隐患数据
|
CJDangerInfo.setHazardCode(riskUnit.getRiskCode());//风险分析对象编码
|
}else {
|
//封装上报应急厅的隐患数据
|
dangerInfo.setHazardCode(null);//风险分析对象编码
|
//封装上报昌吉州的隐患数据
|
CJDangerInfo.setHazardCode(null);//风险分析对象编码
|
}
|
PreventDangerCheckTask task = preventDangerCheckTaskService.getTaskById(dangerManage.getTaskId());
|
if (ObjectUtils.isNotEmpty(task)){
|
PreventTaskAndMeasure taskAndMeasureByTaskId = preventTaskAndMeasureService.getTaskAndMeasureByTaskId(task.getId());
|
PreventRiskControlMeasure controlMeasure = preventRiskControlMeasureService.getControlMeasureById(taskAndMeasureByTaskId.getControlMeasureId());
|
//封装上报应急厅的隐患数据
|
dangerInfo.setCheckRecordId(task.getUuid());//隐患排查任务记录uuid
|
dangerInfo.setRiskMeasureId(controlMeasure.getUuid());//管控措施uuid
|
//封装上报昌吉州的隐患数据
|
CJDangerInfo.setCheckRecordId(task.getUuid());//隐患排查任务记录uuid
|
CJDangerInfo.setRiskMeasureId(controlMeasure.getUuid());//管控措施uuid
|
}else {
|
dangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid
|
dangerInfo.setRiskMeasureId(null);//管控措施uuid
|
//封装上报昌吉州的隐患数据
|
CJDangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid
|
CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
|
}
|
dangerInfo.setDangerName(dangerManage.getDangerCode());//隐患名称--DangerCode
|
dangerInfo.setDangerLevel(level.toString());//隐患等级
|
dangerInfo.setDangerSrc(dangerManage.getDangerSource().toString());//隐患来源
|
dangerInfo.setDangerManageType(rectify.getRectifyType().toString());//隐患治理类型
|
dangerInfo.setDangerDesc(dangerManage.getDangerDesc());//隐患描述
|
dangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
|
dangerInfo.setControlMeasures(rectify.getRectifyDesc());//控制措施 ,整改措施
|
dangerInfo.setCost(rectify.getCost().toString());//资金
|
dangerInfo.setDangerManageDeadline(rectify.getRectifyTime());//治理期限
|
dangerInfo.setDangerState(dangerManage.getDangerStatus().toString());//隐患状态
|
dangerInfo.setHazardDangerType(dangerManage.getDangerType().toString());//隐患类型
|
dangerInfo.setRegistrant(dangerManage.getCreateByUserName());//登记人
|
dangerInfo.setRegistTime(dangerManage.getGmtCreate());//登记时间
|
dangerInfo.setLiablePerson(rectify.getLiablePerson());//整改责任人
|
dangerInfo.setCheckAcceptPerson(rectify.getCheckAcceptPerson());//验收人
|
dangerInfo.setCheckAcceptComment(rectify.getCheckAcceptDesc());//验收情况
|
dangerInfo.setCheckAcceptTime(rectify.getCheckAcceptTime());//验收时间
|
dangerInfo.setDangerManagerId(dangerManage.getId());
|
//封装上报昌吉州的隐患数据
|
CJDangerInfo.setId(dangerManage.getUuid());
|
CJDangerInfo.setCompanyCode(companyCode);
|
if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
|
CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
|
}else {
|
CJDangerInfo.setDeleted(dangerManage.getDeleteStatus().toString());
|
}
|
CJDangerInfo.setCreateBy(dangerManage.getCreateByUserName());
|
CJDangerInfo.setCreateDate(dangerManage.getGmtCreate());
|
CJDangerInfo.setUpdateBy(dangerManage.getLastEditUserName());
|
CJDangerInfo.setUpdateDate(dangerManage.getGmtModitify());
|
CJDangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
CJDangerInfo.setReportTime(null);
|
CJDangerInfo.setDataSource((byte) 1);
|
CJDangerInfo.setDangerName(dangerManage.getDangerCode());//隐患名称--DangerCode
|
CJDangerInfo.setDangerLevel(level.toString());//隐患等级
|
CJDangerInfo.setDangerSrc(dangerManage.getDangerSource().toString());//隐患来源
|
CJDangerInfo.setDangerManageType(rectify.getRectifyType().toString());//隐患治理类型
|
CJDangerInfo.setDangerDesc(dangerManage.getDangerDesc());//隐患描述
|
CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
|
CJDangerInfo.setControlMeasures(rectify.getRectifyDesc());//控制措施 ,整改措施
|
CJDangerInfo.setCost(rectify.getCost().toString());//资金
|
CJDangerInfo.setDangerManageDeadline(rectify.getRectifyTime());//治理期限
|
CJDangerInfo.setDangerState(dangerManage.getDangerStatus().toString());//隐患状态
|
CJDangerInfo.setHazardDangerType(dangerManage.getDangerType().toString());//隐患类型
|
CJDangerInfo.setRegistrant(dangerManage.getCreateByUserName());//登记人
|
CJDangerInfo.setRegistTime(dangerManage.getGmtCreate());//登记时间
|
CJDangerInfo.setLiablePerson(rectify.getLiablePerson());//整改责任人
|
CJDangerInfo.setCheckAcceptPerson(rectify.getCheckAcceptPerson());//验收人
|
CJDangerInfo.setCheckAcceptComment(rectify.getCheckAcceptDesc());//验收情况
|
CJDangerInfo.setCheckAcceptTime(rectify.getCheckAcceptTime());//验收时间
|
CJDangerInfo.setDangerManagerId(dangerManage.getId());
|
//封装数据
|
dangerInfoLists.add(dangerInfo);
|
CJDangerInfoLists.add(CJDangerInfo);
|
//设置原始数据上报状态
|
handlerReportParam.setId(dangerManage.getId());
|
handlerReportParam.setReportTime(new Date());
|
handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
preventDangerManageService.updateManageReportStatus(handlerReportParam);
|
preventDangerRectifyService.updateRectifyReportStatus(handlerReportParam);
|
}
|
}else {
|
logger.info("【双重预防】当前无隐患信息需要处理");
|
}
|
//插入上报应急厅转换表
|
for (PreventReportDangerInfo danger : dangerInfoLists) {
|
logger.info("【双重预防】隐患信息插入...");
|
int result = dangerInfoService.insert(danger);
|
if (result < 0){
|
throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
|
}
|
logger.info("【双重预防】隐患信息:数据处理...");
|
}
|
//插入上报昌吉州转换表
|
for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) {
|
logger.info("【双重预防】隐患信息插入...");
|
int result = CJDangerInfoService.insert(CJDanger);
|
if (result < 0){
|
throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
|
}
|
logger.info("【双重预防】隐患信息:数据处理...");
|
}
|
}else {
|
logger.info("隐患信息数据上报已关闭");
|
}
|
|
// TODO 目前应急厅没有风险点概念,此处暂时不写。目前看,风险点概念,类似管控措施,对用某个具体的风险位置
|
// /**
|
// * 7、检索风险点-(可能对应风险管控措施?)数据
|
// * */
|
// //读取风险分析单元数据上报主配置信息
|
// PreventReportConfig pointReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_POINT_INFO.getCode());
|
// //如果风险事件主配置开启上报
|
// if (pointReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
|
// //logger.info("【##】2.检索安全风险事件...");
|
// //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
|
// List<PreventRiskEvent> riskEvents = preventRiskEventService.listReportEvent();
|
// //获取上报数据对象与list
|
// List<PreventCJReportPoint> CJPointLists = new ArrayList<>();
|
// if (ObjectUtils.isNotEmpty(riskEvents)){
|
// //遍历,封装数据
|
// for (PreventRiskEvent riskEvent : riskEvents) {
|
// String pointUuid = UUID.randomUUID().toString();
|
// HandlerReportParam handlerReportParam = new HandlerReportParam();
|
// PreventCJReportPoint CJReportPoint = new PreventCJReportPoint();
|
// //TODO 公司编码,暂时没有
|
// //封装上报昌吉州风险事件数据
|
// CJReportPoint.setId(pointUuid);
|
// CJReportPoint.setCompanyCode("test001");
|
// CJReportPoint.setDeleted(riskEvent.getDeleteStatus().toString());
|
// CJReportPoint.setCreateBy(riskEvent.getCreateByUserName());
|
// CJReportPoint.setCreateDate(riskEvent.getGmtCreate());
|
// CJReportPoint.setUpdateBy(riskEvent.getCreateByUserName());
|
// CJReportPoint.setUpdateDate(riskEvent.getGmtModitify());
|
// CJReportPoint.setRiskUnitIds();
|
// CJReportPoint.setRiskEventIds();
|
// CJReportPoint.setRiskMeasureIds();
|
// CJReportPoint.setHazardDep();
|
// CJReportPoint.setHazardLiablePerson();
|
// CJReportPoint.setHazardCode();
|
// CJReportPoint.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
// CJReportPoint.setReportTime(null);
|
// CJReportPoint.setDataSource((byte) 1);
|
// CJReportPoint.setRiskEventId(riskEvent.getId());
|
// //封装数据
|
// CJPointLists.add(CJReportPoint);
|
// //设置原始数据上报状态
|
// handlerReportParam.setId(riskEvent.getId());
|
// handlerReportParam.setReportTime(new Date());
|
// handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
|
// preventRiskEventService.updateEventReportStatus(handlerReportParam);
|
// }
|
// }else {
|
// logger.info("【##】当前无安全风险事件数据需要处理");
|
// }
|
// //写入昌吉州转换表
|
// for (PreventCJReportRiskEvent CJEvent : CJEventLists) {
|
// CJEventService.insertEventLists(CJEvent);
|
// logger.info("【##】2.风险分析事件CJ:数据处理...");
|
// }
|
// step = 3;
|
// }else {
|
// step = 3;
|
// logger.info("安全风险事件数据上报已关闭");
|
// }
|
|
|
}
|
}
|