| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | 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.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.ComMngStructHouseDO; |
| | | import com.panzhihua.service_community.model.dos.ComMngStructHouseUserDO; |
| | | import com.panzhihua.service_community.service.ComMngStructHouseService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | **/ |
| | | @Slf4j |
| | | @Service |
| | | public class ComMngStructHouseServiceImpl extends ServiceImpl<ComMngStructHouseDAO, ComMngStructHouseDO> implements ComMngStructHouseService { |
| | | public class ComMngStructHouseServiceImpl extends ServiceImpl<ComMngStructHouseDAO, ComMngStructHouseDO> |
| | | implements ComMngStructHouseService { |
| | | @Resource |
| | | private ComMngStructHouseDAO comMngStructHouseDAO; |
| | | @Resource |
| | | private ComMngStructHouseUserDAO comMngStructHouseUserDAO; |
| | | @Resource |
| | | private ComMngStructAreaDAO comMngStructAreaDAO; |
| | | |
| | | /** |
| | | * 房屋信息 |
| | | * |
| | | * @param userId 用户id |
| | | * @param userId |
| | | * 用户id |
| | | * @return 房屋信息 |
| | | */ |
| | | @Override |
| | | public R detailHouse(Long userId) { |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | if ( userId< 100000000l) { |
| | | List<ComMngStructHouseUserDO> comMngStructHouseUserDOS = comMngStructHouseUserDAO.selectList(new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, userId)); |
| | | 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)); |
| | | 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())); |
| | | 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()); |
| | |
| | | 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)); |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode)); |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | | BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO); |
| | | if (isRent.equals("1")) { |
| | |
| | | /** |
| | | * 小区批量建房 |
| | | * |
| | | * @param batchhouseVO 建房参数 |
| | | * @param batchhouseVO |
| | | * 建房参数 |
| | | * @return 建房结果 |
| | | */ |
| | | @Override |
| | | public R batchHouse(BatchhouseVO batchhouseVO) { |
| | | String areaCode = batchhouseVO.getAreaCode(); |
| | | Integer integer = comMngStructHouseDAO.selectCount(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, areaCode)); |
| | | Integer integer = comMngStructHouseDAO.selectCount( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, areaCode)); |
| | | if (null != integer && integer.intValue() > 0) { |
| | | return R.fail("小区房屋已经存在,删除后批量创建或者使用编辑功能单独创建"); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 批量添加地址功能提取出一个公共方法 |
| | | * @param batchhouseVO 批量添加小区、同级(楼栋、单元、楼层、房间) |
| | | * |
| | | * @param 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)); |
| | | ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, areaCode)); |
| | | String areaName = comMngStructHouseDO.getHouseName();//小区地址 |
| | | int buildingBegin = batchhouseVO.getBuildingBegin().intValue(); |
| | | int buildingEnd = batchhouseVO.getBuildingEnd().intValue(); |
| | |
| | | long floorCode = 310000; |
| | | long doorCode = 210000; |
| | | Integer type = batchhouseVO.getType(); |
| | | ComMngStructHouseDO comMngStructHouseDOParent = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, batchhouseVO.getParentCode())); |
| | | ComMngStructHouseDO comMngStructHouseDOParent = |
| | | comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda() |
| | | .eq(ComMngStructHouseDO::getHouseCode, batchhouseVO.getParentCode())); |
| | | // 2楼栋 3 单元 4楼层 5门牌号 |
| | | for (int i = buildingBegin; i <= buildingEnd; i++) {//楼栋 |
| | | ComMngStructHouseDO comMngStructHouseDO1 = new ComMngStructHouseDO(); |
| | |
| | | } |
| | | } |
| | | } |
| | | comMngStructHouseDO4.setHouseName(comMngStructHouseDO3.getHouseName() + floorName + ruleConnector + doorName); |
| | | comMngStructHouseDO4 |
| | | .setHouseName(comMngStructHouseDO3.getHouseName() + floorName + ruleConnector + doorName); |
| | | comMngStructHouseDO4.setHouseCode(comMngStructHouseDO3.getHouseCode() + (doorCode + num)); |
| | | comMngStructHouseDO4.setType(5); |
| | | comMngStructHouseDO4.setParentCode(comMngStructHouseDO3.getHouseCode()); |
| | |
| | | if (b) { |
| | | 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----楼层数一共【{}】", |
| | | (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()); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 新增小区地址 |
| | | * |
| | | * @param comMngStructAreaVO 小区地址 |
| | | * @param comMngStructAreaVO |
| | | * 小区地址 |
| | | */ |
| | | @Override |
| | | public R addHouseArea(ComMngStructAreaVO comMngStructAreaVO) { |
| | |
| | | /** |
| | | * 先删除小区小面所有房屋、删除用户和小区房屋的绑定关系 |
| | | * |
| | | * @param comMngStructAreaVO 小区地址编码 |
| | | * @param comMngStructAreaVO |
| | | * 小区地址编码 |
| | | * @return 删除结果 |
| | | */ |
| | | @Override |
| | |
| | | /** |
| | | * 展示下级建筑 |
| | | * |
| | | * @param houseCode 房屋编号 |
| | | * @param houseCode |
| | | * 房屋编号 |
| | | * @return 下级建筑列表 |
| | | */ |
| | | @Override |
| | | public R listSubordinatebuilding(String houseCode) { |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, houseCode)); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, houseCode)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) { |
| | | comMngStructHouseDOList.forEach(comMngStructHouseDO -> { |
| | | ComMngStructHouseVO comMngStructHouseVO = new 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); |
| | | } |
| | |
| | | /** |
| | | * 添加同级地址 |
| | | * |
| | | * @param batchhouseVO 添加参数 |
| | | * @param comMngStructAreaDO 小区信息-规则 |
| | | * @param batchhouseVO |
| | | * 添加参数 |
| | | * @param comMngStructAreaDO |
| | | * 小区信息-规则 |
| | | * @return 添加结果 |
| | | */ |
| | | @Override |
| | |
| | | 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)); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = |
| | | comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda() |
| | | .eq(ComMngStructHouseDO::getType, type).eq(ComMngStructHouseDO::getParentCode, parentCode1)); |
| | | List<String> stringList = new ArrayList<>(); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) { |
| | | stringList = comMngStructHouseDOList.stream().map(comMngStructHouseDO -> comMngStructHouseDO.getHouseName()).collect(Collectors.toList()); |
| | | stringList = comMngStructHouseDOList.stream().map(comMngStructHouseDO -> comMngStructHouseDO.getHouseName()) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | int begin = 0, end = 0; |
| | | String typeName = ""; |
| | |
| | | /** |
| | | * 编辑地址 |
| | | * |
| | | * @param comMngStructHouseVO 编辑内容 |
| | | * @param comMngStructHouseVO |
| | | * 编辑内容 |
| | | * @return 编辑结果 |
| | | */ |
| | | @Override |
| | | public R putHouse(ComMngStructHouseVO comMngStructHouseVO) { |
| | | ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO(); |
| | | comMngStructHouseDO.setSquare(comMngStructHouseVO.getSquare()); |
| | | int update = comMngStructHouseDAO.update(comMngStructHouseDO, new UpdateWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseVO.getHouseCode())); |
| | | int update = comMngStructHouseDAO.update(comMngStructHouseDO, new UpdateWrapper<ComMngStructHouseDO>().lambda() |
| | | .eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseVO.getHouseCode())); |
| | | if (update > 0) { |
| | | return R.ok(); |
| | | } |
| | |
| | | /** |
| | | * 删除地址 |
| | | * |
| | | * @param comMngStructHouseVO 删除指定地址和所有下级 |
| | | * @param comMngStructHouseVO |
| | | * 删除指定地址和所有下级 |
| | | * @return 删除结果 |
| | | */ |
| | | @Override |
| | |
| | | /** |
| | | * 房屋地址下拉列表 |
| | | * |
| | | * @param parentCode 父级编码 |
| | | * @param parentCode |
| | | * 父级编码 |
| | | * @return 下级列表 |
| | | */ |
| | | @Override |
| | | public R putVolunteerPhone(String parentCode) { |
| | | List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>(); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, parentCode)); |
| | | 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)); |
| | | List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, parentCode)); |
| | | if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) { |
| | | comMngStructHouseDOList.forEach(comMngStructHouseDO -> { |
| | | ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO(); |
| | |
| | | /** |
| | | * 新增房屋 |
| | | * |
| | | * @param comMngStructHouseVO 房屋信息 |
| | | * @param comMngStructHouseVO |
| | | * 房屋信息 |
| | | * @return 新增结果 |
| | | */ |
| | | @Override |
| | |
| | | public R addHouses(ComMngStructHouseVO comMngStructHouseVO) { |
| | | String houseCode = comMngStructHouseVO.getHouseCode(); |
| | | Integer states1 = comMngStructHouseVO.getState(); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode)); |
| | | ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne( |
| | | new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode)); |
| | | if (ObjectUtils.isEmpty(comMngStructHouseDO1)) { |
| | | return R.fail("房屋不存在"); |
| | | } |
| | |
| | | if (update == 0) { |
| | | return R.fail("修改房屋面积、状态失败"); |
| | | } |
| | | ComMngStructHouseUserDO comMngStructHouseUserDO1 = comMngStructHouseUserDAO.selectOne(new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, comMngStructHouseVO.getUserId()).eq(ComMngStructHouseUserDO::getHouseCode, comMngStructHouseVO.getHouseCode())); |
| | | 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(); |
| | | } |
| | |
| | | List<ExcelHouseDTO> houseDTOS = comMngStructHouseDAO.houseExport(comMngStructAreaDO.getAreaCode()); |
| | | return R.ok(houseDTOS); |
| | | } |
| | | |
| | | |
| | | } |