zhanghua
2022-10-10 e6e10141af7c033eeddb649c6d2d1ed93f55bf3f
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -8,6 +8,7 @@
import com.ycl.bo.AdminUserDetails;
import com.ycl.bo.casePool.CasePoolIllegalBuildingDO;
import com.ycl.bo.casePool.CasePoolViolationDO;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.util.DateUtil;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.ViolationParam;
@@ -33,7 +34,9 @@
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -193,7 +196,7 @@
    }
    @Override
    public Boolean saveViolationCase(ViolationParam violationParam, Integer id) {
    public Boolean saveViolationCase(ViolationParam violationParam, Long id) {
        Violations violations = new Violations();
        BeanUtils.copyProperties(violationParam, violations);
        violations.setId(id);
@@ -202,9 +205,9 @@
    }
    @Override
    public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) {
    public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Long id) {
        IllegalBuilding illegalBuilding = new IllegalBuilding();
        BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam);
        BeanUtils.copyProperties(illegalBuildingParam, illegalBuilding);
        illegalBuilding.setBaseCaseId(id);
        Integer value = 1;
        return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false;
@@ -217,6 +220,9 @@
        QueryWrapper<BaseCase> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(BaseCase::getCode, code);
        BaseCase baseCase = baseCaseMapper.selectOne(wrapper);
        if (baseCase == null) {
            return null;
        }
        bcd.setBaseCase(baseCase);
        //2.查询办理经过信息
        //2.1查询处置流程配置
@@ -234,22 +240,25 @@
            }
        }
        //2.2查询处置流程环节配置
        List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(ddlcId);
        Map mapWcs = new HashMap();
        mapWcs.put("workflowConfigId", ddlcId);
        mapWcs.put("baseCaseId", baseCase.getId());
        List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(mapWcs);
        //处理用环节时间
        for (WorkflowConfigStep step : listWcs) {
            DisposeRecord record = step.getDisposeRecord();
            System.out.println(baseCase.getAlarmTime());
            System.out.println(record.getCreateTime());
            System.out.println(DateUtil.fromLocalDateTime(baseCase.getAlarmTime()));
            System.out.println(DateUtil.fromLocalDateTime(record.getCreateTime()));
            System.out.println( DateUtil.getDistanceDateTime(
                    DateUtil.fromLocalDateTime(baseCase.getAlarmTime()),
                    DateUtil.fromLocalDateTime(record.getCreateTime())));
            record.setLinkTime(
                    DateUtil.getDistanceDateTime(
                            DateUtil.fromLocalDateTime(baseCase.getAlarmTime()),
                            DateUtil.fromLocalDateTime(record.getCreateTime())));
            step.setDisposeRecord(record);
            List<DisposeRecord> records = step.getDisposeRecords();
            if (records == null) {
                continue;
            }
            for (DisposeRecord record : records) {
                if (record != null&&record.getCreateTime()!=null) {
                    record.setLinkTime(
                            DateUtil.getDistanceDateTime(
                                    DateUtil.fromLocalDateTime(baseCase.getAlarmTime()),
                                    DateUtil.fromLocalDateTime(record.getCreateTime())));
                }
            }
            step.setDisposeRecords(records);
        }
        //2.3设置调度流程
        handlePassVo.setWorkflowConfigSteps(listWcs);
@@ -264,13 +273,15 @@
        //4.查询问题处理信息
        ProblemProVo problemProVo = new ProblemProVo();
        //4.2查询处置流程环节配置
        List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(wtcllcId);
        mapWcs.put("workflowConfigId", wtcllcId);
        List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(mapWcs);
        //4.3设置调度流程
        problemProVo.setWorkflowConfigSteps(listWcsPp);
        bcd.setProblemProVo(problemProVo);
        //5.查询现场情况信息
        CurrentSitVo currentSitVo = new CurrentSitVo();
        QueryWrapper<ArrivalSituation> wrapperAs = new QueryWrapper<>();
        wrapperAs.lambda().eq(ArrivalSituation::getBaseCaseId, baseCase.getId());
        //设置到达现场情况
        ArrivalSituation as = arrivalSituationMapper.selectOne(wrapperAs);
        currentSitVo.setArrivalSituation(as);
@@ -309,13 +320,12 @@
    }
    @Override
    public void endCase(Integer caseId, String result) {
    public void endCase(Long caseId, String result) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        Integer endCaseState = 6;
        Integer state = 2;
        Integer state = 1;
        String endCaseName = "结案";
        BaseCase baseCase = new BaseCase();
        baseCase.setState(endCaseState);
        baseCase.setState(BaseCaseStatus.CLOSING_REGISTER);
        baseCase.setId(caseId);
        baseCaseMapper.updateById(baseCase);
        DisposeRecord disposeRecord = new DisposeRecord();
@@ -323,7 +333,7 @@
        disposeRecord.setWorkflowConfigStepId(workflowConfigStepMapper
                .selectOne(new LambdaQueryWrapper<WorkflowConfigStep>().eq(WorkflowConfigStep::getName, endCaseName))
                .getWorkflowConfigId());
        disposeRecord.setCreateUser(user.getUserId().intValue());
        disposeRecord.setCreateUser(user.getUserId().longValue());
        disposeRecord.setResult(result);
        disposeRecord.setState(state);
        disposeRecord.setCreateTime(LocalDateTime.now());