| | |
| | | /** |
| | | * 根据分机ID获取分机信息 |
| | | * |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public GatewaySer getCacheSerByDeptId(String deptId) { |
| | | if (StringUtils.isEmpty(deptId)) { |
| | | return null; |
| | | } |
| | | |
| | | String patten = RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_GATEWAY_SER_LIST) + "*"; |
| | | Collection<String> keys = redisCache.keys(patten); |
| | | if (null == keys) { |
| | | return null; |
| | | } |
| | | |
| | | GatewaySer ser = null; |
| | | for (String key : keys) { |
| | | ser = (GatewaySer) redisCache.getCacheObject(key); |
| | | if(deptId.equals(ser.getDeptId())){ |
| | | return ser; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 根据分机ID获取分机信息 |
| | | * |
| | | * @param companyId |
| | | * @param id |
| | | * @return |
| | |
| | | private EventInfoService eventInfoService; |
| | | @Resource |
| | | private SnapRecordService snapRecordService; |
| | | @Resource |
| | | private GatewaySerService gatewaySerService; |
| | | |
| | | /** |
| | | * 根据库区编码获取库区网关信息 |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public GatewaySer getGatewaySerByDeptId(String deptId) { |
| | | if(StringUtils.isBlank(deptId)){ |
| | | deptId = ContextUtil.subDeptId(null); |
| | | } |
| | | |
| | | return gatewaySerService.getCacheSerByDeptId(deptId); |
| | | } |
| | | |
| | | /** |
| | | * 根据库区编码获取库区下所有仓库列表 |
| | |
| | | InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_10, Constant.PROGRESS_REGISTER, 1); |
| | | view.put("lprDto", conf); |
| | | |
| | | //库区网关信息 |
| | | GatewaySer gatewaySer = commonManager.getGatewaySerByDeptId(deptId); |
| | | view.put("gatewaySer", gatewaySer); |
| | | |
| | | return prefix + "/register"; |
| | | } |
| | | |
| | |
| | | view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd")); |
| | | view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd")); |
| | | |
| | | //库区网关信息 |
| | | GatewaySer gatewaySer = commonManager.getGatewaySerByDeptId(deptId); |
| | | view.put("gatewaySer", gatewaySer); |
| | | |
| | | String viewStr = prefix + "/weight"; |
| | | if ("1".equals(viewTag)) { |
| | |
| | | //摄像头播放方式 |
| | | var PlayType = { |
| | | VLC: "VLC", //本地VLC插件 |
| | | PLAY_TYPE_WEB_RTC_DH: "WEB_RTC_DH", //WEB-RTC-大华 |
| | | PLAY_TYPE_WEB_RTC_HIK: "WEB_RTC_HIK", //WEB-RTC-海康 |
| | | PLAY_TYPE_WEB_RTC: "WEB_RTC", //WEB-RTC-大华 |
| | | FZZY_GB: "FZZY_GB",//FZZY流媒体播放 |
| | | EASY_GBS: "EASY_GBS",//fzzy-easy流媒体播放 |
| | | EASY_DSS: "EASY_DSS",//萤石云播放 |
| | |
| | | * 读取车牌号 |
| | | */ |
| | | function flushPlateNum() { |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,车牌读取失败!"); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.plateNumUrl; |
| | | var param = JSON.stringify(lprDto); |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/inout/api/get-plateNum", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: param, |
| | |
| | | progress: progress, |
| | | bizType: type, |
| | | plateNum: data.plateNum, |
| | | id1: (null != lprDto) ? lprDto.id : null, |
| | | id2: (null != lprDto) ? lprDto.id : null, |
| | | id1: (null != lprDto) ? lprDto.id : null |
| | | }; |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,抓图失败!"); |
| | | submitData(data); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.snapUrl; |
| | | $.ajax({ |
| | | sync: false, |
| | | type: "POST", |
| | | url: "../../inout/api/snap-img", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapData), |
| | |
| | | id3: snapDto3.id, |
| | | sort: $("#scaleName").val() |
| | | }; |
| | | |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,抓图失败!"); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.snapUrl; |
| | | //当前AJAX服务为同步服务,返回数据包装照片信息 |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | sync: false, |
| | | type: "POST", |
| | | url: "/inout/api/snap-img", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapData), |
| | |
| | | * 读取车牌号 |
| | | */ |
| | | function flushPlateNum() { |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,车牌读取失败!"); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.plateNumUrl; |
| | | var param = JSON.stringify(snapDto1); |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/inout/api/get-plateNum", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: param, |
| | |
| | | id3: snapDto3.id, |
| | | sort: $("#scaleName").val() |
| | | }; |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,抓图失败!"); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.snapUrl; |
| | | |
| | | //当前AJAX服务为同步服务,返回数据包装照片信息 |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | sync: false, |
| | | type: "POST", |
| | | url: "/inout/api/snap-img", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapData), |
| | |
| | | * 读取车牌号 |
| | | */ |
| | | function flushPlateNum() { |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,车牌读取失败!"); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.plateNumUrl; |
| | | var param = JSON.stringify(snapDto1); |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/inout/api/get-plateNum", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: param, |
| | |
| | | let mediaStream2; |
| | | let webrtc3; |
| | | let mediaStream3; |
| | | |
| | | /** |
| | | * 页面最多同时调用三个视频,一个车牌识别,抓拍,三个顺序执行 |
| | | * @param lprParam 车牌识别参数 |
| | |
| | | */ |
| | | function initVideo(snapParam1, snapParam2, snapPram3) { |
| | | |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,视频播放失败!"); |
| | | initVideo2(snapParam2, snapPram3); |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl; |
| | | //车牌识别播放 |
| | | if (snapParam1) { |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam1), |
| | |
| | | } |
| | | |
| | | function initVideo2(snapParam2, snapParam3) { |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,视频播放失败!"); |
| | | initVideo3(snapParam3) |
| | | return; |
| | | } |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl; |
| | | if (snapParam2) { |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam2), |
| | |
| | | } |
| | | |
| | | function initVideo3(snapParam3) { |
| | | if (!gatewaySer) { |
| | | layer.msg("未获取到库区网关信息,视频播放失败!"); |
| | | return; |
| | | } |
| | | if (!snapParam3) return; |
| | | var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | url: url, |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam3), |
| | |
| | | */ |
| | | function initSnapVideo(data, order) { |
| | | var htm = ""; |
| | | //海康web4.0播放 |
| | | if (PlayType.HIK_WEB4 == data.playType) { |
| | | var url = "../../inout/api/iframe-hik?id=" + data.id; |
| | | if (ship && ship == "ship") { //船运称重页面 |
| | | url += "&length=340&width=195"; |
| | | } else { //称重页面 |
| | | url += "&length=310&width=170"; |
| | | } |
| | | htm = '<iframe src=' + url + ' style="width: 100%;height: 100%"></iframe>'; |
| | | } |
| | | //VLC播放 |
| | | if (PlayType.VLC == data.playType) { |
| | | htm = "<object type='application/x-vlc-plugin' " |
| | | + "events='true' width='100%' height='100%'" |
| | | + "pluginspage='http://www.videolan.org'" |
| | | + "th:codebase='@{../../static/plugins/vlc/npapi-vlc-2.2.2.tar.xz}'>\n" |
| | | + "<param name='mrl' value='" + data.playUrl + "'/>\n" |
| | | + "<param name='volume' value='50'/>\n" |
| | | + "<param name='autoplay' value='true'/>\n" |
| | | + "<param name='loop' value='false'/>\n" |
| | | + "<param name='fullscreen' value='true'/>\n" |
| | | + "<param name='toolbar' value='false'/>\n" + "</object>"; |
| | | } |
| | | |
| | | //web-rtc播放方式 |
| | | if (PlayType.PLAY_TYPE_WEB_RTC_DH == data.playType || PlayType.PLAY_TYPE_WEB_RTC_HIK == data.playType) { |
| | | if (PlayType.PLAY_TYPE_WEB_RTC == data.playType) { |
| | | playUrl = data.playUrl; |
| | | playNum = order; |
| | | videoId = data.cameraId; |
| | |
| | | var companyId = [[${loginUser.companyId}]]; |
| | | //车牌识别 |
| | | var lprDto = [[${lprDto}]]; |
| | | //网关信息 |
| | | var gatewaySer = [[${gatewaySer}]]; |
| | | </script> |
| | | |
| | | <script th:src="@{/ajax/libs/layui/layui.js}"></script> |
| | |
| | | var snapDto1 = [[${snapDto1}]]; |
| | | var snapDto2 = [[${snapDto2}]]; |
| | | var snapDto3 = [[${snapDto3}]]; |
| | | //网关信息 |
| | | var gatewaySer = [[${gatewaySer}]]; |
| | | |
| | | </script> |
| | | |
| | |
| | | var snapDto1 = [[${snapDto1}]]; |
| | | var snapDto2 = [[${snapDto2}]]; |
| | | var snapDto3 = [[${snapDto3}]]; |
| | | //网关信息 |
| | | var gatewaySer = [[${gatewaySer}]]; |
| | | //默认查询时间 |
| | | var startTime = [[${startTime}]]; |
| | | var endTime = [[${endTime}]]; |