| | |
| | | if (null != one) { |
| | | placeVO.setId(one.getId()); |
| | | } else { |
| | | // 扫码来的默认绑定本身 |
| | | placeVO.setHouseCodeBinds(placeVO.getHouseCode()); |
| | | // 新增,地址表中没有或者地址表中有场所表中没有的(是房屋的),扫码进来的 |
| | | save(placeVO); |
| | | } |
| | |
| | | // 设置完善状态 |
| | | setPlaceStatus(placeVO); |
| | | // 房屋编号绑定处理 |
| | | // houseCodeBindHandle(placeVO); |
| | | houseCodeBindHandle(placeVO); |
| | | // 更新场所信息 |
| | | flag = updateById(placeVO); |
| | | } else { |
| | |
| | | // 新增场所信息 |
| | | flag = save(placeVO); |
| | | } |
| | | // 获取请求头中的角色别名 |
| | | String roleName = SpringUtils.getRequestParam("roleName"); |
| | | placeVO.setRoleName(roleName); |
| | | // 保存场所详情及任务信息 |
| | | savePlaceExtAndTaskInfo(placeVO); |
| | | // 场所标签信息绑定(更新,调整) |
| | | placeLabelBind(placeVO); |
| | | // 网格绑定 |
| | | gridBind(placeVO); |
| | | // 网格编号绑定场所-新 |
| | | gridCodeBind(placeVO); |
| | | // 警务网格绑定 |
| | | jwGridCodeBind(placeVO); |
| | | // 返回结果 |
| | |
| | | * @param placeVO |
| | | */ |
| | | public void houseCodeBindHandle(PlaceVO placeVO) { |
| | | List<String> list = Arrays.asList(placeVO.getHouseCodeBinds().split(",")); |
| | | // 先删除原有的绑定 |
| | | QueryWrapper<PlaceDoorEntity> removeQw = new QueryWrapper<>(); |
| | | removeQw.eq("place_id",placeVO.getId()); |
| | | // 删除 |
| | | placeDoorService.remove(removeQw); |
| | | // 遍历更新 |
| | | for (String houseCode : list) { |
| | | // 查询是否已存在关联关系 |
| | | QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code",houseCode); |
| | | // 查询 |
| | | List<PlaceDoorEntity> placeDoorEntityList = placeDoorService.list(wrapper); |
| | | if (placeDoorEntityList.size()>0){ |
| | | // 该houseCode 已被绑定 |
| | | if (!Strings.isBlank(placeVO.getHouseCodeBinds())) { |
| | | List<String> list = Arrays.asList(placeVO.getHouseCodeBinds().split(",")); |
| | | // 先删除原有的绑定 |
| | | QueryWrapper<PlaceDoorEntity> removeQw = new QueryWrapper<>(); |
| | | removeQw.eq("place_id", placeVO.getId()); |
| | | // 删除 |
| | | placeDoorService.remove(removeQw); |
| | | // 遍历更新 |
| | | for (String houseCode : list) { |
| | | // 查询是否已存在关联关系 |
| | | QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code", houseCode); |
| | | // 查询 |
| | | List<PlaceDoorEntity> placeDoorEntityList = placeDoorService.list(wrapper); |
| | | if (placeDoorEntityList.size() > 0) { |
| | | // 该houseCode 已被绑定 |
| | | // errorList.add(houseCode); |
| | | for (PlaceDoorEntity placeDoorEntity : placeDoorEntityList) { |
| | | for (PlaceDoorEntity placeDoorEntity : placeDoorEntityList) { |
| | | placeDoorEntity.setPlaceId(placeVO.getId()); |
| | | // 更新 |
| | | placeDoorService.updateById(placeDoorEntity); |
| | | } |
| | | } else { |
| | | PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity(); |
| | | placeDoorEntity.setHouseCode(houseCode); |
| | | placeDoorEntity.setPlaceId(placeVO.getId()); |
| | | // 更新 |
| | | placeDoorService.updateById(placeDoorEntity); |
| | | // 对应插入到关联关系表中 |
| | | placeDoorService.save(placeDoorEntity); |
| | | } |
| | | }else { |
| | | PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity(); |
| | | placeDoorEntity.setHouseCode(houseCode); |
| | | placeDoorEntity.setPlaceId(placeVO.getId()); |
| | | // 对应插入到关联关系表中 |
| | | placeDoorService.save(placeDoorEntity); |
| | | } |
| | | // 处理原场所表houseCode 绑定数据-- 暂不处理原数据的删除 |
| | | // handlePlaceOne(list,placeVO); |
| | | } |
| | | // 处理原场所表houseCode 绑定数据 |
| | | handlePlaceOne(list,placeVO); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param placeVO |
| | | */ |
| | | public void gridBind(PlaceVO placeVO) { |
| | | if (null != placeVO.getGridId()) { |
| | | // 判断关联关系表是否存在 |
| | | QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code", placeVO.getHouseCode()); |
| | | GridRangeEntity one = gridRangeService.getOne(wrapper); |
| | | if (null == one) { |
| | | // 新增 |
| | | GridRangeEntity gridRangeEntity = new GridRangeEntity(); |
| | | gridRangeEntity.setHouseCode(placeVO.getHouseCode()); |
| | | gridRangeEntity.setGridId(placeVO.getGridId()); |
| | | // 插入 |
| | | gridRangeService.save(gridRangeEntity); |
| | | } else { |
| | | // 修改绑定 |
| | | one.setGridId(placeVO.getGridId()); |
| | | // 修改 |
| | | gridRangeService.updateById(one); |
| | | } |
| | | } else { |
| | | // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id |
| | | if (!Strings.isBlank(placeVO.getRoleName())) { |
| | | // 网格员角色位置绑定 |
| | | gridmanPositionHandle(placeVO); |
| | | // 民警角色位置绑定 |
| | | policePositionHandle(placeVO); |
| | | } |
| | | } |
| | | // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id |
| | | // if (!Strings.isBlank(placeVO.getRoleName()) && placeVO.getRoleName().equals("wgy")) { |
| | | // // 网格员角色位置绑定 |
| | | // gridmanPositionHandle(placeVO); |
| | | // } |
| | | // 都是通过点落面方式,不区分角色 |
| | | policePositionHandle(placeVO); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param placeVO |
| | | */ |
| | | public void gridCodeBind(PlaceVO placeVO) { |
| | | // 无网格编号时 |
| | | if (Strings.isBlank(placeVO.getGridCode())) { |
| | | // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id |
| | | if (!Strings.isBlank(placeVO.getRoleName())) { |
| | | // 网格员场所网格编号绑定-新 |
| | | gridmanGridCodePositionHandle(placeVO); |
| | | // 民警角色时通过位置绑定网格-新 |
| | | policeGridCodePositionHandle(placeVO); |
| | | } |
| | | // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id |
| | | if (!Strings.isBlank(placeVO.getRoleName())) { |
| | | // 网格员场所网格编号绑定-新 |
| | | gridmanGridCodePositionHandle(placeVO); |
| | | } |
| | | // 民警角色时通过位置绑定网格-新 |
| | | policeGridCodePositionHandle(placeVO); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param placeVO |
| | | */ |
| | | public void gridmanPositionHandle(PlaceVO placeVO) { |
| | | if (placeVO.getRoleName().equals("网格员")) { |
| | | if (!Strings.isBlank(placeVO.getRoleName()) && placeVO.getRoleName().equals("wgy")) { |
| | | // 判断网格员,查询对应网格人对应的网格id |
| | | Integer gridId = gridmanService.getGridIdByUserId(AuthUtil.getUserId()); |
| | | if (null != gridId) { |
| | | GridEntity grid = gridService.getGridByUserId(AuthUtil.getUserId()); |
| | | if (null != grid) { |
| | | // 场所编号绑定 |
| | | placeVO.setGridCode(grid.getGridCode()); |
| | | placeVO.setGridId(grid.getId()); |
| | | // 更新场所网格绑定信息 |
| | | updateById(placeVO); |
| | | // 判断关联关系表是否存在 |
| | | QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code", placeVO.getHouseCode()); |
| | |
| | | // 新增 |
| | | GridRangeEntity gridRangeEntity = new GridRangeEntity(); |
| | | gridRangeEntity.setHouseCode(placeVO.getHouseCode()); |
| | | gridRangeEntity.setGridId(gridId); |
| | | gridRangeEntity.setGridId(grid.getId()); |
| | | gridRangeEntity.setGridCode(grid.getGridCode()); |
| | | // 插入 |
| | | gridRangeService.save(gridRangeEntity); |
| | | } else { |
| | | // 修改绑定 |
| | | one.setGridId(gridId); |
| | | one.setGridId(grid.getId()); |
| | | one.setGridCode(grid.getGridCode()); |
| | | // 修改 |
| | | gridRangeService.updateById(one); |
| | | } |
| | |
| | | if (null != grid && !Strings.isBlank(grid.getGridCode())) { |
| | | // 场所编号绑定 |
| | | placeVO.setGridCode(grid.getGridCode()); |
| | | placeVO.setGridId(grid.getId()); |
| | | // 更新场所信息 |
| | | updateById(placeVO); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 民警角色位置绑定 |
| | | * 其他角色时位置绑定 |
| | | * |
| | | * @param placeVO |
| | | */ |
| | | private void policePositionHandle(PlaceVO placeVO) { |
| | | // 是民警且位置信息存在 |
| | | if (placeVO.getRoleName().equals("民警") && !Strings.isBlank(placeVO.getLng())) { |
| | | if (!Strings.isBlank(placeVO.getLng())) { |
| | | //点坐标解析 |
| | | String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() + ")'"; |
| | | // String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'"; |
| | | List<GridEntity> gridEntityList = gridMapper.spatialAnalysis(point); |
| | | if (gridEntityList.size() > 0) { |
| | | GridEntity gridEntity = gridEntityList.get(0); |
| | | // 场所编号绑定 |
| | | placeVO.setGridCode(gridEntity.getGridCode()); |
| | | placeVO.setGridId(gridEntity.getId()); |
| | | // 更新场所信息 |
| | | updateById(placeVO); |
| | | // 判断关联关系表是否存在 |
| | | QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code", placeVO.getHouseCode()); |
| | |
| | | GridRangeEntity gridRangeEntity = new GridRangeEntity(); |
| | | gridRangeEntity.setHouseCode(placeVO.getHouseCode()); |
| | | gridRangeEntity.setGridId(gridEntity.getId()); |
| | | gridRangeEntity.setGridCode(gridEntity.getGridCode()); |
| | | // 插入 |
| | | gridRangeService.save(gridRangeEntity); |
| | | } else { |
| | | // 修改绑定 |
| | | one.setGridId(gridEntity.getId()); |
| | | one.setGridCode(gridEntity.getGridCode()); |
| | | // 修改 |
| | | gridRangeService.updateById(one); |
| | | } |
| | |
| | | if (null != gridEntity && !Strings.isBlank(gridEntity.getGridCode())) { |
| | | // 场所编号绑定 |
| | | placeVO.setGridCode(gridEntity.getGridCode()); |
| | | placeVO.setGridId(gridEntity.getId()); |
| | | // 更新场所信息 |
| | | updateById(placeVO); |
| | | } |