Browse Source

质量报告

vincent 3 years ago
parent
commit
626dd8e24c

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

@@ -7,6 +7,7 @@ import edp.davinci.core.common.ResultMap;
 import edp.davinci.core.enums.CronJobStatusEnum;
 import edp.davinci.dto.cronJobDto.CronJobBaseInfo;
 import edp.davinci.dto.cronJobDto.CronJobInfo;
+import edp.davinci.dto.qualityAuditor.QualityAuditorDto;
 import edp.davinci.model.QualityAuditor;
 import edp.davinci.model.QualityTask;
 import edp.davinci.model.User;
@@ -18,6 +19,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -27,6 +29,8 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.List;
 
 @Api(value = "/qualityTask", tags = "qualityTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@@ -218,9 +222,39 @@ public class QualityTaskController extends BaseController
     public ResponseEntity qualityReport(@ApiIgnore @CurrentUser User user,
                                         HttpServletRequest request)
     {
+        List<QualityAuditorDto> qualityAuditorDtoList = new ArrayList<QualityAuditorDto>();
 
         List<QualityAuditor> qualityAuditors = qualityAuditorService.getQualityAuditors();
-        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditors));
+
+        for(QualityAuditor qualityAuditor : qualityAuditors){
+            QualityAuditorDto qualityAuditorDto = new QualityAuditorDto();
+            BeanUtils.copyProperties(qualityAuditor,qualityAuditorDto);
+            DecimalFormat df = new DecimalFormat("0.00");//格式化小数
+
+            String integrityCorrectProbability = df.format((float)qualityAuditor.getIntegrityCorrect()/(qualityAuditor.getIntegrityCorrect()+ qualityAuditor.getIntegrityError()));//返回的是String类型
+            qualityAuditorDto.setIntegrityCorrectProbability(integrityCorrectProbability);
+            String integrityErrorProbability = df.format((float)qualityAuditor.getIntegrityError()/(qualityAuditor.getIntegrityCorrect()+ qualityAuditor.getIntegrityError()));//返回的是String类型
+            qualityAuditorDto.setIntegrityErrorProbability(integrityErrorProbability);
+
+            String uniformityCorrectProbability = df.format((float)qualityAuditor.getUniformityCorrect()/(qualityAuditor.getUniformityCorrect()+ qualityAuditor.getUniformityError()));//返回的是String类型
+            qualityAuditorDto.setUniformityCorrectProbability(uniformityCorrectProbability);
+            String uniformityErrorProbability = df.format((float)qualityAuditor.getUniformityError()/(qualityAuditor.getUniformityCorrect()+ qualityAuditor.getUniformityError()));//返回的是String类型
+            qualityAuditorDto.setUniformityErrorProbability(uniformityErrorProbability);
+
+            String normativeCorrectProbability = df.format((float)qualityAuditor.getNormativeCorrect()/(qualityAuditor.getNormativeCorrect()+ qualityAuditor.getNormativeError()));//返回的是String类型
+            qualityAuditorDto.setNormativeCorrectProbability(normativeCorrectProbability);
+            String normativeErrorProbability = df.format((float)qualityAuditor.getNormativeError()/(qualityAuditor.getNormativeError()+ qualityAuditor.getNormativeError()));//返回的是String类型
+            qualityAuditorDto.setNormativeErrorProbability(normativeErrorProbability);
+
+            String accuracyCorrectProbability = df.format((float)qualityAuditor.getAccuracyCorrect()/(qualityAuditor.getAccuracyCorrect()+ qualityAuditor.getAccuracyError()));//返回的是String类型
+            qualityAuditorDto.setAccuracyCorrectProbability(accuracyCorrectProbability);
+            String accuracyErrorProbability = df.format((float)qualityAuditor.getAccuracyError()/(qualityAuditor.getAccuracyCorrect()+ qualityAuditor.getAccuracyError()));//返回的是String类型
+            qualityAuditorDto.setAccuracyErrorProbability(accuracyErrorProbability);
+
+            qualityAuditorDtoList.add(qualityAuditorDto);
+        }
+
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(qualityAuditorDtoList));
     }
 
     public static void main(String[] args)

+ 1 - 1
server/src/main/java/edp/davinci/dao/QualityAuditorMapper.java

@@ -20,6 +20,6 @@ public interface QualityAuditorMapper
 
     int update(QualityAuditor qualityAuditor);
 
-    @Select({"select * from `quality_auditor`"})
+    @Select({"select qa.*,qt.task_name from `quality_auditor` qa LEFT JOIN quality_task qt on qa.task_id = qt.id "})
     List<QualityAuditor> getQualityAuditorList();
 }

+ 25 - 0
server/src/main/java/edp/davinci/dto/qualityAuditor/QualityAuditorDto.java

@@ -0,0 +1,25 @@
+package edp.davinci.dto.qualityAuditor;
+
+import edp.davinci.model.QualityAuditor;
+import lombok.Data;
+
+@Data
+public class QualityAuditorDto extends QualityAuditor
+{
+
+    private String integrityCorrectProbability; //完整性正确率
+
+    private String integrityErrorProbability; //完整性错误率
+
+    private String uniformityCorrectProbability; //一致性正确率
+
+    private String uniformityErrorProbability; //一致性错误率
+
+    private String normativeCorrectProbability; //规范性正确率
+
+    private String normativeErrorProbability; //规范性错误率
+
+    private String accuracyCorrectProbability; //准确性正确率
+
+    private String accuracyErrorProbability; //完整性错误率
+}

+ 2 - 0
server/src/main/java/edp/davinci/model/QualityAuditor.java

@@ -19,6 +19,8 @@ public class QualityAuditor extends RecordInfo<QualityAuditor>
 
     private Long taskId; // 任务ID
 
+    private String taskName;
+
     private Integer integrityCorrect; //完整性正确
 
     private Integer integrityError; //完整性错误

+ 10 - 9
server/src/main/java/edp/davinci/service/impl/QualityTaskServiceImpl.java

@@ -169,30 +169,31 @@ public class QualityTaskServiceImpl implements QualityTaskService
 
                 throw new ServerException("稽核数据不存在;sql:" + sql);
             }
-
+             int correct = newResult.size(); // 符合条件
+             int error = result.size() - correct;
             if (inspectionType.equalsIgnoreCase("integrity"))
             {
                 // 完整性
-                qualityAuditor.setIntegrityCorrect(newResult.size());
-                qualityAuditor.setIntegrityError(1);
+                qualityAuditor.setIntegrityCorrect(correct);
+                qualityAuditor.setIntegrityError(error);
             }
             if (inspectionType.equalsIgnoreCase("uniformity"))
             {
                 // 一致性
-                qualityAuditor.setUniformityCorrect(1);
-                qualityAuditor.setUniformityError(1);
+                qualityAuditor.setUniformityCorrect(correct);
+                qualityAuditor.setUniformityError(error);
             }
             if (inspectionType.equalsIgnoreCase("normative"))
             {
                 // 规范性
-                qualityAuditor.setNormativeCorrect(1);
-                qualityAuditor.setNormativeError(1);
+                qualityAuditor.setNormativeCorrect(correct);
+                qualityAuditor.setNormativeError(error);
             }
             if (inspectionType.equalsIgnoreCase("accuracy"))
             {
                 // 准确性
-                qualityAuditor.setAccuracyCorrect(1);
-                qualityAuditor.setAccuracyError(1);
+                qualityAuditor.setAccuracyCorrect(correct);
+                qualityAuditor.setAccuracyError(error);
             }
         }