wl
2022-10-01 4cdb5cec4d5c79aa662d73a86bb1dfcc9d73f1e2
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.bo.casePool.CasePoolIllegalBuildingDO;
import com.ycl.bo.casePool.CasePoolViolationDO;
import com.ycl.dto.casePool.IllegalBuildingParam;
@@ -24,6 +25,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -81,6 +83,8 @@
    InvestigationMapper investigationMapper;
    @Resource
    WritMapper writMapper;
    @Resource
    DisposeRecordMapper disposeRecordMapper;
    @Resource
    WorkflowConfigStepMapper workflowConfigStepMapper;
@@ -139,24 +143,27 @@
        Integer type = 01;
        Integer hours = 60;
        Page<CasePoolViolationDO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource);
        List<CasePoolViolationVO> violationVOList = violationsPage.getRecords().stream().map(item -> {
            CasePoolViolationVO casePoolViolationVO = new CasePoolViolationVO();
            BeanUtils.copyProperties(item, casePoolViolationVO);
            if (item.getCloseTime() == null) {
                Duration duration = Duration.between(item.getAlarmTime(), LocalDateTime.now());
                long minutes = duration.toMinutes() - (duration.toHours() * hours);
                String continueTime = duration.toHours() + "时" + minutes + "分钟";
                casePoolViolationVO.setContinueTime(continueTime);
            } else {
                Duration duration = Duration.between(item.getAlarmTime(), item.getCloseTime());
                long minutes = duration.toMinutes() - (duration.toHours() * hours);
                String continueTime = duration.toHours() + "时" + minutes + "分钟";
                casePoolViolationVO.setContinueTime(continueTime);
            }
            casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName());
            casePoolViolationVO.setType(dataDictionaryMapper.selectById(item.getTypeId()).getName());
            return casePoolViolationVO;
        }).collect(Collectors.toList());
        List<CasePoolViolationVO> violationVOList = violationsPage
                .getRecords()
                .stream()
                .map(item -> {
                    CasePoolViolationVO casePoolViolationVO = new CasePoolViolationVO();
                    BeanUtils.copyProperties(item, casePoolViolationVO);
                    if (item.getCloseTime() == null) {
                        Duration duration = Duration.between(item.getAlarmTime(), LocalDateTime.now());
                        long minutes = duration.toMinutes() - (duration.toHours() * hours);
                        String continueTime = duration.toHours() + "时" + minutes + "分钟";
                        casePoolViolationVO.setContinueTime(continueTime);
                    } else {
                        Duration duration = Duration.between(item.getAlarmTime(), item.getCloseTime());
                        long minutes = duration.toMinutes() - (duration.toHours() * hours);
                        String continueTime = duration.toHours() + "时" + minutes + "分钟";
                        casePoolViolationVO.setContinueTime(continueTime);
                    }
                    casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName());
                    casePoolViolationVO.setType(dataDictionaryMapper.selectById(item.getTypeId()).getName());
                    return casePoolViolationVO;
                }).collect(Collectors.toList());
        Page<CasePoolViolationVO> casePoolViolationVOPage = new Page<>();
        BeanUtils.copyProperties(violationsPage, casePoolViolationVOPage);
        casePoolViolationVOPage.setRecords(violationVOList);
@@ -283,4 +290,26 @@
        }
        return caseImages;
    }
    @Override
    public void endCase(Integer caseId, String result) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        Integer endCaseState = 6;
        Integer state = 2;
        String endCaseName = "结案";
        BaseCase baseCase = new BaseCase();
        baseCase.setState(endCaseState);
        baseCase.setId(caseId);
        baseCaseMapper.updateById(baseCase);
        DisposeRecord disposeRecord = new DisposeRecord();
        disposeRecord.setBaseCaseId(caseId);
        disposeRecord.setWorkflowConfigStepId(workflowConfigStepMapper
                .selectOne(new LambdaQueryWrapper<WorkflowConfigStep>().eq(WorkflowConfigStep::getName, endCaseName))
                .getWorkflowConfigId());
        disposeRecord.setCreateUser(user.getUserId().intValue());
        disposeRecord.setResult(result);
        disposeRecord.setState(state);
        disposeRecord.setCreateTime(LocalDateTime.now());
        disposeRecordMapper.insert(disposeRecord);
    }
}