| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.common.model.dtos.community.ExcelHouseDTO; |
| | | import com.panzhihua.common.model.vos.LoginUserInfoVO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.BatchhouseVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngStructHouseVO; |
| | | import com.panzhihua.common.model.vos.user.CommunityUserInfoVO; |
| | | import com.panzhihua.service_community.dao.ComMngStructAreaDAO; |
| | | import com.panzhihua.service_community.dao.ComMngStructHouseDAO; |
| | | import com.panzhihua.service_community.dao.ComMngStructHouseUserDAO; |
| | | import com.panzhihua.service_community.model.dos.ComMngStructAreaDO; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private ComMngStructHouseDAO comMngStructHouseDAO; |
| | | @Resource |
| | | private ComMngStructHouseUserDAO comMngStructHouseUserDAO; |
| | | |
| | | @Resource |
| | | private ComMngStructAreaDAO comMngStructAreaDAO; |
| | | /** |
| | | * 房屋信息 |
| | | * |
| | |
| | | @Override |
| | | public R detailHouse(Long userId) { |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | List<ComMngStructHouseUserDO> comMngStructHouseUserDOS = comMngStructHouseUserDAO.selectList(new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, userId)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseUserDOS)) { |
| | | comMngStructHouseUserDOS.forEach(comMngStructHouseUserDO -> { |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseUserDO.getHouseCode())); |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | comMngStructHouseVO.setIdentity(comMngStructHouseUserDO.getIdentity()); |
| | | comMngStructHouseVOS.add(comMngStructHouseVO); |
| | | }); |
| | | return R.ok(comMngStructHouseVOS); |
| | | if ( userId< 100000000l) { |
| | | List<ComMngStructHouseUserDO> comMngStructHouseUserDOS = comMngStructHouseUserDAO.selectList(new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, userId)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseUserDOS)) { |
| | | String areaCode = comMngStructHouseUserDOS.get(0).getAreaCode(); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, areaCode)); |
| | | String houseName = comMngStructHouseDO1.getHouseName(); |
| | | comMngStructHouseUserDOS.forEach(comMngStructHouseUserDO -> { |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseUserDO.getHouseCode())); |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | comMngStructHouseVO.setIdentity(comMngStructHouseUserDO.getIdentity()); |
| | | comMngStructHouseVOS.add(comMngStructHouseVO); |
| | | }); |
| | | return R.ok(comMngStructHouseVOS); |
| | | } |
| | | }else{ |
| | | userId=userId-100000000l; |
| | | // 查导入人员的房屋 |
| | | Map<String,Object> map=comMngStructHouseUserDAO.selectHouseCode(userId); |
| | | String houseCode = map.get("house_code").toString(); |
| | | String isRent = map.get("is_rent").toString(); |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode)); |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | if (isRent.equals("1")) { |
| | | comMngStructHouseVO.setIdentity(1); |
| | | }else{ |
| | | comMngStructHouseVO.setIdentity(2); |
| | | } |
| | | comMngStructHouseVOS.add(comMngStructHouseVO); |
| | | } |
| | | return R.ok(comMngStructHouseVOS); |
| | | } |
| | |
| | | * 批量添加地址功能提取出一个公共方法 |
| | | * @param batchhouseVO 批量添加小区、同级(楼栋、单元、楼层、房间) |
| | | */ |
| | | private void batchSaveHouse(BatchhouseVO batchhouseVO) { |
| | | @Transactional(rollbackFor = Exception.class) |
| | | void batchSaveHouse(BatchhouseVO batchhouseVO) { |
| | | String areaCode = batchhouseVO.getAreaCode(); |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, areaCode)); |
| | | String areaName = comMngStructHouseDO.getHouseName();//小区地址 |
| | |
| | | comMngStructHouseDO1.setType(2); |
| | | comMngStructHouseDOList.add(comMngStructHouseDO1); |
| | | } |
| | | |
| | | for (int m = unitBegin; m <= unitEnd; m++) {//单元 |
| | | ComMngStructHouseDO comMngStructHouseDO2 = new ComMngStructHouseDO(); |
| | | if (unitBegin==unitEnd&&null!=type&&type==4) { |
| | |
| | | comMngStructHouseDOList.add(comMngStructHouseDO2); |
| | | } |
| | | int num = 0;//门牌累加时使用 |
| | | |
| | | for (int k = floorBegin; k <= floorEnd; k++) {//楼层 |
| | | ComMngStructHouseDO comMngStructHouseDO3 = new ComMngStructHouseDO(); |
| | | if (floorBegin==floorEnd&&null!=type&&type==5) { |
| | |
| | | } else { |
| | | comMngStructHouseDO3.setType(4); |
| | | comMngStructHouseDO3.setParentCode(comMngStructHouseDO2.getHouseCode()); |
| | | comMngStructHouseDO3.setHouseName(comMngStructHouseDO2.getHouseName() + "层"); |
| | | comMngStructHouseDO3.setHouseName(comMngStructHouseDO2.getHouseName() +k+ "层"); |
| | | comMngStructHouseDO3.setHouseCode(comMngStructHouseDO2.getHouseCode() + (floorCode + k)); |
| | | comMngStructHouseDOList.add(comMngStructHouseDO3); |
| | | } |
| | | |
| | | for (int h = doorBegin; h <= doorEnd; h++) {//门牌 |
| | | num++; |
| | | ComMngStructHouseDO comMngStructHouseDO4 = new ComMngStructHouseDO(); |
| | |
| | | if (isAccumulation == 1) {//累加 |
| | | doorName = "0" + num; |
| | | } else { |
| | | doorName = "" + h; |
| | | doorName = "0" + h; |
| | | } |
| | | } else { |
| | | if (isAccumulation == 1) {//累加 |
| | | doorName = "0" + num; |
| | | doorName = "" + num; |
| | | } else { |
| | | doorName = "" + h; |
| | | } |
| | |
| | | comMngStructHouseDO4.setParentCode(comMngStructHouseDO3.getHouseCode()); |
| | | comMngStructHouseDOList.add(comMngStructHouseDO4); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | boolean b = this.saveBatch(comMngStructHouseDOList); |
| | | if (b) { |
| | | log.info("批量新增房屋地址数量【{}】", comMngStructHouseDOList.size()); |
| | | log.info("batchhouse----楼栋数一共【{}】",buildingEnd-buildingBegin+1); |
| | | log.info("batchhouse----单元数一共【{}】",(unitEnd-unitBegin+1)*(buildingEnd-buildingBegin+1)); |
| | | log.info("batchhouse----楼层数一共【{}】",(unitEnd-unitBegin+1)*(buildingEnd-buildingBegin+1)*(floorEnd-floorBegin+1)); |
| | | log.info("batchhouse----房间数量一共【{}】",(unitEnd-unitBegin+1)*(buildingEnd-buildingBegin+1)*(floorEnd-floorBegin+1)*(doorEnd-doorBegin+1)); |
| | | log.info("batchhouse----批量新增房屋地址数量【{}】", comMngStructHouseDOList.size()); |
| | | } |
| | | } |
| | | |
| | |
| | | public R addHouseArea(ComMngStructAreaVO comMngStructAreaVO) { |
| | | ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO(); |
| | | comMngStructHouseDO.setHouseCode(comMngStructAreaVO.getAreaCode()); |
| | | comMngStructHouseDO.setHouseName(comMngStructAreaVO.getAreaName()); |
| | | comMngStructHouseDO.setHouseName(comMngStructAreaVO.getAddressDetail()); |
| | | comMngStructHouseDO.setType(1); |
| | | comMngStructHouseDO.setParentCode("0"); |
| | | int insert = comMngStructHouseDAO.insert(comMngStructHouseDO); |
| | | int insert = 0; |
| | | try { |
| | | insert = comMngStructHouseDAO.insert(comMngStructHouseDO); |
| | | } catch (Exception e) { |
| | | log.error("新增地址错误【{}】",e.getMessage()); |
| | | if (e.getMessage().contains("unique_house_name")) { |
| | | return R.fail("小区已经存在"); |
| | | } |
| | | } |
| | | if (insert > 0) { |
| | | return R.ok(); |
| | | } |
| | |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, houseCode)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) { |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | comMngStructHouseDOList.forEach(comMngStructHouseDO -> { |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | int type = comMngStructHouseDO.getType().intValue(); |
| | | String houseCode1 = comMngStructHouseDO.getHouseCode(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | if (type == 5) { |
| | | List<LoginUserInfoVO> loginUserInfoVOS = comMngStructHouseUserDAO.selectListHouseUser(houseCode1); |
| | | if (!ObjectUtils.isEmpty(loginUserInfoVOS)) { |
| | | String names = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getName()).collect(Collectors.joining()); |
| | | String phones = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getPhone()).collect(Collectors.joining()); |
| | | String names = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getName()).collect(Collectors.joining(",")); |
| | | String phones = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getPhone()).collect(Collectors.joining(",")); |
| | | comMngStructHouseVO.setNames(names); |
| | | comMngStructHouseVO.setPhones(phones); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public R addHouse(BatchhouseVO batchhouseVO, ComMngStructAreaDO comMngStructAreaDO) { |
| | | String roleConnector = comMngStructAreaDO.getRoleConnector(); |
| | | String roleDoor = comMngStructAreaDO.getRoleDoor(); |
| | | String roleFloor = comMngStructAreaDO.getRoleFloor(); |
| | | int type = batchhouseVO.getType().intValue(); |
| | | String parentCode1 = batchhouseVO.getParentCode(); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getType, type).eq(ComMngStructHouseDO::getParentCode, parentCode1)); |
| | |
| | | } |
| | | } |
| | | } |
| | | batchhouseVO.setRuleConnector(roleConnector); |
| | | batchhouseVO.setRuleDoor(roleDoor); |
| | | batchhouseVO.setRuleFloor(roleFloor); |
| | | this.batchSaveHouse(batchhouseVO); |
| | | return R.ok(); |
| | | } |
| | |
| | | @Override |
| | | public R putVolunteerPhone(String parentCode) { |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, parentCode)); |
| | | String houseName = comMngStructHouseDO1.getHouseName(); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, parentCode)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) { |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | comMngStructHouseDOList.forEach(comMngStructHouseDO -> { |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | comMngStructHouseVO.setHouseShortName(comMngStructHouseVO.getHouseName().replaceAll(houseName,"")); |
| | | comMngStructHouseVOS.add(comMngStructHouseVO); |
| | | }); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R addHouses(ComMngStructHouseVO comMngStructHouseVO) { |
| | | String houseCode = comMngStructHouseVO.getHouseCode(); |
| | | Integer states1 = comMngStructHouseVO.getStates(); |
| | | Integer states1 = comMngStructHouseVO.getState(); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode)); |
| | | if (ObjectUtils.isEmpty(comMngStructHouseDO1)) { |
| | | return R.fail("房屋不存在"); |
| | | } |
| | | Integer states = comMngStructHouseDO1.getStates(); |
| | | Integer states = comMngStructHouseDO1.getState(); |
| | | if (null != states && 0 != states.intValue()) { |
| | | if (states1.intValue() != states.intValue()) { |
| | | return R.fail("房屋已经被绑定了,请通过意见反馈联系后台处理"); |
| | |
| | | } |
| | | ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO(); |
| | | comMngStructHouseDO.setSquare(comMngStructHouseVO.getSquare()); |
| | | comMngStructHouseDO.setStates(states1); |
| | | comMngStructHouseDO.setState(states1); |
| | | comMngStructHouseDO.setId(comMngStructHouseDO1.getId()); |
| | | int update = comMngStructHouseDAO.updateById(comMngStructHouseDO); |
| | | if (update == 0) { |
| | | return R.fail("修改房屋面积、状态失败"); |
| | | } |
| | | ComMngStructHouseUserDO comMngStructHouseUserDO1 = comMngStructHouseUserDAO.selectOne(new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, comMngStructHouseVO.getUserId()).eq(ComMngStructHouseUserDO::getHouseCode, comMngStructHouseVO.getHouseCode())); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseUserDO1)) { |
| | | return R.ok(); |
| | | } |
| | | ComMngStructHouseUserDO comMngStructHouseUserDO = new ComMngStructHouseUserDO(); |
| | | comMngStructHouseUserDO.setUserId(comMngStructHouseVO.getUserId()); |
| | | comMngStructHouseUserDO.setIdentity(comMngStructHouseVO.getIdentity()); |
| | | ComMngStructHouseDO comMngStructHouseDO2 = comMngStructHouseDAO.selectById(comMngStructHouseVO.getAreaId()); |
| | | comMngStructHouseUserDO.setAreaCode(comMngStructHouseDO2.getHouseCode()); |
| | | comMngStructHouseUserDO.setAreaCode(comMngStructHouseVO.getAreaCode()); |
| | | comMngStructHouseUserDO.setHouseCode(comMngStructHouseVO.getHouseCode()); |
| | | int insert = comMngStructHouseUserDAO.insert(comMngStructHouseUserDO); |
| | | if (insert > 0) { |
| | | return R.ok(); |
| | |
| | | throw new RuntimeException("绑定房屋和人员关系失败"); |
| | | } |
| | | |
| | | @Override |
| | | public R houseExport(Long areaId) { |
| | | ComMngStructAreaDO comMngStructAreaDO = comMngStructAreaDAO.selectById(areaId); |
| | | if (ObjectUtils.isEmpty(comMngStructAreaDO)) { |
| | | return R.fail("小区不存在"); |
| | | } |
| | | List<ExcelHouseDTO> houseDTOS = comMngStructHouseDAO.houseExport(comMngStructAreaDO.getAreaCode()); |
| | | return R.ok(houseDTOS); |
| | | } |
| | | |
| | | |
| | | } |