Forráskód Böngészése

保存看板实例时,初始化公共参数值

sunyj 8 éve
szülő
commit
a50565249c

+ 13 - 1
kanban-console/src/main/java/com/uas/kanban/model/GlobalParameter.java

@@ -184,6 +184,18 @@ public class GlobalParameter extends BaseEntity {
 		}
 	}
 
+    /**
+     * 初始化参数值(如果已填写,不初始化)
+     */
+	public void mayInitValue(){
+        if (!ObjectUtils.isEmpty(getValue())) {
+            return;
+        }
+        if((inputMode == InputMode.Radio || inputMode == InputMode.DropDownBox) && optionalValues != null){
+            value = optionalValues.get(defaultOptionalValueIndex == null ? 0 : defaultOptionalValueIndex - 1);
+        }
+    }
+
 	/**
 	 * 检查参数
 	 *
@@ -194,7 +206,7 @@ public class GlobalParameter extends BaseEntity {
 		// 检查参数值是否已填写
 		if (ObjectUtils.isEmpty(getValue())) {
 			if((inputMode == InputMode.Radio || inputMode == InputMode.DropDownBox) && optionalValues != null){
-				setValue(optionalValues.get(defaultOptionalValueIndex == null ? 1 : defaultOptionalValueIndex));
+				value = optionalValues.get(defaultOptionalValueIndex == null ? 0 : defaultOptionalValueIndex - 1);
 			}
 			else{
 				throw new IllegalArgumentException("需填写公共参数:code=" + code + ", name=" + name);

+ 3 - 0
kanban-console/src/main/java/com/uas/kanban/service/impl/KanbanInstanceServiceImpl.java

@@ -105,6 +105,9 @@ public class KanbanInstanceServiceImpl extends BaseService<KanbanInstance> imple
 		List<GlobalParameter> globalParameters = kanbanInstance.getGlobalParameters();
 		Map<String, List<TemplateParameter>> parameters = kanbanInstance.getParameters();
 		if (!CollectionUtils.isEmpty(globalParameters) || !CollectionUtils.isEmpty(parameters)) {
+            for(GlobalParameter globalParameter:globalParameters){
+                globalParameter.mayInitValue();
+            }
 			try {
 				KanbanInstance kanbanInstanceClone = ObjectUtils.clone(kanbanInstance);
 				generateParameters(kanbanInstanceClone);