zhongrj
2024-05-17 cd92c8e582d55bdb683be4003a37caa2c6c3ed6c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package org.springblade.modules.police.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.community.entity.CommunityEntity;
import org.springblade.modules.community.service.ICommunityService;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
import org.springblade.modules.police.entity.PoliceStationEntity;
import org.springblade.modules.police.excel.PoliceAffairsGridExcel;
import org.springblade.modules.police.excel.PoliceStationExcel;
import org.springblade.modules.police.service.IPoliceStationService;
import org.springblade.modules.police.vo.PoliceAffairsGridVO;
import org.springblade.modules.police.mapper.PoliceAffairsGridMapper;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.entity.User;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
 
import java.util.Date;
import java.util.List;
import java.util.Objects;
 
/**
 * 警务网格(辖区)表 服务实现类
 *
 * @author BladeX
 * @since 2024-02-01
 */
@Service
public class PoliceAffairsGridServiceImpl extends ServiceImpl<PoliceAffairsGridMapper, PoliceAffairsGridEntity> implements IPoliceAffairsGridService {
 
    @Override
    public IPage<PoliceAffairsGridVO> selectPoliceAffairsGridPage(IPage<PoliceAffairsGridVO> page, PoliceAffairsGridVO policeAffairsGrid) {
        CommonParamSet commonParamSet = new CommonParamSet<>().invoke(PoliceAffairsGridVO.class, policeAffairsGrid);
        return page.setRecords(baseMapper.selectPoliceAffairsGridPage(page,
            policeAffairsGrid,
            commonParamSet.getIsAdministrator(),
            commonParamSet.getRegionChildCodesList(),
            commonParamSet.getGridCodeList()
        ));
    }
 
    /**
     * 导入警务辖区数据
     * @param data
     * @param isCovered
     */
    @Override
    public void importPoliceAffairsGrid(List<PoliceAffairsGridExcel> data, Boolean isCovered) {
        for (PoliceAffairsGridExcel policeAffairsGridExcel : data) {
            PoliceAffairsGridEntity policeAffairsGridEntity
                = Objects.requireNonNull(BeanUtil.copy(policeAffairsGridExcel, PoliceAffairsGridEntity.class));
            // 查询派出所对应的编号
            QueryWrapper<PoliceStationEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("is_deleted",0).eq("name",policeAffairsGridExcel.getPcsName());
            PoliceStationEntity stationEntity = SpringUtil.getBean(IPoliceStationService.class).getOne(queryWrapper);
            if (null!=stationEntity){
                policeAffairsGridEntity.setPcsCode(stationEntity.getCode());
            }
            policeAffairsGridEntity.setCreateUser(AuthUtil.getUserId());
            policeAffairsGridEntity.setCreateTime(new Date());
            policeAffairsGridEntity.setUpdateUser(AuthUtil.getUserId());
            policeAffairsGridEntity.setUpdateTime(new Date());
            // 新增
            save(policeAffairsGridEntity);
        }
    }
 
    /**
     * 空间分析
     * @param point
     * @return
     */
    @Override
    public List<PoliceAffairsGridEntity> spatialAnalysis(String point) {
        return baseMapper.spatialAnalysis(point);
    }
 
    /**
     * 查询对应的社区编号
     * @param userId
     * @return
     */
    @Override
    public List<String> getCommunityCodeListByUserId(Long userId) {
        return baseMapper.getCommunityCodeListByUserId(userId.toString());
    }
 
    /**
     * 警务网格(辖区)表 自定义新增或修改
     * @param policeAffairsGrid
     * @return
     */
    @Override
    public boolean saveOrUpdatePoliceAffairsGrid(PoliceAffairsGridEntity policeAffairsGrid) {
        boolean flag = false;
        // 查询对应的派出所及社区名称
        IPoliceStationService policeStationService = SpringUtils.getBean(IPoliceStationService.class);
        QueryWrapper<PoliceStationEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("code",policeAffairsGrid.getPcsCode());
        List<PoliceStationEntity> policeStationEntityList = policeStationService.list(queryWrapper);
        if (policeStationEntityList.size()>0){
            policeAffairsGrid.setPcsName(policeStationEntityList.get(0).getName());
        }
        ICommunityService communityService = SpringUtils.getBean(ICommunityService.class);
        QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("code",policeAffairsGrid.getCommunityCode());
        List<CommunityEntity> communityEntityList = communityService.list(wrapper);
        if (communityEntityList.size()>0){
            policeAffairsGrid.setCommunityName(communityEntityList.get(0).getName());
        }
        if (null!=policeAffairsGrid.getId()){
            policeAffairsGrid.setGeom(null);
            // 更新
            flag = updateById(policeAffairsGrid);
        }else {
            policeAffairsGrid.setGeom(null);
            // 新增
            flag = save(policeAffairsGrid);
        }
        return flag;
    }
}