16639036659
2023-12-11 56c84cd7fb04407536eb0135162313029828a81f
src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/RiskAndPeopleInfoServiceImpl.java
@@ -58,16 +58,53 @@
        List<RiskAndPeopleInfo> riskOldInfo = repository.listRiskAndPeoplePage(reqBO);
        List<HiddenDangerCheckJobLog> allCheckJobLogList = new ArrayList<>();
        List<HiddenDangerCheckJobLog> completeCheckJobLogList = new ArrayList<>();
        List<HiddenDangerCheckJobLog>  completeCheckJobLogList = new ArrayList<>();
        List<HiddenDangerCheckJobLog> allCheckJobLogListOfHandle = new ArrayList<>();
        List<HiddenDangerCheckJobLog> completeCheckJobLogListOfHandle = new ArrayList<>();
        List<HiddenDangerCheckJobLog> allCheckJobLogListOfTechnology = new ArrayList<>();
        List<HiddenDangerCheckJobLog> completeCheckJobLogListOfTechnology = new ArrayList<>();
        List<HiddenDangerCheckJobLog> allCheckJobLogListOfMain = new ArrayList<>();
        List<HiddenDangerCheckJobLog> completeCheckJobLogListOfMain = new ArrayList<>();
        for (RiskAndPeopleInfo riskAndPeopleInfo : riskOldInfo) {
            //取出操作人的id,依此为依据,查询所有的任务记录 check_user_id
            List<HiddenDangerCheckJobLog> jobLogLists = hiddenDangerCheckJobLogService.getJobLogByCheckUserId(riskAndPeopleInfo.getHandleLiabilityPersonId());
            if (jobLogLists.size() > 0){
                for (HiddenDangerCheckJobLog jobLog : jobLogLists) {
            //操作人的id,依此为依据,查询所有的任务记录 check_user_id
            List<HiddenDangerCheckJobLog> jobLogOfHandle = hiddenDangerCheckJobLogService.getJobLogByCheckUserId(riskAndPeopleInfo.getHandleLiabilityPersonId());
            if (jobLogOfHandle.size() > 0){
                for (HiddenDangerCheckJobLog jobLog : jobLogOfHandle) {
                    PreventRiskDangerCheckLog preventRiskDangerCheckLog = preventRiskDangerCheckLogService.getByDangerCheckByJobId(jobLog.getJobId());
                    if (preventRiskDangerCheckLog.getCheckStatus() != 3){
                        completeCheckJobLogListOfHandle.add(jobLog);
                        completeCheckJobLogList.add(jobLog);
                    }
                    allCheckJobLogListOfHandle.add(jobLog);
                    allCheckJobLogList.add(jobLog);
                }
            }
            //技术负责人的id,依此为依据,查询所有的任务记录 check_user_id
            List<HiddenDangerCheckJobLog> jobLogListsOfTechnology = hiddenDangerCheckJobLogService.getJobLogByCheckUserId(riskAndPeopleInfo.getTechnologyLiabilityPersonId());
            if (jobLogListsOfTechnology.size() > 0){
                for (HiddenDangerCheckJobLog jobLog : jobLogListsOfTechnology) {
                    PreventRiskDangerCheckLog preventRiskDangerCheckLog = preventRiskDangerCheckLogService.getByDangerCheckByJobId(jobLog.getJobId());
                    if (preventRiskDangerCheckLog.getCheckStatus() != 3){
                        completeCheckJobLogListOfTechnology.add(jobLog);
                        completeCheckJobLogList.add(jobLog);
                    }
                    allCheckJobLogListOfTechnology.add(jobLog);
                    allCheckJobLogList.add(jobLog);
                }
            }
            //主要负责人的id,依此为依据,查询所有的任务记录 check_user_id
            List<HiddenDangerCheckJobLog> jobLogListsOfMain = hiddenDangerCheckJobLogService.getJobLogByCheckUserId(riskAndPeopleInfo.getMainLiabilityPersonId());
            if (jobLogListsOfMain.size() > 0){
                for (HiddenDangerCheckJobLog jobLog : jobLogListsOfMain) {
                    PreventRiskDangerCheckLog preventRiskDangerCheckLog = preventRiskDangerCheckLogService.getByDangerCheckByJobId(jobLog.getJobId());
                    if (preventRiskDangerCheckLog.getCheckStatus() != 3){
                        completeCheckJobLogListOfMain.add(jobLog);
                        completeCheckJobLogList.add(jobLog);
                    }
                    allCheckJobLogListOfMain.add(jobLog);
                    allCheckJobLogList.add(jobLog);
                }
            }
@@ -79,18 +116,49 @@
        if (allCheckJobLogList.size() > 0){
            completeRatio = completeCheckJobLogList.size() / allCheckJobLogList.size();
        }
        int completeRatioOfHandle = 0;
        if (allCheckJobLogListOfHandle.size() > 0){
            completeRatioOfHandle = completeCheckJobLogListOfHandle.size() / allCheckJobLogListOfHandle.size();
        }
        int completeRatioOfTechnology = 0;
        if (allCheckJobLogListOfTechnology.size() > 0){
            completeRatioOfTechnology = completeCheckJobLogListOfTechnology.size() / allCheckJobLogListOfTechnology.size();
        }
        int completeRatioOfMain = 0;
        if (allCheckJobLogListOfMain.size() > 0){
            completeRatioOfMain = completeCheckJobLogListOfMain.size() / allCheckJobLogListOfMain.size();
        }
        respDTO.setRiskAndPeopleInfoDTO(riskAndPeopleList);
        respDTO.setCount(allCheckJobLogList.size());
        respDTO.setComplete(completeCheckJobLogList.size());
        respDTO.setCompleteRatio(BigDecimal.valueOf(completeRatio));
        respDTO.setCountOfHandle(allCheckJobLogListOfHandle.size());
        respDTO.setCompleteOfHandle(completeCheckJobLogListOfHandle.size());
        respDTO.setCompleteRatioOfHandle(BigDecimal.valueOf(completeRatioOfHandle));
        respDTO.setCountOfTechnology(allCheckJobLogListOfTechnology.size());
        respDTO.setCompleteOfTechnology(completeCheckJobLogListOfTechnology.size());
        respDTO.setCompleteRatioOfTechnology(BigDecimal.valueOf(completeRatioOfTechnology));
        respDTO.setCountOfMain(allCheckJobLogListOfMain.size());
        respDTO.setCompleteOfMain(completeCheckJobLogListOfMain.size());
        respDTO.setCompleteRatioOfMain(BigDecimal.valueOf(completeRatioOfMain));
        resultVO.setPageSize(pageSize);
        resultVO.setPageNum(pageIndex);
        resultVO.setCount(riskAndPeopleList.size());
        resultVO.setCount((int) page.getTotal());
        resultVO.setData(respDTO);
        return resultVO;
    }
    @Override
    public RiskAndPeopleInfo selectRiskAndPeopleInfoById(Long id) {
        return repository.selectRiskAndPeopleInfoById(id);
    }
}