From 125294835ffab3de4d0c6bae57e8c7f0cb5790ec Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 21 May 2024 21:40:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E8=8E=B7=E5=8F=96=E5=BD=95?= =?UTF-8?q?=E5=83=8F=E5=AE=8C=E6=95=B4=E6=80=A7=E7=BB=93=E6=9E=9Cbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectVideoHkVqdController.java | 63 ++++++++++++++++--- .../com/zhgd/xmgl/task/VideoItemTask.java | 38 ++++++----- 2 files changed, 76 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java index 414201d58..3b30b44a7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java @@ -1,16 +1,27 @@ package com.zhgd.xmgl.modules.video.controller; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.jeecg.common.util.oConvertUtils; import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd; import com.zhgd.xmgl.modules.video.entity.vo.CountQualityVo; import com.zhgd.xmgl.modules.video.service.IProjectVideoHkVqdService; +import com.zhgd.xmgl.modules.xz.entity.XzTaskProgressAlarm; import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiImplicitParams; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.util.HashMap; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.web.servlet.ModelAndView; import springfox.documentation.annotations.ApiIgnore; import java.util.List; @@ -26,6 +37,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * @Title: Controller @@ -128,13 +142,46 @@ public class ProjectVideoHkVqdController { return result; } - @ApiOperation(value = "统计海康视频质量诊断结果信息", notes = "统计海康视频质量诊断结果信息", httpMethod = "POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), - }) - @PostMapping(value = "/countQuality") - public Result countQuality(@ApiIgnore @RequestBody Map param) { - return Result.success(projectVideoHkVqdService.countQuality(param)); - } + @ApiOperation(value = "统计海康视频质量诊断结果信息", notes = "统计海康视频质量诊断结果信息", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/countQuality") + public Result countQuality(@ApiIgnore @RequestBody Map param) { + return Result.success(projectVideoHkVqdService.countQuality(param)); + } + + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel海康视频质量诊断结果信息", notes = "导出excel海康视频质量诊断结果信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + ProjectVideoHkVqd taskProgressAlarm = JSON.parseObject(deString, ProjectVideoHkVqd.class); + queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + log.error("error:", e); + } + + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = projectVideoHkVqdService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "导出列表"); + mv.addObject(NormalExcelConstants.CLASS, ProjectVideoHkVqd.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams()); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } } diff --git a/src/main/java/com/zhgd/xmgl/task/VideoItemTask.java b/src/main/java/com/zhgd/xmgl/task/VideoItemTask.java index a74211250..78edcabe7 100644 --- a/src/main/java/com/zhgd/xmgl/task/VideoItemTask.java +++ b/src/main/java/com/zhgd/xmgl/task/VideoItemTask.java @@ -106,27 +106,31 @@ public class VideoItemTask { JSONArray listJa = dataJo.getJSONArray("list"); for (int i = 0; i < listJa.size(); i++) { JSONObject oneJo = listJa.getJSONObject(i); - XzHikvisionVideoFull entity = new XzHikvisionVideoFull(); - entity.setProjectSn(project.getProjectSn()); String indexCode = oneJo.getString("indexCode"); - entity.setSerialNumber(indexCode); Integer result = oneJo.getInteger("result"); - entity.setType(result); String date = oneJo.getString("date"); - entity.setDate(date); - Integer from = oneJo.getInteger("from"); - entity.setFrom(from); - Integer to = oneJo.getInteger("to"); - entity.setTo(to); - Integer count = xzHikvisionVideoFullMapper.selectCount(new LambdaQueryWrapper() - .eq(XzHikvisionVideoFull::getSerialNumber, entity.getSerialNumber()) - .eq(XzHikvisionVideoFull::getDate, entity.getDate()) - .eq(XzHikvisionVideoFull::getFrom, entity.getFrom()) - ); - if (count != 0) { - return; + JSONArray videoClipstimeSegmentJa = oneJo.getJSONArray("videoClipstimeSegment"); + for (int j = 0; j < videoClipstimeSegmentJa.size(); j++) { + XzHikvisionVideoFull entity = new XzHikvisionVideoFull(); + entity.setProjectSn(project.getProjectSn()); + entity.setSerialNumber(indexCode); + entity.setType(result); + entity.setDate(date); + JSONObject jo1 = videoClipstimeSegmentJa.getJSONObject(j); + Integer from = jo1.getInteger("from"); + entity.setFrom(from); + Integer to = jo1.getInteger("to"); + entity.setTo(to); + Integer count = xzHikvisionVideoFullMapper.selectCount(new LambdaQueryWrapper() + .eq(XzHikvisionVideoFull::getSerialNumber, entity.getSerialNumber()) + .eq(XzHikvisionVideoFull::getDate, entity.getDate()) + .eq(XzHikvisionVideoFull::getFrom, entity.getFrom()) + ); + if (count != 0) { + return; + } + xzHikvisionVideoFullMapper.insert(entity); } - xzHikvisionVideoFullMapper.insert(entity); } } }