fengxiang
2018-06-28 b77f77dae23be890dd98e03a8a9abffec9e3d94c
展示下级组织数据
5 files modified
98 ■■■■ changed files
src/main/java/com/moral/mapper/DeviceMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/DeviceServiceImpl.java 27 ●●●● patch | view | raw | blame | history
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java 25 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/DeviceMapper.xml 32 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/MonitorPointMapper.xml 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/mapper/DeviceMapper.java
@@ -19,7 +19,7 @@
    List<Map<String, Object>> getDeviceVersionIdByMonitorPoint(Integer monitorPointId);
    List<Device> selectByOrgIdAndDevName(@Param("orgId")Integer orgId,@Param("devState") String state,@Param("name")String name);
    List<Device> selectByOrgIdAndDevName(@Param("orgId")Integer orgId, @Param("orgIds")List<Integer> orgIds,@Param("devState") String state,@Param("name")String name);
    /**
     *
@@ -27,7 +27,7 @@
     * @param mpId
     * @return 返回未删除结果
     */
    List<Device> selectByOrgIdAndMpId(@Param("orgId")Integer orgId,@Param("mpId")Integer mpId);
    List<Device> selectByOrgIdAndMpId(@Param("orgId")Integer orgId,@Param("orgIds")List<Integer> orgIds,@Param("mpId")Integer mpId);
    List<Device> selectByMap(Map<String, Object> params);
    Device selectWithOrgIdsByMac(String mac);
    List<Integer> getDeviceVersionIdByAreaCode(Map<String, Object> parameters);
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -14,6 +14,7 @@
import com.moral.common.util.ExampleUtil;
import com.moral.common.util.RedisUtils;
import com.moral.mapper.MonitorPointMapper;
import com.moral.mapper.OrganizationMapper;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@@ -55,6 +56,8 @@
    @Resource
    private AccountService accountService;
    private Class ENTITY_CLASS = Device.class;
    @Resource
    OrganizationMapper orgMapper;
    @Resource
    RedisUtils redisUtils;
    @Override
@@ -179,17 +182,23 @@
    /**
     *
     * @param map
     * @param params
     * map里 包括 组织id和4个坐标点
     * @return 返回未删除结果集
     */
    @Override
    public List<Device> query(Map<String, Object> map) {
        List <Device> list = deviceMapper.selectByMap(map);
        loadDeviceState(list);
        return list;
    public List<Device> query(Map<String, Object> params) {
        Object orgIdObj = params.get("orgId");
        List<Device> deviceList = null;
        if(orgIdObj != null) {
            Integer orgId = Integer.parseInt(orgIdObj.toString());
            List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
            params.put("orgIds", orgIds);
            deviceList = deviceMapper.selectByMap(params);
            loadDeviceState(deviceList);
        }
        return deviceList;
    }
    /**
     *  根据组织id和设备名称 分页查询设备
     * @param orgId
@@ -200,6 +209,7 @@
     */
    @Override
    public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) {
        List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
        if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){
            PageHelper.startPage(pageNo,pageSize);
        }
@@ -221,7 +231,7 @@
                state = "4";
                deviceName = null;break;
        }
        List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,state,deviceName);
        List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,orgIds,state,deviceName);
        //从redis里取状态
        loadDeviceState(list);
        if(list instanceof Page){
@@ -240,10 +250,11 @@
     */
    @Override
    public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) {
        List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
        if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){
            PageHelper.startPage(pageNo,pageSize);
        }
        List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId,mpId);
        List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId,orgIds,mpId);
        //从redis里取状态
        loadDeviceState(list);
        if(list instanceof Page){
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -8,7 +8,8 @@
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.moral.mapper.DictionaryDataMapper;
import com.moral.mapper.OrganizationMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
@@ -35,7 +36,12 @@
    @Resource
    private DeviceMapper deviceMapper;
    @Resource
    private OrganizationMapper orgMapper;
    @Resource
    RedisUtils redisUtils;
    @Resource
    DictionaryDataMapper dictionaryDataMapper;
    private static Class ENTITY_CLASS = MonitorPoint.class;
    @Override
    public List<MonitorPoint> getMonitorPointsByAreaName(Map<String, Object> parameters) {
@@ -45,12 +51,19 @@
    @Override
    public List<MonitorPoint> queryWithStateByMap(Map<String, Object> params){
        params.put("isDelete",Constants.IS_DELETE_FALSE);
        List<MonitorPoint> monitorPointList = monitorPointMapper.selectByMap(params);
        for(MonitorPoint monitorPoint:monitorPointList){
            Integer state = getStateFromRedis(monitorPoint.getId());
            monitorPoint.setState(state);
        Object orgIdObj = params.get("orgId");
        List<MonitorPoint> monitorPointList = null;
        if(orgIdObj != null) {
            Integer orgId = Integer.parseInt(orgIdObj.toString());
            List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
            params.put("orgIds",orgIds);
            monitorPointList = monitorPointMapper.selectByMap(params);
            for(MonitorPoint monitorPoint:monitorPointList){
                Integer state = getStateFromRedis(monitorPoint.getId());
                monitorPoint.setState(state);
            }
        }
        return monitorPointList;
        return monitorPointList == null ? new ArrayList<>() : monitorPointList;
    }
    private Integer getStateFromRedis(Integer monitorPointId){
        StringBuilder key = new StringBuilder();
src/main/resources/mapper/DeviceMapper.xml
@@ -150,7 +150,7 @@
        WHERE
            mp.area_code = #{areaCode} 
            AND d.monitor_point_id = mp.id
        <if test="orgIds != null and orgIds.size &gt; 0">
        <if test="orgIds != null and orgIds.size() > 0">
            AND mp.organization_id IN
            <foreach  collection="orgIds" open="(" separator="," close=")" item="listItem">
                #{listItem}
@@ -172,7 +172,15 @@
        left join device_version dve on dev.device_version_id = dve.id
        <where>
        <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
            mpt.organization_id =  #{orgId}
            (
            1 > 1
            <if test="orgIds!=null and orgIds.size() > 0">
                or mpt.organization_id in
                <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
                    #{tempOrgId,jdbcType=INTEGER}
                </foreach>
            </if>
            )
        </if>
            and dev.is_delete = 0
            <if test="devState!=null">
@@ -194,7 +202,15 @@
        left join device_version dve on dev.device_version_id = dve.id
        <where>
            <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
                mpt.organization_id =  #{orgId}
                (
                1 > 1
                <if test="orgIds!=null and orgIds.size() > 0">
                    or mpt.organization_id in
                    <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
                        #{tempOrgId,jdbcType=INTEGER}
                    </foreach>
                </if>
                )
            </if>
            and dev.monitor_point_id = #{mpId}
            and dev.is_delete = 0
@@ -206,7 +222,15 @@
        left join device_version dve on dev.device_version_id = dve.id
        <where>
            <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
                mpt.organization_id = #{orgId,jdbcType=VARCHAR}
                (
                1 > 1
                <if test="orgIds!=null and orgIds.size() > 0">
                    or mpt.organization_id in
                    <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
                        #{tempOrgId,jdbcType=INTEGER}
                    </foreach>
                </if>
                )
            </if>
            <![CDATA[
            AND dev.longitude < #{mapBounds.Ge,jdbcType=NUMERIC}
src/main/resources/mapper/MonitorPointMapper.xml
@@ -109,7 +109,15 @@
        SELECT mpt.* from monitor_point mpt
        <where>
            <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
                mpt.organization_id = #{orgId,jdbcType=VARCHAR}
                (
                1 > 1
                    <if test="orgIds!=null and orgIds.size() > 0">
                        or mpt.organization_id in
                        <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
                            #{tempOrgId,jdbcType=INTEGER}
                        </foreach>
                    </if>
                )
            </if>
            <![CDATA[
            AND mpt.longitude < #{mapBounds.Ge,jdbcType=NUMERIC}