| | |
| | | private TmsService tmsService; |
| | | @Autowired |
| | | private PlatformDeviceMapper platformDeviceMapper; |
| | | |
| | | @Autowired |
| | | private CategoryMapper categoryMapper; |
| | | @Value("${debug_model}") |
| | | private Boolean isDebug; |
| | | /** |
| | |
| | | }*/ |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public WaningEventDataVO warningEventData(Integer type){ |
| | | WaningEventDataVO lastResult = new WaningEventDataVO(); |
| | |
| | | request.setPageSize(1000); |
| | | request.setFiledOptions(new ArrayList<>()); |
| | | request.setSorts(new ArrayList<>()); |
| | | request.setFetchImg(true); |
| | | RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest(); |
| | | file.setFieldName("event_type"); |
| | | file.setFieldValue("131588,131593");//安防告警和人员告警 |
| | | //安防事件划分方式: |
| | | //重点区域:重点人员-1644175361、区域入侵-1644175361、陌生人-1644171265、车辆违停-1644171265 |
| | | //危险行为:人员倒地-1644171265、未带安全帽-422000002、抽烟-422000000、打电话-422000001、睡岗-422400001、离岗-422400000 |
| | | file.setFieldValue("131588,131593,1644171265,422000002,422000000,422000001,422400001,422400000,1644175361,1644175361,1644171265,1644171265");//安防告警和人员告警 |
| | | file.setType("in"); |
| | | if(type == 1){ |
| | | file.setFieldValue("131588");//安防告警 |
| | | file.setFieldValue("131588,1644175361,1644175361,1644171265,1644171265");//安防告警 区域入侵 |
| | | }else if(type == 2){ |
| | | file.setFieldValue("131593");//人员告警 |
| | | file.setFieldValue("131593,1644171265,422000002,422000000,422000001,422400001,422400000");//人员告警 危险行为 |
| | | } |
| | | request.getFiledOptions().add(file); |
| | | |
| | | RuleEventFiledOptionsRequest fileLte = new RuleEventFiledOptionsRequest(); |
| | | fileLte.setFieldName("happen_time"); |
| | | fileLte.setFieldValue(DateUtil.formatDate(Utils.Date.getEnd(new Date()),"yyyy-MM-dd HH:mm:ss")); |
| | | fileLte.setType("lte"); |
| | | request.getFiledOptions().add(fileLte); |
| | | |
| | | RuleEventFiledOptionsRequest fileGte = new RuleEventFiledOptionsRequest(); |
| | | fileGte.setFieldName("happen_time"); |
| | | fileGte.setFieldValue(DateUtil.formatDate(Utils.Date.getStart(new Date()),"yyyy-MM-dd HH:mm:ss")); |
| | | fileGte.setType("gte"); |
| | | request.getFiledOptions().add(fileGte); |
| | | |
| | | RuleEventFiledOptionsRequest fileStatus = new RuleEventFiledOptionsRequest(); |
| | | fileStatus.setFieldName("handle_status"); |
| | | fileStatus.setFieldValue("99"); |
| | | fileStatus.setType("neq"); |
| | | request.getFiledOptions().add(fileStatus); |
| | | |
| | | SortRequest sort = new SortRequest(); |
| | | sort.setSortField("happen_time"); |
| | | sort.setSortType("desc"); |
| | |
| | | try { |
| | | if(DateUtil.getISO8601DateByStr(r.getHappen_time()).getTime() < Utils.Date.getStart(new Date()).getTime()){ |
| | | continue; |
| | | } |
| | | if(StringUtils.equals(r.getStatus(),"99")){ |
| | | continue; |
| | | } |
| | | }catch (Exception e){ |
| | | } |
| | |
| | | BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> response = HKService.findHomeAlarmInfoPage(param); |
| | | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); |
| | | } |
| | | if(Objects.nonNull(response.getData().getList())){ |
| | | return data; |
| | | } |
| | | for(FindHomeAlarmInfoPageResponse r : response.getData().getList()){ |
| | | AlarmEventDataVO t = new AlarmEventDataVO(); |
| | |
| | | |
| | | /** |
| | | * 【消防管控】看板-告警信息集合 |
| | | * |
| | | * @param type 0/null = 当天;1=当月;2=当年 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public AlarmDataVO alarmDataSumByCate(){ |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(Utils.Date.getStart(new Date())) |
| | | public AlarmDataVO alarmDataSumByCate(Integer type){ |
| | | Date startDate = Utils.Date.getStart(new Date()); |
| | | if(Objects.nonNull(type)){ |
| | | if(Constants.equalsInteger(type,Constants.TWO)){ |
| | | startDate = Utils.Date.getStart(DateUtil.getFirstThisYearDate()); |
| | | }else if(Constants.equalsInteger(type,Constants.ONE)){ |
| | | startDate = Utils.Date.getStart(DateUtil.getFirstThisMonthDate()); |
| | | } |
| | | } |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(startDate) |
| | | ,(DateUtil.getPlusTime2(new Date()))); |
| | | return alarmDataVO; |
| | | } |
| | |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return this.getWorkTime(totalAmount,platformLogList); |
| | | return this.getWorkTime(totalAmount,platformLogList,today); |
| | | } |
| | | return r; |
| | | } |
| | |
| | | return BigDecimal.ZERO; |
| | | } |
| | | if(platformLogList!=null && platformLogList.size()>0){ |
| | | return this.getWorkTime(totalAmount,platformLogList); |
| | | return this.getWorkTime(totalAmount,platformLogList,today); |
| | | } |
| | | return r; |
| | | } |
| | |
| | | * @param platformLogList |
| | | * @return |
| | | */ |
| | | public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList){ |
| | | public BigDecimal getWorkTime(BigDecimal totalAmount,List<PlatformLog> platformLogList,String today){ |
| | | if(CollectionUtils.isEmpty(platformLogList)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | //获取开始时间 |
| | | List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); |
| | | List<Long> startTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam1())) |
| | | .filter(i->Objects.nonNull(i.getParam1())&&i.getParam1().indexOf(today)>=0) |
| | | .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam1()).getTime()).collect(Collectors.toList()); |
| | | Long startTime = Collections.min(startTimeList); |
| | | //获取结束时间 |
| | | List<Long> endTimeList = platformLogList.stream().filter(i->Objects.nonNull(i.getParam2())).map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); |
| | | List<Long> endTimeList = platformLogList.stream() |
| | | .filter(i->Objects.nonNull(i.getParam2())&&i.getParam2().indexOf(today)>=0) |
| | | .map(i->DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",i.getParam2()).getTime()).collect(Collectors.toList()); |
| | | Long endTime = Collections.max(endTimeList); |
| | | if(Objects.isNull(startTime) |
| | | || Objects.isNull(endTime) || (startTime>=endTime)){ |
| | |
| | | } |
| | | return totalAmount.divide(new BigDecimal(( endTime - startTime )+"").divide(new BigDecimal("3600000"),2,BigDecimal.ROUND_HALF_UP),2,BigDecimal.ROUND_HALF_UP) ; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) { |
| | |
| | | data.setDeviceTypeList(list); |
| | | Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .apply("to_days(create_date) = to_days(now())" ) ); |
| | | .apply(" DATE_FORMAT(create_date, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m') " ) ); |
| | | data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//今日隐患数量 |
| | | totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO ) |
| | | .apply("to_days(check_date) = to_days(now())" ) ); |
| | | // .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO ) |
| | | .eq(HiddenDanger::getStatus,Constants.ZERO ) |
| | | .apply(" DATE_FORMAT(create_date, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m') " ) ); |
| | | data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//今日处理隐患数量 |
| | | return data; |
| | | } |
| | |
| | | data.setInParkCarTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count() |
| | | ); |
| | | //在园车辆 |
| | | //当前在园货车司机总数 |
| | | data.setInParkCarUserTotal( |
| | | (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.FIVE)).count() |
| | | ); |
| | |
| | | &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.wxysCar)).count() |
| | | ); |
| | | data.setVideoPluginUrl(getVideoUrl()); |
| | | |
| | | data.setOutHyLotTotal(Integer.valueOf(systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.OUT_HY_LOT_TOTAL).getCode())); |
| | | |
| | | |
| | | data.setInParkCarList(this.getInParkCars(data)); |
| | | |
| | | return data; |
| | | } |
| | | |
| | | |
| | | public List<Map<String,Object>> getInParkCars(SecurityBoardVO securityBoardVO){ |
| | | List<Map<String,Object>> mapList = categoryMapper.selectJoinMaps(new MPJLambdaWrapper<Category>() |
| | | .select(Category::getName) |
| | | .select(" ( select count(1) from retention r where r.isdeleted = 0 and r.CATEGORY_PARENT_ID = t.id and r.TYPE = 3 ) as total ") |
| | | .eq(Category::getType,Constants.ONE) |
| | | .eq(Category::getIsdeleted,Constants.ZERO) |
| | | .isNull(Category::getParentId) |
| | | .groupBy(Category::getName) |
| | | |
| | | ); |
| | | if(CollectionUtils.isEmpty(mapList)){ |
| | | mapList = new ArrayList<>(); |
| | | } |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("name","未知车辆"); |
| | | map.put("total", retentionMapper.selectCount( |
| | | new MPJLambdaWrapper<Retention>() |
| | | .eq(Retention::getIsdeleted,Constants.ZERO) |
| | | .isNull(Retention::getCategoryId) |
| | | .eq(Retention::getCarType,Constants.SIX) |
| | | ) |
| | | ); |
| | | mapList.add(map); |
| | | return mapList; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | private String getVideoUrl() { |
| | | return systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()+"plugin/VideoWebPlugin.exe"; |
| | |
| | | } |
| | | } |
| | | return r ; |
| | | |
| | | } |
| | | |
| | | |