智慧保安后台管理-外网
1. 新增 根据单位类型查询单位信息接口
2. 围栏分页查询接口修改,根据类型不同分别查询返回企业名称
8 files modified
101 ■■■■■ changed files
src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/DeptController.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
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));
    }
}