Selaa lähdekoodia

数字中台-数字农业去除冗余、补充注释

吕宣芝 1 vuosi sitten
vanhempi
commit
1a20be51a4

+ 24 - 18
src/main/java/com/sooka/sponest/data/digitalagriculture/service/impl/AgricultureBigDataServiceImpl.java

@@ -310,32 +310,39 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
     public List<Map<String, Object>> getAgriculturalSubsidyBySubclass(AgricultureBigDataBO agricultureBigDataBO) {
         setSookaDataBase(agricultureBigDataBO);
         List<Map<String, Object>> agriculturalSubsidyBySubclass = new ArrayList<>();
-        // 判断农业小类
+        // 根据字典类型进行处理
         if ("farm_subsidy_type".equals(agricultureBigDataBO.getDictValue())) {
-            List<SysDictData> farmSubsidyType = DictUtils.getDictCache("farm_subsidy_type");
-            for (int i = 0; i < farmSubsidyType.size(); i++) {
-                agriculturalSubsidyBySubclass.addAll(deptLevelUtil.getDeptLevel(getAgriculturalSubsidyBySubclass(agricultureBigDataBO, i, farmSubsidyType.get(i).getDictLabel()),String.valueOf(agricultureBigDataBO.getDeptId())));
-            }
+            processAgriculturalSubsidy("farm_subsidy_type", agricultureBigDataBO, agriculturalSubsidyBySubclass);
         } else if ("farm_mac_type".equals(agricultureBigDataBO.getDictValue())) {
-            List<SysDictData> farmMacType = DictUtils.getDictCache("farm_mac_type");
-            for (int i = 0; i < farmMacType.size(); i++) {
-                agriculturalSubsidyBySubclass.addAll(deptLevelUtil.getDeptLevel(getAgriculturalSubsidyBySubclass(agricultureBigDataBO, i, farmMacType.get(i).getDictLabel()),String.valueOf(agricultureBigDataBO.getDeptId())));
-            }
+            processAgriculturalSubsidy("farm_mac_type", agricultureBigDataBO, agriculturalSubsidyBySubclass);
         } else if ("farm_breed_type".equals(agricultureBigDataBO.getDictValue())) {
-            List<SysDictData> farmBreedType = DictUtils.getDictCache("farm_breed_type");
-            for (int i = 0; i < farmBreedType.size(); i++) {
-                agriculturalSubsidyBySubclass.addAll(deptLevelUtil.getDeptLevel(getAgriculturalSubsidyBySubclass(agricultureBigDataBO, i, farmBreedType.get(i).getDictLabel()),String.valueOf(agricultureBigDataBO.getDeptId())));
-            }
+            processAgriculturalSubsidy("farm_breed_type", agricultureBigDataBO, agriculturalSubsidyBySubclass);
         }
         return agriculturalSubsidyBySubclass;
     }
 
     /**
+     * 处理农业小类补贴
+     * @param dictType 字典类型
+     * @param agricultureBigDataBO 农业大数据对象
+     * @param result 存储结果的列表
+     */
+    private void processAgriculturalSubsidy(String dictType, AgricultureBigDataBO agricultureBigDataBO, List<Map<String, Object>> result) {
+        List<SysDictData> dictData = DictUtils.getDictCache(dictType);
+        for (int i = 0; i < dictData.size(); i++) {
+            String dictLabel = dictData.get(i).getDictLabel();
+            List<Map<String, Object>> subClassResults = getAgriculturalSubsidyBySubclass(agricultureBigDataBO, i, dictLabel);
+            String deptId = String.valueOf(agricultureBigDataBO.getDeptId());
+            result.addAll(deptLevelUtil.getDeptLevel(subClassResults, deptId));
+        }
+    }
+
+    /**
      * 农业小类补贴附加判断方法
-     * @param agricultureBigDataBO
-     * @param i
-     * @param label
-     * @return
+     * @param agricultureBigDataBO 农业大数据对象
+     * @param i 索引
+     * @param label 字典标签
+     * @return 补贴信息列表
      */
     @DataScopeMutiDept(deptAlias = "d")
     private List<Map<String, Object>> getAgriculturalSubsidyBySubclass(AgricultureBigDataBO agricultureBigDataBO, int i, String label) {
@@ -350,7 +357,6 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
         }
         return maps;
     }
-
     /**
      * 化肥统计
      *