Parcourir la source

中心中台融合 查询当前设备类型下的部件分类以及数量

lvxianyun il y a 3 ans
Parent
commit
7576b1eeda

+ 19 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/controller/EquipmentReportController.java

@@ -1,6 +1,7 @@
 package com.persagy.dmp.rwd.simple.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.persagy.dmp.basic.dto.RequestData;
 import com.persagy.dmp.common.constant.CommonConstant;
 import com.persagy.dmp.common.constant.ResponseCode;
@@ -81,4 +82,22 @@ public class EquipmentReportController {
         List<Map<String, Object>> result = reportService.queryObjectCountByObjInfos(requestData);
         return ResultHelper.multi(result);
     }
+
+    /**
+     * 查询当前设备类型下的部件分类以及数量
+     * @param requestData:请求参数
+     * @return
+     */
+    @PostMapping("/queryComponentsCountByEquipId")
+    public CommonResult<List<Map<String, Object>>> queryComponentsCountByEquipId(@RequestBody RequestData requestData) {
+        //基础参数校验
+        ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        if (StrUtil.isEmpty(requestData.getEquipmentId())){
+            throw new BusinessException(ResponseCode.A0402.getCode(),ResponseCode.A0402.getDesc());
+        }
+        // 统计
+        List<Map<String, Object>> result = reportService.queryComponentsCountByEquipId(requestData.getEquipmentId());
+        return ResultHelper.multi(result);
+    }
+
 }

+ 7 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/dao/EquipmentReportMapper.java

@@ -37,4 +37,11 @@ public interface EquipmentReportMapper {
      * Update By lijie 2021/9/13 21:50
      */
     List<Map<String, Object>> queryObjectCountByObjInfos(@Param("param") RequestData requestData,@Param("groups") List<GroupDTO> groupDTOS);
+
+    /**
+     * 统计当前设备下部件分类及数量
+     * @param equipmentId 设备ID
+     * @return
+     */
+    List<Map<String, Object>> queryComponentsCountByEquipId(@Param("groupCode") String groupCode,@Param("projectId") String projectId,@Param("equipmentId") String equipmentId);
 }

+ 7 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/service/IEquipmentReportService.java

@@ -1,6 +1,5 @@
 package com.persagy.dmp.rwd.simple.service;
 
-import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.dto.RequestData;
 import com.persagy.dmp.rwd.simple.entity.CountTypeEquipmentVO;
 
@@ -37,4 +36,11 @@ public interface IEquipmentReportService {
      * Update By lijie 2021/9/13 21:50
      */
     List<Map<String, Object>> queryObjectCountByObjInfos(RequestData requestData);
+
+    /**
+     * 统计当前设备下部件分类及数量
+     * @param equipmentId 设备ID
+     * @return
+     */
+    List<Map<String, Object>> queryComponentsCountByEquipId(String equipmentId);
 }

+ 11 - 3
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/service/impl/EquipmentReportServiceImpl.java

@@ -3,13 +3,10 @@ package com.persagy.dmp.rwd.simple.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.dto.RequestData;
 import com.persagy.dmp.common.constant.CommonConstant;
 import com.persagy.dmp.common.context.AppContext;
 import com.persagy.dmp.common.utils.DateHelper;
-import com.persagy.dmp.digital.entity.ObjectDigital;
 import com.persagy.dmp.rwd.basic.constant.DigitalObjectType;
 import com.persagy.dmp.rwd.digital.utils.ObjectDigitalCriteriaHelper;
 import com.persagy.dmp.rwd.simple.dao.EquipmentReportMapper;
@@ -84,6 +81,17 @@ public class EquipmentReportServiceImpl implements IEquipmentReportService {
     }
 
     /**
+     * 查询当前设备类型下的部件分类以及数量
+     * @param equipmentId:设备Id
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> queryComponentsCountByEquipId(String equipmentId) {
+        return mapper.queryComponentsCountByEquipId(AppContext.getContext().getGroupCode(),AppContext.getContext().getProjectId(), equipmentId);
+    }
+
+
+    /**
      * 累加统计结果,合并为专业-系统-设备类 层级结构
      * @param rsList
      * @return

+ 20 - 0
dmp-business/dmp-rwd/src/main/resources/mapper/EquipmentReportMapper.xml

@@ -89,4 +89,24 @@
         </foreach>
         ORDER BY count DESC
     </select>
+
+
+
+    <select id="queryComponentsCountByEquipId" resultType="java.util.Map">
+        SELECT re.obj_from as 'id',count(1) as count,obj.class_code, df.system_code as 'equip_category',df.`name` AS category_name
+        FROM dt_object obj
+        join dt_relation re on obj.id = re.obj_to
+        join dt_define_type df on df.code = obj.class_code
+        where obj.valid=TRUE and obj.obj_type='component' and re.rel_code='Eq2Ec'
+        <if test="null!=equipmentId and equipmentId.length>0">
+            AND re.obj_from=#{equipmentId}
+        </if>
+        <if test="null!=projectId and projectId.length>0">
+            AND obj.project_id=#{projectId}
+        </if>
+        <if test="null!=groupCode and groupCode.length>0">
+            AND obj.group_code=#{groupCode}
+        </if>
+        GROUP BY obj.class_code,re.obj_from,df.system_code,df.name
+    </select>
 </mapper>

+ 13 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/digital/client/DigitalObjectSimpleClient.java

@@ -46,4 +46,17 @@ public interface DigitalObjectSimpleClient {
                                                                        @RequestParam("appId") String appId,
                                                                        @RequestParam("userId") String userId,
                                                                        @RequestBody RequestData requestData);
+
+    /**
+     * 查询当前设备类型下的部件分类以及数量
+     * @param groupCode: 集团编码
+     * @param appId: 应用ID
+     * @param userId: 用户ID
+     * @param requestData: 请求参数
+     * @return
+     */
+    @PostMapping("report/equipment/queryComponentsCountByEquipId")
+    CommonResult<List<Map<String, Object>>> queryComponentsCountByEquipId(@RequestParam("groupCode") String groupCode,
+                                                                       @RequestParam("appId") String appId,
+                                                                       @RequestParam("userId") String userId, @RequestBody RequestData requestData);
 }

+ 14 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/digital/client/DigitalObjectSimpleFacade.java

@@ -46,4 +46,18 @@ public class DigitalObjectSimpleFacade {
         CommonResult<List<Map<String, Object>>> result = client.queryObjectCountByObjInfos(groupCode, appId, userId, requestData);
         return ResultHelper.getContent(result);
     }
+
+
+    /**
+     * 查询当前设备类型下的部件分类以及数量
+     * @param groupCode: 集团编码
+     * @param appId: 应用ID
+     * @param userId: 用户ID
+     * @param requestData: 请求参数
+     * @return
+     */
+    public static List<Map<String, Object>> queryComponentsCountByEquipId(String groupCode, String appId, String userId, RequestData requestData) {
+        CommonResult<List<Map<String, Object>>> result = client.queryComponentsCountByEquipId(groupCode, appId, userId, requestData);
+        return ResultHelper.getContent(result);
+    }
 }