Преглед изворни кода

feat: 新增知会字段-任务完成百分比(和服务下发的完成百分比一致)

lixuesong пре 2 месеци
родитељ
комит
e3d6eac8e0

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmPackageManager.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.constant.enums.EnableEnum;
+import com.qunzhixinxi.hnqz.admin.api.constant.enums.TaskStatusEnum;
 import com.qunzhixinxi.hnqz.admin.api.dto.WmPkgDTO;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
@@ -698,6 +699,13 @@ public class WmPackageManager {
         String.format(
             "%.2f", okTasks.size() * 100.0 / ((taskTotalCount == 0) ? 1 : taskTotalCount)));
 
+    // 任务完成百分比(和服务下发的完成百分比一致)
+    long approvedTaskScore = tasks.stream().filter(task -> TaskStatusEnum.APPROVED.val().equals(task.getTaskStatus()))
+        .mapToInt(WmTask::getScore).sum();
+    double taskApprovedRate = approvedTaskScore * 100.0 / scorePackage.getScore();
+    result.put("taskApprovedScoreRate", String.format("%.2f", taskApprovedRate));
+    result.put("taskApprovedScoreRateNinetyPercent", String.format("%.2f", taskApprovedRate * 0.9));
+
     // 客户接洽率
     // result.put("marketCustomerContactRate", "3");