Browse Source

添加场景类型

lihui001 3 years ago
parent
commit
055fc3f81d

+ 11 - 0
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/dao/SceneMapper.java

@@ -3,6 +3,7 @@ package com.bz.zoneiot.water.core.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bz.zoneiot.core.common.pojo.UserCondition;
 import com.bz.zoneiot.water.core.entity.SceneEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -48,6 +49,16 @@ public interface SceneMapper extends BaseMapper<SceneEntity> {
     **/
     List<SceneEntity> findList(@Param(value = "scene") SceneEntity sceneEntity);
 
+    /**
+    * 根据场景类型名字查找
+    * @author Andy
+    * @date 17:56 2021/11/2
+    * @param typeNames:
+    * @param condition:
+    * @return java.util.List<com.bz.zoneiot.water.core.entity.SceneEntity>
+    **/
+    List<SceneEntity> findListByTypeName(@Param(value = "typeNames") List<String> typeNames, @Param("user")UserCondition condition);
+
     /**
     * 根据id集合查找
     * @author Andy

+ 1 - 1
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/mapper/MonitorDataReportMapper.xml

@@ -417,7 +417,7 @@
             and d.tenant_id = #{user.tenantId}
         </if>
         <if test="user.userType!=null and user.userType!=-999 and user.userType!=-9999 and  user.programItems != null and user.programItems.size() > 0">
-            <if test="permissonType == 5 or permissonType == 2">
+            <if test="user.permissionType == 5 or user.permissionType == 2">
                 and ( d.DEPT_ORG_ID in
                 <foreach collection="user.programItems" item="item" open="(" close=")" separator=",">
                     #{item.orgId}

+ 53 - 0
zoniot-water/zoniot-water-core/src/main/java/com/bz/zoneiot/water/core/mapper/SceneMapper.xml

@@ -92,6 +92,59 @@
         </where>
         order by  a.date_create
     </select>
+
+    <select id="findListByTypeName" resultType="com.bz.zoneiot.water.core.entity.SceneEntity">
+        SELECT
+        <include refid="sceneColumns"/>
+        FROM sms_scene a
+        <include refid="deviceJoins"/>
+        <where>
+            a.status=1
+            <if test="user.companyOrgId!=null and user.deptOrgId!=null">
+                and a.DEPT_ORG_ID = #{user.deptOrgId} and a.COMPANY_ORG_ID = #{user.companyOrgId}
+            </if>
+
+            <if test="user.companyOrgId!=null and user.deptOrgId == null">
+                and a.DEPT_ORG_ID is null and a.COMPANY_ORG_ID = #{user.companyOrgId}
+            </if>
+
+            <if test="user.tenantId != null  and user.tenantId != ''">and a.tenant_id = #{user.tenantId}</if>
+            <if test="typeNames != null ">
+                and s.scene_type_name in
+                <foreach collection="typeNames" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="user.userType!=null and user.userType!=-999 and user.userType!=-9999 and  user.programItems != null and user.programItems.size() > 0">
+                <if test="user.permissionType == 5 or user.permissionType == 2">
+                    and ( a.DEPT_ORG_ID in
+                    <foreach collection="user.programItems" item="item" open="(" close=")" separator=",">
+                        #{item.orgId}
+                    </foreach>
+                    or
+                    a.COMPANY_ORG_ID in
+                    <foreach collection="user.programItems" item="item" open="(" close=")" separator=",">
+                        #{item.orgId}
+                    </foreach>
+                    )
+                </if>
+                <if test="user.permissionType == 4 or user.permissionType == 3">
+                    and a.DEPT_ORG_ID in
+                    <foreach collection="user.programItems" item="item" open="(" close=")" separator=",">
+                        #{item.orgId}
+                    </foreach>
+                </if>
+                <if test="user.permissionType == 1">
+                    and a.COMPANY_ORG_ID in
+                    <foreach collection="user.programItems" item="item" open="(" close=")" separator=",">
+                        #{item.orgId}
+                    </foreach>
+                    and (a.DEPT_ORG_ID is null or a.DEPT_ORG_ID =0)
+                </if>
+            </if>
+        </where>
+        order by  a.date_create
+    </select>
     <!--  根据主键获取租户菜单  -->
     <select id="findBySceneTypeIds" resultType="com.bz.zoneiot.water.core.entity.SceneEntity">
         select a.id

+ 9 - 3
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/controller/MonitorDataReportController.java

@@ -97,9 +97,15 @@ public class MonitorDataReportController extends BaseController{
             MonitorDataChartReportDeviceVo reportDeviceDto =  map.get(energyDto.getDeviceName());
             energyDto.getAttributeData().addAll(reportDeviceDto.getAttributeData());
         }
-        reportList.add(energy);
-        reportList.add(quality);
-        reportList.add(alarm);
+        if (!CollectionUtils.isEmpty(energy)){
+            reportList.add(energy);
+        }
+        if (!CollectionUtils.isEmpty(quality)) {
+            reportList.add(quality);
+        }
+        if (!CollectionUtils.isEmpty(alarm)) {
+            reportList.add(alarm);
+        }
         return AjaxMessage.success(reportList);
     }
 

+ 7 - 0
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/controller/SceneController.java

@@ -76,6 +76,13 @@ public class SceneController {
         return AjaxMessage.success(sceneService.findAllList(sceneEntity));
     }
 
+    @ApiOperation(value = "查询场景树")
+    @RequestMapping(value = "/selectListByType", method = RequestMethod.GET)
+    @ResponseBody
+    public AjaxMessage selectListByType(@RequestParam(required = false) List<String> sceneTypeName) {
+        return AjaxMessage.success(sceneService.findListByTypeName(sceneTypeName));
+    }
+
     @ApiOperation(value = "查询场景树")
     @RequestMapping(value = "/selectListForParm", method = RequestMethod.GET)
     @ResponseBody

+ 1 - 1
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/MonitorDataReportServiceImpl.java

@@ -210,7 +210,7 @@ public class MonitorDataReportServiceImpl implements MonitorDataReportService {
         } else if (ReportTypeEnum.DAY.getCode().equals(queryDto.getReportType())) {
             data = monitorDataReportMapper.monitorDataEnergyReport(queryDto, loginUser.getUserCondition());
         }
-        if (data != null && ReportTypeEnum.DAY.getCode().equals(queryDto.getReportType())){
+        if (data != null && ReportTypeEnum.CUSTOM.getCode().equals(queryDto.getReportType())){
             fillLoseData(queryDto.getStartTime(), queryDto.getEndTime(), data);
         } else if (data != null) {
             fillLoseData(data, queryDto.getReportType(),queryDto.getYear(),queryDto.getMonth(),queryDto.getDay());

+ 9 - 0
zoniot-water/zoniot-water-web/src/main/java/com/bz/zoneiot/water/web/service/impl/SceneService.java

@@ -112,6 +112,15 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
         return sceneTree;
     }
 
+    /**
+     * 查列表
+     */
+    public List<SceneEntity> findListByTypeName(List<String> typeName) {
+        List<SceneEntity> sceneEntities = sceneMapper.findListByTypeName(typeName, UserUtil.getCurrentUser().getUserCondition());
+        List<SceneEntity> sceneTree = getSceneTree(sceneEntities, Long.valueOf(0), 1);
+        return sceneTree;
+    }
+
     /**
      * 查列表
      */