linwei
2024-02-20 7562a351564fe17759c4fd67bd63999b79339764
Merge remote-tracking branch 'origin/master'
2 files modified
108 ■■■■■ changed files
src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java 97 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -5,7 +5,13 @@
    <!--自定义分页查询-->
    <select id="selectGridPage" resultType="org.springblade.modules.grid.vo.GridVO">
        select
        jg.id,jg.community_code,jg.grid_name,jg.principal,jg.principal_phone,jg.remark,
        jg.id,
        jg.community_code,
        jg.grid_name,
        jg.grid_code,
        jg.principal,
        jg.principal_phone,
        jg.remark,
        br.name as communityName,br.town_name as townName
        from jczz_grid jg
        left join blade_region br on br.code = jg.community_code
@@ -19,6 +25,9 @@
        <if test="grid.principal!=null and grid.principal!=''">
            and jg.principal like concat('%',#{grid.principal},'%')
        </if>
        <if test="grid.gridCode!=null and grid.gridCode!=''">
            and jg.grid_code like concat('%',#{grid.gridCode},'%')
        </if>
        <if test="grid.principalPhone!=null and grid.principalPhone!=''">
            and jg.principal_phone like concat('%',#{grid.principalPhone},'%')
        </if>
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -210,52 +210,61 @@
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrUpdateGrid(GridEntity grid) {
        boolean flag = false;
        // 先查询当前网格社区对应的机构id
        QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
        regionWrapper.eq("code",grid.getCommunityCode());
        Region region = regionService.getOne(regionWrapper);
        // 查询父机构(社区机构)
        System.out.println("社区名称 = " + region.getName());
        QueryWrapper<Dept> wrapper = new QueryWrapper<>();
        wrapper.eq("dept_name",region.getName())
            .eq("is_deleted",0);
        Dept dept = deptService.getOne(wrapper);
        // 查询当前网格在机构中是否存在,存在不做操作,否则则新增
        QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
        wrapperChild.eq("dept_name",grid.getGridName())
            .eq("is_deleted",0)
            .eq("parent_id",dept.getId());
        List<Dept> deptChild = deptService.list(wrapperChild);
        if (deptChild.size()==0){
            Dept deptInfo = new Dept();
            deptInfo.setParentId(dept.getId());
            deptInfo.setFullName(grid.getGridName());
            deptInfo.setDeptName(grid.getGridName());
            deptInfo.setDeptCategory(1);
            deptInfo.setTenantId("000000");
            deptInfo.setRegionCode(grid.getGridCode());
            deptInfo.setAncestors(dept.getAncestors() + "," +dept.getId());
            // 新增
            deptService.save(deptInfo);
            // 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
            QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("grid_code",grid.getGridCode())
                .eq("is_deleted",0);
            System.out.println("网格编号 = " + grid.getGridCode());
            GridEntity one = getOne(queryWrapper);
            if (null!=one){
                grid.setId(one.getId());
                grid.setDeptId(deptInfo.getId());
                if (null!= grid.getGeom() && grid.getGeom().equals("")){
        if (null!=grid.getId()) {
            // 更新
            flag = updateById(grid);
        }else {
            // 先查询当前网格社区对应的机构id
            QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
            regionWrapper.eq("code", grid.getCommunityCode());
            Region region = regionService.getOne(regionWrapper);
            // 查询父机构(社区机构)
            System.out.println("社区名称 = " + region.getName());
            QueryWrapper<Dept> wrapper = new QueryWrapper<>();
            wrapper.eq("dept_name", region.getName())
                .eq("dept_nature", 2)
                .eq("is_deleted", 0);
            Dept dept = deptService.getOne(wrapper);
            // 查询当前网格在机构中是否存在,存在不做操作,否则则新增
            QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
            wrapperChild.eq("dept_name", grid.getGridName())
                .eq("is_deleted", 0)
                .eq("dept_nature", 2)
                .eq("parent_id", dept.getId());
            List<Dept> deptChild = deptService.list(wrapperChild);
            if (deptChild.size() == 0) {
                Dept deptInfo = new Dept();
                deptInfo.setParentId(dept.getId());
                deptInfo.setFullName(grid.getGridName());
                deptInfo.setDeptName(grid.getGridName());
                deptInfo.setDeptCategory(1);
                // 综治
                deptInfo.setDeptNature(2);
                deptInfo.setTenantId("000000");
                deptInfo.setRegionCode(grid.getGridCode());
                deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId());
                // 新增
                deptService.save(deptInfo);
                // 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
                QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("grid_code", grid.getGridCode())
                    .eq("is_deleted", 0);
                System.out.println("网格编号 = " + grid.getGridCode());
                GridEntity one = getOne(queryWrapper);
                if (null != one) {
                    grid.setId(one.getId());
                    grid.setDeptId(deptInfo.getId());
                    if (null != grid.getGeom() && grid.getGeom().equals("")) {
                        grid.setGeom(null);
                    }
                    // 更新
                    flag = updateById(grid);
                } else {
                    grid.setDeptId(deptInfo.getId());
                    grid.setGeom(null);
                    // 插入
                    flag = save(grid);
                }
                // 更新
                flag = updateById(grid);
            }else {
                grid.setDeptId(deptInfo.getId());
                grid.setGeom(null);
                // 插入
                flag = save(grid);
            }
        }
        return flag;