Quellcode durchsuchen

Merge remote-tracking branch 'origin/develop' into develop

lijie vor 3 Jahren
Ursprung
Commit
d09ff18a92

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

@@ -5,6 +5,7 @@ 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;
+import com.persagy.dmp.common.context.AppContext;
 import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.dmp.common.model.response.CommonResult;
 import com.persagy.dmp.common.utils.ParamCheckUtil;
@@ -100,4 +101,34 @@ public class EquipmentReportController {
         return ResultHelper.multi(result);
     }
 
+
+    /**
+     * 查询当前设备类型的允许的所有部件类型,设备下的部件对应数量
+     * @param requestData:请求参数
+     * @return
+     */
+    @PostMapping("/queryEquipComponentsByProjectId")
+    public CommonResult<List<Map<String, Object>>> queryEquipComponentsByProjectId(@RequestBody RequestData requestData) {
+        //基础参数校验
+        ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        // 统计
+        List<Map<String, Object>> result = reportService.queryEquipComponentsByProjectId(requestData.getClassCode(), requestData.getEquipmentId());
+        return ResultHelper.multi(result);
+    }
+
+    /**
+     * 项目下所有实例(system/space/equipment..)类型以及名称
+     */
+    @PostMapping("/queryDefineInfoByObjType")
+    public CommonResult<List<Map<String,Object>>> queryDefineInfoByObjType(@RequestBody RequestData requestData) {
+        //基础参数校验
+        ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
+        if (StrUtil.isAllEmpty(AppContext.getContext().getProjectId(),requestData.getObjType())){
+            throw new BusinessException(ResponseCode.A0402.getCode(),ResponseCode.A0402.getDesc());
+        }
+        // 统计
+        List<Map<String, Object>> result = reportService.queryDefineInfoByObjType(requestData);
+        return ResultHelper.multi(result);
+    }
+
 }

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

@@ -44,4 +44,17 @@ public interface EquipmentReportMapper {
      * @return
      */
     List<Map<String, Object>> queryComponentsCountByEquipId(@Param("projectIds") List<String> projectIds,@Param("projectId") String projectId,@Param("equipmentId") String equipmentId);
+
+    /**
+     * 统计项目下允许创建的部件类型,以及项目下创建的部件数量
+     * @param equipmentId 设备ID
+     * @param category 设备类
+     * @return
+     */
+    List<Map<String, Object>>queryEquipComponentsByProjectId(@Param("category") String category, @Param("projectId") String projectId, @Param("equipmentId") String equipmentId, @Param("groupCode") String groupCode);
+
+    /**
+     *项目下所有实例类型以及名称
+     */
+    List<Map<String,Object>> queryDefineInfoByObjType(@Param("param") RequestData requestData);
 }

+ 13 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/simple/service/IEquipmentReportService.java

@@ -43,4 +43,17 @@ public interface IEquipmentReportService {
      * @return
      */
     List<Map<String, Object>> queryComponentsCountByEquipId(String equipmentId);
+
+    /**
+     * 统计项目下允许创建的部件类型,以及项目下创建的部件数量
+     * @param equipmentId 设备ID
+     * @param category 设备类
+     * @return
+     */
+    List<Map<String, Object>>queryEquipComponentsByProjectId(String category, String equipmentId);
+
+    /**
+     *项目下所有实例(system/space/equipment..)类型以及名称
+     */
+    List<Map<String,Object>> queryDefineInfoByObjType(RequestData requestData);
 }

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

@@ -95,6 +95,29 @@ public class EquipmentReportServiceImpl implements IEquipmentReportService {
         return mapper.queryComponentsCountByEquipId(projectIds, AppContext.getContext().getProjectId(), equipmentId);
     }
 
+    /**
+     * 统计项目下允许创建的部件类型,以及项目下创建的部件数量
+     * @param equipmentId 设备ID
+     * @param category 设备类
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> queryEquipComponentsByProjectId(String category, String equipmentId) {
+        return mapper.queryEquipComponentsByProjectId(category, AppContext.getContext().getProjectId(),equipmentId,AppContext.getContext().getGroupCode());
+    }
+
+    /**
+     * 项目下所有实例(system/space/equipment..)类型以及名称
+     * @param requestData
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> queryDefineInfoByObjType(RequestData requestData) {
+        requestData.setGroupCode(AppContext.getContext().getGroupCode());
+        requestData.setProjectId(AppContext.getContext().getProjectId());
+        return mapper.queryDefineInfoByObjType(requestData);
+    }
+
 
     /**
      * 累加统计结果,合并为专业-系统-设备类 层级结构

Datei-Diff unterdrückt, da er zu groß ist
+ 75 - 1
dmp-business/dmp-rwd/src/main/resources/db/init/data.sql


+ 42 - 3
dmp-business/dmp-rwd/src/main/resources/mapper/EquipmentReportMapper.xml

@@ -90,14 +90,12 @@
         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'
+        where obj.valid=TRUE AND obj.obj_type='component' AND re.rel_code='Eq2Ec'
         and df.project_id in
         <foreach collection="projectIds" item="projectId" open="(" close=")" separator="," >
             #{projectId}
@@ -110,4 +108,45 @@
         </if>
         GROUP BY obj.class_code,re.obj_from,df.system_code,df.name
     </select>
+
+    <select id="queryEquipComponentsByProjectId" resultType="java.util.Map">
+        SELECT code,name,IFNULL(count,0) 'count' FROM (
+            SELECT DISTINCT code,name,
+            (select count(class_code) from dt_object where obj_type='component'
+                <if test="null!=equipmentId and equipmentId.length>0">
+                    AND JSON_CONTAINS(infos, JSON_OBJECT('parentId',#{equipmentId}))
+                </if>
+                AND class_code = code
+                <if test="null!=projectId and projectId.length>0">
+                    AND project_id=#{projectId}
+                </if>
+                <if test="null!=groupCode and groupCode.length>0">
+                    AND group_code=#{groupCode}
+                </if>
+                GROUP BY class_code
+            ) count
+            FROM dt_define_type
+            WHERE
+            valid=TRUE AND group_code = '0' -- 查询通用定义
+            <if test="null!=category and category.length>0">
+                AND equipment_code = #{category}
+            </if>
+        ) temp
+    </select>
+
+    <select id="queryDefineInfoByObjType" resultType="java.util.Map">
+        SELECT class_code as code ,(SELECT name FROM dt_define_type WHERE  code = class_code LIMIT 1 ) as name
+        FROM dt_object
+        WHERE valid=TRUE
+            <if test="null!=param.objType and param.objType.length>0">
+                AND obj_type=#{param.objType}
+            </if>
+            <if test="null!=param.projectId and param.projectId.length>0">
+                AND project_id=#{param.projectId}
+            </if>
+            <if test="null!=param.groupCode and param.groupCode.length>0">
+                AND group_code=#{param.groupCode}
+            </if>
+        GROUP BY class_code;
+    </select>
 </mapper>

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

@@ -33,6 +33,7 @@ public interface DigitalObjectSimpleClient {
                                                                             @RequestParam("appId") String appId,
                                                                             @RequestParam("userId") String userId,
                                                                             @RequestBody(required = false) List<String> projectIds);
+
     /**
      * 根据对象信息点统计数量
      * @param groupCode: 集团编码
@@ -59,4 +60,28 @@ public interface DigitalObjectSimpleClient {
     CommonResult<List<Map<String, Object>>> queryComponentsCountByEquipId(@RequestParam("groupCode") String groupCode, @RequestParam("projectId") String projectId,
                                                                        @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/queryEquipComponentsByProjectId")
+    CommonResult<List<Map<String, Object>>> queryEquipComponentsByProjectId(@RequestParam("groupCode") String groupCode, @RequestParam("projectId") String projectId,
+                                                                          @RequestParam("appId") String appId,
+                                                                          @RequestParam("userId") String userId, @RequestBody RequestData requestData);
+    /**
+     * 项目下所有实例(system/space/equipment..)类型以及名称
+     * @param groupCode: 集团编码
+     * @param appId: 应用ID
+     * @param userId: 用户ID
+     * @param requestData: 请求参数
+     * @return
+     */
+    @PostMapping("report/equipment/queryDefineInfoByObjType")
+    CommonResult<List<Map<String, Object>>> queryDefineInfoByObjType(@RequestParam("groupCode") String groupCode, @RequestParam("projectId") String projectId,
+                                                                            @RequestParam("appId") String appId,
+                                                                            @RequestParam("userId") String userId, @RequestBody RequestData requestData);
 }

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

@@ -34,6 +34,7 @@ public class DigitalObjectSimpleFacade {
         CommonResult<List<Map<String, Object>>> result = client.queryExpectScrapCountByProjects(groupCode, appId, userId, projectIds);
         return ResultHelper.getContent(result);
     }
+
     /**
      * 根据对象信息点统计数量
      * @param groupCode: 集团编码
@@ -60,4 +61,33 @@ public class DigitalObjectSimpleFacade {
         CommonResult<List<Map<String, Object>>> result = client.queryComponentsCountByEquipId(groupCode, projectId,appId, userId, requestData);
         return ResultHelper.getContent(result);
     }
+
+    /**
+     * 统计项目下允许创建的部件类型,以及项目下创建的部件数量
+     * @param groupCode: 集团编码
+     * @param appId: 应用ID
+     * @param userId: 用户ID
+     * @param requestData: 请求参数
+     * @return
+     */
+    public static List<Map<String, Object>> queryEquipComponentsByProjectId(String groupCode, String projectId, String appId, String userId, RequestData requestData) {
+        CommonResult<List<Map<String, Object>>> result = client.queryEquipComponentsByProjectId(groupCode, projectId,appId, userId, requestData);
+        return ResultHelper.getContent(result);
+    }
+
+    /**
+     * 项目下所有实例(system/space/equipment..)类型以及名称
+     * @param groupCode: 集团编码
+     * @param appId: 应用ID
+     * @param userId: 用户ID
+     * @param requestData: 请求参数
+     * @return
+     */
+    public static List<Map<String, Object>> queryDefineInfoByObjType(@RequestParam("groupCode") String groupCode, @RequestParam("projectId") String projectId,
+                                                                          @RequestParam("appId") String appId,
+                                                                          @RequestParam("userId") String userId, @RequestBody RequestData requestData){
+        CommonResult<List<Map<String, Object>>> result = client.queryDefineInfoByObjType(groupCode, projectId,appId, userId, requestData);
+        return ResultHelper.getContent(result);
+
+    }
 }