16639036659
2023-12-11 56c84cd7fb04407536eb0135162313029828a81f
src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -29,7 +29,6 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
@Component
@@ -110,7 +109,7 @@
    @Transactional
//    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
//    @Scheduled(cron = "0/30 * * * * ?")  // 30秒
    @Scheduled(cron = "0 0 0/1 * * ?")  // 小时
//    @Scheduled(cron = "0 0/30 * * * ? ")    // 分钟
    public void searchReportDate(){
        logger.info("【双重预防】定时检索需要上报数据...");
@@ -169,6 +168,7 @@
                        CJReportRiskAnaUnit.setUpdateBy(updateUser.getUserName());
                        CJReportRiskAnaUnit.setUpdateDate(infoByRiskId.getCreateTime());
                    }
                    CJReportRiskAnaUnit.setDataSource((byte) 1);
                    CJReportRiskAnaUnit.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                    CJReportRiskAnaUnit.setReportTime(null);
@@ -306,6 +306,7 @@
                    CJReportMeasure.setRiskMeasureId(measure.getId());
                    CJReportMeasure.setTroubleshootContent(measure.getCheckContent());
                    //封装数据
                    CJMeasureLists.add(CJReportMeasure);
                    //设置原始数据上报状态
@@ -404,6 +405,13 @@
                    CJTaskFromWork.setTaskStartTime(jobById.getStartTime());
                    CJTaskFromWork.setWorkDayType("0");
                    CJTaskFromWork.setWorkStartTime("00:00:01");
                    CJTaskFromWork.setWorkEndTime("23:59:59");
                    CJTaskFromWork.setWorkType(measureById.getWorkType());
                    if (ObjectUtils.isNotEmpty(measureById.getTaskNum())){
                        CJTaskFromWork.setTaskNum(measureById.getTaskNum());
                    }
                    List<PreventTaskType> typeByJobId = taskTypeService.getInfoByJobId(work.getJobId());
                    int typeTag = 0;
                    for (PreventTaskType taskType : typeByJobId) {
@@ -523,7 +531,7 @@
                                CJRecordFromTask.setTaskId(task.getCheckId());
                                //第二版标准新增
                                CJRecordFromTask.setMobileCode(task.getMobileCode().toString());
                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(jobAndMeasureByJobId.getJobId());
                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId());
                                int typeTag = 0;
                                for (PreventTaskType typeByJobId : typeByJobIds) {
                                    if (typeByJobId.getType()!= 0) {
@@ -602,11 +610,13 @@
                    //通过用户名,获取涉及到的各位用户的真实姓名
                    User createUser = new User();
                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());  //todo
//                    createUser = trUserService.getUserByLoginName("guotai");
                    if(ObjectUtils.isEmpty(createUser)){
                        createUser = trUserService.getUserByName(hiddenDanger.getCreateBy());
                    }
                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); //todo
//                    User updateUser = trUserService.getUserByLoginName("guotai");
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
                        User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
                        //登记人信息
@@ -614,10 +624,12 @@
                        CJDangerInfo.setRegistTime(hiddenDanger.getRegisterCreateTime());//登记时间
                    }
                    CJDangerInfo.setCost(String.valueOf(0));//初始值给0
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){
                        User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName());
                        //整改人信息
                        CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人
                        CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
                    }
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){
@@ -644,11 +656,7 @@
                        CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
                    }
                    if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
                        CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
                    }else {
                        CJDangerInfo.setDeleted("0");
                    }
                    CJDangerInfo.setDeleted("0");
                    CJDangerInfo.setId(dangerManage.getUuid());
                    CJDangerInfo.setCompanyCode(companyCode);
                    CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码
@@ -674,17 +682,18 @@
                    CJDangerInfo.setDangerName(hiddenDanger.getDangerName());
                    CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级
                    CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源
                    CJDangerInfo.setDangerManageType(hiddenDanger.getRectifyType());//隐患治理类型
                    if (hiddenDanger.getRectifyType().equals("1")){
                        CJDangerInfo.setDangerManageType("0");//隐患治理类型
                    }else {
                        CJDangerInfo.setDangerManageType("1");//隐患治理类型
                    }
                    CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述
                    CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
                    CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
                    CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限
                    if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){
                        CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态
                    }
                    if (ObjectUtils.isNotEmpty(dangerManage.getHazardDangerType())){
                        CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型
                    }
                    CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());// todo 隐患类型
                    CJDangerInfo.setDangerManagerId(dangerManage.getId());
                    //封装数据
                    CJDangerInfoLists.add(CJDangerInfo);
@@ -715,74 +724,74 @@
        /**
         * 7、检索检修记录数据
         * */
        //读取风险分析单元数据上报主配置信息
        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
        //如果风险事件主配置开启上报
        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
            //logger.info("【##】2.检索检修记录...");
            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
            List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog();
            //获取上报数据对象与list
            List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>();
            if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){
                //遍历,封装数据
                for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) {
                    HandlerReportParam handlerReportParam = new HandlerReportParam();
                    PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog();
                    //封装上报昌吉州检修记录数据
                    CJOverhaulLog.setId(preventOverhaulLog.getUuid());
                    if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
                        CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
                    }else {
                        CJOverhaulLog.setDeleted("0");
                    }
                    CJOverhaulLog.setCompanyCode(companyCode);
                    CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode());
                    CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid());
                    CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime());
                    CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime());
                    CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason());
                    CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName());
                    CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate());
                    CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName());
                    CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify());
                    CJOverhaulLog.setReportTime(null);
                    CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                    CJOverhaulLog.setDataSource((byte) 1);
                    //封装数据
                    CJOverhaulLogLists.add(CJOverhaulLog);
                    //设置原始数据上报状态
                    handlerReportParam.setId(preventOverhaulLog.getId());
                    handlerReportParam.setReportTime(new Date());
                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
                    if (result < 1){
                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
                    }
                }
            }else {
                logger.info("【检修记录】当前无检修记录数据需要处理");
            }
            //写入昌吉州转换表
            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
                if (result < 1){
                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
                }
                logger.info("【检修记录】2.检修记录CJ:数据处理...");
            }
            step = 3;
        }else {
            step = 3;
            logger.info("检修记录数据上报已关闭");
        }
//        /**
//         * 7、检索检修记录数据
//         * */
//        //读取风险分析单元数据上报主配置信息
//        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
//        //如果风险事件主配置开启上报
//        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
//
//            //logger.info("【##】2.检索检修记录...");
//            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
//            List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog();
//            //获取上报数据对象与list
//            List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>();
//            if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){
//                //遍历,封装数据
//                for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) {
//                    HandlerReportParam handlerReportParam = new HandlerReportParam();
//                    PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog();
//
//                    //封装上报昌吉州检修记录数据
//                    CJOverhaulLog.setId(preventOverhaulLog.getUuid());
//                    if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
//                        CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
//                    }else {
//                        CJOverhaulLog.setDeleted("0");
//                    }
//                    CJOverhaulLog.setCompanyCode(companyCode);
//                    CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode());
//                    CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid());
//                    CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime());
//                    CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime());
//                    CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason());
//                    CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName());
//                    CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate());
//                    CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName());
//                    CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify());
//                    CJOverhaulLog.setReportTime(null);
//                    CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
//                    CJOverhaulLog.setDataSource((byte) 1);
//
//                    //封装数据
//                    CJOverhaulLogLists.add(CJOverhaulLog);
//                    //设置原始数据上报状态
//                    handlerReportParam.setId(preventOverhaulLog.getId());
//                    handlerReportParam.setReportTime(new Date());
//                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
//                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
//                    if (result < 1){
//                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
//                    }
//                }
//            }else {
//                logger.info("【检修记录】当前无检修记录数据需要处理");
//            }
//            //写入昌吉州转换表
//            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
//                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
//                if (result < 1){
//                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
//                }
//                logger.info("【检修记录】2.检修记录CJ:数据处理...");
//            }
//            step = 3;
//        }else {
//            step = 3;
//            logger.info("检修记录数据上报已关闭");
//        }
//