Skip to content

Commit e60668c

Browse files
committed
fix: Form save error
--bug=1068056@tapd-34675357 --user=宋昌昌 【回款计划&回款记录】导出显示字段时,发现数据源单选(合同)未导出 https://www.tapd.cn/34675357/s/1892403
1 parent 25447a6 commit e60668c

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

backend/crm/src/main/java/cn/cordys/crm/system/service/ModuleFormService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,18 @@ private void resetSerial(List<ModuleField> oldFields, List<BaseField> saveFields
299299
*/
300300
private void saveFields(List<BaseField> saveFields, String saveFormId, String currentUserId) {
301301
// 剔除引用字段&&并保留到数据源引用字段
302-
List<String> showFields = saveFields.stream().filter(f -> f instanceof DatasourceField sourceField && CollectionUtils.isNotEmpty(sourceField.getShowFields()))
302+
List<BaseField> fieldToSave = new ArrayList<>(saveFields);
303+
List<String> showFields = fieldToSave.stream().filter(f -> f instanceof DatasourceField sourceField && CollectionUtils.isNotEmpty(sourceField.getShowFields()))
303304
.flatMap(sf -> ((DatasourceField) sf).getShowFields().stream()).distinct().toList();
304-
List<BaseField> refFields = saveFields.stream().filter(f -> showFields.contains(f.getId()))
305+
List<BaseField> refFields = fieldToSave.stream().filter(f -> showFields.contains(f.getId()) && StringUtils.isNotEmpty(f.getResourceFieldId()))
305306
.collect(Collectors.toMap(BaseField::getId, Function.identity(), (a, b) -> a)).values().stream()
306307
.toList();
307-
saveFields.removeAll(refFields);
308+
fieldToSave.removeAll(refFields);
308309

309310
List<ModuleField> addFields = new ArrayList<>();
310311
List<ModuleFieldBlob> addFieldBlobs = new ArrayList<>();
311312
AtomicLong pos = new AtomicLong(1);
312-
saveFields.forEach(field -> {
313+
fieldToSave.forEach(field -> {
313314
ModuleField moduleField = new ModuleField();
314315
moduleField.setId(field.getId());
315316
moduleField.setFormId(saveFormId);

0 commit comments

Comments
 (0)