Min 1 年之前
父節點
當前提交
f42c2da9ee

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/Plan.java

@@ -263,7 +263,7 @@ public class Plan extends Model<Plan> {
     private Integer hasAllocation;
 
     @TableField(exist = false)
-    private Integer hasAllAllocation;
+    private String color;
 
     @Override
     protected Serializable pkVal() {

+ 19 - 4
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -220,14 +220,29 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                     boolean b = procedureTeams.stream().anyMatch(p -> totalIds.contains(p.getPlanProcedureId()));
                     rs.setHasAllocation(b?1:0);
                     AtomicBoolean allAllocation= new AtomicBoolean(true);
-                    totals.forEach(t->{
+                    AtomicBoolean needSetRed = new AtomicBoolean(false);
+                    for (PlanProcedureTotal t : totals) {
                         Optional<ProdProcedureTeam> team = procedureTeams.stream().filter(p -> p.getPlanProcedureId().equals(t.getId())).findFirst();
-                        if(!team.isPresent()){
+                        if (!team.isPresent()) {
                             allAllocation.set(false);
                         }
-                    });
+                        List<ProdProcedureTeam> targetProdProcedureTeams = procedureTeams.stream().filter(p -> p.getPlanProcedureId().equals(t.getId())).collect(Collectors.toList());
+                        boolean match = targetProdProcedureTeams.stream().allMatch(i->i.getStatus()==2);
+                        if ((t.getTotalProgress()!=null&&t.getTotalProgress() < 100)&&match) {
+                            needSetRed.set(true);
+                        }
+                    }
                     rs.setHasAllocation(b?1:0);
-                    rs.setHasAllAllocation(allAllocation.get()?1:0);
+                    if(allAllocation.get()){
+                        rs.setColor("green");
+                        if(needSetRed.get()){
+                            rs.setColor("red");
+                        }
+                    }else{
+                        if(b){
+                            rs.setColor("blue");
+                        }
+                    }
                 }
                 if(planType==2){
                     totals.forEach(ps->{