Преглед на файлове

首页云教练数据-分部数据-新增目标学员人数

zouxuan преди 3 години
родител
ревизия
8defd5f0dd

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudTeacherActiveTargetDto.java

@@ -23,6 +23,16 @@ public class CloudTeacherActiveTargetDto{
 
 	private BigDecimal targetFinishScale = BigDecimal.ZERO;
 
+	private BigDecimal targetAmountFinishScale = BigDecimal.ZERO;
+
+	public BigDecimal getTargetAmountFinishScale() {
+		return targetAmountFinishScale;
+	}
+
+	public void setTargetAmountFinishScale(BigDecimal targetAmountFinishScale) {
+		this.targetAmountFinishScale = targetAmountFinishScale;
+	}
+
 	public String getOrganName() {
 		return organName;
 	}

+ 16 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -1014,6 +1014,10 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                 BigDecimal targetFinishScale = new BigDecimal(dto.getBuyNum()).divide(new BigDecimal(dto.getTargetNum()), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
                 dto.setTargetFinishScale(targetFinishScale);
             }
+            if(dto.getBuyAmount().doubleValue() > 0d && dto.getTargetAmount().doubleValue() > 0d){
+                BigDecimal targetAmountFinishScale = dto.getBuyAmount().divide(dto.getTargetAmount(), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
+                dto.setTargetAmountFinishScale(targetAmountFinishScale);
+            }
         }
         Map<String,Object> resultMap = new HashMap<>(7);
         BigDecimal targetAmount = resultList.stream().map(CloudTeacherActiveTargetDto::getTargetAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -1041,11 +1045,15 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             BigDecimal targetFinishScale = new BigDecimal(buyNum).divide(new BigDecimal(targetNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
             resultMap.put("targetFinishScale",targetFinishScale);
         }
+        if(buyAmount.doubleValue() > 0d && targetAmount.doubleValue() > 0d){
+            BigDecimal targetAmountFinishScale = buyAmount.divide(targetAmount, CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
+            resultMap.put("targetAmountFinishScale",targetAmountFinishScale);
+        }
         Map<String,Object> result = new HashMap<>(2);
         result.put("head",resultMap);
         String sort = queryInfo.getSort();
         if(StringUtils.isEmpty(sort)){
-            sort = "targetFinishScale";
+            sort = "targetAmountFinishScale";
         }
         String order = queryInfo.getOrder();
         switch (sort){
@@ -1098,6 +1106,13 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                     resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetFinishScale)).collect(Collectors.toList());
                 }
                 break;
+            case "targetAmountFinishScale":
+                if("DESC".equalsIgnoreCase(order)){
+                    resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetAmountFinishScale,Comparator.reverseOrder())).collect(Collectors.toList());
+                }else {
+                    resultList = resultList.stream().sorted(Comparator.comparing(CloudTeacherActiveTargetDto::getTargetAmountFinishScale)).collect(Collectors.toList());
+                }
+                break;
         }
         result.put("resultList",resultList);
         return result;