mg
2022-09-29 0c342d5495689e71b29a1b712a166dc7774a6b0d
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -1,26 +1,25 @@
package com.ycl.service.caseHandler.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.casePool.CasePoolIllegalBuildingDO;
import com.ycl.bo.casePool.CasePoolViolationDO;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.IllegalBuilding;
import com.ycl.entity.caseHandler.Violations;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.common.ImageResources;
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.IllegalBuildingMapper;
import com.ycl.mapper.caseHandler.ViolationsMapper;
import com.ycl.mapper.caseHandler.*;
import com.ycl.mapper.common.ImageResourcesMapper;
import com.ycl.mapper.dict.DataDictionaryMapper;
import com.ycl.remote.dto.*;
import com.ycl.remote.service.CityPlatformService;
import com.ycl.remote.dto.EventAddParamDto;
import com.ycl.remote.dto.EventProcessParamDto;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
import com.ycl.vo.casePool.CasePoolIllegalBuildingVO;
import com.ycl.vo.casePool.CasePoolViolationVO;
import com.ycl.vo.casePool.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -30,6 +29,7 @@
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -44,17 +44,17 @@
@Service
public class BaseCaseServiceImpl extends ServiceImpl<BaseCaseMapper, BaseCase> implements IBaseCaseService {
    private CityPlatformService cityPlatformService;
    //    private CityPlatformService cityPlatformService;
    private IViolationsService violationsService;
    private IVideoAlarmReportService videoAlarmReportService;
    @Value("${fdfs.fileUrl}")
    private String fileUrl;
    @Autowired
    public void setCityPlatformService(CityPlatformService cityPlatformService) {
        this.cityPlatformService = cityPlatformService;
    }
//    @Autowired
//    public void setCityPlatformService(CityPlatformService cityPlatformService) {
//        this.cityPlatformService = cityPlatformService;
//    }
    @Autowired
    public void setViolationsService(IViolationsService violationsService) {
@@ -75,6 +75,23 @@
    @Resource
    IllegalBuildingMapper illegalBuildingMapper;
    @Resource
    ArrivalSituationMapper arrivalSituationMapper;
    @Resource
    InvestigationMapper investigationMapper;
    @Resource
    WritMapper writMapper;
    @Resource
    WorkflowConfigStepMapper workflowConfigStepMapper;
    @Resource
    WorkflowConfigMapper workflowConfigMapper;
    @Resource
    ImageResourcesMapper imageResourcesMapper;
    @Override
    public String uploadEvent(Integer caseId) {
        BaseCase baseCase = this.getById(caseId);
@@ -91,29 +108,31 @@
        }
        EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude().toString()).x84(baseCase.getLongitude().toString())
                .source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
        ResultResponseDto<EventAddResponseDto> result = cityPlatformService.addEvent(dto);
        if (result.getCode() == 0) {
            EventAddResponseDto responseDto = result.getResult();
            baseCase.setTaskCode(responseDto.getTaskcode());
            this.updateById(baseCase);
            return null;
        } else {
            return result.getMsg();
        }
//        ResultResponseDto<EventAddResponseDto> result = cityPlatformService.addEvent(dto);
//        if (result.getCode() == 0) {
//            EventAddResponseDto responseDto = result.getResult();
//            baseCase.setTaskCode(responseDto.getTaskcode());
//            this.updateById(baseCase);
//            return null;
//        } else {
//            return result.getMsg();
//        }
        return null;
    }
    @Override
    public String processEvent(Integer caseId) {
        BaseCase baseCase = this.getById(caseId);
        EventProcessParamDto paramDto = EventProcessParamDto.builder().eventSign(baseCase.getCode()).taskcode(baseCase.getTaskCode()).build();
        ResultResponseDto<EventProcessResponseDto> responseDto = cityPlatformService.getEventProcess(paramDto);
        if (responseDto.getCode() == 0) {
            EventProcessResponseDto eventProcessResponseDto = responseDto.getResult();
            /*********** 未处理市平台返回数据 ***************/
            return null;
        } else {
            return responseDto.getMsg();
        }
//        ResultResponseDto<EventProcessResponseDto> responseDto = cityPlatformService.getEventProcess(paramDto);
//        if (responseDto.getCode() == 0) {
//            EventProcessResponseDto eventProcessResponseDto = responseDto.getResult();
//            /*********** 未处理市平台返回数据 ***************/
//            return null;
//        } else {
//            return responseDto.getMsg();
//        }
        return null;
    }
    @Override
@@ -188,4 +207,86 @@
        Integer value = 1;
        return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false;
    }
    @Override
    public BaseCaseDetail baseCaseDetail(String code) {
        BaseCaseDetail bcd = new BaseCaseDetail();
        //1.查询案件基本信息
        QueryWrapper<BaseCase> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(BaseCase::getCode, code);
        BaseCase baseCase = baseCaseMapper.selectOne(wrapper);
        bcd.setBaseCase(baseCase);
        //2.查询办理经过信息
        //2.1查询处置流程配置
        HandlePassVo handlePassVo = new HandlePassVo();
        QueryWrapper<WorkflowConfig> wrapperWc = new QueryWrapper<>();
        wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc").or().eq(WorkflowConfig::getCode, "wtcllc");
        List<WorkflowConfig> wcs = workflowConfigMapper.selectList(wrapperWc);
        Integer ddlcId=0,wtcllcId=0;
        for (WorkflowConfig wc : wcs) {
            if ("ddlc".equals(wc.getCode())) {
                ddlcId = wc.getId();
            }
            if ("wtcllc".equals(wc.getCode())) {
                wtcllcId = wc.getId();
            }
        }
        //2.2查询处置流程环节配置
        List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(ddlcId);
        //2.3设置调度流程
        handlePassVo.setWorkflowConfigSteps(listWcs);
        bcd.setHandlePassVo(handlePassVo);
        //3.查询案卷图片信息
        FilesPictureVo filesPictureVo = new FilesPictureVo();
        QueryWrapper<ImageResources> wrapperIr = new QueryWrapper<>();
        wrapperIr.lambda().eq(ImageResources::getType, "01").or().eq(ImageResources::getType, "02");
        List<ImageResources> irs = imageResourcesMapper.selectList(wrapperIr);
        filesPictureVo.setImageResources(irs);
        bcd.setFilesPictureVo(filesPictureVo);
        //4.查询问题处理信息
        ProblemProVo problemProVo = new ProblemProVo();
        //4.2查询处置流程环节配置
        List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(wtcllcId);
        //4.3设置调度流程
        problemProVo.setWorkflowConfigSteps(listWcsPp);
        bcd.setProblemProVo(problemProVo);
        //5.查询现场情况信息
        CurrentSitVo currentSitVo = new CurrentSitVo();
        QueryWrapper<ArrivalSituation> wrapperAs = new QueryWrapper<>();
        //设置到达现场情况
        ArrivalSituation as = arrivalSituationMapper.selectOne(wrapperAs);
        currentSitVo.setArrivalSituation(as);
        //设置调查取证
        QueryWrapper<Investigation> wrapperI = new QueryWrapper<>();
        wrapperI.lambda().eq(Investigation::getBaseCaseId, baseCase.getId());
        Investigation investigation = investigationMapper.selectOne(wrapperI);
        currentSitVo.setInvestigation(investigation);
        //设置告知违法
        QueryWrapper<Writ> wrapperW = new QueryWrapper<>();
        wrapperW.lambda().eq(Writ::getBaseCaseId, baseCase.getId());
        Writ writ = writMapper.selectOne(wrapperW);
        currentSitVo.setWrit(writ);
        bcd.setCurrentSitVo(currentSitVo);
        return bcd;
    }
    @Override
    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());
        if (type == illegalBuildingType) {
            Writ writ = writMapper.selectOne(new LambdaQueryWrapper<Writ>().eq(Writ::getBaseCaseId, id));
            caseImages.add(writ.getWritPic());
            caseImages.add(writ.getOriginalPic());
            caseImages.add(writ.getOtherPic());
            caseImages.add(writ.getRectifiedPic());
        }
        return caseImages;
    }
}