zhongrj
2023-12-09 70a6a075feccef889868161d709497edb77f8371
新增网格机构,范围处理
10 files modified
146 ■■■■■ changed files
src/main/java/org/springblade/common/utils/NodeTreeUtil.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/controller/GridRangeController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/mapper/GridRangeMapper.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/mapper/GridRangeMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/service/IGridRangeService.java 5 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/service/impl/GridRangeServiceImpl.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java 11 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/DeptController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/utils/NodeTreeUtil.java
@@ -63,13 +63,19 @@
    public static List<TreeStringNode> getStringNodeTree(Map<String, TreeStringNode> treeMap){
        List<TreeStringNode> tree = new ArrayList<>();
        if (treeMap.size() > 0) {
            treeMap.forEach((id, treeNode) -> {
                if (treeMap.containsKey(treeNode.getParentId())) {
                    treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
                } else {
            if (treeMap.size()==1){
                treeMap.forEach((id, treeNode) -> {
                    tree.add(treeNode);
                }
            });
                });
            }else {
                treeMap.forEach((id, treeNode) -> {
                    if (treeMap.containsKey(treeNode.getParentId())) {
                        treeMap.get(treeNode.getParentId()).getChildren().add(treeNode);
                    } else {
                        tree.add(treeNode);
                    }
                });
            }
        }
        return tree;
    }
src/main/java/org/springblade/modules/grid/controller/GridRangeController.java
@@ -120,5 +120,13 @@
        return R.status(gridRangeService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 网格范围表数据处理
     */
    @GetMapping("/dataHandle")
    public R dataHandle() {
        return R.data(gridRangeService.dataHandle());
    }
}
src/main/java/org/springblade/modules/grid/mapper/GridRangeMapper.java
@@ -21,6 +21,8 @@
import org.springblade.modules.grid.vo.GridRangeVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.grid.vo.GridVO;
import java.util.List;
/**
@@ -40,5 +42,9 @@
     */
    List<GridRangeVO> selectGridRangePage(IPage page,@Param("gridRange") GridRangeVO gridRange);
    /**
     * 查询test 数据表数据
     * @return
     */
    List<GridVO> getTestGridData();
}
src/main/java/org/springblade/modules/grid/mapper/GridRangeMapper.xml
@@ -7,5 +7,10 @@
        select * from jczz_grid_range where 1=1
    </select>
    <!--查询test 数据表数据-->
    <select id="getTestGridData" resultType="org.springblade.modules.grid.vo.GridVO">
        select grid as gridName,SUBSTRING_INDEX(area, "-", -1) as communityName,std_id as principal from jczz_test
    </select>
</mapper>
src/main/java/org/springblade/modules/grid/service/IGridRangeService.java
@@ -39,5 +39,8 @@
     */
    IPage<GridRangeVO> selectGridRangePage(IPage<GridRangeVO> page, GridRangeVO gridRange);
    /**
     * 网格范围表数据处理
     */
    Object dataHandle();
}
src/main/java/org/springblade/modules/grid/service/impl/GridRangeServiceImpl.java
@@ -16,14 +16,22 @@
 */
package org.springblade.modules.grid.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.entity.GridRangeEntity;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.vo.GridRangeVO;
import org.springblade.modules.grid.mapper.GridRangeMapper;
import org.springblade.modules.grid.service.IGridRangeService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.grid.vo.GridVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * 网格范围表 服务实现类
@@ -34,10 +42,43 @@
@Service
public class GridRangeServiceImpl extends ServiceImpl<GridRangeMapper, GridRangeEntity> implements IGridRangeService {
    @Autowired
    private IGridService gridService;
    @Override
    public IPage<GridRangeVO> selectGridRangePage(IPage<GridRangeVO> page, GridRangeVO gridRange) {
        return page.setRecords(baseMapper.selectGridRangePage(page, gridRange));
    }
    /**
     * 网格范围表数据处理
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Object dataHandle() {
        // 查询test 数据表数据
        List<GridVO> list = baseMapper.getTestGridData();
        // 匹配
        for (GridVO gridVO : list) {
            QueryWrapper<GridEntity> wrapper = new QueryWrapper<>();
            wrapper.eq("grid_name",gridVO.getGridName())
                .eq("community_name",gridVO.getCommunityName())
                .eq("is_deleted",0);
            GridEntity one = gridService.getOne(wrapper);
            if (null!=one){
                // 查询是否已存在绑定关系,已有则不新增
                QueryWrapper<GridRangeEntity> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("grid_id",one.getId()).eq("house_code",gridVO.getPrincipal());
                GridRangeEntity gridRangeEntity = getOne(queryWrapper);
                if (null== gridRangeEntity) {
                    GridRangeEntity rangeEntity = new GridRangeEntity();
                    rangeEntity.setGridId(one.getId());
                    rangeEntity.setHouseCode(gridVO.getPrincipal());
                    // 新增
                    save(rangeEntity);
                }
            }
        }
        return null;
    }
}
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
@@ -162,7 +163,7 @@
     * @param houseAndHoldExcel
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveHouseholdData(HouseAndHoldExcel houseAndHoldExcel) {
    public void saveHouseData(HouseAndHoldExcel houseAndHoldExcel) {
        // 查询库中是否已存在
        QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("house_code",houseAndHoldExcel.getHouseCode())
@@ -188,6 +189,12 @@
            houseEntity.setCreateUser(AuthUtil.getUserId().toString());
            houseEntity.setUpdateTime(new Date());
            houseEntity.setUpdateUser(AuthUtil.getUserId().toString());
            if (!Strings.isBlank(houseAndHoldExcel.getHouseCode())) {
                houseEntity.setSource(1);
            }else {
                houseEntity.setHouseCode(IdUtils.getIdBy36());
                houseEntity.setSource(2);
            }
            // 新增
            save(houseEntity);
        }
@@ -198,7 +205,7 @@
     * @param houseAndHoldExcel
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveHouseData(HouseAndHoldExcel houseAndHoldExcel) {
    public void saveHouseholdData(HouseAndHoldExcel houseAndHoldExcel) {
        // 查询库中是否已存在
        QueryWrapper<HouseholdEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("house_code",houseAndHoldExcel.getHouseCode())
src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -190,5 +190,15 @@
        return R.data(list);
    }
    /**
     * 数据处理(社区绑定)
     */
    @GetMapping("/dataHandle")
    public R dataHandle() {
        return R.data(deptService.dataHandle());
    }
}
src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -122,4 +122,9 @@
     * @return
     */
    boolean saveOrUpdateDeptInfo(Dept dept);
    /**
     * 数据处理(社区绑定)
     */
    Object dataHandle();
}
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -21,6 +21,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
import org.springblade.common.node.TreeStringNode;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.constant.BladeConstant;
@@ -33,6 +34,7 @@
import org.springblade.modules.system.entity.UserDept;
import org.springblade.modules.system.mapper.DeptMapper;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.wrapper.DeptWrapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -55,6 +57,9 @@
    @Autowired
    private IPropertyCompanyService propertyCompanyService;
    @Autowired
    private IRegionService regionService;
    @Override
    public List<DeptVO> lazyList(String tenantId, Long parentId, Map<String, Object> param) {
@@ -262,4 +267,32 @@
        return DeptWrapper.build().listNodeVO(deptList);
    }
    /**
     * 数据处理(社区绑定)
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Object dataHandle() {
        // 查询未绑定的网格
        List<TreeStringNode> list = regionService.getTree("361102005");
        // 遍历
        for (TreeStringNode treeStringNode : list) {
            // 查询是否已创建
            QueryWrapper<Dept> wrapper = new QueryWrapper<>();
            wrapper.eq("is_deleted",0).eq("dept_name",treeStringNode.getName());
            Dept one = getOne(wrapper);
            if (null==one){
                // 新增
                Dept dept = new Dept();
                dept.setParentId(1733066387113734145L);
                dept.setFullName(treeStringNode.getName());
                dept.setDeptName(treeStringNode.getName());
                dept.setDeptCategory(1);
                dept.setTenantId("000000");
                // 新增
                save(dept);
            }
        }
        return null;
    }
}