| | |
| | | import org.springblade.common.cache.SysCache; |
| | | import org.springblade.common.node.TreeStringNode; |
| | | import org.springblade.common.utils.SpringUtils; |
| | | import org.springblade.common.utils.NodeTreeUtil; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.node.ForestNodeMerger; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.SpringUtil; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springblade.modules.grid.entity.GridEntity; |
| | | import org.springblade.modules.grid.service.IGridService; |
| | | import org.springblade.modules.property.entity.PropertyCompanyEntity; |
| | | import org.springblade.modules.property.service.IPropertyCompanyService; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.entity.Region; |
| | | import org.springblade.modules.system.mapper.DeptMapper; |
| | | import org.springblade.modules.system.node.DeptUserTreeNode; |
| | | import org.springblade.modules.system.node.TreeNode; |
| | | import org.springblade.modules.system.service.IDeptService; |
| | | import org.springblade.modules.system.service.IRegionService; |
| | | import org.springblade.modules.system.vo.DeptDetailVO; |
| | |
| | | public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements IDeptService { |
| | | private static final String TENANT_ID = "tenantId"; |
| | | private static final String PARENT_ID = "parentId"; |
| | | |
| | | @Autowired |
| | | private IPropertyCompanyService propertyCompanyService; |
| | | // |
| | | // @Autowired |
| | | // private IPropertyCompanyService propertyCompanyService; |
| | | |
| | | @Autowired |
| | | private IRegionService regionService; |
| | |
| | | public List<DeptVO> tree(String tenantId) { |
| | | Long id = null; |
| | | // 判断数据权限控制,非超管角色只可看到本级及以下数据 |
| | | // if (!AuthUtil.isAdministrator()) { |
| | | // Long deptId = Func.firstLong(AuthUtil.getDeptId()); |
| | | // Dept dept = SysCache.getDept(deptId); |
| | | // if (dept.getParentId() != 0) { |
| | | // parentId = dept.getParentId(); |
| | | // } |
| | | // List<DeptVO> merge = ForestNodeMerger.merge(baseMapper.tree(tenantId, parentId)); |
| | | // List<DeptVO> copy = BeanUtil.copy(merge, DeptVO.class); |
| | | // copy = copy.stream().filter(item -> AuthUtil.getDeptId().contains(item.getId().toString())).collect(Collectors.toList()); |
| | | // return copy; |
| | | // } |
| | | String userRole = AuthUtil.getUserRole(); |
| | | // 判断物业公司 |
| | | if (userRole.contains("wygly") || userRole.contains("wyxmjl")) { |
| | | // 获取当前用户的机构 |
| | | if (!AuthUtil.isAdmin()) { |
| | | id = Func.firstLong(AuthUtil.getDeptId()); |
| | | } |
| | | |
| | | return ForestNodeMerger.merge(baseMapper.tree(tenantId, id)); |
| | | List<DeptVO> tree = baseMapper.tree(tenantId, id); |
| | | return ForestNodeMerger.merge(tree); |
| | | } |
| | | |
| | | @Override |
| | |
| | | // parentId = dept.getParentId(); |
| | | // } |
| | | // } |
| | | if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) { |
| | | if (Func.toLong(parentId) == 0L && !AuthUtil.isAdmin()) { |
| | | Long deptId = Func.firstLong(AuthUtil.getDeptId()); |
| | | Dept dept = SysCache.getDept(deptId); |
| | | if (dept.getParentId() != 0) { |
| | |
| | | for (Long id : longs) { |
| | | // 查询当前机构信息 |
| | | DeptVO dept = baseMapper.getDeptById(id); |
| | | // 如果父机构为物业公司 |
| | | if (dept.getParentName().equals("物业公司")) { |
| | | // 删除 |
| | | propertyCompanyService.remove(Wrappers.<PropertyCompanyEntity>update().lambda().eq(PropertyCompanyEntity::getDeptId, id)); |
| | | } |
| | | } |
| | | return removeByIds(longs); |
| | | } |
| | |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void savePropertyCompany(Dept dept) { |
| | | // 查询物业公司是否存在 |
| | | QueryWrapper<PropertyCompanyEntity> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("is_deleted", 0) |
| | | .eq("dept_id", dept.getId()) |
| | | .eq("name", dept.getDeptName()); |
| | | PropertyCompanyEntity propertyCompanyEntity = propertyCompanyService.getOne(wrapper); |
| | | if (null != propertyCompanyEntity) { |
| | | // 修改 |
| | | propertyCompanyEntity.setDeptId(dept.getId()); |
| | | propertyCompanyEntity.setName(dept.getDeptName()); |
| | | // 往物业公司表中插入一条数据 |
| | | propertyCompanyService.updateById(propertyCompanyEntity); |
| | | } else { |
| | | // 新增 |
| | | PropertyCompanyEntity companyEntity = new PropertyCompanyEntity(); |
| | | companyEntity.setDeptId(dept.getId()); |
| | | companyEntity.setName(dept.getDeptName()); |
| | | // 往物业公司表中插入一条数据 |
| | | propertyCompanyService.save(companyEntity); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object dataHandle() { |
| | | // 查询未绑定的网格 |
| | | List<TreeStringNode> list = regionService.getTree(null); |
| | | // 查询所有的社区 |
| | | QueryWrapper<Region> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("district_code","361102").eq("region_level",5); |
| | | List<Region> list = regionService.list(queryWrapper); |
| | | // 遍历 |
| | | for (TreeStringNode treeStringNode : list) { |
| | | for (Region region : list) { |
| | | // 查询是否已创建 |
| | | QueryWrapper<Dept> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("is_deleted", 0).eq("dept_name", treeStringNode.getName()); |
| | | wrapper.eq("is_deleted", 0).eq("dept_name", region.getName()); |
| | | Dept one = getOne(wrapper); |
| | | if (null == one) { |
| | | // 新增 |
| | | Dept dept = new Dept(); |
| | | dept.setParentId(1733066387113734145L); |
| | | dept.setFullName(treeStringNode.getName()); |
| | | dept.setDeptName(treeStringNode.getName()); |
| | | dept.setFullName(region.getName()); |
| | | dept.setDeptName(region.getName()); |
| | | dept.setDeptCategory(1); |
| | | dept.setTenantId("000000"); |
| | | // 查询上级id |
| | | QueryWrapper<Dept> deptQueryWrapper = new QueryWrapper<>(); |
| | | deptQueryWrapper.eq("is_deleted", 0).eq("dept_name", region.getTownName()); |
| | | Dept parentDept = getOne(deptQueryWrapper); |
| | | if (null!=parentDept){ |
| | | dept.setParentId(parentDept.getId()); |
| | | dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId()); |
| | | } |
| | | dept.setRegionCode(region.getCode()); |
| | | // 新增 |
| | | save(dept); |
| | | saveOrUpdate(dept); |
| | | // 插入社区表数据 |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 数据处理(社区绑定)--处理机构 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object dataHandleCommunity() { |
| | | return null; |
| | | } |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object dataRegionGridCodeBindHandle() { |
| | | // 查询网格对应的机构信息(包含父级机构名称) |
| | | List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList(); |
| | | //遍历处理 |
| | | for (DeptVO deptVO : deptVOS) { |
| | | GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(), deptVO.getParentName()); |
| | | if (null != gridEntity) { |
| | | deptVO.setRegionCode(gridEntity.getGridCode()); |
| | | // 更新 |
| | | updateById(deptVO); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public List<DeptUserTreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode) { |
| | | // 查询数据 |
| | | Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode); |
| | | Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMap(treeNode); |
| | | deptMap.putAll(userMap); |
| | | List<DeptUserTreeNode> deptAndUserNodeTree = NodeTreeUtil.getDeptAndUserNodeTree(deptMap); |
| | | // 处理并返回 |
| | | return deptAndUserNodeTree; |
| | | } |
| | | |
| | | /** |
| | | * 数据处理(社区绑定)-- 处理社区(派出所下) |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object dataHandleCommunityByPolice() { |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 查询对应的派出所 |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Dept getDeptByDeptIds(String deptId) { |
| | | return baseMapper.getDeptByDeptIds(deptId); |
| | | } |
| | | } |