| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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.*; |
| | |
| | | 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; |
| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | 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) { |
| | |
| | | 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 |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | //获取调度信息 |
| | |
| | | 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); |
| | |
| | | //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); |
| | |
| | | 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()); |
| | |
| | | disposeRecord.setHandlerId(user.getUserId()); |
| | | //结案已结束 |
| | | disposeRecord.setState(1); |
| | | disposeRecord.setResult(result); |
| | | disposeRecord.setEndTime(LocalDateTime.now()); |
| | | disposeRecord.setHandlerId(user.getUserId()); |
| | | disposeRecordMapper.update(disposeRecord, updateWrapper); |