From b77f77dae23be890dd98e03a8a9abffec9e3d94c Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 28 Jun 2018 14:05:13 +0800
Subject: [PATCH] 展示下级组织数据
---
src/main/resources/mapper/DeviceMapper.xml | 32 ++++++++++++++--
src/main/resources/mapper/MonitorPointMapper.xml | 10 ++++
src/main/java/com/moral/mapper/DeviceMapper.java | 4 +-
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 27 +++++++++----
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 25 +++++++++---
5 files changed, 77 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java
index d6ffa80..0a934e1 100644
--- a/src/main/java/com/moral/mapper/DeviceMapper.java
+++ b/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);
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 33ff1b4..e2873c2 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/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){
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index ed3b52e..78c626f 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/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();
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index dec7671..cf6ecf2 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/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 > 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}
diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml
index d1cbef7..8ece846 100644
--- a/src/main/resources/mapper/MonitorPointMapper.xml
+++ b/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}
--
Gitblit v1.8.0