Browse Source

兼容旧的/rwd/def/funcid查询逻辑,重新赋值通用信息点的classCode

lijie 3 years ago
parent
commit
13555d7051

+ 13 - 7
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/define/controller/ObjectInfoController.java

@@ -58,12 +58,12 @@ public class ObjectInfoController {
         }
         QueryWrapper<ObjectInfoDefine> wrapper = new QueryWrapper<>();
         // 处理classCode
-        ensureClassCode(criteria);
+        ObjectTypeDefine objectTypeDefine = ensureClassCode(criteria);
         // 添加所属项目条件
         ConditionUtil.ensureProjectCriteria(wrapper);
         // 转换查询条件
         QueryCriteriaHelper.toWrapper(wrapper, criteria, ObjectInfoDefine.class);
-        Page page = QueryCriteriaHelper.toPage(criteria);
+        Page<ObjectInfoDefine> page = QueryCriteriaHelper.toPage(criteria);
         // 没有排序条件时,按默认条件排序
         if(CollUtil.isEmpty(page.getOrders())) {
             wrapper.orderByAsc("show_order");
@@ -76,7 +76,12 @@ public class ObjectInfoController {
             // wrapper.select("/*+ SET_VAR(sort_buffer_size = 2M) */*");
             page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
         }
-        return ResultHelper.multi(page.getRecords(), page.getTotal());
+        // 20211013 兼容旧的逻辑,将通用信息点的classCode改为当前的classCode
+        List<ObjectInfoDefine> records = page.getRecords();
+        if (CollUtil.isNotEmpty(records) && null!=objectTypeDefine && StrUtil.isNotBlank(objectTypeDefine.getCode())){
+            records.forEach(record->record.setClassCode(objectTypeDefine.getCode()));
+        }
+        return ResultHelper.multi(records, page.getTotal());
     }
     /***
      * Description: 处理对象类型,如果父级id存在则加上父级id
@@ -86,14 +91,14 @@ public class ObjectInfoController {
      * @date :2021/9/9 18:25
      * Update By lijie 2021/9/9 18:25
      */
-    private void ensureClassCode(QueryCriteria criteria) {
+    private ObjectTypeDefine ensureClassCode(QueryCriteria criteria) {
         ObjectNode objectNode = criteria.getCriteria();
         if (!objectNode.has(ObjectDigital.CLASS_CODE_HUM)){
-            return;
+            return null;
         }
         JsonNode jsonNode = objectNode.get(ObjectDigital.CLASS_CODE_HUM);
         if (!jsonNode.isTextual()){
-            return;
+            return null;
         }
         String classCode = jsonNode.asText();
         LambdaQueryWrapper<ObjectTypeDefine> queryWrapper = new LambdaQueryWrapper<>();
@@ -101,7 +106,7 @@ public class ObjectInfoController {
         queryWrapper.eq(ObjectTypeDefine::getValid,true);
         List<ObjectTypeDefine> objectTypeDefines = objectTypeService.queryByCondition(queryWrapper);
         if (CollUtil.isEmpty(objectTypeDefines)){
-            return;
+            return null;
         }
         ObjectTypeDefine objectTypeDefine = objectTypeDefines.get(0);
         ArrayNode arrayNode = JsonHelper.objectMapper.createArrayNode();
@@ -110,6 +115,7 @@ public class ObjectInfoController {
             arrayNode.add(objectTypeDefine.getParentCode());
         }
         objectNode.put(ObjectDigital.CLASS_CODE_HUM,arrayNode);
+        return objectTypeDefine;
     }
 
     @PostMapping("/create")