双重预防项目-国泰新华二开定制版
heheng
2 天以前 ac8870aae3ec2b5ec5315cc668b482858195cfa4
src/main/java/com/ruoyi/project/mobile/service/ApiDangerScheduleService.java
@@ -7,7 +7,11 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerCheckAndMeasure;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerCheckLog;
import com.ruoyi.doublePrevention.entity.PreventRiskDangerInfo;
import com.ruoyi.doublePrevention.service.RiskService;
import com.ruoyi.doublePrevention.service.baseService.PreventRiskDangerCheckAndMeasureService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.mobile.domain.ApiRequestHeader;
import com.ruoyi.project.mobile.domain.ApiResult;
@@ -17,6 +21,7 @@
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +51,11 @@
    @Autowired
    private RiskService riskService;
    @Autowired
    private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//隐患检查点Service
    @Autowired
    private PreventRiskDangerCheckAndMeasureService preventRiskDangerCheckAndMeasureService;
    /**
     * 获取定时任务隐患列表
     *
@@ -97,7 +107,7 @@
    /**
     * 定时隐患排查保存  -- todo
     * 定时隐患排查保存
     */
    public ApiResult editDangerScheduleSave(String str, ApiRequestHeader header) {
        //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
@@ -137,8 +147,6 @@
                }
            });
            hiddenDangerCheckService.updateHiddenDangerCheck(hiddenDangerCheck);
            hdcpService.getTaskCountTotal(Long.valueOf(header.userId));//查询未执行任务总数量并推送
@@ -153,7 +161,7 @@
    /**
     * 设置为记录正常
     * 设置为记录正常 todo
     */
    public ApiResult editPointScheduleSetNormal(String str, ApiRequestHeader header) {
        //验证userId,loginName,token,deviceType,deviceId,appType 是否一致
@@ -169,6 +177,17 @@
            hdcp.setScheduleCheckStatus(TrHiddenDangerCheckConstants.CHECK_STATUS_ALREADY_CHECK);//排查状态(已排查)
            hdcpService.updateHiddenDangerCheckPoint(hdcp);
            PreventRiskDangerCheckAndMeasure dangerCheckPointInfo = preventRiskDangerCheckAndMeasureService.getByDangerCheckPointId(hdcp.getId());
            int result = riskService.updateCheckLog(dangerCheckPointInfo.getCheckId(), hdcp);
            if (result < 1){
                return ApiResult.error("隐患排查记录附属表:写入手机识别码错误");
            }
            //添加检查说明信息
            int result1 = riskDangerCheckAndMeasureService.updateCheckDesc(hdcp);
            if (result1 < 1){
                throw new RuntimeException("登记检查上报结果失败");
            }
            hdcpService.getTaskCountTotal(Long.valueOf(header.userId));//查询未执行任务总数量并推送
            return ApiResult.success("定时隐患排查--设置为正常--成功");
@@ -181,7 +200,6 @@
    /**
     * 定时隐患排查---隐患登记
     * todo-2022 手机端-暂时未改动
     */
    @Transactional
    public ApiResult editPointScheduleDangerRegisterSave(String str, ApiRequestHeader header) {
@@ -192,6 +210,15 @@
        }
        try {
            HiddenDangerCheckPoint hdcp = new ObjectMapper().readValue(str, HiddenDangerCheckPoint.class);
            if (ObjectUtils.isEmpty(hdcp.getCheckPerson())){
                throw new RuntimeException("检查人不能为空");
            }
            if (ObjectUtils.isEmpty(hdcp.getFindTime())){
                throw new RuntimeException("发现时间不能为空");
            }
            if(ObjectUtils.isEmpty(hdcp.getDangerSrc())){
                throw new RuntimeException("隐患来源不能为空");
            }
            hdcp.setUpdateBy(header.loginName);
            hdcp.setUpdateTime(DateUtils.getNowDate());
            hdcp.setRegisterCreateTime(DateUtils.getNowDate());//设置隐患登记上报创建时间
@@ -204,15 +231,16 @@
            hdcp.setStage(TrHiddenDangerCheckConstants.DANGER_STAGE_PLAN_EXAMINE);//隐患核查阶段(数据进入到隐患核查阶段)
            hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE); //隐患来源(定时器任务生成)
            HiddenDangerCheckPoint queryExist = new HiddenDangerCheckPoint();
            queryExist.setWhetherDanger(TrHiddenDangerCheckConstants.WHETHER_DANGER_YES);//是否为隐患(是隐患)
            queryExist.setCheckPointId(hdcp.getCheckPointId());
            queryExist.setCheckId(hdcp.getCheckId());
            hdcp.setReportStatus("0");
            /**
             * 本次查询结果 :如果未上报过隐患,必定为空
             *      ?同一个检查任务,同一个排查点,可能多次上报隐患。
             *      同一个检查任务,同一个排查点,可能多次上报隐患。
             *      本次查询未用到id,导致数据不唯一
             * */
            List<HiddenDangerCheckPoint> queryExistList =  hdcpService.selectHiddenDangerCheckPointList(queryExist);
@@ -227,37 +255,51 @@
                hdcp.setCompanyId(user.getCompanyId());
                i = hdcpService.insertHiddenDangerCheckPoint(hdcp);
                if (i< 1){
                    throw new RuntimeException("添加隐患附属信息失败");
                    throw new RuntimeException("添加隐患信息失败");
                }
                // todo-2022 此处插入附属表
                //获取Id返回值
                //获取Id返回值   20250623 放开
                hdcp.getId();
                int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
                if (result< 1){
                    throw new RuntimeException("添加隐患附属信息失败");
                }
//                PreventRiskDangerCheckAndMeasure dangerCheckPointInfo = preventRiskDangerCheckAndMeasureService.getByDangerCheckPointId(hdcp.getId());
//                riskService.updateCheckLog(dangerCheckPointInfo.getCheckId(), hdcp);
            }else{
                hdcp.setUpdateBy(user.getLoginName());
                hdcp.setUpdateTime(DateUtils.getNowDate());
                i = hdcpService.updateHiddenDangerCheckPoint(hdcp);
                // todo-2022 此处修改附属表,注释:
//                int result = riskService.updateDangerInfo(hdcp);
//                if (result < 1){
//                    throw new RuntimeException("修改失败");
//                }
                int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
                if (result< 1){
                    throw new RuntimeException("添加隐患附属信息失败");
                PreventRiskDangerInfo dangerInfoByDangerCheckPointId = riskService.getDangerInfoByDangerCheckPointId(hdcp.getId());
                if (dangerInfoByDangerCheckPointId != null){
                    // todo-2022 此处修改附属表 20250623 放开
                    int result = riskService.updateDangerInfo(hdcp);
                    if (result < 1){
                        throw new RuntimeException("修改失败");
                    }
                }else {
                    int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
                    if (result < 1){
                        throw new RuntimeException("修改失败");
                    }
                }
//                int result = riskService.insertDangerInfo(hdcp.getId(), hdcp);
//                if (result< 1){
//                    throw new RuntimeException("添加隐患附属信息失败");
//                }
                PreventRiskDangerCheckAndMeasure dangerCheckPointInfo = preventRiskDangerCheckAndMeasureService.getByDangerCheckPointId(hdcp.getId());
                riskService.updateCheckLog(dangerCheckPointInfo.getCheckId(), hdcp);
            }
            hdcpService.getTaskCountTotal(Long.valueOf(header.userId));//查询未执行任务总数量并推送
            return ApiResult.success("定时隐患排查--隐患登记--成功");
        } catch (Exception e) {
            return ApiResult.error("异常");
            return ApiResult.error(e.getMessage());
        }
    }
}