src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java
@@ -22,6 +22,6 @@ * @param electronRailVO * @return */ IPage<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page, @Param("electronRailVO") ElectronRailVO electronRailVO); IPage<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page,ElectronRailVO electronRailVO); } src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java
@@ -3,11 +3,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.dispatcher.entity.DispatcherUnit; import org.springblade.modules.dispatcher.service.IDispatcherUnitService; import org.springblade.modules.electronrail.entity.ElectronRail; import org.springblade.modules.electronrail.mapper.ElectronRailMapper; import org.springblade.modules.electronrail.service.ElectronRailService; import org.springblade.modules.electronrail.vo.ElectronRailVO; import org.springblade.modules.system.entity.Dept; import org.springblade.modules.system.service.IDeptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 电子围栏服务实现类 @@ -18,6 +25,12 @@ @Service public class ElectronRailServiceImpl extends ServiceImpl<ElectronRailMapper, ElectronRail> implements ElectronRailService { @Autowired private IDeptService deptService; @Autowired private IDispatcherUnitService dispatcherUnitService; /** * 自定义分页查询电子围栏数据 * @param page @@ -26,6 +39,27 @@ */ @Override public IPage<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page, ElectronRailVO electronRail) { return page.setRecords(baseMapper.selectElectronRailPage(page, electronRail)); List<ElectronRailVO> railVOS = baseMapper.selectElectronRailPage(page, electronRail); //遍历 if (railVOS.size()>0){ railVOS.forEach(electronRailVO -> { //根据类型查询单位名称 if (electronRailVO.getType().equals(1) || electronRailVO.getType().equals(2)){ //本单位 Dept dept = deptService.getById(electronRailVO.getCompanyId()); if (null!=dept){ electronRailVO.setCompanyName(dept.getDeptName()); } } if (electronRailVO.getType().equals(3)){ //服务单位 DispatcherUnit dispatcherUnit = dispatcherUnitService.getById(electronRailVO.getCompanyId()); if (null!=dispatcherUnit){ electronRailVO.setCompanyName(dispatcherUnit.getName()); } } }); } return page.setRecords(railVOS); } } src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java
@@ -12,4 +12,9 @@ @Data public class ElectronRailVO extends ElectronRail { private static final long serialVersionUID = 1L; /** * 单位名称 */ private String companyName; } src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -171,6 +171,19 @@ /** * 懒加载获取单位树,电子围栏用 * @param type 1:本单位 2:分公司 3:服务单位 * @param deptId * @return */ @GetMapping("/lazy-tree-rail") public R<List<DeptVO>> lazyTreeRail(Integer type,Long deptId) { List<DeptVO> tree = deptService.lazyTreeRail(type,deptId); return R.data(tree); } /** * 懒加载获取部门树形结构(包含用户数据)app * @param type 1:保安对保安 2:保安向民警 3:民警向民警 * @return src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -180,4 +180,11 @@ */ List<DeptVO> securityDeptUnitList(@Param("parentId")Long parentId, @Param("deptId")Long deptId); /** * 查询当前保安单位下的派遣单位信息 * @param deptId * @return */ List<DeptVO> getDispatchUnitList(@Param("deptId") Long deptId); } src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -889,4 +889,19 @@ '1415620707473223681') </select> <!--查询当前保安单位下的派遣单位信息--> <select id="getDispatchUnitList" resultMap="treeNodeResultMap"> SELECT id, 0 as parent_id, name AS title, id AS "value", id AS "key", 0 AS "has_children" FROM sys_dispatcher_unit where dept_id = #{deptId} </select> </mapper> src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -163,4 +163,12 @@ * 懒加载获取部门树形结构,根据辖区查询 */ List<DeptVO> lazyTreeJurisdiction(String jurisdiction, Long parentId); /** * 懒加载获取单位树,电子围栏用 * @param type 1:本单位 2:分公司 3:服务单位 * @param deptId * @return */ List<DeptVO> lazyTreeRail(Integer type, Long deptId); } src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -375,4 +375,19 @@ public List<DeptVO> lazyTreeJurisdiction(String jurisdiction, Long parentId) { return ForestNodeMerger.merge(baseMapper.lazyTreeJurisdiction(jurisdiction,parentId)); } /** * 懒加载获取单位树,电子围栏用 * @param type 1:本单位 2:分公司 3:服务单位 * @param deptId * @return */ @Override public List<DeptVO> lazyTreeRail(Integer type, Long deptId) { //查询本单位 if(type==1 || type==2){ return ForestNodeMerger.merge(baseMapper.securityDeptUnitList(null,deptId)); } return ForestNodeMerger.merge(baseMapper.getDispatchUnitList(deptId)); } }