|
@@ -140,12 +140,14 @@ public class QualityTaskServiceImpl implements QualityTaskService {
|
|
|
|
|
|
StringBuilder sql = new StringBuilder("select * from (" + view.getSql() + " ) v where 1 =1 ");
|
|
|
List<Map<String, Object>> result = sqlUtils.query4List(sql.toString(), -1);
|
|
|
+ // 1. 【完整性】
|
|
|
if (dataRules.getRuleType().equalsIgnoreCase("not_null")) {
|
|
|
// 非空
|
|
|
sql.append(" and ");
|
|
|
sql.append("v." + fieldName + " is not null ");
|
|
|
|
|
|
}
|
|
|
+ // 2. 【一致性】
|
|
|
if (dataRules.getRuleType().equalsIgnoreCase("range")) {
|
|
|
// 值域
|
|
|
sql.append(" and ");
|
|
@@ -163,6 +165,17 @@ public class QualityTaskServiceImpl implements QualityTaskService {
|
|
|
sql.append(fieldName + " is not null ");
|
|
|
}
|
|
|
|
|
|
+ // 3. 【准确性】
|
|
|
+ if (dataRules.getRuleType().equalsIgnoreCase("repeat_data")) {
|
|
|
+ // 重复数据
|
|
|
+ sql.append("select "+ fieldName +" from (" + view.getSql() + ") GROUP BY "+ fieldName +" HAVING Count(*)> 1");
|
|
|
+ }
|
|
|
+ // 4. 【规范性】
|
|
|
+ if (dataRules.getRuleType().equalsIgnoreCase("null_data")) {
|
|
|
+ // 日期格式
|
|
|
+ sql.append(" and ");
|
|
|
+ sql.append(fieldName + " is null ");
|
|
|
+ }
|
|
|
// 符合条件的
|
|
|
List<Map<String, Object>> newResult = sqlUtils.query4List(sql.toString(), -1);
|
|
|
|