Browse Source

Diagram增加state字段

zhaoyk 3 years ago
parent
commit
92ce674eee

+ 47 - 2
adm-business/adm-diagram/src/main/java/com/persagy/adm/diagram/controller/DemoDiagramController.java

@@ -19,29 +19,74 @@ public class DemoDiagramController {
 	@Autowired
 	private DemoDiagramManager diagramManager;
 
+	/**
+	 * 查询系统图
+	 * @param projectId 项目id
+	 * @param systemId 系统实例id
+	 * @param groupCode 集团编码
+	 * @return 树形结构数据(专业-系统-类型-图)
+	 */
 	@RequestMapping("getDiagrams")
-	public CommonResult<List<Folder>> getDiagrams(@RequestParam String projectId, @RequestParam(required = false) String systemId, @RequestParam(required = false) String groupCode){
+	public CommonResult<List<Folder>> getDiagrams(@RequestParam String projectId,
+												  @RequestParam(required = false) String systemId,
+												  @RequestParam(required = false) String groupCode){
 		return CommonResult.success(diagramManager.getDiagrams(projectId, systemId, groupCode));
 	}
 
+	/**
+	 * 新建系统图
+	 * @param params 新建参数,对象类型,包含字段 name:名称, type:系统图类型编码
+	 * @param projectId 项目id
+	 * @param systemId 系统实例id
+	 * @param groupCode 集团编码
+	 * @return 新建的系统图对象
+	 */
 	@RequestMapping("newDiagram")
-	public CommonResult<Diagram> newDiagram(@RequestBody Map<String, String> params, @RequestParam String projectId, @RequestParam(required = false) String systemId, @RequestParam(required = false) String groupCode){
+	public CommonResult<Diagram> newDiagram(@RequestBody Map<String, String> params,
+											@RequestParam String projectId,
+											@RequestParam(required = false) String systemId,
+											@RequestParam(required = false) String groupCode){
 		return CommonResult.success(diagramManager.createDiagram(params.get("name"), params.get("type"), projectId, systemId, groupCode));
 	}
 
+	/**
+	 * 删除系统图
+	 * @param params 删除参数,对象类型,包含字段 id:系统图id
+	 * @return
+	 */
 	@RequestMapping("delDiagram")
 	public CommonResult<Boolean> delDiagram(@RequestBody Map<String, String> params){
 		return CommonResult.success(diagramManager.deleteDiagram(params.get("id")));
 	}
 
+	/**
+	 * 设置(修改)系统图使用的模板
+	 * @param req 编辑参数,对象类型,包含字段 diagramId:系统图id, templateId:使用的模板id
+	 * @return 系统图对象
+	 */
 	@RequestMapping("setTemplate")
 	public CommonResult<Diagram> setTemplate(@RequestBody EditRequest req){
 		return CommonResult.success(diagramManager.setTemplate(req.getDiagramId(), req.getTemplateId()));
 	}
 
+	/**
+	 * 自动加载数据
+	 * @param req 编辑参数,对象类型,包含字段 diagramId:系统图id
+	 * @return 系统图对象
+	 */
 	@RequestMapping("loadData")
 	public CommonResult<Diagram> loadData(@RequestBody EditRequest req) {
 		return CommonResult.success(diagramManager.loadData(req.getDiagramId(), true));
 	}
 
+	/**
+	 * 保存系统图
+	 * @param req 编辑参数,对象类型,包含字段 diagram:系统图对象
+	 * @return 保存后的系统图对象
+	 */
+	@RequestMapping("saveDiagram")
+	public CommonResult<Diagram> saveDiagram(@RequestBody EditRequest req) {
+		return CommonResult.success(diagramManager.saveDiagram(req.getDiagram()));
+	}
+
 }

+ 27 - 12
adm-business/adm-diagram/src/main/java/com/persagy/adm/diagram/core/model/Diagram.java

@@ -43,18 +43,6 @@ public class Diagram {
 	private String templateId;
 
 	/**
-	 * 节点列表
-	 */
-	@Expose
-	private List<DiagramNode> nodes = new ArrayList<>();
-
-	/**
-	 * 连线列表
-	 */
-	@Expose
-	private List lines = new ArrayList();
-
-	/**
 	 * 所属的系统类型
 	 */
 	@Expose
@@ -78,6 +66,25 @@ public class Diagram {
 	@Expose
 	private String groupCode;
 
+	/**
+	 * 系统图状态
+	 */
+	@Expose
+	private String state;
+
+
+	/**
+	 * 节点列表
+	 */
+	@Expose
+	private List<DiagramNode> nodes = new ArrayList<>();
+
+	/**
+	 * 连线列表
+	 */
+	@Expose
+	private List lines = new ArrayList();
+
 	//运行时
 	private DiagramTemplate template;
 
@@ -227,6 +234,14 @@ public class Diagram {
 		this.groupCode = groupCode;
 	}
 
+	public String getState() {
+		return state;
+	}
+
+	public void setState(String state) {
+		this.state = state;
+	}
+
 	public DiagramTemplate getTemplate() {
 		return template;
 	}

+ 2 - 0
adm-business/adm-diagram/src/main/java/com/persagy/adm/diagram/frame/EditRequest.java

@@ -33,6 +33,8 @@ public class EditRequest {
 
 	private String diagramId;
 
+	private Map<String, Object> diagram;
+
 	private Map<String, Object> dataFilter;
 
 	private EquipPack equipPack;

+ 14 - 0
adm-business/adm-diagram/src/main/java/com/persagy/adm/diagram/manage/DemoDiagramManager.java

@@ -3,10 +3,12 @@ package com.persagy.adm.diagram.manage;
 import cn.hutool.core.util.IdUtil;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.persagy.adm.diagram.core.ContentParser;
 import com.persagy.adm.diagram.core.DiagramView;
 import com.persagy.adm.diagram.core.model.ConnectPoint;
 import com.persagy.adm.diagram.core.model.Label;
 import com.persagy.adm.diagram.core.model.Line;
+import com.persagy.adm.diagram.core.model.legend.Legend;
 import com.persagy.adm.diagram.core.model.style.BaseStyle;
 import com.persagy.adm.diagram.core.model.style.LineStyle;
 import com.persagy.adm.diagram.entity.DiagramType;
@@ -21,6 +23,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 系统图编辑/展现(演示版)的相关操作
@@ -32,6 +35,9 @@ public class DemoDiagramManager {
 	private final DataStrategy dataStrategy;
 
 	@Autowired
+	private ContentParser parser;
+
+	@Autowired
 	public DemoDiagramManager(@Qualifier(DataStrategy.implQualifier) DataStrategy dataStrategy) {
 		this.dataStrategy = dataStrategy;
 	}
@@ -175,4 +181,12 @@ public class DemoDiagramManager {
 			loader.autoLoad();
 	}
 
+	/**
+	 * 保存系统图
+	 */
+	public Diagram saveDiagram(Map<String, Object> diagramMap) {
+		Diagram diagram = parser.parseContent(parser.toJson(diagramMap), Diagram.class);
+		return dataStrategy.saveDiagram(diagram);
+	}
+
 }