Browse Source

实现接口queryEquipListByClassCode

lijie 3 years ago
parent
commit
83f7032071

+ 3 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/basic/dto/RequestData.java

@@ -3,6 +3,7 @@ package com.persagy.dmp.rwd.basic.dto;
 import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonAlias;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.persagy.dmp.rwd.basic.validations.QueryClassCodeVadition;
 import com.persagy.dmp.rwd.basic.validations.QueryFloorIdVadition;
 import com.persagy.dmp.rwd.basic.validations.QuerySpaceIdVadition;
 import lombok.AllArgsConstructor;
@@ -101,8 +102,9 @@ public class RequestData {
     @JsonAlias({"class_code","classCode"})
     @JsonProperty("classCode")
     @JSONField(name = "classCode",alternateNames = {"class_code","classCode"})
+    @NotBlank(message = "缺少必填项:对象类型",groups = {QueryClassCodeVadition.class})
     private String classCode;
-    /** 对象类型 */
+    /** 对象关系id */
     @JsonAlias({"rel_id","relId"})
     @JsonProperty("relId")
     @JSONField(name = "relId",alternateNames = {"rel_id","relId"})

+ 6 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/basic/validations/QueryClassCodeVadition.java

@@ -0,0 +1,6 @@
+package com.persagy.dmp.rwd.basic.validations;
+
+import javax.validation.groups.Default;
+
+public interface QueryClassCodeVadition extends Default {
+}

+ 19 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/controller/ObjectDigitalController.java

@@ -19,6 +19,7 @@ import com.persagy.dmp.digital.entity.ObjectDigital;
 import com.persagy.dmp.mybatis.utils.ConditionUtil;
 import com.persagy.dmp.basic.utils.QueryCriteriaHelper;
 import com.persagy.dmp.rwd.basic.dto.RequestData;
+import com.persagy.dmp.rwd.basic.validations.QueryClassCodeVadition;
 import com.persagy.dmp.rwd.basic.validations.QueryFloorIdVadition;
 import com.persagy.dmp.rwd.basic.validations.QuerySpaceIdVadition;
 import com.persagy.dmp.rwd.digital.service.IObjectDigitalService;
@@ -212,6 +213,7 @@ public class ObjectDigitalController{
                                                                                     @RequestBody RequestData requestData) {
         //基础参数校验
         ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        requestData.setProjectId(AppContext.getContext().getProjectId());
         return service.querySpaceListByFloorIdAndRoomFuncType(requestData);
     }
     /***
@@ -227,8 +229,25 @@ public class ObjectDigitalController{
                                                                                     @RequestBody RequestData requestData) {
         //基础参数校验
         ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        requestData.setProjectId(AppContext.getContext().getProjectId());
         return service.queryEquipListBySpaceIdAndClassCode(requestData);
     }
+    /***
+     * Description: 按类型编码查询所有设备
+     * @param requestData : 请求参数
+     * @return : com.persagy.dmp.common.model.response.CommonResult<java.util.List<com.persagy.dmp.digital.entity.ObjectDigital>>
+     * @author : lijie
+     * @date :2021/8/30 9:41
+     * Update By lijie 2021/8/30 9:41
+     */
+    @PostMapping("/queryEquipListByClassCode")
+    public CommonResult<List<ObjectDigital>> queryEquipListByClassCode(@Validated({QueryClassCodeVadition.class})
+                                                                                    @RequestBody RequestData requestData) {
+        //基础参数校验
+        ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        requestData.setProjectId(AppContext.getContext().getProjectId());
+        return service.queryEquipListByClassCode(requestData);
+    }
 
 
 

+ 9 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/dao/ObjectDigitalMapper.java

@@ -51,4 +51,13 @@ public interface ObjectDigitalMapper extends BaseMapper<ObjectDigital> {
      * Update By lijie 2021/8/30 17:03
      */
     List<List<ObjectDigital>> queryObjectListBySpaceIdAndClassCode(@Param("param") RequestData requestData);
+    /***
+     * Description: 按类型编码查询所有设备
+     * @param requestData : 请求参数
+     * @return : java.util.List<java.util.List<com.persagy.dmp.digital.entity.ObjectDigital>>
+     * @author : lijie
+     * @date :2021/8/30 17:44
+     * Update By lijie 2021/8/30 17:44
+     */
+    List<List<ObjectDigital>> queryEquipListByClassCode(@Param("param") RequestData requestData);
 }

+ 9 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/service/IObjectDigitalService.java

@@ -100,4 +100,13 @@ public interface IObjectDigitalService {
      * Update By lijie 2021/8/30 17:03
      */
     CommonResult<List<ObjectDigital>> queryEquipListBySpaceIdAndClassCode(RequestData requestData);
+    /***
+     * Description: 按类型编码查询所有设备
+     * @param requestData : 请求参数
+     * @return : com.persagy.dmp.common.model.response.CommonResult<java.util.List<com.persagy.dmp.digital.entity.ObjectDigital>>
+     * @author : lijie
+     * @date :2021/8/30 9:41
+     * Update By lijie 2021/8/30 9:41
+     */
+    CommonResult<List<ObjectDigital>> queryEquipListByClassCode(RequestData requestData);
 }

+ 18 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/service/impl/ObjectDigitalServiceImpl.java

@@ -240,13 +240,30 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
     public CommonResult<List<ObjectDigital>> queryEquipListBySpaceIdAndClassCode(RequestData requestData) {
         // 1.计算分页参数
         computePageParam(requestData);
-        // 2.使用Fl2Sp关系查询楼层下的空间
+        // 2.使用Eq2Sp关系查询楼层下的空间
         requestData.setRelCode(DigitalRelCode.EQ_2_SP.getIndex());
         requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
         requestData.setRelId(requestData.getSpaceId());
         List<List<ObjectDigital>> dataResult = objectDigitalMapper.queryObjectListBySpaceIdAndClassCode(requestData);
         return commonAnalysisPageResult(dataResult);
     }
+    /***
+     * Description: 按类型编码查询所有设备
+     * @param requestData : 请求参数
+     * @return : com.persagy.dmp.common.model.response.CommonResult<java.util.List<com.persagy.dmp.digital.entity.ObjectDigital>>
+     * @author : lijie
+     * @date :2021/8/30 9:41
+     * Update By lijie 2021/8/30 9:41
+     */
+    @Override
+    public CommonResult<List<ObjectDigital>> queryEquipListByClassCode(RequestData requestData) {
+        // 1.计算分页参数
+        computePageParam(requestData);
+        // 2.使用Fl2Sp关系查询楼层下的空间
+        requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
+        List<List<ObjectDigital>> dataResult = objectDigitalMapper.queryEquipListByClassCode(requestData);
+        return commonAnalysisPageResult(dataResult);
+    }
 
     /***
      * Description: 通用处理分页数据方法

+ 35 - 16
dmp-business/dmp-rwd/src/main/resources/mapper/ObjectDigitalMapper.xml

@@ -183,10 +183,17 @@
             AND dtrA.rel_code = #{param.relCode}
         </if>
         ) AS dtr ON (dtr.obj_to = dto.id OR dtr.obj_from = dto.id)
+        <include refid="commonQueryObjectListByParamDtObjectWhereCondition">
+            <property name="param" value="#{param}"/>
+        </include>
+
+
+    </sql>
+    <sql id="commonQueryObjectListByParamDtObjectWhereCondition">
         WHERE
         1 = 1
         <if test="null!=param.projectId and param.projectId.length>0">
-            AND dto.obj_from = #{param.projectId}
+            AND dto.project_id = #{param.projectId}
         </if>
         <if test="null!=param.objType and param.objType.length>0">
             AND dto.obj_type = #{param.objType}
@@ -195,7 +202,16 @@
             AND dto.local_name LIKE CONCAT('%',#{param.keyword},'%')
         </if>
         AND dto.valid = TRUE
-
+    </sql>
+    <sql id="commonQueryObjectListByParamSuffix">
+        GROUP BY
+        dto.id
+        <include refid="pageSet">
+            <property name="param" value="#{param}"/>
+        </include>
+        ;
+        SELECT
+        FOUND_ROWS( ) AS totalCount;
     </sql>
 
 
@@ -235,14 +251,9 @@
         <if test="null!=param.roomFuncType and param.roomFuncType.length>0">
             AND JSON_UNQUOTE(JSON_EXTRACT(dto.infos, '$.roomFuncType'))=#{param.roomFuncType}
         </if>
-        GROUP BY
-            dto.id
-        <include refid="pageSet">
+        <include refid="commonQueryObjectListByParamSuffix">
             <property name="param" value="#{param}"/>
         </include>
-        ;
-        SELECT
-            FOUND_ROWS( ) AS totalCount;
     </select>
     <select id="queryObjectListBySpaceIdAndClassCode" resultMap="BaseResultMap,count">
         <include refid="commonQueryObjectListByParam">
@@ -251,17 +262,25 @@
         <if test="null!=param.classCode and param.classCode.length>0">
             AND dto.class_code=#{param.classCode}
         </if>
-        GROUP BY
-        dto.id
-        <include refid="pageSet">
+        <include refid="commonQueryObjectListByParamSuffix">
+            <property name="param" value="#{param}"/>
+        </include>
+    </select>
+    <select id="queryEquipListByClassCode" resultMap="BaseResultMap,count">
+        SELECT DISTINCT SQL_CALC_FOUND_ROWS
+        dto.*
+        FROM
+        dt_object AS dto
+        <include refid="commonQueryObjectListByParamDtObjectWhereCondition">
+            <property name="param" value="#{param}"/>
+        </include>
+        <if test="null!=param.classCode and param.classCode.length>0">
+            AND dto.class_code LIKE CONCAT(#{param.classCode},'%')
+        </if>
+        <include refid="commonQueryObjectListByParamSuffix">
             <property name="param" value="#{param}"/>
         </include>
-        ;
-        SELECT
-        FOUND_ROWS( ) AS totalCount;
     </select>
-
-
 
 
 </mapper>