admin/src/components/business/OperaJkSketchLineListWindow.vue
@@ -17,7 +17,8 @@ <div style="display: flex;margin-top: 20px" class="orange"> <div style="flex: 1" >线路原始总路程: <span v-if="(model.originDistance ||0) > 0 || (model.status||0) != 0" class="red" style="font-weight: bold"> {{((model.originDistance ||0)/1000).toFixed(2)}}</span> <span v-if="(model.originDistance ||0) == 0 && (model.status||0) == 0" class="blue" style="font-weight: bold;cursor: pointer" @click="initDistance"> 点击获取 </span> 公里; <span v-if="(model.originDistance ||0) == 0 && (model.status||0) == 0 && !distancing" class="blue" style="font-weight: bold;cursor: pointer" @click="initDistance"> 点击获取 </span> <span v-if="(model.originDistance ||0) == 0 && (model.status||0) == 0 && distancing" class="red" style="font-weight: bold;cursor: pointer"> 正在获取 </span> 公里; <span v-if="model.status ==2">优化后总路程:<span class="green" style="font-weight: bold"> {{((model.distance ||0)/1000).toFixed(2)}} </span> 公里</span> </div> </div> @@ -103,6 +104,7 @@ data () { return { // 表单数据 distancing:false, model: { }, dataList: [], @@ -121,6 +123,7 @@ this.visible = true this.model = target this.loadList() this.distancing =false if(this.model.optStatus === 1){ this.loadListNew() } @@ -143,6 +146,10 @@ }, initDistance () { var that = this if(this.distancing){ return } this.distancing=true initOriginDistance({ id: this.model.id }).then(res => { @@ -151,6 +158,10 @@ that.model.distance = res.distance that.loadList() } }).catch(e => { this.$tip.apiFailed(e) }).finally(() => { that.distancing = false }) }, viewCustomer (row) { server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@ discovery: server-addr: http://192.168.0.7:8848 #配置Nacos地址 # namespace: dmvisit namespace: wuhu_visit_dev1 namespace: wuhu_visit_dev username: nacos password: nacos gateway: server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -320,11 +320,10 @@ @PostMapping("/regionList") public ApiResponse<List<PageRegionInfoResponse> > getRegionList(HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token ){ CarmeraListVO param =new CarmeraListVO(); param.setWithCameras(1); param.setWithCameras(2); List<PageRegionInfoResponse> result = new ArrayList<>(); try { result = boardService.getRegionTree( param); }catch (Exception e){ } server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -16,7 +16,7 @@ discovery: server-addr: http://192.168.0.7:8848 #配置Nacos地址 # namespace: dmvisit namespace: wuhu_visit_dev1 namespace: wuhu_visit_dev username: nacos password: nacos knife4j: server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/FireDeviceStatusListResponse.java
@@ -10,7 +10,7 @@ private String regionName;// String false private String deviceIndexCode;// String false private String deviceType;// Number false private String unitStatus ;//Number false private Integer unitStatus ;//Number false部件状态,0:未注册 1:正常 2: 修复中 3:异常状态(修复中状态目前没用到,未注册时设备没有在离线状态) 空-所有状态 private String online;// Number false private String collectTime;// String false private String faultType;// String false server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PageRegionInfoResponse.java
@@ -21,4 +21,8 @@ private List<PageRegionInfoResponse> childList; @ApiModelProperty(value = "监控点集合") private List<CarmeraListVO> carmeraList; @ApiModelProperty(value = "消防传感器集合") private List<CarmeraListVO> deviceList; @ApiModelProperty(value = "消防设备集合") private List<CarmeraListVO> sensorList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/WarningRuleDetail.java
@@ -84,6 +84,9 @@ @ApiModelProperty(value = "监控点主键") @ExcelColumn(name="监控点主键") private String deviceId; @ApiModelProperty(value = "关联设备类型 0-监控点 1-消防设备 2-消防传感器") @ExcelColumn(name="关联设备类型 0-监控点 1-消防设备 2-消防传感器") private Integer deviceType; @ApiModelProperty(value = "告警类型编码") @TableField(exist = false) server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java
@@ -12,7 +12,7 @@ @Data public class CarmeraListVO { @ApiModelProperty(value = "监控点名称") @ApiModelProperty(value = "设备名称") private String name; @ApiModelProperty(value = "唯一索引") server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -246,10 +246,13 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"该线路已被优化,已无法计算原始路线路程数"); } checkJketchCustomerLocation(model,true); model.setEditDate(new Date()); model.setDistance(model.getOriginDistance()); jkSketchMapper.updateById(model); return model; JkSketch update = new JkSketch(); update.setId(model.getId()); update.setEditDate(new Date()); update.setDistance(model.getOriginDistance()); update.setOriginDistance(model.getOriginDistance()); jkSketchMapper.updateById(update); return update; } @Override @@ -641,7 +644,7 @@ queryWrapper.selectAll(JkSketchCustomer.class ) .selectAs(JkCustomer::getName,JkSketchCustomer::getName) .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode) .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) // .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude) .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude) .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance) @@ -766,7 +769,7 @@ queryWrapper.selectAll(JkSketchCustomer.class ) .selectAs(JkCustomer::getName,JkSketchCustomer::getName) .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode) .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) // .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude) .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude) .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance) @@ -1252,7 +1255,7 @@ .selectAs(JkCustomer::getName,JkSketchCustomer::getName) .selectAs(JkCustomer::getCode,JkSketchCustomer::getCode) .selectAs(JkCustomer::getDistanceStatus,JkSketchCustomer::getDistanceStatus) .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) // .selectAs(JkCustomer::getDistance,JkSketchCustomer::getDistanceJson) .selectAs(JkCustomer::getLongitude,JkSketchCustomer::getLongitude) .selectAs(JkCustomer::getLatitude,JkSketchCustomer::getLatitude) .selectAs(JkCustomer::getStartDistance,JkSketchCustomer::getStartDistance) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -244,9 +244,45 @@ } if(Constants.equalsInteger(req.getWithCameras(),Constants.ONE)){ initReginCameralList(allList,req.getName());//获取全部监控点数据 }else if(Constants.equalsInteger(req.getWithCameras(),Constants.TWO)){ initReginCameralList(allList,req.getName());//获取全部监控点数据 initReginFireDeviveList(allList,req.getName());//获取全部监控点数据 initReginSensorList(allList,req.getName());//获取全部监控点数据 } List<PageRegionInfoResponse> data = new RegionTreeVO(allList).buildTree(); return data; } private void initReginFireDeviveList(List<PageRegionInfoResponse> allList,String name) { List<CarmeraListVO> carmeraListVOList = fireDeviceList(); if(carmeraListVOList!=null && carmeraListVOList.size()>0){ for(PageRegionInfoResponse p : allList){ for(CarmeraListVO c : carmeraListVOList){ if(StringUtils.equals(p.getIndexCode(),c.getReginCode()) && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){ if(p.getCarmeraList()==null){ p.setCarmeraList(new ArrayList<>()); } p.getCarmeraList().add(c); } } } } } private void initReginSensorList(List<PageRegionInfoResponse> allList,String name) { List<CarmeraListVO> carmeraListVOList = sensorList(); if(carmeraListVOList!=null && carmeraListVOList.size()>0){ for(PageRegionInfoResponse p : allList){ for(CarmeraListVO c : carmeraListVOList){ if(StringUtils.equals(p.getIndexCode(),c.getReginCode()) && (StringUtils.contains(c.getName(),name) ||StringUtils.isBlank(name))){ if(p.getCarmeraList()==null){ p.setCarmeraList(new ArrayList<>()); } p.getCarmeraList().add(c); } } } } } private void initReginCameralList(List<PageRegionInfoResponse> allList,String name) { CarmeraListVO re = new CarmeraListVO(); @@ -346,6 +382,110 @@ } return data; } public List<CarmeraListVO> sensorList(){ List<SensorStatusListResponse> allList = new ArrayList<>(); boolean hasNext = true; int curTotal = 0; int curPage = 1; while (hasNext){ //分页遍历循环查询所有门禁设备数据 SensorStatusListRequest param = new SensorStatusListRequest(); param.setRegionIndexCode("-1"); param.setPageSize(100); param.setPageNo(curPage); BaseResponse<BaseListPageResponse<SensorStatusListResponse>> response = HKService.sensorStatusSearch(param); if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); } BaseListPageResponse<SensorStatusListResponse> r = response.getData(); curTotal += 100; if(curTotal >= r.getTotal()){ hasNext = false; } if(r.getList() == null || r.getList().size()==0){ hasNext =false; }else{ allList.addAll(r.getList()); } curPage++; } List<CarmeraListVO> data = new ArrayList<>(); for(SensorStatusListResponse p : allList){ CarmeraListVO t = new CarmeraListVO(); t.setIndexCode(p.getIndexCode()); t.setReginCode(p.getRegionIndexCode()); t.setName(p.getCn()); t.setStatus(p.getUnitStatus()); //0:未注册 1:正常 2: 修复中 3:异常状态 if(t.getStatus()!=null && t.getStatus() == 0){ t.setStatusName("未注册"); } if(t.getStatus()!=null && t.getStatus() == 1){ t.setStatusName("正常"); } if(t.getStatus()!=null && t.getStatus() == 2){ t.setStatusName("修复中"); } if(t.getStatus()!=null && t.getStatus() == 3){ t.setStatusName("异常状态"); } data.add(t); } return data; } public List<CarmeraListVO> fireDeviceList(){ List<FireDeviceStatusListResponse> allList = new ArrayList<>(); boolean hasNext = true; int curTotal = 0; int curPage = 1; while (hasNext){ //分页遍历循环查询所有门禁设备数据 FireDeviceStatuslListRequest param = new FireDeviceStatuslListRequest(); param.setRegionIndexCode("-1"); param.setPageSize(100); param.setPageNo(curPage); BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>> response = HKService.fireDeviceStatusSearch(param); if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); } BaseListPageResponse<FireDeviceStatusListResponse> r = response.getData(); curTotal += 100; if(curTotal >= r.getTotal()){ hasNext = false; } if(r.getList() == null || r.getList().size()==0){ hasNext =false; }else{ allList.addAll(r.getList()); } curPage++; } List<CarmeraListVO> data = new ArrayList<>(); for(FireDeviceStatusListResponse p : allList){ CarmeraListVO t = new CarmeraListVO(); t.setIndexCode(p.getIndexCode()); t.setReginCode(p.getRegionIndexCode()); t.setName(p.getCn()); t.setStatus(p.getUnitStatus()); //0:未注册 1:正常 2: 修复中 3:异常状态 if(t.getStatus()!=null && t.getStatus() == 0){ t.setStatusName("未注册"); } if(t.getStatus()!=null && t.getStatus() == 1){ t.setStatusName("正常"); } if(t.getStatus()!=null && t.getStatus() == 2){ t.setStatusName("修复中"); } if(t.getStatus()!=null && t.getStatus() == 3){ t.setStatusName("异常状态"); } data.add(t); } return data; } @Override public List<PageFireChannelInfoResponse> fireChannelList(){ List<PageFireChannelInfoResponse> allList = new ArrayList<>();