| | |
| | | package com.ycl.service.caseHandler.impl; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.alibaba.druid.util.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | import com.ycl.service.caseHandler.IBaseCaseService; |
| | | import com.ycl.service.caseHandler.IDispatchHandleService; |
| | | import com.ycl.service.caseHandler.IViolationsService; |
| | | import com.ycl.service.resources.IImageResourcesService; |
| | | import com.ycl.service.video.IVideoAlarmReportService; |
| | | import com.ycl.vo.casePool.*; |
| | | import com.ycl.vo.cockpit.enforcementEvents.DelayVO; |
| | |
| | | import java.time.Duration; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | IBaseCaseService baseCaseService; |
| | | |
| | | @Autowired |
| | | IImageResourcesService imageResourcesService; |
| | | |
| | | @Override |
| | | public String uploadEvent(Long caseId) { |
| | |
| | | medias = stringBuilder.toString(); |
| | | } |
| | | } |
| | | eventDesc += "[大华视频接入测试]"; |
| | | 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) { |
| | | EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class); |
| | | baseCase.setTaskCode(responseDto.getTaskcode()); |
| | | // EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class); |
| | | baseCase.setTaskCode(result.getResult()); |
| | | this.updateById(baseCase); |
| | | return null; |
| | | } else { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Page listViolationsPage(Integer current, Integer size, Integer state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId) { |
| | | public Page listViolationsPage(Integer current, Integer size, Integer state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId, Integer videoId) { |
| | | Integer type = 01; |
| | | Integer hours = 60; |
| | | Integer day = 24; |
| | | Page page = new Page<>().setCurrent(current).setSize(size); |
| | | Page<CasePoolViolationVO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource, code, categoryBig, categorySmall, street, site, startTime, endTime, violationsTypeId); |
| | | Page<CasePoolViolationVO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource, code, categoryBig, categorySmall, street, site, startTime, endTime, violationsTypeId, videoId); |
| | | violationsPage.getRecords().stream().forEach(item -> { |
| | | if (item.getCloseTime() == null) { |
| | | Duration duration = Duration.between(item.getAlarmTime(), LocalDateTime.now()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Page listIllegalBuilding(Integer size, Integer current, Integer state, Integer resource) { |
| | | public Page listIllegalBuilding(Integer current, Integer size, Integer state, Integer resource) { |
| | | Integer type = 02; |
| | | Page page = new Page<>().setCurrent(current).setSize(size); |
| | | return baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource); |
| | |
| | | disposeRecordMapper.update(disposeRecord, updateWrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Page<BaseCase> selectPage(Page<BaseCase> page, String number, Integer streetId, Integer categories, String startTime, String endTime, String site) { |
| | | return baseCaseMapper.selectBaseCasePage(page, number, streetId, categories, startTime, endTime, site); |
| | | public Page<BaseCase> selectPage(Page<BaseCase> page, String number, Integer communityId, Integer categories, String startTime, String endTime, String site, Integer state, Integer streetId, Integer time) { |
| | | LocalDateTime start = null; |
| | | LocalDateTime end = null; |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | if (Objects.nonNull(time) && time == 0) { |
| | | end = now; |
| | | start = now.minusWeeks(1); |
| | | |
| | | } |
| | | if (Objects.nonNull(time) && time == 1) { |
| | | end = now; |
| | | start = now.minusMonths(1); |
| | | |
| | | } |
| | | if (Objects.nonNull(time) && time == 2) { |
| | | end = now; |
| | | start = now.minusMonths(3); |
| | | } |
| | | Page<BaseCase> baseCasePage = baseCaseMapper.selectBaseCasePage(page, number, communityId, categories, start, end, site, state, streetId); |
| | | if (!Objects.isNull(baseCasePage) && CollUtil.isNotEmpty(baseCasePage.getRecords())) { |
| | | List<BaseCase> records = baseCasePage.getRecords(); |
| | | //TODO:将状态state改为状态名stateName |
| | | records.stream().forEach(baseCase -> { |
| | | Integer stateInt = baseCase.getState(); |
| | | if (stateInt == 0) { |
| | | baseCase.setStateName("待处理"); |
| | | } else if (stateInt == 1) { |
| | | baseCase.setStateName("报警"); |
| | | } else if (stateInt == 2) { |
| | | baseCase.setStateName("上报"); |
| | | } else if (stateInt == 3) { |
| | | baseCase.setStateName("在学习"); |
| | | } else if (stateInt == 4) { |
| | | baseCase.setStateName("暂不处理"); |
| | | } else if (stateInt == 5) { |
| | | baseCase.setStateName("立案"); |
| | | } else if (stateInt == 6) { |
| | | baseCase.setStateName("调度"); |
| | | } else if (stateInt == 7) { |
| | | baseCase.setStateName("处置"); |
| | | } else if (stateInt == 8) { |
| | | baseCase.setStateName("核查"); |
| | | } else if (stateInt == 9) { |
| | | baseCase.setStateName("结案"); |
| | | } else if (stateInt == 10) { |
| | | baseCase.setStateName("待上报"); |
| | | } |
| | | }); |
| | | Set<Long> caseIds = records.stream().map(BaseCase::getId).collect(Collectors.toSet()); |
| | | Map<Long, String> urlMap = imageResourcesService.getUrlMap(caseIds, "01"); |
| | | records.stream().forEach(item -> { |
| | | item.setUrl(urlMap.get(item.getId())); |
| | | }); |
| | | } |
| | | return baseCasePage; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Page<QueryForViolationVO> selectViolation(QueryForViolationParam queryForViolationParam) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Page<BaseCaseVO> selectVideoInspection(Integer current, Long gradeId, Long videoId, String beginTime, String endTime) { |
| | | return baseCaseMapper.selectVideoInspection(new Page<>(current, 1), gradeId, videoId, beginTime, endTime); |
| | | public Page<BaseCaseVO> selectVideoInspection(Integer current, Integer pageSize, Long gradeId, Long videoId, String beginTime, String endTime, Integer type) { |
| | | return baseCaseMapper.selectVideoInspection(new Page<>(current, pageSize), gradeId, videoId, beginTime, endTime, type); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public List<VideoAndAreaVO> areaCount() { |
| | | List<VideoAndAreaVO> areaCountList = baseCaseMapper.areaCount(); |
| | | Long allCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<>()); |
| | | areaCountList.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP))); |
| | | areaCountList.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / allCount).setScale(4, BigDecimal.ROUND_HALF_UP))); |
| | | return areaCountList; |
| | | } |
| | | |
| | |
| | | if (reportLastMonthCount == 0) { |
| | | report.setRatio(null); |
| | | } else { |
| | | report.setRatio(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).abs()); |
| | | report.setRatio(new BigDecimal(v).setScale(4, BigDecimal.ROUND_HALF_UP).abs()); |
| | | } |
| | | if (v < 0) { |
| | | report.setUp(false); |
| | |
| | | if (disposeLastMonthCount == 0) { |
| | | dispose.setRatio(null); |
| | | } else { |
| | | dispose.setRatio(new BigDecimal(v1).setScale(2, BigDecimal.ROUND_HALF_UP).abs()); |
| | | dispose.setRatio(new BigDecimal(v1).setScale(4, BigDecimal.ROUND_HALF_UP).abs()); |
| | | } |
| | | if (v1 < 0) { |
| | | dispose.setUp(false); |
| | |
| | | if (onTimeCaseLastMonthCount == 0) { |
| | | onTimeDispose.setRatio(null); |
| | | } else { |
| | | onTimeDispose.setRatio(new BigDecimal(v2).setScale(2, BigDecimal.ROUND_HALF_UP).abs()); |
| | | onTimeDispose.setRatio(new BigDecimal(v2).setScale(4, BigDecimal.ROUND_HALF_UP).abs()); |
| | | } |
| | | if (v2 < 0) { |
| | | onTimeDispose.setUp(false); |
| | |
| | | if (disposeLastMonthCount == 0) { |
| | | register.setRatio(null); |
| | | } else { |
| | | register.setRatio(new BigDecimal(v3).setScale(2, BigDecimal.ROUND_HALF_UP).abs()); |
| | | register.setRatio(new BigDecimal(v3).setScale(4, BigDecimal.ROUND_HALF_UP).abs()); |
| | | } |
| | | if (v3 < 0) { |
| | | register.setUp(false); |