| | |
| | | */ |
| | | package org.sxkj.fw.area.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.sxkj.common.utils.HeaderUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.sxkj.fw.area.dto.FwAreaDivideDTO; |
| | | import org.sxkj.fw.area.dto.FwAreaDivideStatisticsDTO; |
| | | import org.sxkj.fw.area.entity.FwAreaDivideEntity; |
| | | import org.sxkj.fw.area.entity.FwAreaDivideExtEntity; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideVO; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO; |
| | | import org.sxkj.fw.area.vo.FwDefenseSceneVO; |
| | | import org.sxkj.fw.area.excel.FwAreaDivideExcel; |
| | | import org.sxkj.fw.area.mapper.FwAreaDivideMapper; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideService; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideExtService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import lombok.AllArgsConstructor; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.sxkj.fw.area.service.IFwAreaDivideService; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideExtVO; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideStatisticsVO; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideVO; |
| | | import org.sxkj.fw.area.vo.FwDefenseSceneVO; |
| | | import org.sxkj.system.cache.SysCache; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.Date; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 区域划分表 服务实现类 |
| | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class FwAreaDivideServiceImpl extends BaseServiceImpl<FwAreaDivideMapper, FwAreaDivideEntity> |
| | | implements IFwAreaDivideService { |
| | | implements IFwAreaDivideService { |
| | | |
| | | private final IFwAreaDivideExtService fwAreaDivideExtService; |
| | | |
| | |
| | | public IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwAreaDivide.setDeptList(deptList); |
| | | return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide)); |
| | | |
| | | List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDividePage(page, fwAreaDivide); |
| | | |
| | | // 获取面数据 |
| | | if (areaDivideList != null && !areaDivideList.isEmpty()) { |
| | | enrichWithExtensionData(areaDivideList); |
| | | } |
| | | |
| | | return page.setRecords(areaDivideList); |
| | | } |
| | | |
| | | @Override |
| | | public List<FwAreaDivideVO> selectFwAreaDivideList(Integer filterSelected, Long sceneId) { |
| | | return baseMapper.selectFwAreaDivideList(filterSelected, sceneId); |
| | | List<FwAreaDivideVO> areaDivideList = baseMapper.selectFwAreaDivideList(filterSelected, sceneId); |
| | | // 获取面数据 |
| | | if (areaDivideList != null && !areaDivideList.isEmpty()) { |
| | | enrichWithExtensionData(areaDivideList); |
| | | } |
| | | return areaDivideList; |
| | | } |
| | | |
| | | /** |
| | | * 为区域划分列表填充扩展表数据 |
| | | * |
| | | * @param areaDivideList 区域划分列表 |
| | | */ |
| | | private void enrichWithExtensionData(List<FwAreaDivideVO> areaDivideList) { |
| | | if (areaDivideList == null || areaDivideList.isEmpty()) { |
| | | return; |
| | | } |
| | | |
| | | areaDivideList.stream() |
| | | .filter(area -> area.getId() != null) // 过滤掉id为空的对象 |
| | | .forEach(area -> { |
| | | List<FwAreaDivideExtVO> extList = fwAreaDivideExtService.getByAreaDivideId(area.getId()); |
| | | area.setFwAreaDivideExtList(extList); |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public IPage<FwAreaDivideStatisticsVO> selectFwAreaDivideStatisticsPage(IPage<FwAreaDivideStatisticsVO> page, |
| | | FwAreaDivideStatisticsDTO fwAreaDivideStatistics) { |
| | | FwAreaDivideStatisticsDTO fwAreaDivideStatistics) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwAreaDivideStatistics.setDeptList(deptList); |
| | | return page.setRecords(baseMapper.selectFwAreaDivideStatisticsPage(page, fwAreaDivideStatistics)); |
| | |
| | | |
| | | @Override |
| | | public FwAreaDivideStatisticsVO selectFwAreaDivideStatisticsDetail( |
| | | FwAreaDivideStatisticsDTO fwAreaDivideStatistics) { |
| | | FwAreaDivideStatisticsDTO fwAreaDivideStatistics) { |
| | | return baseMapper.selectFwAreaDivideStatisticsDetail(fwAreaDivideStatistics); |
| | | } |
| | | |