From a4cd4c2d98392cd1036f36b96c262878743a7e63 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 05 九月 2024 19:52:22 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server --- ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java | 242 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 198 insertions(+), 44 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java index 569df4d..a028a7d 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java @@ -1,11 +1,15 @@ 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.bo.AdminUserDetails; import com.ycl.controller.BaseController; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.util.UtilNumber; @@ -16,24 +20,32 @@ 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 com.ycl.vo.casePool.WorkOrderVO; 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.*; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; @@ -48,6 +60,7 @@ @RestController @RequestMapping("/base_case") @Api(tags = "妗堜欢姹�") +@Slf4j public class BaseCaseController extends BaseController { private IBaseCaseService baseCaseService; @@ -64,6 +77,12 @@ @Autowired UtilNumber utilNumber; + @Autowired + IImageResourcesService iImageResourcesService; + + @Autowired + IVideoResourcesService iVideoResourcesService; + @Autowired public void setBaseCaseService(IBaseCaseService baseCaseService) { @@ -71,11 +90,11 @@ } @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); } @@ -113,11 +132,10 @@ } 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 = "state", value = "澶勭悊鐘舵��(wait(0-寰呭鐞�) handle(5绔嬫6璋冨害7澶勭疆8鏍告煡) finish(1-璇姤2-涓婃姤3-鍐嶅涔�/鍐嶈缁�4鏆備笉澶勭悊 9缁撴)", dataType = "String"), @ApiImplicitParam(name = "type", value = "1 杩濊,2 杩濆缓", dataType = "Integer"), @ApiImplicitParam(name = "resource", value = "1 瑙嗛,2 鎵嬪姩", dataType = "Integer"), @ApiImplicitParam(name = "code", dataType = "String"), @@ -131,8 +149,8 @@ }) public CommonResult searchViolation(@RequestParam Integer size, @RequestParam Integer current, - @RequestParam Integer state, - @RequestParam(required = false) Integer type, + @RequestParam(required = false) String state, + @RequestParam Integer type, @RequestParam(required = false) Integer resource, @RequestParam(required = false) String code, @RequestParam(required = false) String categoryBig, @@ -140,21 +158,42 @@ @RequestParam(required = false) Integer street, @RequestParam(required = false) String site, @RequestParam(required = false) String startTime, - @RequestParam(required = false) String endTime ){ - if (state != null) { - Page<Object> queryList; - Integer violation = 1; - Integer illegalBuilding = 2; - if (type == violation) { - queryList = baseCaseService.listViolationsPage(new Page<>().setCurrent(current).setSize(size), state, resource, code, categoryBig, categorySmall, street, site, startTime, endTime); - } else if (type == illegalBuilding) { - queryList = baseCaseService.listIllegalBuilding(new Page<>().setCurrent(current).setSize(size), state, resource); - } else { - return CommonResult.failed("bad request url"); - } - return CommonResult.success(queryList); + @RequestParam(required = false) String endTime, + @RequestParam(required = false) Integer violationsTypeId, + @RequestParam(required = false) Integer videoId) { + + Page<Object> queryList; + // 澶勭悊鐘舵��(wait(0-寰呭鐞�) handle(5绔嬫6璋冨害7澶勭疆8鏍告煡) finish(1-璇姤2-涓婃姤3-鍐嶅涔�/鍐嶈缁�4鏆備笉澶勭悊 9缁撴) + List<Integer> stateList = new ArrayList<>(); + switch (state) { + case "wait": + stateList.add(0); + break; + case "handle": + stateList.add(5); + stateList.add(6); + stateList.add(7); + stateList.add(8); + break; + case "finish": + stateList.add(1); + stateList.add(2); + stateList.add(3); + stateList.add(4); + stateList.add(9); + break; + default: + stateList.add(Integer.valueOf(state)); + break; } - return CommonResult.failed("request parameter is null"); + if (type == 1) { + queryList = baseCaseService.listViolationsPage(current, size, stateList, resource, code, categoryBig, categorySmall, street, site, startTime, endTime, violationsTypeId, videoId); + } else if (type == 2) { + queryList = baseCaseService.listIllegalBuilding(current, size, stateList, resource); + } else { + return CommonResult.failed("bad request url"); + } + return CommonResult.success(queryList); } /** @@ -214,8 +253,15 @@ **/ @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(); @@ -227,6 +273,34 @@ 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())); } @@ -237,8 +311,15 @@ **/ @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(); @@ -250,6 +331,49 @@ 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())); } @@ -316,18 +440,18 @@ @ApiOperation(value = "璋冨害绠$悊-鎵归噺鍒犻櫎") @DeleteMapping("/batch_case_delete") - public CommonResult batchCaseDelete(@RequestParam List<Long> ids){ + 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); + 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"); } @@ -361,15 +485,18 @@ @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") @@ -387,8 +514,20 @@ @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") @@ -402,4 +541,19 @@ public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) { return CommonResult.success(baseCaseService.updateCase(violationParam)); } + + @GetMapping("/work_order") + @ApiOperation("宸ュ崟缁熻") + public CommonResult getWorkOrder(@RequestParam Integer currentPage, + @RequestParam Integer pageSize, + @RequestParam(required = false) String keyword) { + return CommonResult.success(baseCaseService.getWorkOrder(currentPage, pageSize, keyword)); + } + + @PostMapping("/work_order/export") + @ApiOperation("宸ュ崟缁熻-瀵煎嚭") + public void getWorkOrderExport(HttpServletResponse response, QueryForViolationParam param) { + String sheetName = "宸ュ崟鏁版嵁"; + EasyExcelUtils.export(response, sheetName, WorkOrderVO.class, baseCaseService.getWorkOrderList(param.getKeyword())); + } } \ No newline at end of file -- Gitblit v1.8.0