|
|
|
@ -164,28 +164,27 @@ public class TerminalPhotoController extends BaseController {
|
|
|
|
|
ServiceBody<TerminalPhotoSelectListModel> serviceBody = terminalPhotoService.getPhotoList(requestIp, vo, termList);
|
|
|
|
|
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
|
|
|
|
|
TerminalPhotoSelectListModel model = serviceBody.getData();
|
|
|
|
|
List<String> hourList = DateUtil.getEachHour(vo.getStarttime(), vo.getEndtime());
|
|
|
|
|
this.buildPhotoStat(termList, model.getList(), hourList);
|
|
|
|
|
this.buildPhotoStat(termList, model.getList());
|
|
|
|
|
return ResponseReult.success(termList);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void buildPhotoStat(List<StatTerm> termList, List<TerminalPhotoSelectListModel.PhotoBean> list, List<String> hourList) throws Exception {
|
|
|
|
|
private void buildPhotoStat(List<StatTerm> termList, List<TerminalPhotoSelectListModel.PhotoBean> list) throws Exception {
|
|
|
|
|
for (StatTerm statTerm : termList) {
|
|
|
|
|
List<CameraSchedule> scheduleList = cameraScheduleService.list(statTerm.getTermId());
|
|
|
|
|
statTerm.initScheduleList(scheduleList);
|
|
|
|
|
}
|
|
|
|
|
if (list != null) {
|
|
|
|
|
for (TerminalPhotoSelectListModel.PhotoBean photo : list) {
|
|
|
|
|
StatTerm term = this.findStatTerm(termList, photo, hourList);
|
|
|
|
|
StatTerm term = this.findStatTerm(termList, photo);
|
|
|
|
|
term.addPhoto(photo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private StatTerm findStatTerm(List<StatTerm> list, TerminalPhotoSelectListModel.PhotoBean photo, List<String> hourList) {
|
|
|
|
|
private StatTerm findStatTerm(List<StatTerm> list, TerminalPhotoSelectListModel.PhotoBean photo) {
|
|
|
|
|
StatTerm the = null;
|
|
|
|
|
for (StatTerm item : list) {
|
|
|
|
|
if (item.getTermId() == photo.getTermid()) {
|
|
|
|
@ -199,109 +198,106 @@ public class TerminalPhotoController extends BaseController {
|
|
|
|
|
the.setCmdid(photo.getCmdid());
|
|
|
|
|
list.add(the);
|
|
|
|
|
}
|
|
|
|
|
the.setHourList(hourList);
|
|
|
|
|
return the;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "图片统计导出", notes = "图片统计导出接口", httpMethod = "POST")
|
|
|
|
|
@RequestMapping("/exportPhotoStat")
|
|
|
|
|
@Log(title = "图片统计导出", type = "导出")
|
|
|
|
|
public void exportPhotoStat(@RequestHeader HttpHeaders headers,
|
|
|
|
|
@RequestBody @Validated TerminalPhotoSelectVo vo,
|
|
|
|
|
HttpServletResponse response) throws Exception {
|
|
|
|
|
String requestIp = HeaderUtil.getRequestIp(headers);
|
|
|
|
|
vo.setPageindex(1);
|
|
|
|
|
vo.setPagesize(100000);
|
|
|
|
|
List<StatTerm> termList = new ArrayList<>();
|
|
|
|
|
ServiceBody<TerminalPhotoSelectListModel> serviceBody = terminalPhotoService.getPhotoList(requestIp, vo, termList);
|
|
|
|
|
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
|
|
|
|
|
TerminalPhotoSelectListModel model = serviceBody.getData();
|
|
|
|
|
List<String> hourList = DateUtil.getEachHour(vo.getStarttime(), vo.getEndtime());
|
|
|
|
|
this.buildPhotoStat(termList, model.getList(), hourList);
|
|
|
|
|
|
|
|
|
|
response.setContentType("application/vnd.ms-excel");
|
|
|
|
|
response.setCharacterEncoding("utf-8");
|
|
|
|
|
response.setHeader("Content-Disposition", "attachment; filename="
|
|
|
|
|
+ URLEncoder.encode("照片统计.xlsx", "UTF-8"));
|
|
|
|
|
EasyExcelUtil.exportPhotoStat(termList, response.getOutputStream());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "图片统计导出合计", notes = "图片统计导出合计接口", httpMethod = "POST")
|
|
|
|
|
@RequestMapping("/exportPhotoStatSum")
|
|
|
|
|
@Log(title = "图片统计导出合计", type = "导出")
|
|
|
|
|
public void exportPhotoStatSum(@RequestHeader HttpHeaders headers,
|
|
|
|
|
@RequestBody @Validated TerminalPhotoSelectVo vo,
|
|
|
|
|
HttpServletResponse response) throws Exception {
|
|
|
|
|
String requestIp = HeaderUtil.getRequestIp(headers);
|
|
|
|
|
vo.setPageindex(1);
|
|
|
|
|
vo.setPagesize(100000);
|
|
|
|
|
List<StatTerm> termList = new ArrayList<>();
|
|
|
|
|
ServiceBody<TerminalPhotoSelectListModel> serviceBody = terminalPhotoService.getPhotoList(requestIp, vo, termList);
|
|
|
|
|
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
|
|
|
|
|
TerminalPhotoSelectListModel model = serviceBody.getData();
|
|
|
|
|
List<String> hourList = DateUtil.getEachHour(vo.getStarttime(), vo.getEndtime());
|
|
|
|
|
this.buildPhotoStat(termList, model.getList(), hourList);
|
|
|
|
|
List<PhotoStatExcel> result = this.buildPhotoStatExcel(termList);
|
|
|
|
|
// @ApiOperation(value = "图片统计导出", notes = "图片统计导出接口", httpMethod = "POST")
|
|
|
|
|
// @RequestMapping("/exportPhotoStat")
|
|
|
|
|
// @Log(title = "图片统计导出", type = "导出")
|
|
|
|
|
// public void exportPhotoStat(@RequestHeader HttpHeaders headers,
|
|
|
|
|
// @RequestBody @Validated TerminalPhotoSelectVo vo,
|
|
|
|
|
// HttpServletResponse response) throws Exception {
|
|
|
|
|
// String requestIp = HeaderUtil.getRequestIp(headers);
|
|
|
|
|
// vo.setPageindex(1);
|
|
|
|
|
// vo.setPagesize(100000);
|
|
|
|
|
// List<StatTerm> termList = new ArrayList<>();
|
|
|
|
|
// ServiceBody<TerminalPhotoSelectListModel> serviceBody = terminalPhotoService.getPhotoList(requestIp, vo, termList);
|
|
|
|
|
// if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
|
|
|
|
|
// TerminalPhotoSelectListModel model = serviceBody.getData();
|
|
|
|
|
// this.buildPhotoStat(termList, model.getList());
|
|
|
|
|
//
|
|
|
|
|
// response.setContentType("application/vnd.ms-excel");
|
|
|
|
|
// response.setCharacterEncoding("utf-8");
|
|
|
|
|
// response.setHeader("Content-Disposition", "attachment; filename="
|
|
|
|
|
// + URLEncoder.encode("照片统计.xlsx", "UTF-8"));
|
|
|
|
|
// EasyExcelUtil.exportPhotoStat(termList, response.getOutputStream());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
EasyExcelUtil.createExcel(response, "图片统计合计", result, PhotoStatExcel.class);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// @ApiOperation(value = "图片统计导出合计", notes = "图片统计导出合计接口", httpMethod = "POST")
|
|
|
|
|
// @RequestMapping("/exportPhotoStatSum")
|
|
|
|
|
// @Log(title = "图片统计导出合计", type = "导出")
|
|
|
|
|
// public void exportPhotoStatSum(@RequestHeader HttpHeaders headers,
|
|
|
|
|
// @RequestBody @Validated TerminalPhotoSelectVo vo,
|
|
|
|
|
// HttpServletResponse response) throws Exception {
|
|
|
|
|
// String requestIp = HeaderUtil.getRequestIp(headers);
|
|
|
|
|
// vo.setPageindex(1);
|
|
|
|
|
// vo.setPagesize(100000);
|
|
|
|
|
// List<StatTerm> termList = new ArrayList<>();
|
|
|
|
|
// ServiceBody<TerminalPhotoSelectListModel> serviceBody = terminalPhotoService.getPhotoList(requestIp, vo, termList);
|
|
|
|
|
// if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
|
|
|
|
|
// TerminalPhotoSelectListModel model = serviceBody.getData();
|
|
|
|
|
// this.buildPhotoStat(termList, model.getList());
|
|
|
|
|
// List<PhotoStatExcel> result = this.buildPhotoStatExcel(termList);
|
|
|
|
|
//
|
|
|
|
|
// EasyExcelUtil.createExcel(response, "图片统计合计", result, PhotoStatExcel.class);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
private List<PhotoStatExcel> buildPhotoStatExcel(List<StatTerm> list) {
|
|
|
|
|
List<PhotoStatExcel> result = new ArrayList<>();
|
|
|
|
|
for (StatTerm term : list) {
|
|
|
|
|
PhotoStatExcel item = new PhotoStatExcel();
|
|
|
|
|
item.setCmdid(term.getCmdid());
|
|
|
|
|
item.setTotal(term.getTotal());
|
|
|
|
|
result.add(item);
|
|
|
|
|
if (term.getWrongCount() > 0) {
|
|
|
|
|
item.setStatus("有异常");
|
|
|
|
|
} else {
|
|
|
|
|
item.setStatus("正常");
|
|
|
|
|
}
|
|
|
|
|
for (StatChannel channel : term.getChannels()) {
|
|
|
|
|
PhotoStatExcel item2 = new PhotoStatExcel();
|
|
|
|
|
item2.setChannelId(channel.getChannelId());
|
|
|
|
|
item2.setTotal(channel.getTotal());
|
|
|
|
|
result.add(item2);
|
|
|
|
|
if (channel.getWrongCount() > 0) {
|
|
|
|
|
item2.setStatus("有异常");
|
|
|
|
|
} else {
|
|
|
|
|
item2.setStatus("正常");
|
|
|
|
|
}
|
|
|
|
|
for (StatPreset preset : channel.getPresets()) {
|
|
|
|
|
PhotoStatExcel item3 = new PhotoStatExcel();
|
|
|
|
|
item3.setChannelId(channel.getChannelId());
|
|
|
|
|
item3.setPresetId(preset.getPresetId());
|
|
|
|
|
item3.setTotal(preset.getTotal());
|
|
|
|
|
result.add(item3);
|
|
|
|
|
if (preset.getWrongCount() > 0) {
|
|
|
|
|
item3.setStatus("有异常");
|
|
|
|
|
} else {
|
|
|
|
|
item3.setStatus("正常");
|
|
|
|
|
}
|
|
|
|
|
for (StatHour hour : preset.getHours()) {
|
|
|
|
|
if (hour.isWrong()) {
|
|
|
|
|
PhotoStatExcel err = new PhotoStatExcel();
|
|
|
|
|
err.setChannelId(channel.getChannelId());
|
|
|
|
|
err.setPresetId(preset.getPresetId());
|
|
|
|
|
err.setHour(hour.getHour());
|
|
|
|
|
List<String> dateList = new ArrayList<>();
|
|
|
|
|
for (Date date : hour.getTimeList()) {
|
|
|
|
|
dateList.add(DateUtil.format(date));
|
|
|
|
|
}
|
|
|
|
|
err.setTotal(dateList.size());
|
|
|
|
|
err.setStatus(hour.getWrongDetail());
|
|
|
|
|
err.setDetail(String.join(System.lineSeparator(), dateList));
|
|
|
|
|
result.add(err);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
// private List<PhotoStatExcel> buildPhotoStatExcel(List<StatTerm> list) {
|
|
|
|
|
// List<PhotoStatExcel> result = new ArrayList<>();
|
|
|
|
|
// for (StatTerm term : list) {
|
|
|
|
|
// PhotoStatExcel item = new PhotoStatExcel();
|
|
|
|
|
// item.setCmdid(term.getCmdid());
|
|
|
|
|
// item.setTotal(term.getTotal());
|
|
|
|
|
// result.add(item);
|
|
|
|
|
// if (term.getWrongCount() > 0) {
|
|
|
|
|
// item.setStatus("有异常");
|
|
|
|
|
// } else {
|
|
|
|
|
// item.setStatus("正常");
|
|
|
|
|
// }
|
|
|
|
|
// for (StatChannel channel : term.getChannels()) {
|
|
|
|
|
// PhotoStatExcel item2 = new PhotoStatExcel();
|
|
|
|
|
// item2.setChannelId(channel.getChannelId());
|
|
|
|
|
// item2.setTotal(channel.getTotal());
|
|
|
|
|
// result.add(item2);
|
|
|
|
|
// if (channel.getWrongCount() > 0) {
|
|
|
|
|
// item2.setStatus("有异常");
|
|
|
|
|
// } else {
|
|
|
|
|
// item2.setStatus("正常");
|
|
|
|
|
// }
|
|
|
|
|
// for (StatPreset preset : channel.getPresets()) {
|
|
|
|
|
// PhotoStatExcel item3 = new PhotoStatExcel();
|
|
|
|
|
// item3.setChannelId(channel.getChannelId());
|
|
|
|
|
// item3.setPresetId(preset.getPresetId());
|
|
|
|
|
// item3.setTotal(preset.getTotal());
|
|
|
|
|
// result.add(item3);
|
|
|
|
|
// if (preset.getWrongCount() > 0) {
|
|
|
|
|
// item3.setStatus("有异常");
|
|
|
|
|
// } else {
|
|
|
|
|
// item3.setStatus("正常");
|
|
|
|
|
// }
|
|
|
|
|
// for (StatHour hour : preset.getHours()) {
|
|
|
|
|
// if (hour.isWrong()) {
|
|
|
|
|
// PhotoStatExcel err = new PhotoStatExcel();
|
|
|
|
|
// err.setChannelId(channel.getChannelId());
|
|
|
|
|
// err.setPresetId(preset.getPresetId());
|
|
|
|
|
// err.setHour(hour.getHour());
|
|
|
|
|
// List<String> dateList = new ArrayList<>();
|
|
|
|
|
// for (Date date : hour.getTimeList()) {
|
|
|
|
|
// dateList.add(DateUtil.format(date));
|
|
|
|
|
// }
|
|
|
|
|
// err.setTotal(dateList.size());
|
|
|
|
|
// err.setStatus(hour.getWrongDetail());
|
|
|
|
|
// err.setDetail(String.join(System.lineSeparator(), dateList));
|
|
|
|
|
// result.add(err);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return result;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
@PostMapping("uploadPhoto")
|
|
|
|
|
@ApiOperation("上传图片")
|
|
|
|
|