diff --git a/mdp-form/src/main/java/com/mdp/form/service/FormDataService.java b/mdp-form/src/main/java/com/mdp/form/service/FormDataService.java index 51c3899..fe102de 100644 --- a/mdp-form/src/main/java/com/mdp/form/service/FormDataService.java +++ b/mdp-form/src/main/java/com/mdp/form/service/FormDataService.java @@ -293,13 +293,16 @@ public class FormDataService extends BaseService { if(FormUtil.TASK_COMPLETED_FORM_DATA_UPDATE.equals(eventName) || FormUtil.TASK_COMPLETED.equals(eventName)) { Map formDatasMap=( Map) flowVars.get("formData"); - if(formDatasMap!=null) { + if(formDatasMap!=null && !formDatasMap.isEmpty()) { FormDataVo formDataOrigin=BaseUtils.fromMap(formDatasMap, FormDataVo.class); String fieldIds= (String) flowVars.get(FormUtil.NEED_UPDATE_FORM_DATA_FIELD_ID_LIST); FormDefVo formDefVo=this.formFieldService.getFormFieldFromCache(formId); boolean needUpdateBizKey=false; Map needUpdateFormDataMap=new HashMap<>(); - if(ObjectTools.isNotEmpty(fieldIds)) { + if(ObjectTools.isEmpty(fieldIds)||"all".equalsIgnoreCase(fieldIds)){ + needUpdateFormDataMap.putAll(formDatasMap); + }else if(!"none".equalsIgnoreCase(fieldIds)) { + for (String fieldId : fieldIds.split(",")) { Object value=formDatasMap.get(fieldId); needUpdateFormDataMap.put(fieldId, value); @@ -307,15 +310,15 @@ public class FormDataService extends BaseService { needUpdateBizKey=true; } } - }else{ - needUpdateFormDataMap.putAll(formDatasMap); } - String bizKey=this.createBizKey(formDefVo.getFormFields(), formDataOrigin); - if(needUpdateBizKey){ - needUpdateFormDataMap.put("bizKey", bizKey); + if(!needUpdateFormDataMap.isEmpty()){ + String bizKey=this.createBizKey(formDefVo.getFormFields(), formDataOrigin); + if(needUpdateBizKey){ + needUpdateFormDataMap.put("bizKey", bizKey); + } + this.updateSomeFieldsByFormDataId(needUpdateFormDataMap); } - needUpdateFormDataMap.put("procInstId", procInstId); - this.updateSomeFieldsByFormDataId(needUpdateFormDataMap); + } }else {