wl
2022-10-31 e5040e1387fe195aadf4c98d34ea9f807cfae36c
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -1,5 +1,6 @@
package com.ycl.service.caseHandler.impl;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -7,8 +8,6 @@
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.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.common.util.DateUtil;
@@ -16,6 +15,7 @@
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.common.ImageResources;
import com.ycl.entity.dict.DataDictionary;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.exception.ApiException;
import com.ycl.mapper.caseHandler.*;
@@ -26,7 +26,10 @@
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
import com.ycl.vo.casePool.*;
import com.ycl.vo.casePool.CasePoolViolationVO;
import com.ycl.vo.casePool.CurrentSitVo;
import com.ycl.vo.casePool.FilesPictureVo;
import com.ycl.vo.casePool.HandlePassVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -41,7 +44,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -120,9 +122,7 @@
                medias = stringBuilder.toString();
            }
        }
        EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude() != null ? baseCase.getLatitude().toString() : "")
                .x84(baseCase.getLongitude() != null ? baseCase.getLongitude().toString() : "")
                .source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
        EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude() != null ? baseCase.getLatitude().toString() : "").x84(baseCase.getLongitude() != null ? baseCase.getLongitude().toString() : "").source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
        String msg = cityPlatformService.addEvent(dto);
        ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
        if (result.getCode() == 0) {
@@ -154,55 +154,30 @@
    public Page listViolationsPage(Page page, Integer state, Integer resource) {
        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());
                    casePoolViolationVO.setStreet(dataDictionaryMapper.selectById(item.getStreetId()).getName());
                    return casePoolViolationVO;
                }).collect(Collectors.toList());
        Page<CasePoolViolationVO> casePoolViolationVOPage = new Page<>();
        BeanUtils.copyProperties(violationsPage, casePoolViolationVOPage);
        casePoolViolationVOPage.setRecords(violationVOList);
        return casePoolViolationVOPage;
        Integer day = 24;
        Page<CasePoolViolationVO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource);
        violationsPage.getRecords().stream().forEach(item -> {
            if (item.getCloseTime() == null) {
                Duration duration = Duration.between(item.getAlarmTime(), LocalDateTime.now());
                long continueHours = duration.toHours() - (duration.toDays() * day);
                long minutes = duration.toMinutes() - (duration.toHours() * hours);
                String continueTime = duration.toDays() + "天" + continueHours + "时" + minutes + "分钟";
                item.setContinueTime(continueTime);
            } else {
                Duration duration = Duration.between(item.getAlarmTime(), item.getCloseTime());
                long continueHours = duration.toHours() - (duration.toDays() * day);
                long minutes = duration.toMinutes() - (duration.toHours() * hours);
                String continueTime = duration.toDays() + "天" + continueHours + "时" + minutes + "分钟";
                item.setContinueTime(continueTime);
            }
        });
        return violationsPage;
    }
    @Override
    public Page listIllegalBuilding(Page page, Integer state, Integer resource) {
        Integer type = 02;
        Page<CasePoolIllegalBuildingDO> casePoolIllegalBuildingDTOPage = baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource);
        List<CasePoolIllegalBuildingVO> casePoolIllegalBuildingVOList = casePoolIllegalBuildingDTOPage
                .getRecords()
                .stream()
                .map(
                        item -> {
                            CasePoolIllegalBuildingVO casePoolIllegalBuildingVO = new CasePoolIllegalBuildingVO();
                            BeanUtils.copyProperties(item, casePoolIllegalBuildingVO);
                            casePoolIllegalBuildingVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName());
                            casePoolIllegalBuildingVO.setCommunity(dataDictionaryMapper.selectById(item.getCommunityId()).getName());
                            return casePoolIllegalBuildingVO;
                        }
                ).collect(Collectors.toList());
        Page<CasePoolIllegalBuildingVO> casePoolViolationVOPage = new Page<>();
        BeanUtils.copyProperties(casePoolIllegalBuildingDTOPage, casePoolViolationVOPage);
        casePoolViolationVOPage.setRecords(casePoolIllegalBuildingVOList);
        return casePoolViolationVOPage;
        return baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource);
    }
    @Override
@@ -232,7 +207,9 @@
        disposeRecord.setCreateUser(userDetails.getUserId());
        disposeRecord.setStartTime(LocalDateTime.now());
        disposeRecord.setStepName(stepName);
        disposeRecord.setLimitTime(LocalDateTime.parse(limitTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        if (!StringUtils.isEmpty(limitTime)) {
            disposeRecord.setLimitTime(LocalDateTime.parse(limitTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        }
        disposeRecordMapper.insert(disposeRecord);
    }
@@ -264,6 +241,12 @@
            baseCase.setViolations(violations);
        } else {
            IllegalBuilding illegalBuilding = illegalBuildingMapper.selectById(baseCase.getId());
            LambdaQueryWrapper<DataDictionary> dict = new LambdaQueryWrapper<>();
            dict.eq(DataDictionary::getId, illegalBuilding.getCategoryId());
            DataDictionary dictionary = dataDictionaryMapper.selectOne(dict);
            if (dictionary != null) {
                illegalBuilding.setCategoryText(dictionary.getName());
            }
            baseCase.setIllegalBuilding(illegalBuilding);
        }
        //获取调度信息
@@ -292,11 +275,8 @@
                continue;
            }
            for (DisposeRecord record : records) {
                if (record != null && record.getEndTime() != null) {
                    record.setLinkTime(
                            DateUtil.getDistanceDateTime(
                                    DateUtil.fromLocalDateTime(baseCase.getAlarmTime()),
                                    DateUtil.fromLocalDateTime(record.getEndTime())));
                if (record != null && record.getEndTime() != null && record.getStartTime() != null) {
                    record.setLinkTime(DateUtil.getDistanceDateTime(DateUtil.fromLocalDateTime(record.getStartTime()), DateUtil.fromLocalDateTime(record.getEndTime())));
                }
            }
            step.setDisposeRecords(records);
@@ -307,7 +287,7 @@
        //3.查询案卷图片信息
        FilesPictureVo filesPictureVo = new FilesPictureVo();
        QueryWrapper<ImageResources> wrapperIr = new QueryWrapper<>();
        wrapperIr.lambda().eq(ImageResources::getType, "01").or().eq(ImageResources::getType, "02");
        wrapperIr.lambda().eq(ImageResources::getBelongToId,baseCase.getId());
        List<ImageResources> irs = imageResourcesMapper.selectList(wrapperIr);
        filesPictureVo.setImageResources(irs);
        bcd.setFilesPictureVo(filesPictureVo);
@@ -352,12 +332,8 @@
    public ArrayList<String> listCaseImages(Integer id, Integer type) {
        Integer illegalBuildingType = 02;
        ArrayList<String> caseImages = new ArrayList<>();
        caseImages.add(investigationMapper
                .selectOne(new LambdaQueryWrapper<Investigation>()
                        .eq(Investigation::getBaseCaseId, id)).getPic());
        caseImages.add(arrivalSituationMapper
                .selectOne(new LambdaQueryWrapper<ArrivalSituation>()
                        .eq(ArrivalSituation::getBaseCaseId, id)).getSituationPic());
        caseImages.add(investigationMapper.selectOne(new LambdaQueryWrapper<Investigation>().eq(Investigation::getBaseCaseId, id)).getPic());
        caseImages.add(arrivalSituationMapper.selectOne(new LambdaQueryWrapper<ArrivalSituation>().eq(ArrivalSituation::getBaseCaseId, id)).getSituationPic());
        if (type == illegalBuildingType) {
            Writ writ = writMapper.selectOne(new LambdaQueryWrapper<Writ>().eq(Writ::getBaseCaseId, id));
            caseImages.add(writ.getWritPic());
@@ -393,6 +369,7 @@
        disposeRecord.setHandlerId(user.getUserId());
        //结案已结束
        disposeRecord.setState(1);
        disposeRecord.setResult(result);
        disposeRecord.setEndTime(LocalDateTime.now());
        disposeRecord.setHandlerId(user.getUserId());
        disposeRecordMapper.update(disposeRecord, updateWrapper);