Sfoglia il codice sorgente

修复项目成本查询bug

longw 1 anno fa
parent
commit
1a9aa7d474

+ 2 - 0
module_kzks/src/main/java/org/jeecg/modules/Index/util/CacheKey.java

@@ -17,4 +17,6 @@ public class CacheKey {
     /*项目成本*/
     public static final String PROJECT_COST_HUIJI = "projectCosthuiji";
 
+    public static final String PROJECT_COST = "projectCost";
+
 }

+ 11 - 5
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.projectCostHuiji.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@@ -118,8 +119,11 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         String superQueryParamsMd5 = Md5Util.md5Encode(superQueryParams, "utf-8");
         String ObjectMd5 = Md5Util.md5Encode(projectCostHuiji.toString(), "utf-8");
 
-        ProjectCostHuijiSumVO chcheResult = (ProjectCostHuijiSumVO) redisUtil.get(CacheKey.PROJECT_COST_HUIJI + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
-        if (ObjectUtils.isNotEmpty(chcheResult)) return Result.ok(chcheResult);
+        ProjectCostHuijiSumVO cacheResultOne = (ProjectCostHuijiSumVO) redisUtil.get(CacheKey.PROJECT_COST_HUIJI + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
+        ProjectCostSumVo cacheResultTwo = (ProjectCostSumVo) redisUtil.get(CacheKey.PROJECT_COST + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
+        if (cacheResultOne != null) return Result.ok(cacheResultOne);
+        if (cacheResultTwo != null) return Result.ok(cacheResultTwo);
+
 
         ProjectCostHuijiSumVO sumVO = new ProjectCostHuijiSumVO();
 
@@ -134,8 +138,10 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         }
 
         CompletableFuture<ProjectCostHuiji> huijiFuture = CompletableFuture.supplyAsync(() -> {
-            if (taskNos.isEmpty())
+            if (taskNos.isEmpty() && !(!superQueryParams.isEmpty() && !"[%5B%5D]".equals(superQueryParams) || ObjectUtils.anyNotNull(projectCostHuiji)))
                 return projectCostHuijiService.costHJSum(projectCostHuiji);//汇集总和
+            if (taskNos.isEmpty())
+                return initProjectCostHuiji();
             return projectCostHuijiService.costHJSumByTaskNoList(taskNos);
         });
 
@@ -291,7 +297,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             });
 
             CompletableFuture<Void> future2 = CompletableFuture.allOf(projectCostHuijiCompletableFuture, kzksProjectCostYsCompletableFuture, arrayListCompletableFuture, yzslCompletableFuture);
-            Void join = future2.join();
+            future2.join();
             ProjectCostHuiji projectCostHuiji1 = projectCostHuijiCompletableFuture.join();
             KzksProjectCostYs huijiYs = kzksProjectCostYsCompletableFuture.join();
             ArrayList<ProjectCostVO> projectCostVOS = arrayListCompletableFuture.join();
@@ -330,7 +336,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             projectCostSumVo.setProjectCostHuijiSum(resultHuiJiVo);
             projectCostSumVo.setPageList(projectCostListVOPage);
 
-            redisUtil.set(CacheKey.PROJECT_COST_HUIJI + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
+            redisUtil.set(CacheKey.PROJECT_COST + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
 
             return Result.OK(projectCostSumVo);
         }