Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao
| | |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: names |
| | | data: names ||[] |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | |
| | | }) .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking.loading = false |
| | | this.isWorking.loading = falsex |
| | | }) |
| | | }, |
| | | getDepartmentTree (tree) { |
| | |
| | | <div class="main_home"> |
| | | <!-- <div style="position: fixed;z-index: 99999"><video style="height: 100px;width: 500px" src="rtsp://10.50.250.253:554/openUrl/K2y2vE4" controls></video></div> --> |
| | | <div class="home_header"> |
| | | <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div> |
| | | <div class="mb10 fs17">{{timeInfo}}好,{{ userInfo.realname }}</div> |
| | | <div class="fs13"> |
| | | 今天是 {{ nowDate }} {{ nowWeek }},欢迎访问智慧物流园区安消一体化系统 |
| | | </div> |
| | |
| | | return { |
| | | tabPosition: 'right', |
| | | colors, |
| | | timeInfo: '上午', |
| | | nowDate: '', |
| | | nowWeek: '', |
| | | headerData: {}, |
| | |
| | | { name: '访客报备', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' }, |
| | | // { name: '隐患随手拍', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' }, |
| | | // { name: '预约会议室', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' }, |
| | | { name: '公务车预约', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' }, |
| | | { name: '公务车预约', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' } |
| | | // { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') }, |
| | | // { name: '食堂消费', path: '', url: require('@/assets/icons/8.png') } |
| | | ], |
| | |
| | | updateDate () { |
| | | this.nowDate = dayjs().format('YYYY年M月D日') |
| | | this.nowWeek = weeks[new Date().getDay()] |
| | | this.timeInfo = new Date().getHours() < 12 ? '上午' : '下午' |
| | | }, |
| | | initData () { |
| | | this.getWorkHead() |
| | |
| | | }) |
| | | }, |
| | | initEchart21 () { |
| | | console.log('initEchart21',this.staticData.lwList) |
| | | console.log('initEchart21', this.staticData.lwList) |
| | | if (!document.getElementById('echart21')) { |
| | | return |
| | | } |
| | |
| | | const that = this |
| | | var le1 = that.staticData.internalList.length |
| | | var le2 = that.staticData.lwList.length |
| | | const end = Math.round(40 * ((le1>0&& le2>0?le1:1) / (le1>0&& le2>0?le2:1)))+10 |
| | | const end = Math.round(40 * ((le1 > 0 && le2 > 0 ? le1 : 1) / (le1 > 0 && le2 > 0 ? le2 : 1))) + 10 |
| | | myChart.setOption({ |
| | | dataZoom: [ |
| | | { |
| | |
| | | yAxis: { |
| | | type: 'category', |
| | | inverse: true, |
| | | data: that.staticData.lwList.map(i => i.name), |
| | | data: that.staticData.lwList.map(i => i.name), |
| | | axisLabel: { |
| | | interval: 0 |
| | | } |
| | |
| | | public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ; |
| | | public static final String JK_PLAN_MAX_CLUSTER ="JK_PLAN_MAX_CLUSTER" ; |
| | | public static final String JK_PLAN_DISTANCE_CLUSTER ="JK_PLAN_DISTANCE_CLUSTER" ; |
| | | public static final String HK_PUSH_THIRD_URL ="HK_PUSH_THIRD_URL" ; |
| | | |
| | | /** |
| | | * 操作类型,用于做接口验证分组 |
| | |
| | | AF_XFTDZS(422000000, "【安防事件】消防通道阻塞",1), |
| | | XF_SYGDBJ(254215, "【消防事件】水压过低报警",1), |
| | | XF_SYGGBJ(254216, "【消防事件】水压过高报警",1), |
| | | XF_HZBJ(253999, "【消防事件】火灾报警",1), |
| | | XF_HZBJ(254047, "【消防事件】火灾报警",1), |
| | | XF_YWGDBJ(254331, "【消防事件】液位过低报警",1), |
| | | XF_YWGGBJ(254332, "【消防事件】液位过高报警",1), |
| | | AF_DZWL(327681, "【安防事件】电子围栏",1), |
| | | ; |
| | | // 成员变量 |
| | | private int key; |
| | |
| | | |
| | | public static void main(String[] args) { |
| | | try { |
| | | |
| | | LocalDate today = LocalDate.now(); |
| | | |
| | | // 获取当前日期是星期几 |
| | | DayOfWeek dayOfWeek = today.getDayOfWeek(); |
| | | |
| | | // 计算周一和周五的日期 |
| | | LocalDate monday = today.with(DayOfWeek.MONDAY); |
| | | LocalDate friday = today.with(DayOfWeek.FRIDAY); |
| | | |
| | | // 输出周一和周五的日期 |
| | | System.out.println("Monday: " + monday.toString()); |
| | | System.out.println("Friday: " + friday.toString()); |
| | | |
| | | // Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00"); |
| | | // Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); |
| | | // System.out.println(DateUtil.afterMinutesDate(-5)); |
| | | |
| | | System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00"))); |
| | | // System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00"))); |
| | | |
| | | // System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1))); |
| | | // System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); |
| | |
| | | * 3、能管中心:ngzx |
| | | */ |
| | | public interface MenuPageId{ |
| | | String[] componentIds = new String[]{"vms","fem","cems"}; |
| | | String afzx = "010100";//安防中心 |
| | | String[] componentIds = new String[]{"Infovision iPark Platform","fem","cems"}; |
| | | String afzx = "rule_event_center";//安防中心 |
| | | String xkzx = "000101";//消控中心 |
| | | String ngzx = "ngzx";//能管中心 |
| | | String jsc = "jsc";//物业后勤 |
| | |
| | | @ApiModel("出入场人次车次每日统计表") |
| | | @TableName("`inout_record`") |
| | | public class InoutRecord { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主键", example = "1") |
| | | private Integer id; |
| | |
| | | |
| | | |
| | | //人员分类 单独处理人员数据 0劳务访客 1普通访客 2内部员工 3车辆信息 4相关方人员 5货运司机 |
| | | private static String[] userTypeList = new String[]{"","普通访客","内部人员","","相关方人员","货运司机"}; |
| | | private static String[] userTypeList = new String[]{"","普通访客","内部人员","","相关方人员"}; |
| | | |
| | | |
| | | /** |
| | |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | //查询本周的开始日期和结束日期 |
| | | Long weekStart = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli(); |
| | | //查询本周的开始日期 |
| | | LocalDate today = LocalDate.now(); |
| | | // 计算周一和周五的日期 |
| | | LocalDate monday = today.with(DayOfWeek.MONDAY); |
| | | Long weekStart = DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",monday.toString() + " 00:00:00").getTime();//LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli(); |
| | | InParkUserDataVO inParkUserDataVO = new InParkUserDataVO(); |
| | | List<InoutRecord> yearList = inoutRecordMapper.selectJoinList(InoutRecord.class,new MPJLambdaWrapper<InoutRecord>() |
| | | .selectAll(InoutRecord.class) |
| | |
| | | for (String categoryName:setList) { |
| | | GeneralDataVO generalDataVO = new GeneralDataVO(); |
| | | generalDataVO.setName(categoryName); |
| | | generalDataVO.setTotal(yearList.stream().filter(j->StringUtils.isNotBlank(j.getCategoryParentName())&&j.getCategoryName().equals(categoryName)).collect(Collectors.toList()).size()); |
| | | generalDataVO.setTotal(yearList.stream().filter(j->StringUtils.isNotBlank(j.getCategoryParentName())&&j.getCategoryParentName().equals(categoryName)).collect(Collectors.toList()).size()); |
| | | generalDataVO.setRata(new BigDecimal(generalDataVO.getTotal().toString()).divide(new BigDecimal(yearList.size()+""),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))); |
| | | rataList.add(generalDataVO); |
| | | } |
| | |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){ |
| | | mpjLambdaWrapper.select("car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE)){ |
| | | |
| | | mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr"); |
| | | }else{ |
| | | mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | |
| | | model.setSubscribeStatus(Constants.TWO); |
| | | model.setSubscribeInfo(response.getMsg()); |
| | | } |
| | | |
| | | startCheckThirdDest(eventParam); |
| | | |
| | | }else{ |
| | | model.setSubscribeStatus(Constants.ZERO); |
| | | } |
| | |
| | | warningMapper.updateById(model); |
| | | } |
| | | |
| | | /** |
| | | * 检查三方是否需要订阅海康事件 |
| | | * @param eventParam |
| | | */ |
| | | |
| | | private void startCheckThirdDest(EventSubRequest eventParam) { |
| | | try { |
| | | String thirdpath =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_THIRD_URL).getCode(); |
| | | if(StringUtils.isNotBlank(thirdpath)){ |
| | | String[] ss = thirdpath.split(";"); |
| | | for(String s : ss){ |
| | | eventParam.setEventDest(s); |
| | | BaseResponse response = HKService.eventSub(eventParam); |
| | | if(Objects.nonNull(response)&&StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | log.error("========订阅其他三方地址成功:"+s); |
| | | }else{ |
| | | log.error("========订阅其他三方地址错误:"+s); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("========订阅其他三方地址错误"+e.getMessage()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 定时获取天气信息执行 |
| | |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; |
| | | import com.doumee.dao.web.response.platformReport.CarmeraListVO; |
| | | import com.doumee.service.business.VisitsService; |
| | | import com.doumee.service.business.impl.JkCabinetGridServiceImpl; |
| | | import com.doumee.service.business.impl.PlatformWarnEventServiceImpl; |
| | |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | warningEvent.setEventId(request.getEventId()); |
| | | warningEvent.setEventType(request.getEventType().toString()); |
| | | warningEvent.setHappenTime(request.getHappenTime()); |
| | | warningEvent.setJsonContent(request.getData().toJSONString()); |
| | | if(Objects.nonNull(request.getData())){ |
| | | warningEvent.setJsonContent(request.getData().toJSONString()); |
| | | } |
| | | warningEvent.setSrcIndex(request.getSrcIndex()); |
| | | warningEvent.setSrcType(request.getSrcType()); |
| | | warningEvent.setSrcName(request.getSrcName()); |
| | | warningEvent.setWarningId(warning.getId()); |
| | | warningEvent.setDeviceId(request.getSrcIndex()); |
| | | warningEvent.setRegion(this.getRegionsName(warningEvent.getSrcIndex(),warning.getType())); |
| | | warningEventMapper.insert(warningEvent); |
| | | |
| | | if(Objects.nonNull(warningConfig)){ |
| | |
| | | warningPush.setContent(content); |
| | | warningPush.setStatus(Constants.ZERO); |
| | | warningPush.setPushType(Constants.ZERO); |
| | | //TODO 根据具体数据对比获取 |
| | | warningPush.setRegion( "未知位置"); |
| | | warningPush.setRegion( warningEvent.getRegion()); |
| | | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) { |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",") |
| | |
| | | } |
| | | saveInterfaceLog(param,"/business/hksync/push/notice",result,true); |
| | | return null; |
| | | |
| | | } |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String,Object> stringRedisTemplate; |
| | | |
| | | public String getRegionsName(String srcIndex,Integer warningType){ |
| | | log.error("【匹配设备与区域关系信息】========开始=======:"+srcIndex); |
| | | String regionName = "未知区域"; |
| | | if(StringUtils.isBlank(srcIndex)){ |
| | | return regionName; |
| | | } |
| | | try{ |
| | | if(Constants.equalsInteger(warningType,Constants.ZERO)){ |
| | | List<CarmeraListVO> carmeraListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_CAMERAS);//所有监控点数据 |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){ |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){ |
| | | for (CarmeraListVO c:carmeraListVOList) { |
| | | if(c.getIndexCode().equals(srcIndex)){ |
| | | log.error("【监控区域匹配结果】===============:"+c.getRegionName()); |
| | | return c.getRegionName(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | List<CarmeraListVO> fireDeviceListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_FIRE_DEVICE);//所有消防设备数据 |
| | | List<CarmeraListVO> sensorListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_SENSOR);//所有传感器 |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){ |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){ |
| | | for (CarmeraListVO c:fireDeviceListVOList) { |
| | | if(c.getIndexCode().equals(srcIndex)){ |
| | | log.error("【消防区域匹配结果】===============:"+c.getRegionName()); |
| | | return c.getRegionName(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){ |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){ |
| | | for (CarmeraListVO c:sensorListVOList) { |
| | | if(c.getIndexCode().equals(srcIndex)){ |
| | | log.error("【传感器区域匹配结果】==============:"+c.getRegionName()); |
| | | return c.getRegionName(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | log.error("【匹配设备与区域关系信息】========结束=======:"+srcIndex); |
| | | return regionName; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 海康访客事件推送 |
| | | * @param param |