| | |
| | | InputStream inputStream = conn.getInputStream();// 通过输入流获取图片数据 |
| | | |
| | | if (inputStream != null) { |
| | | String picData = ossService.uploadImages(inputStream, ".png", 0); |
| | | String picData = ossService.uploadImages(inputStream, "png", 0); |
| | | backUrl.append(picData); |
| | | } |
| | | } catch (IOException e) { |
| | |
| | | "127.0.0.1", |
| | | env.getProperty("server.port")); |
| | | |
| | | try { |
| | | new AppDemo().start(); |
| | | } catch (Exception e) { |
| | | log.info("执行大华报警程序出错:", e.getMessage()); |
| | | } |
| | | |
| | | ////////////////////////////////外网服务屏蔽内容//////////////////////////////// |
| | | // try { |
| | | // new AppDemo().start(); |
| | | // } catch (Exception e) { |
| | | // log.info("执行大华报警程序出错:", e.getMessage()); |
| | | // } |
| | | |
| | | // try { |
| | | // // 启动时,保存上下文,并保存为静态 |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Map; |
| | | |
| | | @Api(tags = "系统管理-测试") |
| | | @RestController |
| | | @RequestMapping("/api/unauthorized/external/event") |
| | | //@RequestMapping("/api/unauthorized/external/event") |
| | | @RequestMapping("/API/FMDeviceService") |
| | | public class TestController { |
| | | |
| | | |
| | | @PostMapping("/Push") |
| | | public String push(@RequestBody Map map) { |
| | | System.out.println("FMDeviceService/Push"); |
| | | return ""; |
| | | } |
| | | |
| | | @PostMapping("/HeartBeat") |
| | | public String heartBeat(@RequestBody Map map) { |
| | | System.out.println("FMDeviceService/HeartBeat"); |
| | | |
| | | // return "{\n" + |
| | | // "\"req\": \"reqid\",\n" + |
| | | // "\"cmd\": \"OpenDoor\"\n" + |
| | | // "}\n"; |
| | | return ""; |
| | | } |
| | | |
| | | |
| | | @ApiOperation("添加") |
| | | @PostMapping("/add") |
| | | public String add(@RequestBody EventAddParamDto book) { |
| | |
| | | @ApiOperation("工单统计") |
| | | public CommonResult getWorkOrder(@RequestParam Integer currentPage, |
| | | @RequestParam Integer pageSize, |
| | | @RequestParam(required = false) String keyword) { |
| | | return CommonResult.success(baseCaseService.getWorkOrder(currentPage, pageSize, keyword)); |
| | | @RequestParam(required = false) String keyword, |
| | | @RequestParam(required = false) String startTime, |
| | | @RequestParam(required = false) String endTime) { |
| | | return CommonResult.success(baseCaseService.getWorkOrder(currentPage, pageSize, keyword, startTime, endTime)); |
| | | } |
| | | |
| | | @PostMapping("/work_order/export") |
| | | @ApiOperation("工单统计-导出") |
| | | public void getWorkOrderExport(HttpServletResponse response, QueryForViolationParam param) { |
| | | String sheetName = "工单数据"; |
| | | EasyExcelUtils.export(response, sheetName, WorkOrderVO.class, baseCaseService.getWorkOrderList(param.getKeyword())); |
| | | EasyExcelUtils.export(response, sheetName, WorkOrderVO.class, baseCaseService.getWorkOrderList(param.getKeyword(), param.getStartTime(), param.getEndTime())); |
| | | } |
| | | } |
| | |
| | | |
| | | Long selectOnTimeCaseRecentlyMonthCount(); |
| | | |
| | | IPage<WorkOrderVO> getWorkOrder(IPage<WorkOrderVO> page, String keyword); |
| | | IPage<WorkOrderVO> getWorkOrder(IPage<WorkOrderVO> page, @Param("keyword") String keyword, @Param("startTime") String startTime, @Param("endTime") String endTime); |
| | | } |
| | |
| | | |
| | | Map<String, Object> statistics(); |
| | | |
| | | IPage<WorkOrderVO> getWorkOrder(Integer current, Integer pageSize, String keyword); |
| | | IPage<WorkOrderVO> getWorkOrder(Integer current, Integer pageSize, String keyword, String startTime, String endTime); |
| | | |
| | | List<WorkOrderVO> getWorkOrderList(String keyword); |
| | | List<WorkOrderVO> getWorkOrderList(String keyword, String startTime, String endTime); |
| | | } |
| | |
| | | baseCase.setViolationsVO(violationsVO); |
| | | } else { |
| | | IllegalBuilding illegalBuilding = illegalBuildingMapper.selectById(baseCase.getId()); |
| | | if(illegalBuilding!=null) { |
| | | if (illegalBuilding != null) { |
| | | LambdaQueryWrapper<DataDictionary> dict = new LambdaQueryWrapper<>(); |
| | | dict.eq(DataDictionary::getId, illegalBuilding.getCategoryId()); |
| | | DataDictionary dictionary = dataDictionaryMapper.selectOne(dict); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public IPage<WorkOrderVO> getWorkOrder(Integer pageIndex, Integer pageSize, String keyword) { |
| | | public IPage<WorkOrderVO> getWorkOrder(Integer pageIndex, Integer pageSize, String keyword, String startTime, String endTime) { |
| | | if (pageIndex == null) { |
| | | pageIndex = 1; |
| | | } |
| | |
| | | pageSize = 20; |
| | | } |
| | | IPage<WorkOrderVO> page = new Page<>(pageIndex, pageSize); |
| | | return baseCaseMapper.getWorkOrder(page, keyword); |
| | | return baseCaseMapper.getWorkOrder(page, keyword, startTime, endTime); |
| | | } |
| | | |
| | | @Override |
| | | public List<WorkOrderVO> getWorkOrderList(String keyword) { |
| | | public List<WorkOrderVO> getWorkOrderList(String keyword, String startTime, String endTime) { |
| | | IPage<WorkOrderVO> page = new Page<>(1, 5000); |
| | | IPage<WorkOrderVO> page1 = baseCaseMapper.getWorkOrder(page, keyword); |
| | | IPage<WorkOrderVO> page1 = baseCaseMapper.getWorkOrder(page, keyword, startTime, endTime); |
| | | return page1.getRecords(); |
| | | } |
| | | } |
| | |
| | | private String saveOSS(String hkUrl) { |
| | | InputStream inputStream = getImageStream(hkUrl); |
| | | if (inputStream != null) { |
| | | String picData = ossService.uploadImages(inputStream, ".png",0); |
| | | String picData = ossService.uploadImages(inputStream, "png",0); |
| | | return picData; |
| | | } else return ""; |
| | | } |
| | |
| | | inputStream = new ByteArrayInputStream(os.toByteArray()); |
| | | |
| | | } |
| | | picData = ossService.uploadImages(inputStream, extension,0); |
| | | picData = ossService.uploadImages(inputStream, extension, 0); |
| | | } catch (Exception e) { |
| | | System.out.println("保存报警数据失败---图片上传失败:" + e.getMessage()); |
| | | // e.printStackTrace(); |
| | | } |
| | | } |
| | | List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); |
| | | if (!StringUtils.isEmpty(picData)) { |
| | | List<VideoAlarmReport> videoAlarmReports = new ArrayList<>(); |
| | | |
| | | List<AlarmDataParam> alarmData = alarmParam.getAlarmData(); |
| | | for (AlarmDataParam alarmDatum : alarmData) { |
| | | List<VideoAlarmReport> list = getByAlarmId(alarmDatum.getAlarmID()); |
| | | try { |
| | | Date date = sdf.parse(alarmDatum.getAlarmTime()); |
| | | Instant instant = date.toInstant(); |
| | | ZoneId zoneId = ZoneId.systemDefault(); |
| | | VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder() |
| | | .ip(cameraInf.getIp()).port(cameraInf.getPort()) |
| | | .user(cameraInf.getUser()).password(cameraInf.getPassword()) |
| | | .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID()) |
| | | .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime()) |
| | | .alarmId(alarmDatum.getAlarmID()).algoType(alarmDatum.getAlgoType()) |
| | | .alarmType(alarmDatum.getAlarmType()).alarmName(alarmDatum.getAlarmName()) |
| | | .algoName(alarmDatum.getAlgoName()).alarmObj(JSON.toJSONString(alarmDatum.getAlarmObject())) |
| | | .build(); |
| | | if (list.size() == 0) { |
| | | List<AlarmDataParam> alarmData = alarmParam.getAlarmData(); |
| | | for (AlarmDataParam alarmDatum : alarmData) { |
| | | List<VideoAlarmReport> list = getByAlarmId(alarmDatum.getAlarmID()); |
| | | try { |
| | | Date date = sdf.parse(alarmDatum.getAlarmTime()); |
| | | Instant instant = date.toInstant(); |
| | | ZoneId zoneId = ZoneId.systemDefault(); |
| | | VideoAlarmReport videoAlarmReport = VideoAlarmReport.builder() |
| | | .ip(cameraInf.getIp()).port(cameraInf.getPort()) |
| | | .user(cameraInf.getUser()).password(cameraInf.getPassword()) |
| | | .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID()) |
| | | .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime()) |
| | | .alarmId(alarmDatum.getAlarmID()).algoType(alarmDatum.getAlgoType()) |
| | | .alarmType(alarmDatum.getAlarmType()).alarmName(alarmDatum.getAlarmName()) |
| | | .algoName(alarmDatum.getAlgoName()).alarmObj(JSON.toJSONString(alarmDatum.getAlarmObject())) |
| | | .build(); |
| | | if (list.size() == 0) { |
| | | |
| | | videoAlarmReports.add(videoAlarmReport); |
| | | videoAlarmReports.add(videoAlarmReport); |
| | | |
| | | this.saveBatch(videoAlarmReports, videoAlarmReports.size()); |
| | | this.saveBatch(videoAlarmReports, videoAlarmReports.size()); |
| | | |
| | | violationsService.saveFromVideo(videoAlarmReports); |
| | | violationsService.saveFromVideo(videoAlarmReports); |
| | | |
| | | } else { |
| | | videoAlarmReport.setId(list.get(0).getId()); |
| | | this.updateById(videoAlarmReport); |
| | | } |
| | | } catch (ParseException e) { |
| | | System.out.println("保存报警数据失败:" + e.getMessage()); |
| | | } else { |
| | | videoAlarmReport.setId(list.get(0).getId()); |
| | | this.updateById(videoAlarmReport); |
| | | } |
| | | } catch (ParseException e) { |
| | | System.out.println("保存报警数据失败:" + e.getMessage()); |
| | | // e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | @Autowired |
| | | private IImageResourcesService imageService; |
| | | |
| | | ////////////////////////////////外网服务屏蔽内容//////////////////////////////// |
| | | @Scheduled(cron = "0 */1 * * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void scheduledTask() { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | ////////////////////////////////外网服务屏蔽内容//////////////////////////////// |
| | | @Scheduled(cron = "0 0 0 * * ?") |
| | | // @Transactional(rollbackFor = Exception.class) |
| | | public void deleteAlarmTask() { |
| | |
| | | @Autowired |
| | | private VideoUtil videoUtil; |
| | | |
| | | ////////////////////////////////外网服务屏蔽内容//////////////////////////////// |
| | | // @Scheduled(cron = "0 */5 * * * ?") // 每5分钟执行 |
| | | @Scheduled(cron = "0 0 1 * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | |
| | | |
| | | public class WorkOrderVO { |
| | | @ExcelProperty(value = "姓名", index = 1) |
| | | @ExcelProperty(value = "姓名", index = 0) |
| | | private String name; |
| | | @ExcelProperty(value = "任务总数", index = 2) |
| | | @ExcelProperty(value = "任务总数", index = 1) |
| | | private Integer taskCount; |
| | | @ExcelProperty(value = "已完成数量", index = 3) |
| | | @ExcelProperty(value = "已完成数量", index = 2) |
| | | private Integer finishCount; |
| | | @ExcelProperty(value = "未完成数量", index = 4) |
| | | @ExcelProperty(value = "未完成数量", index = 3) |
| | | private Integer notFinishCount; |
| | | @ExcelProperty(value = "完成率", index = 5) |
| | | @ExcelProperty(value = "完成率", index = 4) |
| | | private Double finishRadio; |
| | | |
| | | public String getName() { |
| | |
| | | <select id="getWorkOrder" resultType="com.ycl.vo.casePool.WorkOrderVO"> |
| | | SELECT username as name,count(DISTINCT id) taskCount,SUM(CASE WHEN state>7 THEN 1 ELSE 0 END) finishCount |
| | | from ( |
| | | SELECT a.username , bc.id,max(bc.state) state |
| | | from ums_base_case bc |
| | | INNER JOIN ums_dispose_record dr on bc.id = dr.base_case_id |
| | | INNER JOIN ums_admin a on dr.handler_id = a.id |
| | | where ( bc.state = 6 or bc.state = 7 |
| | | or bc.state = 8 or bc.state = 9) |
| | | <if test="keyword !=''and keyword!=null"> |
| | | and a.username like concat('%', #{keyword},'%') |
| | | </if> |
| | | GROUP BY a.username ,bc.id |
| | | ) tmp |
| | | SELECT a.username , bc.id,max(bc.state) state |
| | | from ums_base_case bc |
| | | INNER JOIN ums_dispose_record dr on bc.id = dr.base_case_id |
| | | INNER JOIN ums_admin a on dr.handler_id = a.id |
| | | where ( bc.state = 6 or bc.state = 7 |
| | | or bc.state = 8 or bc.state = 9) |
| | | <if test="keyword !=''and keyword!=null"> |
| | | and a.username like concat('%', #{keyword},'%') |
| | | </if> |
| | | <if test="startTime !=''and startTime!=null and endTime!=''and endTime!=null"> |
| | | and bc.create_time BETWEEN #{startTime} |
| | | AND #{endTime} |
| | | </if> |
| | | GROUP BY a.username ,bc.id |
| | | ) tmp |
| | | GROUP BY username |
| | | </select> |
| | | </mapper> |