feat(X-Pack): 数据填报更新数据支持字段置空

This commit is contained in:
ulleo 2024-04-03 14:37:41 +08:00
parent 76903a2328
commit 85cae1a240

View File

@ -333,18 +333,18 @@ public class DataFillDataService {
if (StringUtils.equalsIgnoreCase(field.getType(), "dateRange")) { if (StringUtils.equalsIgnoreCase(field.getType(), "dateRange")) {
String name1 = field.getSettings().getMapping().getColumnName1(); String name1 = field.getSettings().getMapping().getColumnName1();
String name2 = field.getSettings().getMapping().getColumnName2(); String name2 = field.getSettings().getMapping().getColumnName2();
if (tableFieldMap.containsKey(name1) && data.containsKey(name1) && data.get(name1) != null) { if (tableFieldMap.containsKey(name1)) {
DatasourceRequest.TableFieldWithValue value1 = new DatasourceRequest.TableFieldWithValue() DatasourceRequest.TableFieldWithValue value1 = new DatasourceRequest.TableFieldWithValue()
.setValue(new java.sql.Date((long) data.get(name1))) .setValue(data.get(name1) != null ? new java.sql.Date((long) data.get(name1)) : null)
.setFiledName(name1) .setFiledName(name1)
.setTypeName(tableFieldMap.get(name1).getFieldType()) .setTypeName(tableFieldMap.get(name1).getFieldType())
.setType(tableFieldMap.get(name1).getType()); .setType(tableFieldMap.get(name1).getType());
searchFields.add(value1); searchFields.add(value1);
extTableFields.put(name1, field); extTableFields.put(name1, field);
} }
if (tableFieldMap.containsKey(name2) && data.containsKey(name2) && data.get(name2) != null) { if (tableFieldMap.containsKey(name2)) {
DatasourceRequest.TableFieldWithValue value2 = new DatasourceRequest.TableFieldWithValue() DatasourceRequest.TableFieldWithValue value2 = new DatasourceRequest.TableFieldWithValue()
.setValue(new java.sql.Date((long) data.get(name2))) .setValue(data.get(name2) != null ? new java.sql.Date((long) data.get(name2)) : null)
.setFiledName(name2) .setFiledName(name2)
.setTypeName(tableFieldMap.get(name2).getFieldType()) .setTypeName(tableFieldMap.get(name2).getFieldType())
.setType(tableFieldMap.get(name2).getType()); .setType(tableFieldMap.get(name2).getType());
@ -353,7 +353,7 @@ public class DataFillDataService {
} }
} else { } else {
String name = field.getSettings().getMapping().getColumnName(); String name = field.getSettings().getMapping().getColumnName();
if (tableFieldMap.containsKey(name) && data.containsKey(name) && data.get(name) != null) { if (tableFieldMap.containsKey(name)) {
DatasourceRequest.TableFieldWithValue value = new DatasourceRequest.TableFieldWithValue() DatasourceRequest.TableFieldWithValue value = new DatasourceRequest.TableFieldWithValue()
.setValue(data.get(name)) .setValue(data.get(name))
.setFiledName(name) .setFiledName(name)
@ -361,14 +361,14 @@ public class DataFillDataService {
.setType(tableFieldMap.get(name).getType()); .setType(tableFieldMap.get(name).getType());
if (StringUtils.equalsIgnoreCase(field.getType(), "date")) { if (StringUtils.equalsIgnoreCase(field.getType(), "date")) {
value.setValue(new java.sql.Date((long) data.get(name))); value.setValue(data.get(name) != null ? new java.sql.Date((long) data.get(name)) : null);
} }
searchFields.add(value); searchFields.add(value);
extTableFields.put(name, field); extTableFields.put(name, field);
// 关于unique的字段判断 // 关于unique的字段判断
if (field.getSettings().isUnique()) { if (field.getSettings().isUnique() && data.get(name) != null) {
uniqueFields.add(value); uniqueFields.add(value);
} }