| | |
| | | package com.ycl.controller.caseHandler; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ycl.annotation.LogSave; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.controller.video.common.constant.BaseCaseStatus; |
| | | import com.ycl.controller.video.common.util.UtilNumber; |
| | | import com.ycl.bo.AdminUserDetails; |
| | | import com.ycl.controller.BaseController; |
| | | import com.ycl.common.constant.BaseCaseStatus; |
| | | import com.ycl.common.util.UtilNumber; |
| | | import com.ycl.dto.caseHandler.QueryForViolationParam; |
| | | import com.ycl.dto.casePool.IllegalBuildingParam; |
| | | import com.ycl.dto.casePool.VideoInspectParam; |
| | |
| | | import com.ycl.entity.caseHandler.BaseCase; |
| | | import com.ycl.entity.caseHandler.BaseCaseDetail; |
| | | import com.ycl.entity.caseHandler.DisposeRecord; |
| | | import com.ycl.entity.resources.ImageResources; |
| | | import com.ycl.entity.resources.VideoResources; |
| | | import com.ycl.service.caseHandler.IBaseCaseService; |
| | | import com.ycl.service.caseHandler.IDisposeRecordService; |
| | | import com.ycl.service.caseHandler.IIllegalBuildingService; |
| | | import com.ycl.service.caseHandler.IViolationsService; |
| | | import com.ycl.service.resources.IImageResourcesService; |
| | | import com.ycl.service.resources.IVideoResourcesService; |
| | | import com.ycl.utils.EasyExcelUtils; |
| | | import com.ycl.vo.casePool.QueryForViolationVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.core.context.SecurityContextHolder; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | @RestController |
| | | @RequestMapping("/base_case") |
| | | @Api(tags = "案件池") |
| | | @Slf4j |
| | | public class BaseCaseController extends BaseController { |
| | | |
| | | private IBaseCaseService baseCaseService; |
| | |
| | | @Autowired |
| | | UtilNumber utilNumber; |
| | | |
| | | @Autowired |
| | | IImageResourcesService iImageResourcesService; |
| | | |
| | | @Autowired |
| | | IVideoResourcesService iVideoResourcesService; |
| | | |
| | | |
| | | @Autowired |
| | | public void setBaseCaseService(IBaseCaseService baseCaseService) { |
| | |
| | | } |
| | | |
| | | @ApiOperation(value = "上传市平台") |
| | | @PostMapping("/upload-event") |
| | | public CommonResult uploadEvent(@RequestParam Long caseId, CommonResult<Object> success) { |
| | | @PostMapping("/upload-event/{caseId}") |
| | | public CommonResult uploadEvent(@PathVariable Long caseId) { |
| | | String msg = baseCaseService.uploadEvent(caseId); |
| | | if (StringUtils.isEmpty(msg)) { |
| | | return success; |
| | | return CommonResult.success(msg); |
| | | } else { |
| | | return CommonResult.failed(msg); |
| | | } |
| | |
| | | * @Description query illegal building and violation |
| | | * @Param [size, current, state, type, resource] |
| | | **/ |
| | | @ApiOperation(value = "查询违规违建") |
| | | /* @ApiOperation(value = "查询违规违建") |
| | | @GetMapping("/query") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "state", value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", dataType = "Integer"), |
| | |
| | | return CommonResult.success(queryList); |
| | | } |
| | | return CommonResult.failed("request parameter is null"); |
| | | }*/ |
| | | @ApiOperation(value = "查询违规违建") |
| | | @GetMapping("/query") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "state", value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "type", value = "1 违规,2 违建", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "resource", value = "1 视频,2 手动", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "code", dataType = "String"), |
| | | @ApiImplicitParam(name = "categoryBig", dataType = "String"), |
| | | @ApiImplicitParam(name = "categorySmall", dataType = "String"), |
| | | @ApiImplicitParam(name = "street", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "site", dataType = "String"), |
| | | @ApiImplicitParam(name = "startTime", dataType = "String"), |
| | | @ApiImplicitParam(name = "endTime", dataType = "String") |
| | | |
| | | }) |
| | | public CommonResult searchViolation(@RequestParam Integer size, |
| | | @RequestParam Integer current, |
| | | @RequestParam(required = false) Integer state, |
| | | @RequestParam Integer type, |
| | | @RequestParam(required = false) Integer resource, |
| | | @RequestParam(required = false) String code, |
| | | @RequestParam(required = false) String categoryBig, |
| | | @RequestParam(required = false) String categorySmall, |
| | | @RequestParam(required = false) Integer street, |
| | | @RequestParam(required = false) String site, |
| | | @RequestParam(required = false) String startTime, |
| | | @RequestParam(required = false) String endTime, |
| | | @RequestParam(required = false) Integer violationsTypeId, |
| | | @RequestParam(required = false) Integer videoId) { |
| | | |
| | | Page<Object> queryList; |
| | | if (type == 1) { |
| | | queryList = baseCaseService.listViolationsPage(current, size, state, resource, code, categoryBig, categorySmall, street, site, startTime, endTime, violationsTypeId, videoId); |
| | | } else if (type == 2) { |
| | | queryList = baseCaseService.listIllegalBuilding(current, size, state, resource); |
| | | } else { |
| | | return CommonResult.failed("bad request url"); |
| | | } |
| | | return CommonResult.success(queryList); |
| | | } |
| | | |
| | | /** |
| | |
| | | **/ |
| | | @ApiOperation(value = "添加违规案件") |
| | | @PostMapping("/addition_violation") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违建案件") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违规案件") |
| | | public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) { |
| | | log.info("---------------->参数,报警时间{},限时{},对象{}", violationParam.getAlarmTime(), violationParam.getLimitTime(), violationParam); |
| | | if (violationParam.getAlarmTime() != null) { |
| | | violationParam.setAlarmTime(violationParam.getAlarmTime().replace("/", "-")); |
| | | } |
| | | if (violationParam.getLimitTime() != null) { |
| | | violationParam.setLimitTime(violationParam.getLimitTime().replace("/", "-")); |
| | | } |
| | | Integer violation = 1; |
| | | Integer resource = 2; |
| | | BaseCase baseCase = new BaseCase(); |
| | |
| | | baseCase.setAlarmTime(LocalDateTime.parse(violationParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | baseCase.setCreateTime(LocalDateTime.now()); |
| | | baseCaseService.save(baseCase); |
| | | // JSONArray arr = JSON.parseArray(baseCase.getPic()); |
| | | AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | |
| | | if (CollUtil.isNotEmpty(violationParam.getImageUrls())) { |
| | | for (int i = 0; i < violationParam.getImageUrls().size(); i++) { |
| | | ImageResources imageResources = new ImageResources(); |
| | | imageResources.setType("01"); |
| | | imageResources.setBelongToId(baseCase.getId()); |
| | | imageResources.setUrl(violationParam.getImageUrls().get(i)); |
| | | imageResources.setCreateTime(LocalDateTime.now()); |
| | | imageResources.setCreateUser(user.getUserId()); |
| | | iImageResourcesService.save(imageResources); |
| | | } |
| | | } |
| | | |
| | | if (CollUtil.isNotEmpty(violationParam.getVideoUrls())) { |
| | | VideoResources videoResources = new VideoResources(); |
| | | videoResources.setCreateTime(LocalDateTime.now()); |
| | | videoResources.setType("1"); |
| | | videoResources.setCreateUser(user.getUserId()); |
| | | videoResources.setBelongToId(baseCase.getId().intValue()); |
| | | StringBuilder sb1 = new StringBuilder(""); |
| | | violationParam.getImageUrls().forEach(item -> { |
| | | sb1.append(",").append(item); |
| | | }); |
| | | videoResources.setUrl(sb1.substring(1, sb1.length() - 1)); |
| | | iVideoResourcesService.save(videoResources); |
| | | } |
| | | return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId())); |
| | | } |
| | | |
| | |
| | | **/ |
| | | @ApiOperation(value = "添加违建案件") |
| | | @PostMapping("/addition_illegal_building") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违规案件") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违建案件") |
| | | public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) { |
| | | log.info("---------------->参数,报警时间{},限时{},对象{}", illegalBuildingParam.getAlarmTime(), illegalBuildingParam.getLimitTime(), illegalBuildingParam); |
| | | if (illegalBuildingParam.getAlarmTime() != null) { |
| | | illegalBuildingParam.setAlarmTime(illegalBuildingParam.getAlarmTime().replace("/", "-")); |
| | | } |
| | | if (illegalBuildingParam.getLimitTime() != null) { |
| | | illegalBuildingParam.setLimitTime(illegalBuildingParam.getLimitTime().replace("/", "-")); |
| | | } |
| | | Integer illegalBuilding = 2; |
| | | Integer resource = 2; |
| | | BaseCase baseCase = new BaseCase(); |
| | |
| | | baseCase.setAlarmTime(LocalDateTime.parse(illegalBuildingParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | baseCase.setCreateTime(LocalDateTime.now()); |
| | | baseCaseService.save(baseCase); |
| | | |
| | | // if (CollUtil.isNotEmpty(illegalBuildingParam.getImageUrls())) { |
| | | // ImageResources imageResources = new ImageResources(); |
| | | // imageResources.setCreateTime(LocalDateTime.now()); |
| | | // imageResources.setType("1"); |
| | | // AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | // imageResources.setCreateUser(user.getUserId()); |
| | | // imageResources.setBelongToId(baseCase.getId()); |
| | | // StringBuilder sb1 = new StringBuilder(""); |
| | | // illegalBuildingParam.getImageUrls().forEach(item -> { |
| | | // sb1.append(",").append(item); |
| | | // }); |
| | | // imageResources.setUrl(sb1.substring(1, sb1.length() - 1)); |
| | | // imageResourcesService.save(imageResources); |
| | | // } |
| | | |
| | | AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | if (CollUtil.isNotEmpty(illegalBuildingParam.getImageUrls())) { |
| | | for (int i = 0; i < illegalBuildingParam.getImageUrls().size(); i++) { |
| | | ImageResources imageResources = new ImageResources(); |
| | | imageResources.setType("01"); |
| | | imageResources.setBelongToId(baseCase.getId()); |
| | | imageResources.setUrl(illegalBuildingParam.getImageUrls().toString()); |
| | | imageResources.setCreateTime(LocalDateTime.now()); |
| | | imageResources.setCreateUser(user.getUserId()); |
| | | iImageResourcesService.save(imageResources); |
| | | } |
| | | } |
| | | |
| | | if (CollUtil.isNotEmpty(illegalBuildingParam.getVideoUrls())) { |
| | | VideoResources videoResources = new VideoResources(); |
| | | videoResources.setCreateTime(LocalDateTime.now()); |
| | | videoResources.setType("01"); |
| | | user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); |
| | | videoResources.setCreateUser(user.getUserId()); |
| | | videoResources.setBelongToId(baseCase.getId().intValue()); |
| | | StringBuilder sb2 = new StringBuilder(""); |
| | | illegalBuildingParam.getImageUrls().forEach(item -> { |
| | | sb2.append(",").append(item); |
| | | }); |
| | | videoResources.setUrl(sb2.substring(1, sb2.length() - 1)); |
| | | iVideoResourcesService.save(videoResources); |
| | | } |
| | | return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId())); |
| | | } |
| | | |
| | |
| | | .set(BaseCase::getState, state))); |
| | | } |
| | | |
| | | @ApiOperation(value = "案件批处理") |
| | | @PutMapping("/batch_case_status_update") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", name = "state") |
| | | }) |
| | | public CommonResult updateCaseStatusBatch(@RequestBody List<BaseCase> baseCasesList) { |
| | | return CommonResult.success(baseCaseService.updateBatchById(baseCasesList)); |
| | | @ApiOperation(value = "案件批在学习") |
| | | @PutMapping("/batch_case_study") |
| | | public CommonResult batchHandCaseByStudy(@RequestParam List<Long> ids) { |
| | | ids.stream().forEach(item -> |
| | | { |
| | | BaseCase baseCase = new BaseCase(); |
| | | baseCase.setId(item); |
| | | baseCase.setState(3); |
| | | baseCaseService.updateById(baseCase); |
| | | }); |
| | | return CommonResult.success("success"); |
| | | } |
| | | |
| | | @ApiOperation(value = "案件批暂不处理") |
| | | @PutMapping("/batch_case_Ignore") |
| | | public CommonResult batchHandCaseByIgnore(@RequestParam List<Long> ids) { |
| | | ids.stream().forEach(item -> |
| | | { |
| | | BaseCase baseCase = new BaseCase(); |
| | | baseCase.setId(item); |
| | | baseCase.setState(4); |
| | | baseCaseService.updateById(baseCase); |
| | | }); |
| | | return CommonResult.success("success"); |
| | | } |
| | | |
| | | @ApiOperation(value = "调度管理-批量删除") |
| | | @DeleteMapping("/batch_case_delete") |
| | | public CommonResult batchCaseDelete(@RequestParam List<Long> ids) { |
| | | ids.forEach( |
| | | item -> { |
| | | BaseCase baseCase = baseCaseService.getOne(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getId, item)); |
| | | if (baseCase.getCategory() == 1) { |
| | | violationsService.removeById(item); |
| | | baseCaseService.removeById(item); |
| | | } else { |
| | | illegalBuildingService.removeById(item); |
| | | baseCaseService.removeById(item); |
| | | } |
| | | } |
| | | ); |
| | | return CommonResult.success("success"); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | @ApiOperation(value = "查询案卷") |
| | | @GetMapping("/query_case") |
| | | public CommonResult queryCase(@RequestParam Integer pageSize, |
| | | @RequestParam Integer current, |
| | | @RequestParam(required = false) String number, |
| | | @RequestParam(required = false) Integer communityId, |
| | | @RequestParam(required = false) Integer categories, |
| | | @RequestParam(required = false) String startTime, |
| | | @RequestParam(required = false) String endTime, |
| | | @RequestParam(required = false) String site) { |
| | | return CommonResult.success(baseCaseService.selectPage(new Page<BaseCase>().setCurrent(current).setSize(pageSize), number, communityId, categories, startTime, endTime, site)); |
| | | public CommonResult<Page<BaseCase>> queryCase(@RequestParam Integer pageSize, |
| | | @RequestParam Integer current, |
| | | @RequestParam(required = false) String number, |
| | | @RequestParam(required = false) Integer communityId, |
| | | @RequestParam(required = false) Integer categories, |
| | | @RequestParam(required = false) String startTime, |
| | | @RequestParam(required = false) String endTime, |
| | | @RequestParam(required = false) Integer state, |
| | | @RequestParam(required = false) Integer time, |
| | | @RequestParam(required = false) Integer streetId, |
| | | @RequestParam(required = false) String site) { |
| | | return CommonResult.success(baseCaseService.selectPage(new Page<BaseCase>().setCurrent(current).setSize(pageSize), number, communityId, categories, startTime, endTime, site, state, streetId, time)); |
| | | } |
| | | |
| | | @GetMapping("/query_for_violation") |
| | |
| | | |
| | | @GetMapping("/video_inspection") |
| | | @ApiOperation("预警研判") |
| | | public CommonResult searchVideoInspection(@RequestParam Integer current){ |
| | | return CommonResult.success(baseCaseService.selectVideoInspection(current)); |
| | | public CommonResult searchVideoInspection(@RequestParam Integer current, |
| | | @RequestParam Integer pageSize, |
| | | @RequestParam(required = false) Integer type, |
| | | @RequestParam(required = false) Long gradeId, |
| | | @RequestParam(required = false) Long videoId, |
| | | @RequestParam(required = false) String beginTime, |
| | | @RequestParam(required = false) String endTime) { |
| | | return CommonResult.success(baseCaseService.selectVideoInspection(current, pageSize, gradeId, videoId, beginTime, endTime, type)); |
| | | } |
| | | |
| | | @GetMapping("/video_inspection/{id}") |
| | | @ApiOperation("预警研判详情") |
| | | public CommonResult getVideoInspection(@PathVariable Long id) { |
| | | return CommonResult.success(baseCaseService.getById(id)); |
| | | } |
| | | |
| | | @GetMapping("/video_inspection/Count") |
| | | @ApiOperation("预警研判左上角待审核案件,今日审核,今日在学习") |
| | | public CommonResult searchCount(){ |
| | | return CommonResult.success(baseCaseService.selectCount()); |
| | | public CommonResult searchCount() { |
| | | return CommonResult.success(baseCaseService.selectCount()); |
| | | } |
| | | |
| | | @PutMapping("/video_inspection") |
| | | @ApiOperation("预警研判确定") |
| | | public CommonResult searchCount(@RequestBody VideoInspectParam violationParam){ |
| | | return CommonResult.success(baseCaseService.updateCase(violationParam)); |
| | | public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) { |
| | | return CommonResult.success(baseCaseService.updateCase(violationParam)); |
| | | } |
| | | } |