瀏覽代碼

质量报告和质量详情

372237882@qq.com 3 年之前
父節點
當前提交
41ac07bff7

+ 35 - 29
server/src/main/java/edp/davinci/controller/QualityTaskController.java

@@ -35,6 +35,7 @@ import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Api(value = "/qualityTask", tags = "qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 @ApiResponses(@ApiResponse(code = 404, message = "qualityTask not found"))
@@ -239,40 +240,45 @@ public class QualityTaskController extends BaseController {
         // 查询
         List<QualityTaskDto> qualityTasks = qualityTaskService.getQualityTaskListCondition(systemId, time);
 
+
         for (QualityTaskDto qualityTaskDto : qualityTasks) {
 
+            List<QualityAuditor> qualityAuditorList = qualityAuditorService.getQualityAuditorListByTaskId(qualityTaskDto.getId(), null, null);
+
             DecimalFormat df = new DecimalFormat("0.00");//格式化小数
 
-            if (null != qualityTaskDto.getIntegrityCorrect() && null != qualityTaskDto.getIntegrityError()) {
-                // 完整性
-                String integrityCorrectProbability = df.format((float) qualityTaskDto.getIntegrityCorrect() / (qualityTaskDto.getIntegrityCorrect() + qualityTaskDto.getIntegrityError()));//返回的是String类型
-                qualityTaskDto.setIntegrityCorrectProbability(integrityCorrectProbability);
-                String integrityErrorProbability = df.format((float) qualityTaskDto.getIntegrityError() / (qualityTaskDto.getIntegrityCorrect() + qualityTaskDto.getIntegrityError()));//返回的是String类型
-                qualityTaskDto.setIntegrityErrorProbability(integrityErrorProbability);
-            }
+            // 完整性
+            double averagingIntegrityCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getIntegrityCorrect));
+            double averagingIntegrityError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getIntegrityError));
+            qualityTaskDto.setIntegrityCorrect(averagingIntegrityCorrect);
+            qualityTaskDto.setIntegrityError(averagingIntegrityError);
+            qualityTaskDto.setIntegrityCorrectProbability(df.format((float) averagingIntegrityCorrect / (averagingIntegrityCorrect + averagingIntegrityError)));
+            qualityTaskDto.setIntegrityErrorProbability(df.format((float) averagingIntegrityError / (averagingIntegrityCorrect + averagingIntegrityError)));
+
+            // 一致性
+            double averagingUniformityCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getUniformityCorrect));
+            double averagingUniformityError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getUniformityError));
+            qualityTaskDto.setUniformityCorrect(averagingUniformityCorrect);
+            qualityTaskDto.setUniformityError(averagingUniformityError);
+            qualityTaskDto.setUniformityCorrectProbability(df.format((float) averagingUniformityCorrect / (averagingUniformityCorrect + averagingUniformityError)));
+            qualityTaskDto.setUniformityErrorProbability(df.format((float) averagingUniformityError / (averagingUniformityCorrect + averagingUniformityError)));
+
+            // 规范性
+            double averagingNormativeCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getNormativeCorrect));
+            double averagingNormativeError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getNormativeError));
+            qualityTaskDto.setNormativeCorrect(averagingNormativeCorrect);
+            qualityTaskDto.setNormativeError(averagingNormativeError);
+            qualityTaskDto.setNormativeCorrectProbability(df.format((float) averagingNormativeCorrect / (averagingNormativeCorrect + averagingNormativeError)));
+            qualityTaskDto.setNormativeErrorProbability(df.format((float) averagingNormativeError / (averagingNormativeCorrect + averagingNormativeError)));
+
+            // 准确定
+            double averagingAccuracyCorrect = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getAccuracyCorrect));
+            double averagingAccuracyError = qualityAuditorList.stream().collect(Collectors.averagingInt(QualityAuditor::getAccuracyError));
+            qualityTaskDto.setAccuracyCorrect(averagingAccuracyCorrect);
+            qualityTaskDto.setAccuracyError(averagingAccuracyError);
+            qualityTaskDto.setAccuracyCorrectProbability(df.format((float) averagingAccuracyCorrect / (averagingAccuracyCorrect + averagingAccuracyError)));
+            qualityTaskDto.setAccuracyErrorProbability(df.format((float) averagingAccuracyError / (averagingAccuracyCorrect + averagingAccuracyError)));
 
-            if (null != qualityTaskDto.getUniformityCorrect() && null != qualityTaskDto.getUniformityError()) {
-                // 一致性
-                String uniformityCorrectProbability = df.format((float) qualityTaskDto.getUniformityCorrect() / (qualityTaskDto.getUniformityCorrect() + qualityTaskDto.getUniformityError()));//返回的是String类型
-                qualityTaskDto.setUniformityCorrectProbability(uniformityCorrectProbability);
-                String uniformityErrorProbability = df.format((float) qualityTaskDto.getUniformityError() / (qualityTaskDto.getUniformityCorrect() + qualityTaskDto.getUniformityError()));//返回的是String类型
-                qualityTaskDto.setUniformityErrorProbability(uniformityErrorProbability);
-            }
-
-            if (null != qualityTaskDto.getNormativeCorrect() && null != qualityTaskDto.getNormativeError()) {
-                // 规范性
-                String normativeCorrectProbability = df.format((float) qualityTaskDto.getNormativeCorrect() / (qualityTaskDto.getNormativeCorrect() + qualityTaskDto.getNormativeError()));//返回的是String类型
-                qualityTaskDto.setNormativeCorrectProbability(normativeCorrectProbability);
-                String normativeErrorProbability = df.format((float) qualityTaskDto.getNormativeError() / (qualityTaskDto.getNormativeCorrect() + qualityTaskDto.getNormativeError()));//返回的是String类型
-                qualityTaskDto.setNormativeErrorProbability(normativeErrorProbability);
-            }
-            if (null != qualityTaskDto.getAccuracyCorrect() && null != qualityTaskDto.getAccuracyError()) {
-                // 准确定
-                String accuracyCorrectProbability = df.format((float) qualityTaskDto.getAccuracyCorrect() / (qualityTaskDto.getAccuracyCorrect() + qualityTaskDto.getAccuracyError()));//返回的是String类型
-                qualityTaskDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
-                String accuracyErrorProbability = df.format((float) qualityTaskDto.getAccuracyError() / (qualityTaskDto.getAccuracyCorrect() + qualityTaskDto.getAccuracyError()));//返回的是String类型
-                qualityTaskDto.setAccuracyErrorProbability(accuracyErrorProbability);
-            }
         }
 
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityTasks));

+ 8 - 8
server/src/main/java/edp/davinci/dto/qualityAuditor/QualityTaskDto.java

@@ -12,21 +12,21 @@ public class QualityTaskDto extends QualityTask {
 
     private Date auditorTime; // 稽核时间
 
-    private Integer integrityCorrect; //完整性正确
+    private Double integrityCorrect; //完整性正确
 
-    private Integer integrityError; //完整性错误
+    private Double integrityError; //完整性错误
 
-    private Integer uniformityCorrect; //一致性正确
+    private Double uniformityCorrect; //一致性正确
 
-    private Integer uniformityError; //一致性错误
+    private Double uniformityError; //一致性错误
 
-    private Integer normativeCorrect; //规范性正确
+    private Double normativeCorrect; //规范性正确
 
-    private Integer normativeError; //规范性错误
+    private Double normativeError; //规范性错误
 
-    private Integer accuracyCorrect; //准确性正确
+    private Double accuracyCorrect; //准确性正确
 
-    private Integer accuracyError; //准确性错误
+    private Double accuracyError; //准确性错误
 
     private String integrityCorrectProbability; //完整性正确率
 

+ 0 - 2
server/src/main/resources/mybatis/mapper/QualityTaskMapper.xml

@@ -65,7 +65,6 @@
     <select id="getQualityTaskListCondition" resultType="edp.davinci.dto.qualityAuditor.QualityTaskDto">
         SELECT
         qt.*,
-        qa.*,
         cj.start_date as startTime,
         cj.end_date as endTime,
         ac.`name` as type_name
@@ -73,7 +72,6 @@
         `quality_task` qt
         LEFT JOIN audit_classification ac on qt.p_id = ac.id
         LEFT JOIN cron_job cj ON qt.cronJob_id = cj.id
-        LEFT JOIN quality_auditor qa on qa.task_id= qt.id
         WHERE 1 = 1
         <if test="pId != null">
             AND qt.p_id = #{pId}