Browse Source

规则判断

liuwenwen 2 năm trước cách đây
mục cha
commit
0245fa8b66

+ 14 - 11
server/src/main/java/edp/davinci/service/impl/QualityTaskServiceImpl.java

@@ -131,10 +131,13 @@ public class QualityTaskServiceImpl implements QualityTaskService {
                 throw new ServerException("id 为 " + subjectId + " 数据标准不存在 ");
             }
 
-            DataRules dataRules = dataRulesService.getDataRule(dataSubject.getId());
-            if (null == dataRules) {
+            List<DataRules> dataRulesList = dataRulesService.getDataRulesListBySubjectId(dataSubject.getId());
+            if (null == dataRulesList || dataRulesList.size() == 0) {
                 throw new ServerException("id 为 " + subjectId + " 数据规则不存在 ");
             }
+            //
+            for(DataRules dataRules : dataRulesList){
+
             JSONObject ruleConfig = JSONObject.parseObject(dataRules.getRuleConfig());
             String inspectionType = dataRules.getInspectionType();
             String viewSql = view.getSql();
@@ -143,7 +146,6 @@ public class QualityTaskServiceImpl implements QualityTaskService {
             }
             StringBuilder sql = new StringBuilder("select * from (" + viewSql + " ) v where 1 =1 ");
             System.out.println("☆☆☆☆☆☆☆☆☆☆☆" + sql.toString());
-            optLogger.error("☆☆☆☆☆☆☆☆☆☆☆" + sql.toString());
             List<Map<String, Object>> result = sqlUtils.query4List(sql.toString(), -1);
 
             // 1. 【完整性】
@@ -200,23 +202,24 @@ public class QualityTaskServiceImpl implements QualityTaskService {
             Integer error = result.size() - correct;
             if (inspectionType.equalsIgnoreCase("integrity")) {
                 // 完整性
-                qualityAuditor.setIntegrityCorrect(correct);
-                qualityAuditor.setIntegrityError(error);
+                qualityAuditor.setIntegrityCorrect(qualityAuditor.getIntegrityCorrect() + correct);
+                qualityAuditor.setIntegrityError(qualityAuditor.getIntegrityError()+error);
             }
             if (inspectionType.equalsIgnoreCase("uniformity")) {
                 // 一致性
-                qualityAuditor.setUniformityCorrect(correct);
-                qualityAuditor.setUniformityError(error);
+                qualityAuditor.setUniformityCorrect(qualityAuditor.getUniformityCorrect()+ correct);
+                qualityAuditor.setUniformityError(qualityAuditor.getUniformityError()+error);
             }
             if (inspectionType.equalsIgnoreCase("normative")) {
                 // 规范性
-                qualityAuditor.setNormativeCorrect(correct);
-                qualityAuditor.setNormativeError(error);
+                qualityAuditor.setNormativeCorrect(qualityAuditor.getNormativeCorrect()+ correct);
+                qualityAuditor.setNormativeError(qualityAuditor.getNormativeError()+ error);
             }
             if (inspectionType.equalsIgnoreCase("accuracy")) {
                 // 准确性
-                qualityAuditor.setAccuracyCorrect(correct);
-                qualityAuditor.setAccuracyError(error);
+                qualityAuditor.setAccuracyCorrect(qualityAuditor.getAccuracyCorrect()+ correct);
+                qualityAuditor.setAccuracyError(qualityAuditor.getAccuracyError() +error);
+            }
             }
         }