refactor: 冲突

This commit is contained in:
taojinlong 2023-04-17 10:14:59 +08:00
commit a0582d9545
4 changed files with 25 additions and 24 deletions

View File

@ -917,7 +917,7 @@ public class OracleQueryProvider extends QueryProvider {
continue;
}
String originField = String.format(OracleConstants.KEYWORD_FIX, tableObj.getTableAlias(), x.getOriginName());
if (xAxis.get(i).getType().equals("DATE")) {
if(xAxis.get(i).getType().equals("DATE")){
originField = String.format(OracleConstants.TO_CHAR, originField, OracleConstants.DEFAULT_DATE_FORMAT);
}
String fieldAlias = String.format(OracleConstants.KEYWORD_TABLE, x.getOriginName());
@ -1210,7 +1210,7 @@ public class OracleQueryProvider extends QueryProvider {
if (field.getDeType() == 1) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
whereName = String.format(OracleConstants.TO_CHAR, String.format(OracleConstants.TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : OracleConstants.DEFAULT_DATE_FORMAT, format));
whereName = String.format(OracleConstants.TO_CHAR, String.format(OracleConstants.TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : OracleConstants.DEFAULT_DATE_FORMAT), format);
} else {
whereName = String.format(OracleConstants.TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : OracleConstants.DEFAULT_DATE_FORMAT);
}
@ -1231,6 +1231,7 @@ public class OracleQueryProvider extends QueryProvider {
whereName = originName;
}
}
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
whereName = String.format(OracleConstants.CAST, originName, OracleConstants.DEFAULT_FLOAT_FORMAT);

View File

@ -801,11 +801,11 @@ public class PgQueryProvider extends QueryProvider {
}
public String getTotalCount(boolean isTable, String sql, Datasource ds) {
if(isTable){
if (isTable) {
String schema = new Gson().fromJson(ds.getConfiguration(), JdbcConfiguration.class).getSchema();
String tableWithSchema = String.format(PgConstants.KEYWORD_TABLE, schema) + "." + String.format(PgConstants.KEYWORD_TABLE, sql);
return "SELECT COUNT(*) from " + tableWithSchema;
}else {
} else {
return "SELECT COUNT(*) from ( " + sqlFix(sql) + " ) DE_COUNT_TEMP";
}
}
@ -974,7 +974,7 @@ public class PgQueryProvider extends QueryProvider {
}
if (field.getDeType() == 1) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
whereName = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
whereName = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
}
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
String cast = String.format(PgConstants.CAST, originName, "bigint");
@ -1073,31 +1073,31 @@ public class PgQueryProvider extends QueryProvider {
if (field.getDeType() == 1) {
String format = transDateFormat(request.getDateStyle(), request.getDatePattern());
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
String timestamp = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5 || field.getDeExtractType() == 1) {
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
String timestamp = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
whereName = String.format(PgConstants.DATE_FORMAT, timestamp, format);
}else {
whereName = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
} else {
whereName = String.format(PgConstants.STR_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT);
}
}
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
String cast = String.format(PgConstants.CAST, originName, "bigint");
String timestamp = String.format(PgConstants.FROM_UNIXTIME, cast);
whereName = String.format(PgConstants.DATE_FORMAT, timestamp, format);
}else {
} else {
String cast = String.format(PgConstants.CAST, originName, "bigint");
whereName = String.format(PgConstants.FROM_UNIXTIME, cast);
}
}
if (field.getDeExtractType() == 1) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
whereName = String.format(PgConstants.DATE_FORMAT, originName, format);
}else {
} else {
whereName = originName;
}
}
} else if (field.getDeType() == 2 || field.getDeType() == 3) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
@ -1205,7 +1205,7 @@ public class PgQueryProvider extends QueryProvider {
String format = transDateFormat(x.getDateStyle(), x.getDatePattern());
if (x.getDeExtractType() == DeTypeConstants.DE_STRING) {
fieldName = String.format(PgConstants.DATE_FORMAT,
String.format(PgConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT),
String.format(PgConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : PgConstants.DEFAULT_DATE_FORMAT),
format);
} else {
String cast = String.format(PgConstants.CAST, originField, "bigint");

View File

@ -1081,24 +1081,23 @@ public class SqlserverQueryProvider extends QueryProvider {
if (field.getDeType() == 1) {
if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
String date = String.format(SqlServerSQLConstants.STRING_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : SqlServerSQLConstants.DEFAULT_DATE_FORMAT);
whereName = transDateFormat(request.getDateStyle(), request.getDatePattern(), date);
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
whereName = transDateFormat(request.getDateStyle(), request.getDatePattern(), String.format(SqlServerSQLConstants.STRING_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : SqlServerSQLConstants.DEFAULT_DATE_FORMAT));
}else {
whereName = String.format(SqlServerSQLConstants.STRING_TO_DATE, originName, StringUtils.isNotEmpty(field.getDateFormat()) ? field.getDateFormat() : SqlServerSQLConstants.DEFAULT_DATE_FORMAT);
}
}
if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
String cast = String.format(SqlServerSQLConstants.LONG_TO_DATE, originName + "/1000");
whereName = transDateFormat(request.getDateStyle(), request.getDatePattern(), String.format(SqlServerSQLConstants.FROM_UNIXTIME, cast));
whereName = transDateFormat(request.getDateStyle(), request.getDatePattern(), cast);
}else {
String cast = String.format(SqlServerSQLConstants.LONG_TO_DATE, originName + "/1000");
whereName = String.format(SqlServerSQLConstants.FROM_UNIXTIME, cast);
}
}
if (field.getDeExtractType() == 1) {
if(StringUtils.containsIgnoreCase(request.getOperator(), "in")){
if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) {
whereName = transDateFormat(request.getDateStyle(), request.getDatePattern(), originName);
}else {
whereName = originName;

View File

@ -16,8 +16,9 @@ export const isChange = (conditions1, conditions2) => {
if (conditions1.length !== conditions2.length) return true
let arr1 = JSON.parse(JSON.stringify(conditions1))
let arr2 = JSON.parse(JSON.stringify(conditions2))
arr1 = arr1.sort((s1, s2) => s1.componentId > s2.componentId)
arr2 = arr2.sort((s1, s2) => s1.componentId > s2.componentId)
const strCodeAt = (str) => str[0].charCodeAt()
arr1 = arr1.sort((s1, s2) => strCodeAt(s1.componentId) - strCodeAt(s2.componentId))
arr2 = arr2.sort((s1, s2) => strCodeAt(s1.componentId) - strCodeAt(s2.componentId))
return JSON.stringify(arr1) !== JSON.stringify(arr2)
}