| | |
| | | package com.ycl.controller.cockpit.statisticsEvents; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.entity.cockpitManage.TeamConstruction; |
| | | import com.ycl.entity.cockpitManage.TeamIndex; |
| | | import com.ycl.service.apidata.IApiDataService; |
| | | import com.ycl.service.cockpitManage.ITeamConstructionService; |
| | | import com.ycl.service.equipment.IOrgGridService; |
| | | import com.ycl.service.video.impl.IVideoPointService; |
| | | import com.ycl.util.CheckApiUtil; |
| | | import com.ycl.vo.cockpit.CockpitVO; |
| | | import com.ycl.vo.cockpit.statisticsEvents.GridMapVO; |
| | | import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO; |
| | | import com.ycl.vo.equipment.VideoPointVo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | @Resource |
| | | private CheckApiUtil checkApiUtil; |
| | | |
| | | private IVideoPointService videoPointService; |
| | | |
| | | private ITeamConstructionService teamConstructionService; |
| | | |
| | | private IOrgGridService orgGridService; |
| | | |
| | | |
| | | private IApiDataService iApiDataService; |
| | | |
| | | @Autowired |
| | | public void setIApiDataService(IApiDataService apiDataService) { |
| | | this.iApiDataService = apiDataService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setTeamConstructionService(ITeamConstructionService teamConstructionService) { |
| | | this.teamConstructionService = teamConstructionService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setVideoPointService(IVideoPointService videoPointService) { |
| | | this.videoPointService = videoPointService; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setOrgGridService(IOrgGridService orgGridService) { |
| | | this.orgGridService = orgGridService; |
| | | } |
| | | |
| | | @ApiOperation(value = "执法事件") |
| | | @GetMapping("/law_enforcement_event") |
| | | public CommonResult<List<StatisticsEventsVO.LawEnforcementEventVO>> detection(@Validated CockpitVO.Params2VO params) { |
| | | checkApiUtil.cockpit(params.getAppId(), params.getAppKey(), params.getSign(), params.getBeginTime(), params.getEndTime(), null); |
| | | public CommonResult<List<StatisticsEventsVO.LawEnforcementEventVO>> detection(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | List<StatisticsEventsVO.LawEnforcementEventVO> lawEnforcementEventVOS = new ArrayList<>(); |
| | | StatisticsEventsVO.LawEnforcementEventVO a = null; |
| | | for (int i = 0; i < 4; i++) { |
| | |
| | | |
| | | @ApiOperation(value = "物联感知") |
| | | @GetMapping("/lot") |
| | | public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO.Params1VO params) { |
| | | checkApiUtil.cockpit(params.getAppId(), params.getAppKey(), params.getSign(), null, null, null); |
| | | List<StatisticsEventsVO.LotVO> lotVOS = new ArrayList<>(); |
| | | StatisticsEventsVO.LotVO a = null; |
| | | for (int i = 0; i < 4; i++) { |
| | | a = new StatisticsEventsVO.LotVO(); |
| | | a.setName("团结屯"); |
| | | a.setType("摄像头"); |
| | | a.setCount(10); |
| | | a.setRatio(new BigDecimal("-0.3").setScale(2, RoundingMode.HALF_UP)); |
| | | lotVOS.add(a); |
| | | } |
| | | public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | List<StatisticsEventsVO.LotVO> lotVOS = iApiDataService.listLot(params.getStreetId(), params.getBeginTime(), params.getEndTime()); |
| | | |
| | | return CommonResult.success(lotVOS); |
| | | } |
| | | |
| | | @ApiOperation(value = "执法队伍") |
| | | @GetMapping("/team") |
| | | public CommonResult<StatisticsEventsVO.TeamVO> team(@Validated CockpitVO.Params1VO params) { |
| | | checkApiUtil.cockpit(params.getAppId(), params.getAppKey(), params.getSign(), null, null, null); |
| | | public CommonResult<StatisticsEventsVO.TeamVO> team(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | StatisticsEventsVO.TeamVO teamVO = new StatisticsEventsVO.TeamVO(); |
| | | teamVO.setAll(30); |
| | | teamVO.setAssistant(10); |
| | |
| | | |
| | | @ApiOperation(value = "网格员") |
| | | @GetMapping("/grid_member") |
| | | public CommonResult<List<StatisticsEventsVO.GridMemberVO>> gridMember(@Validated CockpitVO.Params1VO params) { |
| | | checkApiUtil.cockpit(params.getAppId(), params.getAppKey(), params.getSign(), null, null, null); |
| | | public CommonResult<List<StatisticsEventsVO.GridMemberVO>> gridMember(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | List<StatisticsEventsVO.GridMemberVO> gridMemberVOS = new ArrayList<>(); |
| | | StatisticsEventsVO.GridMemberVO a = null; |
| | | for (int i = 0; i < 4; i++) { |
| | | a = new StatisticsEventsVO.GridMemberVO(); |
| | | a.setRatio(new BigDecimal("0.20").setScale(2, RoundingMode.HALF_UP)); |
| | | a.setRatio(new BigDecimal("0.20").setScale(4, RoundingMode.HALF_UP)); |
| | | a.setName("团结屯"); |
| | | a.setCount(10); |
| | | gridMemberVOS.add(a); |
| | |
| | | |
| | | @ApiOperation(value = "指数体征") |
| | | @GetMapping("/index_signs") |
| | | public CommonResult<StatisticsEventsVO.IndexSignsVO> indexSigns(@Validated CockpitVO.Params1VO params) { |
| | | checkApiUtil.cockpit(params.getAppId(), params.getAppKey(), params.getSign(), null, null, null); |
| | | public CommonResult<StatisticsEventsVO.IndexSignsVO> indexSigns(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | StatisticsEventsVO.IndexSignsVO indexSignsVO = new StatisticsEventsVO.IndexSignsVO(); |
| | | indexSignsVO.setEvent(1); |
| | | indexSignsVO.setGridMember(20); |
| | | indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(2, RoundingMode.HALF_UP)); |
| | | indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(4, RoundingMode.HALF_UP)); |
| | | indexSignsVO.setEquipment(30); |
| | | indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(2, RoundingMode.HALF_UP)); |
| | | indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(4, RoundingMode.HALF_UP)); |
| | | indexSignsVO.setTrigger(10); |
| | | indexSignsVO.setLot(30); |
| | | indexSignsVO.setLotOnline(10); |
| | |
| | | indexSignsVO.setEvaluationData(10); |
| | | return CommonResult.success(indexSignsVO); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "top10") |
| | | @GetMapping("/top10") |
| | | public CommonResult<List<StatisticsEventsVO.Top10VO>> top10(@Validated CockpitVO params) { |
| | | // checkApiUtil.cockpit(params); |
| | | // List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>(); |
| | | // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0)); |
| | | // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0)); |
| | | // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0)); |
| | | // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0)); |
| | | // return CommonResult.success(ls); |
| | | String beginTime = params.getBeginTime(); |
| | | String endTime = params.getEndTime(); |
| | | List<StatisticsEventsVO.Top10VO> res = iApiDataService.listTop10(beginTime, endTime); |
| | | return CommonResult.success(res); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "AI算法") |
| | | @GetMapping("/arithmetic_event") |
| | | public CommonResult<List<StatisticsEventsVO.ArithmeticVO>> arithmeticEvent(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | List<StatisticsEventsVO.ArithmeticVO> ls = iApiDataService.arithmeticEvent(params.getStreetId(), params.getBeginTime(), params.getEndTime()); |
| | | |
| | | return CommonResult.success(ls); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "城市体征看板") |
| | | @GetMapping("/city_panel") |
| | | public CommonResult<StatisticsEventsVO.CityPanelVo> cityPanel(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | |
| | | StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, true, 22, false, 12, true, |
| | | 22, false, 34, true, 99, false, 9, true, |
| | | 34, false, 6, true); |
| | | |
| | | return CommonResult.success(vo); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "点位") |
| | | @GetMapping("/video_point") |
| | | public CommonResult<List<VideoPointVo>> videoPoint(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | IPage<VideoPointVo> page = videoPointService.getList(null, null, null, 1, 500); |
| | | return CommonResult.success(page.getRecords()); |
| | | } |
| | | |
| | | @ApiOperation(value = "网格地图") |
| | | @GetMapping("/grid_map") |
| | | public CommonResult<List<GridMapVO>> gridMap(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | |
| | | List<GridMapVO> list = orgGridService.statisticsGridMap(params.getBeginTime(), params.getEndTime()); |
| | | return CommonResult.success(list); |
| | | } |
| | | |
| | | @ApiOperation(value = "队伍建设") |
| | | @GetMapping("/team_construction") |
| | | public CommonResult<List<TeamConstruction>> teamConstruction(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0); |
| | | List<TeamConstruction> list = teamConstructionService.list(queryWrapper); |
| | | return CommonResult.success(list); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "中队指数体征") |
| | | @GetMapping("/team_index") |
| | | public CommonResult<List<TeamIndex>> teamIndex(@Validated CockpitVO params) { |
| | | checkApiUtil.cockpit(params); |
| | | |
| | | // LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0); |
| | | // List<TeamConstruction> list = teamConstructionService.list(queryWrapper); |
| | | // List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class); |
| | | // teamIndexList.forEach(o -> { |
| | | // o.setStepTimely(0.0); |
| | | // o.setStepDelayed(0.0); |
| | | // o.setStepOvertime(0.0); |
| | | // o.setHandleTimely(0.0); |
| | | // o.setHandleDelayed(0.0); |
| | | // o.setHandleOvertime(0.0); |
| | | // o.setNoHandle(0.0); |
| | | // }); |
| | | List<TeamIndex> teamIndexList = teamConstructionService.teamIndex(params.getBeginTime(), params.getEndTime()); |
| | | teamIndexList.forEach(o -> { |
| | | |
| | | o.setAllocation(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount()) |
| | | + 18 * ((double) o.getOverCount() / (double) o.getAllCount()) |
| | | + 15 * ((double) o.getNoHandleCount() / (double) o.getAllCount())); |
| | | o.setHandle(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount()) |
| | | + 5 * ((double) o.getOverCount() / (double) o.getAllCount()) |
| | | - 2 * ((double) o.getNoHandleCount() / (double) o.getAllCount())); |
| | | |
| | | o.setOnline(0.0); |
| | | o.setDuration(0.0); |
| | | o.setDistance(0.0); |
| | | }); |
| | | return CommonResult.success(teamIndexList); |
| | | } |
| | | } |
| | | |
| | | |