| | |
| | | package com.ycl.controller.caseHandler; |
| | | |
| | | |
| | | import com.alibaba.druid.util.StringUtils; |
| | | 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.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.dto.casePool.ViolationParam; |
| | | import com.ycl.entity.caseHandler.BaseCase; |
| | | import com.ycl.entity.caseHandler.BaseCaseDetail; |
| | | import com.ycl.entity.caseHandler.DisposeRecord; |
| | | 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.utils.EasyExcelUtils; |
| | | import com.ycl.vo.casePool.QueryForViolationVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | |
| | | |
| | |
| | | * @since 2022-09-24 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/base-case") |
| | | @RequestMapping("/base_case") |
| | | @Api(tags = "案件池") |
| | | public class BaseCaseController extends BaseController { |
| | | |
| | |
| | | IIllegalBuildingService illegalBuildingService; |
| | | |
| | | @Autowired |
| | | IDisposeRecordService iDisposeRecordService; |
| | | |
| | | @Autowired |
| | | UtilNumber utilNumber; |
| | | |
| | | |
| | | @Autowired |
| | | public void setBaseCaseService(IBaseCaseService baseCaseService) { |
| | | this.baseCaseService = baseCaseService; |
| | | } |
| | | |
| | | @ApiOperation(value = "上传市平台") |
| | | @PostMapping("/upload-event") |
| | | public CommonResult uploadEvent(@RequestParam Integer caseId, CommonResult<Object> success) { |
| | | public CommonResult uploadEvent(@RequestParam Long caseId, CommonResult<Object> success) { |
| | | String msg = baseCaseService.uploadEvent(caseId); |
| | | if (StringUtils.isEmpty(msg)) { |
| | | return success; |
| | |
| | | * @Description query illegal building and violation |
| | | * @Param [size, current, state, type, resource] |
| | | **/ |
| | | @ApiOperation(value = "查询违规违建") |
| | | @GetMapping("/query/{type}") |
| | | /* @ApiOperation(value = "查询违规违建") |
| | | @GetMapping("/query") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "state", value = "处理状态(0误报 1上报 2立案 3派遣 4处置 5核查 6结案7处理中)", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") |
| | | @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") |
| | | }) |
| | | public CommonResult searchViolation(@RequestParam Integer size, |
| | | @RequestParam Integer current, |
| | | @RequestParam Integer state, |
| | | @PathVariable(value = "type") Integer type, |
| | | @RequestParam Integer resource) { |
| | | @RequestParam(required = false) Integer type, |
| | | @RequestParam(required = false) Integer resource) { |
| | | if (state != null) { |
| | | Page<Object> page = new Page<>(); |
| | | page.setCurrent(current); |
| | | page.setSize(size); |
| | | Page<Object> queryList; |
| | | Integer violation = 01; |
| | | Integer illegalBuilding = 02; |
| | | Integer violation = 1; |
| | | Integer illegalBuilding = 2; |
| | | if (type == violation) { |
| | | queryList = baseCaseService.listViolationsPage(page, state, resource); |
| | | queryList = baseCaseService.listViolationsPage(new Page<>().setCurrent(current).setSize(size), state, resource); |
| | | } else if (type == illegalBuilding) { |
| | | queryList = baseCaseService.listIllegalBuilding(page, state, resource); |
| | | queryList = baseCaseService.listIllegalBuilding(new Page<>().setCurrent(current).setSize(size), state, resource); |
| | | } else { |
| | | return CommonResult.failed("bad request url"); |
| | | } |
| | | 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 = "删除违规/违建案件") |
| | | @DeleteMapping("/deletion") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") |
| | | @ApiImplicitParam(name = "type", value = "1 违规,2 违建", dataType = "Integer") |
| | | }) |
| | | @LogSave(operationType = "事项处置管理", contain = "删除案件") |
| | | public CommonResult removeCase(@RequestParam Integer id, @RequestParam Integer type) { |
| | | Integer violationType = 01; |
| | | Integer illegalBuildingType = 02; |
| | | Integer violationType = 1; |
| | | Integer illegalBuildingType = 2; |
| | | if (id != null) { |
| | | if (type == violationType) { |
| | | return CommonResult.success(violationsService.removeById(id)); |
| | |
| | | * @Description delete illegal buildings or violations |
| | | * @Param [ids, type] |
| | | **/ |
| | | @ApiOperation(value = "删除违规/违建案件") |
| | | @ApiOperation(value = "批处理-删除违规/违建案件") |
| | | @DeleteMapping("/batch_deletion") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") |
| | | @ApiImplicitParam(name = "type", value = "1 违规,2 违建", dataType = "Integer") |
| | | }) |
| | | public CommonResult removeCases(@RequestParam String[] ids, @RequestParam Integer type) { |
| | | Integer violationType = 01; |
| | | Integer illegalBuildingType = 02; |
| | | List<String> idList = Arrays.asList(ids); |
| | | if (!idList.isEmpty()) { |
| | | @LogSave(operationType = "事项处置管理", contain = "批量删除案件") |
| | | public CommonResult removeCases(@RequestParam List<Long> ids, @RequestParam Integer type) { |
| | | Integer violationType = 1; |
| | | Integer illegalBuildingType = 2; |
| | | if (!ids.isEmpty()) { |
| | | CommonResult.success(baseCaseService.removeBatchByIds(ids)); |
| | | if (type == violationType) { |
| | | return CommonResult.success(violationsService.removeBatchByIds(idList)); |
| | | return CommonResult.success(violationsService.removeBatchByIds(ids)); |
| | | } else if (type == illegalBuildingType) { |
| | | return CommonResult.success(illegalBuildingService.removeBatchByIds(idList)); |
| | | return CommonResult.success(illegalBuildingService.removeBatchByIds(ids)); |
| | | } |
| | | return CommonResult.success(baseCaseService.removeBatchByIds(idList)); |
| | | } |
| | | return CommonResult.failed("request parameter is null"); |
| | | } |
| | |
| | | **/ |
| | | @ApiOperation(value = "添加违规案件") |
| | | @PostMapping("/addition_violation") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违建案件") |
| | | public CommonResult addViolationCase(@RequestBody @Validated ViolationParam violationParam) { |
| | | Integer violation = 1; |
| | | Integer resource = 2; |
| | | BaseCase baseCase = new BaseCase(); |
| | | BeanUtils.copyProperties(violationParam, baseCase); |
| | | baseCase.setEventSource(resource); |
| | | baseCase.setCategory(violation); |
| | | baseCase.setCode(utilNumber.createCaseCode()); |
| | | baseCase.setState(BaseCaseStatus.PENDING); |
| | | baseCase.setAlarmTime(LocalDateTime.parse(violationParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | baseCase.setCreateTime(LocalDateTime.now()); |
| | | baseCaseService.save(baseCase); |
| | | return CommonResult.success(baseCaseService.saveViolationCase(violationParam, baseCase.getId())); |
| | | } |
| | |
| | | * @Param [violationParam] |
| | | **/ |
| | | @ApiOperation(value = "添加违建案件") |
| | | @PostMapping("/addition_violation") |
| | | @PostMapping("/addition_illegal_building") |
| | | @LogSave(operationType = "事项处置管理", contain = "新增违规案件") |
| | | public CommonResult addIllegalBuildingCase(@RequestBody @Validated IllegalBuildingParam illegalBuildingParam) { |
| | | Integer illegalBuilding = 2; |
| | | Integer resource = 2; |
| | | BaseCase baseCase = new BaseCase(); |
| | | BeanUtils.copyProperties(illegalBuildingParam, baseCase); |
| | | baseCase.setCategory(illegalBuilding); |
| | | baseCase.setEventSource(resource); |
| | | baseCase.setCode(utilNumber.createCaseCode()); |
| | | baseCase.setState(BaseCaseStatus.PENDING); |
| | | baseCase.setAlarmTime(LocalDateTime.parse(illegalBuildingParam.getAlarmTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | baseCase.setCreateTime(LocalDateTime.now()); |
| | | baseCaseService.save(baseCase); |
| | | return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId())); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "案件详情") |
| | | @GetMapping("/baseCaseDetail/{code}") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "code", value = "事件编号") |
| | | }) |
| | | public CommonResult<BaseCaseDetail> baseCaseDetail(@PathVariable(value = "code") String code) { |
| | | return CommonResult.success(baseCaseService.baseCaseDetail(code)); |
| | | } |
| | | |
| | | @ApiOperation(value = "人工路径案件图片展示") |
| | | @GetMapping("/hand_work_case_images") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer") |
| | | }) |
| | | public CommonResult queryCaseImages(@RequestParam Integer id, @RequestParam Integer type) { |
| | | return CommonResult.success(baseCaseService.listCaseImages(id, type)); |
| | | } |
| | | |
| | | /** |
| | | * @return com.ycl.api.CommonResult |
| | | * @Description case status update |
| | | * @Param [caseId, status] |
| | | **/ |
| | | @ApiOperation(value = "案件状态修改") |
| | | @PutMapping("/case_status_update") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "处理状态(0-待处理1-误报2-上报3-再学习/再训练4暂不处理5立案6调度7处置8核查9结案)", name = "state") |
| | | }) |
| | | public CommonResult updateCaseStatus(@RequestParam Integer caseId, @RequestParam Integer state) { |
| | | return CommonResult.success(baseCaseService |
| | | .update(new LambdaUpdateWrapper<BaseCase>() |
| | | .eq(BaseCase::getId, caseId) |
| | | .set(BaseCase::getState, state))); |
| | | } |
| | | |
| | | @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"); |
| | | } |
| | | |
| | | /** |
| | | * @return com.ycl.api.CommonResult |
| | | * @Description reset case |
| | | * @Param [caseId] |
| | | **/ |
| | | @ApiOperation(value = "暂不处置重新处置") |
| | | @PutMapping("/reset") |
| | | public CommonResult resetCase(@RequestParam Integer caseId) { |
| | | Integer firstNum = 1; |
| | | Integer state = iDisposeRecordService |
| | | .list(new LambdaQueryWrapper<DisposeRecord>() |
| | | .eq(DisposeRecord::getBaseCaseId, caseId). |
| | | orderByDesc(DisposeRecord::getCreateTime)).get(firstNum).getState(); |
| | | return CommonResult.success(baseCaseService |
| | | .update(new LambdaUpdateWrapper<BaseCase>() |
| | | .eq(BaseCase::getId, caseId) |
| | | .set(BaseCase::getState, state))); |
| | | } |
| | | |
| | | @ApiOperation(value = "结案") |
| | | @PutMapping("/end_case") |
| | | @LogSave(operationType = "事项处置管理", contain = "案件结案") |
| | | public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result, @RequestParam String opinion) { |
| | | baseCaseService.endCase(caseId, result, opinion); |
| | | return CommonResult.success("end case 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)); |
| | | } |
| | | |
| | | @GetMapping("/query_for_violation") |
| | | @ApiOperation("违规检索") |
| | | public CommonResult queryForViolation(QueryForViolationParam queryForViolationParam) { |
| | | return CommonResult.success(baseCaseService.selectViolation(queryForViolationParam)); |
| | | } |
| | | |
| | | @PostMapping("/query_for_violation/export") |
| | | @ApiOperation("违规检索-导出") |
| | | public void queryForViolationExport(HttpServletResponse response, QueryForViolationParam queryForViolationParam) { |
| | | String sheetName = "违规数据"; |
| | | EasyExcelUtils.export(response, sheetName, QueryForViolationVO.class, baseCaseService.selectViolationList(queryForViolationParam)); |
| | | } |
| | | |
| | | @GetMapping("/video_inspection") |
| | | @ApiOperation("预警研判") |
| | | public CommonResult searchVideoInspection(@RequestParam Integer current, |
| | | @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, gradeId, videoId, beginTime, endTime)); |
| | | } |
| | | |
| | | @GetMapping("/video_inspection/Count") |
| | | @ApiOperation("预警研判左上角待审核案件,今日审核,今日在学习") |
| | | public CommonResult searchCount() { |
| | | return CommonResult.success(baseCaseService.selectCount()); |
| | | } |
| | | |
| | | @PutMapping("/video_inspection") |
| | | @ApiOperation("预警研判确定") |
| | | public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) { |
| | | return CommonResult.success(baseCaseService.updateCase(violationParam)); |
| | | } |
| | | } |