diff --git a/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/dto/CheckRuleDto.java b/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/dto/CheckRuleDto.java
index 0f083a4..11c2920 100644
--- a/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/dto/CheckRuleDto.java
+++ b/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/dto/CheckRuleDto.java
@@ -9,6 +9,7 @@ import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -61,4 +62,8 @@ public class CheckRuleDto implements Serializable {
private String status;
@ApiModelProperty(value = "备注")
private String remark;
+
+ private List transferValue;
+
+ private String qualityType;
}
diff --git a/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/query/CheckRuleQuery.java b/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/query/CheckRuleQuery.java
index 69ab8b9..465aca9 100644
--- a/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/query/CheckRuleQuery.java
+++ b/studio/modules/data-quality-service-parent/data-quality-service-api/src/main/java/cn/datax/service/data/quality/api/query/CheckRuleQuery.java
@@ -23,4 +23,6 @@ public class CheckRuleQuery extends BaseQueryParams {
private String ruleSource;
private String ruleTable;
private String ruleColumn;
+
+ private String ruleType;
}
diff --git a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/controller/CheckRuleController.java b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/controller/CheckRuleController.java
index 70249a1..447ebbf 100644
--- a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/controller/CheckRuleController.java
+++ b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/controller/CheckRuleController.java
@@ -85,6 +85,13 @@ public class CheckRuleController extends BaseController {
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleSource()), "r.rule_source", checkRuleQuery.getRuleSource());
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleTable()), "r.rule_table", checkRuleQuery.getRuleTable());
queryWrapper.like(StrUtil.isNotBlank(checkRuleQuery.getRuleColumn()), "r.rule_column", checkRuleQuery.getRuleColumn());
+ //结构符合校验过滤
+ if("jj".equals(checkRuleQuery.getRuleType())){
+ queryWrapper.in("t.code","table_jc","length_jc","null_jc","pk_jc","fk_jc");
+ } else {
+ queryWrapper.in("t.code","unique","integrity","accuracy","consistent","relevance","regular","timeliness");
+ }
+// queryWrapper.in("t.code","")
IPage page = checkRuleService.page(new Page<>(checkRuleQuery.getPageNum(), checkRuleQuery.getPageSize()), queryWrapper);
List collect = page.getRecords().stream().map(checkRuleMapper::toVO).collect(Collectors.toList());
JsonPage jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
@@ -104,6 +111,7 @@ public class CheckRuleController extends BaseController {
return R.ok().setData(checkRuleMapper.toVO(checkRuleEntity));
}
+
/**
* 修改
* @param checkRule
@@ -145,4 +153,14 @@ public class CheckRuleController extends BaseController {
checkRuleService.deleteCheckRuleBatch(ids);
return R.ok();
}
+
+
+
+ @GetMapping("/listSourceIdBytable/{id}")
+ public R listSourceIdBytable(@PathVariable String id) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("rule_source_id",id);
+ List checkRuleList = checkRuleService.list(queryWrapper);
+ return R.ok().setData(checkRuleMapper.toVO(checkRuleList));
+ }
}
diff --git a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/schedule/rules/RegularRule.java b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/schedule/rules/RegularRule.java
index 569be0b..cae315b 100644
--- a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/schedule/rules/RegularRule.java
+++ b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/schedule/rules/RegularRule.java
@@ -17,11 +17,10 @@ public class RegularRule implements RuleItem{
switch (dbType) {
case ORACLE:
case ORACLE_12C:
- builder.append("SELECT SUM(CASE WHEN ROUND(TO_NUMBER(SYSDATE - ").append(column).append(")) >= ").append(map.get(REGULAR)).append(" THEN 1 ELSE 0 END), COUNT(*) FROM ").append(table);
- break;
case MYSQL:
- builder.append("select sum(case when ").append(column).append(" REGEXP ").append("'"+map.get(REGULAR)+"'").append(" != '' THEN 0 ELSE 1 END),")
- .append(" COUNT(*) from ").append(table);
+ // mysql 执行正则
+ builder.append("SELECT SUM(CASE WHEN ").append(column).append(" REGEXP ").append("'"+map.get(REGULAR)+"'").append(" != '' THEN 0 ELSE 1 END),").append(" COUNT(*) FROM ").append(table);
+ break;
case MARIADB:
case SQL_SERVER:
case SQL_SERVER2008:
diff --git a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/service/impl/CheckRuleServiceImpl.java b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/service/impl/CheckRuleServiceImpl.java
index f1b6c75..760d18f 100644
--- a/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/service/impl/CheckRuleServiceImpl.java
+++ b/studio/modules/data-quality-service-parent/data-quality-service/src/main/java/cn/datax/service/data/quality/service/impl/CheckRuleServiceImpl.java
@@ -50,11 +50,24 @@ public class CheckRuleServiceImpl extends BaseServiceImpl().eq("rule_source_id", sourceId).last("limit 1"));
}
+
private String parseSql(CheckRuleEntity checkRule) {
RuleConfig ruleConfig = checkRule.getRuleConfig();
Map map = new HashMap<>();