| | |
| | | */ |
| | | package org.springblade.modules.doorplateAddress.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import liquibase.repackaged.org.apache.commons.lang3.StringUtils; |
| | | import org.springblade.common.constant.DictConstant; |
| | | import org.springblade.common.node.TreeNode; |
| | | import org.springblade.common.utils.NodeTreeUtil; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity; |
| | | import org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper; |
| | |
| | | import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree; |
| | | import org.springblade.modules.doorplateAddress.vo.FuncNode; |
| | | import org.springblade.modules.grid.service.IGridService; |
| | | import org.springblade.modules.house.entity.HouseEntity; |
| | | import org.springblade.modules.house.service.IHouseRentalService; |
| | | import org.springblade.modules.house.service.IHouseService; |
| | | import org.springblade.modules.house.service.IHouseholdService; |
| | | import org.springblade.modules.house.vo.HouseParam; |
| | | import org.springblade.modules.house.vo.HouseRentalVO; |
| | |
| | | |
| | | @Autowired |
| | | private IPlaceService placeService; |
| | | |
| | | @Autowired |
| | | private IHouseService houseService; |
| | | |
| | | @Autowired |
| | | private IHouseholdService householdService; |
| | |
| | | public Object getHousesList(HouseParam houseParam) { |
| | | List<TreeNode> list = new ArrayList<>(); |
| | | Map<String, Object> map = new HashMap<>(2); |
| | | List<String> stringList = new ArrayList<>(); |
| | | if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){ |
| | | if (houseParam.getRoleName().equals("网格员")){ |
| | | // 查询对应的房屋地址code |
| | | stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId()); |
| | | } |
| | | } |
| | | List<String> stringList = getHouseCodeList(houseParam); |
| | | // 查小区,场所 |
| | | if (houseParam.getType()==1){ |
| | | // 根据社区名称查询小区集合 |
| | |
| | | * @return |
| | | */ |
| | | private Map<String, Object> getHouseLevelData(HouseParam houseParam, Map<String, Object> map) { |
| | | List<String> stringList = new ArrayList<>(); |
| | | if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){ |
| | | if (houseParam.getRoleName().equals("网格员")){ |
| | | // 查询对应的房屋地址code |
| | | stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId()); |
| | | } |
| | | } |
| | | List<String> stringList = getHouseCodeList(houseParam); |
| | | // 判断地址类型 |
| | | if (houseParam.getAddressType()==1) { |
| | | List<FuncNode> aoiList = new ArrayList<>(); |
| | |
| | | * @return |
| | | */ |
| | | private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) { |
| | | List<String> stringList = new ArrayList<>(); |
| | | if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){ |
| | | if (houseParam.getRoleName().equals("网格员")){ |
| | | // 查询对应的房屋地址code |
| | | stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId()); |
| | | } |
| | | } |
| | | List<String> stringList = getHouseCodeList(houseParam); |
| | | // 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷 |
| | | if (houseParam.getCode().length()>12){ |
| | | List<TreeNode> aoiList = new ArrayList<>(); |
| | |
| | | |
| | | /** |
| | | * 查询户室及住户相关信息,单元中包含住户 |
| | | * @param name |
| | | * @param code |
| | | * @param houseParam |
| | | * @param stringList |
| | | * @return |
| | | */ |
| | | private List<FuncNode> getUnitHouseholdList(HouseParam houseParam,List<String> stringList) { |
| | |
| | | public List<DoorplateAddressEntity> getAllDoorplateAddress(String name) { |
| | | return baseMapper.getAllDoorplateAddress(name); |
| | | } |
| | | |
| | | /** |
| | | * 获取房屋树 |
| | | * @param houseParam |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam) { |
| | | List<String> stringList = getHouseCodeList(houseParam); |
| | | // 根据社区居委会编号获取对应的小区/楼栋/单元/户室 |
| | | return NodeTreeUtil.getAddressNodeTree(baseMapper.getHouseTree(houseParam,stringList)); |
| | | } |
| | | |
| | | /** |
| | | * 根据角色获取地址编号集合 |
| | | * @param houseParam |
| | | * @return |
| | | */ |
| | | private List<String> getHouseCodeList(HouseParam houseParam) { |
| | | List<String> stringList = new ArrayList<>(); |
| | | if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) { |
| | | if (houseParam.getRoleName().equals("网格员")) { |
| | | // 查询对应的房屋地址code |
| | | stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId()); |
| | | } |
| | | } |
| | | return stringList; |
| | | } |
| | | |
| | | /** |
| | | * 数据处理 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Object dataHandle() { |
| | | // 处理户室数据 |
| | | handleHouseData(); |
| | | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 处理房屋数据 |
| | | */ |
| | | private void handleHouseData() { |
| | | // 查询所有户室数据 |
| | | List<DoorplateAddressEntity> list = baseMapper.getHouseList(); |
| | | // 需要新增的房屋 list |
| | | List<HouseEntity> houseList = new ArrayList<>(); |
| | | // 处理户室数据 |
| | | for (DoorplateAddressEntity doorplateAddressEntity : list) { |
| | | // 查询是否已存在,存在就插入,不存在则插入 |
| | | QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("house_code",doorplateAddressEntity.getAddressCode()) |
| | | .eq("is_deleted",0); |
| | | HouseEntity one = houseService.getOne(wrapper); |
| | | if (null==one){ |
| | | HouseEntity houseEntity = new HouseEntity(); |
| | | houseEntity.setHouseCode(doorplateAddressEntity.getAddressCode()); |
| | | houseEntity.setDistrictCode(doorplateAddressEntity.getAoiCode()); |
| | | houseEntity.setDistrictName(doorplateAddressEntity.getAoiName()); |
| | | houseEntity.setHouseName(doorplateAddressEntity.getAddressName()); |
| | | houseEntity.setFloor(Integer.parseInt(doorplateAddressEntity.getFloor())); |
| | | houseEntity.setBuilding(doorplateAddressEntity.getBuildingName()); |
| | | houseEntity.setUnit(doorplateAddressEntity.getUnitName()); |
| | | houseEntity.setRoom(doorplateAddressEntity.getHouseName()); |
| | | houseEntity.setBuildingNo(doorplateAddressEntity.getBuildingCode()); |
| | | houseEntity.setCreateUser(AuthUtil.getUserId().toString()); |
| | | houseEntity.setCreateTime(new Date()); |
| | | houseEntity.setUpdateUser(AuthUtil.getUserId().toString()); |
| | | houseEntity.setUpdateTime(new Date()); |
| | | // 加入集合 |
| | | houseList.add(houseEntity); |
| | | } |
| | | } |
| | | // 批量插入 |
| | | houseService.saveBatch(houseList); |
| | | } |
| | | } |