定时获取录像完整性结果bug修改

This commit is contained in:
guoshengxiong 2024-05-21 21:40:25 +08:00
parent 8d59908907
commit 125294835f
2 changed files with 76 additions and 25 deletions

View File

@ -1,16 +1,27 @@
package com.zhgd.xmgl.modules.video.controller; 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.ProjectVideoHkVqd;
import com.zhgd.xmgl.modules.video.entity.vo.CountQualityVo; import com.zhgd.xmgl.modules.video.entity.vo.CountQualityVo;
import com.zhgd.xmgl.modules.video.service.IProjectVideoHkVqdService; 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 com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap; 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 springfox.documentation.annotations.ApiIgnore;
import java.util.List; import java.util.List;
@ -26,6 +37,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* @Title: Controller * @Title: Controller
@ -128,13 +142,46 @@ public class ProjectVideoHkVqdController {
return result; return result;
} }
@ApiOperation(value = "统计海康视频质量诊断结果信息", notes = "统计海康视频质量诊断结果信息", httpMethod = "POST") @ApiOperation(value = "统计海康视频质量诊断结果信息", notes = "统计海康视频质量诊断结果信息", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
}) })
@PostMapping(value = "/countQuality") @PostMapping(value = "/countQuality")
public Result<CountQualityVo> countQuality(@ApiIgnore @RequestBody Map<String, Object> param) { public Result<CountQualityVo> countQuality(@ApiIgnore @RequestBody Map<String, Object> param) {
return Result.success(projectVideoHkVqdService.countQuality(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<ProjectVideoHkVqd> 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<ProjectVideoHkVqd> 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;
}
} }

View File

@ -106,27 +106,31 @@ public class VideoItemTask {
JSONArray listJa = dataJo.getJSONArray("list"); JSONArray listJa = dataJo.getJSONArray("list");
for (int i = 0; i < listJa.size(); i++) { for (int i = 0; i < listJa.size(); i++) {
JSONObject oneJo = listJa.getJSONObject(i); JSONObject oneJo = listJa.getJSONObject(i);
XzHikvisionVideoFull entity = new XzHikvisionVideoFull();
entity.setProjectSn(project.getProjectSn());
String indexCode = oneJo.getString("indexCode"); String indexCode = oneJo.getString("indexCode");
entity.setSerialNumber(indexCode);
Integer result = oneJo.getInteger("result"); Integer result = oneJo.getInteger("result");
entity.setType(result);
String date = oneJo.getString("date"); String date = oneJo.getString("date");
entity.setDate(date); JSONArray videoClipstimeSegmentJa = oneJo.getJSONArray("videoClipstimeSegment");
Integer from = oneJo.getInteger("from"); for (int j = 0; j < videoClipstimeSegmentJa.size(); j++) {
entity.setFrom(from); XzHikvisionVideoFull entity = new XzHikvisionVideoFull();
Integer to = oneJo.getInteger("to"); entity.setProjectSn(project.getProjectSn());
entity.setTo(to); entity.setSerialNumber(indexCode);
Integer count = xzHikvisionVideoFullMapper.selectCount(new LambdaQueryWrapper<XzHikvisionVideoFull>() entity.setType(result);
.eq(XzHikvisionVideoFull::getSerialNumber, entity.getSerialNumber()) entity.setDate(date);
.eq(XzHikvisionVideoFull::getDate, entity.getDate()) JSONObject jo1 = videoClipstimeSegmentJa.getJSONObject(j);
.eq(XzHikvisionVideoFull::getFrom, entity.getFrom()) Integer from = jo1.getInteger("from");
); entity.setFrom(from);
if (count != 0) { Integer to = jo1.getInteger("to");
return; entity.setTo(to);
Integer count = xzHikvisionVideoFullMapper.selectCount(new LambdaQueryWrapper<XzHikvisionVideoFull>()
.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);
} }
} }
} }