Forráskód Böngészése

数据面板-项目进程类型判断修改

qianxb 1 éve
szülő
commit
e79a2faab0

+ 1 - 1
src/main/java/org/springblade/modules/project/pojo/vo/DataProjectStatVO2.java

@@ -24,7 +24,7 @@ public class DataProjectStatVO2 {
     @Schema(description = "目前实际完成投资")
     private BigDecimal currentMoney;
 
-    @Schema(description = "项目进度类型")
+    @Schema(description = "项目进度类型:1常规2超进度3滞后")
     private Integer scheduleType;
 
 }

+ 20 - 25
src/main/java/org/springblade/modules/project/service/impl/ProjectInfoServiceImpl.java

@@ -696,33 +696,28 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
                 vo2.setCurrentMoney(plan.getYearFinishInvest() == null ? BigDecimal.ZERO : plan.getYearFinishInvest());
             }
             //判断项目进程类型
-            if (plan.getOneInvest() == null || plan.getTwoInvest() == null || plan.getThreeInvest() == null || plan.getFourInvest() == null ||
-                    plan.getIsOneInvestFinish() == 0 || plan.getIsTwoInvestFinish() == 0 || plan.getIsThreeInvestFinish() == 0 || plan.getIsFourInvestFinish() == 0 ||
-                    plan.getIsOnePlanFinish() == 0 || plan.getIsTwoPlanFinish() == 0 || plan.getIsThreePlanFinish() == 0 || plan.getIsFourPlanFinish() == 0) {
+            if ((plan.getIsOneInvestFinish() == 1 && plan.getOneInvest().compareTo(plan.getOneInvestFinish()) > 0) ||
+                    (plan.getIsTwoInvestFinish() == 1 && plan.getTwoInvest().compareTo(plan.getTwoInvestFinish()) > 0) ||
+                    (plan.getIsThreeInvestFinish() == 1 && plan.getThreeInvest().compareTo(plan.getThreeInvestFinish()) > 0) ||
+                    (plan.getIsFourInvestFinish() == 1 && plan.getFourInvest().compareTo(plan.getFourInvestFinish()) > 0) ||
+                    (plan.getIsOnePlanFinish() == 1 && plan.getOnePlanRatio().compareTo(new BigDecimal(100)) < 0) ||
+                    (plan.getIsTwoPlanFinish() == 1 && plan.getTwoPlanRatio().compareTo(new BigDecimal(100)) < 0) ||
+                    (plan.getIsThreePlanFinish() == 1 && plan.getThreePlanRatio().compareTo(new BigDecimal(100)) < 0) ||
+                    (plan.getIsFourPlanFinish() == 1 && plan.getFourPlanRatio().compareTo(new BigDecimal(100)) < 0)){
                 vo2.setScheduleType(3);
-            } else {
-                if (plan.getOneInvest().compareTo(plan.getOneInvestFinish()) <= 0 &&
-                        plan.getTwoInvest().compareTo(plan.getTwoInvestFinish()) <= 0 &&
-                        plan.getThreeInvest().compareTo(plan.getThreeInvestFinish()) <= 0 &&
-                        plan.getFourInvest().compareTo(plan.getFourInvestFinish()) <= 0 &&
-                        plan.getOnePlanRatio().compareTo(new BigDecimal(100)) >= 0 &&
-                        plan.getTwoPlanRatio().compareTo(new BigDecimal(100)) >= 0 &&
-                        plan.getThreePlanRatio().compareTo(new BigDecimal(100)) >= 0 &&
-                        plan.getFourPlanRatio().compareTo(new BigDecimal(100)) >= 0) {
-                    vo2.setScheduleType(2);
-                } else if ((plan.getOneInvest().compareTo(plan.getOneInvestFinish()) == 0 &&
-                        plan.getTwoInvest().compareTo(plan.getTwoInvestFinish()) == 0 &&
-                        plan.getThreeInvest().compareTo(plan.getThreeInvestFinish()) == 0 &&
-                        plan.getFourInvest().compareTo(plan.getFourInvestFinish()) == 0 &&
-                        plan.getOnePlanRatio().compareTo(new BigDecimal(100)) == 0 &&
-                        plan.getTwoPlanRatio().compareTo(new BigDecimal(100)) == 0 &&
-                        plan.getThreePlanRatio().compareTo(new BigDecimal(100)) == 0 &&
-                        plan.getFourPlanRatio().compareTo(new BigDecimal(100)) == 0)) {
-                    vo2.setScheduleType(1);
-                } else {
-                    vo2.setScheduleType(3);
-                }
+            }else if ((plan.getIsOneInvestFinish() == 1 && plan.getOneInvest().compareTo(plan.getOneInvestFinish()) < 0) ||
+                    (plan.getIsTwoInvestFinish() == 1 && plan.getTwoInvest().compareTo(plan.getTwoInvestFinish()) < 0) ||
+                    (plan.getIsThreeInvestFinish() == 1 && plan.getThreeInvest().compareTo(plan.getThreeInvestFinish()) < 0) ||
+                    (plan.getIsFourInvestFinish() == 1 && plan.getFourInvest().compareTo(plan.getFourInvestFinish()) < 0) ||
+                    (plan.getIsOnePlanFinish() == 1 && plan.getOnePlanRatio().compareTo(new BigDecimal(100)) > 0) ||
+                    (plan.getIsTwoPlanFinish() == 1 && plan.getTwoPlanRatio().compareTo(new BigDecimal(100)) > 0) ||
+                    (plan.getIsThreePlanFinish() == 1 && plan.getThreePlanRatio().compareTo(new BigDecimal(100)) > 0) ||
+                    (plan.getIsFourPlanFinish() == 1 && plan.getFourPlanRatio().compareTo(new BigDecimal(100)) > 0)){
+                vo2.setScheduleType(2);
+            }else  {
+                vo2.setScheduleType(1);
             }
+
         }
         //判断是否选择过项目进度类型,选择过,那么重新把集合赋值为筛选后的
         Integer scheduleType = dto.getProjectScheduleType();