Parcourir la source

********labsl VS meiku***********************************
蜡笔森林 添加注释
美库 添加注释

zhangweixin il y a 4 ans
Parent
commit
e8c925afcf
24 fichiers modifiés avec 1119 ajouts et 493 suppressions
  1. 11 4
      labsl/src/main/kotlin/com/persagy/labsl/controller/GraphController.kt
  2. 22 25
      labsl/src/main/kotlin/com/persagy/labsl/controller/planar/PlanarGraphController.kt
  3. 38 0
      labsl/src/main/kotlin/com/persagy/labsl/controller/planar/PlanarQbsRuleController.kt
  4. 1 1
      labsl/src/main/kotlin/com/persagy/labsl/services/planar/Building.kt
  5. 2 2
      labsl/src/main/kotlin/com/persagy/labsl/services/planar/Floor.kt
  6. 62 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/ObjExtInfo.kt
  7. 16 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/ObjExtInfoPub.kt
  8. 23 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarElements.kt
  9. 23 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarElementsPub.kt
  10. 23 6
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarGraph.kt
  11. 115 1
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarGraphPub.kt
  12. 77 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarMarkers.kt
  13. 20 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarMarkersPub.kt
  14. 56 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarQbsRule.kt
  15. 18 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarQbsRulePub.kt
  16. 96 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarRelation.kt
  17. 15 0
      labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarRelationPub.kt
  18. 20 0
      labsl/src/main/kotlin/com/persagy/labsl/services/CustomService.kt
  19. 26 0
      labsl/src/main/kotlin/com/persagy/labsl/services/GraphService.kt
  20. 8 0
      labsl/src/main/kotlin/com/persagy/labsl/services/mappers/CustomMapper.kt
  21. 406 440
      labsl/src/main/kotlin/com/persagy/labsl/services/planar/PlanarGraphService.kt
  22. 27 0
      labsl/src/main/kotlin/com/persagy/labsl/services/planar/PlanarQbsRuleService.kt
  23. 7 7
      labsl/src/main/resources/application-prod.yml
  24. 7 7
      meiku/src/main/resources/application-prod.yml

+ 11 - 4
labsl/src/main/kotlin/com/persagy/labsl/controller/GraphController.kt

@@ -15,10 +15,7 @@ import com.persagy.service.models.responses.SCreateResponse
 import com.persagy.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
-import org.springframework.web.bind.annotation.PostMapping
-import org.springframework.web.bind.annotation.RequestBody
-import org.springframework.web.bind.annotation.RequestMapping
-import org.springframework.web.bind.annotation.RestController
+import org.springframework.web.bind.annotation.*
 
 /**
  * 图形
@@ -187,4 +184,14 @@ class GraphController {
         return GraphService.deleteByKeysList(idList)
     } // Function delete()
 
+
+//    /**
+//     * 根据标签查询已发布图形
+//     */
+//    @Operation(summary = "已发布-根据标签查询已发布图形", description = "")
+//    @PostMapping(value = ["/pub/label"])
+//    fun labelPub(@RequestParam label: String): SQueryResponse<GraphPub>{
+//        return GraphService.containLabelPub(label)
+//    }
+
 } // Class GraphController

+ 22 - 25
labsl/src/main/kotlin/com/persagy/labsl/controller/planar/PlanarGraphController.kt

@@ -1,13 +1,10 @@
 package com.persagy.labsl.controller.planar
 
-import com.persagy.database.SFilter
-import com.persagy.labsl.Opts
 import com.persagy.labsl.models.entities.pbs.PlanarGraph
 import com.persagy.labsl.models.entities.pbs.PlanarGraphPub
+import com.persagy.labsl.models.entities.pbs.Building
 import com.persagy.labsl.models.response.SCommonResponse
-import com.persagy.labsl.services.planar.Building
 import com.persagy.labsl.services.planar.PlanarGraphService
-import com.persagy.service.models.requests.SCreateRequest
 import com.persagy.service.models.requests.SQueryRequest
 import com.persagy.service.models.requests.SUpdateRequest
 import com.persagy.service.models.responses.SBaseResponse
@@ -48,11 +45,11 @@ class PlanarGraphController {
      * @param  graph   待图对象
      * @return  图对象列表
      */
-//   @Operation(summary = "未发布-保存图形", description = "")
-//    @PostMapping("/drafts/save")
-//    fun save(@RequestBody graph: PlanarGraph): SCreateResponse<PlanarGraph> {
-//        return PlanarGraphService.save(graph)
-//    } // Function save()
+   @Operation(summary = "未发布-保存图形", description = "")
+    @PostMapping("/drafts/save")
+    fun save(@RequestBody graph: PlanarGraph): SCreateResponse<PlanarGraph> {
+        return PlanarGraphService.save(graph)
+    } // Function save()
 
     /**
      * 发布图形
@@ -109,7 +106,7 @@ class PlanarGraphController {
      * @param  request  查询条件
      * @return 查询结果
      */
-    @Operation(summary = "未发布-查询图形信息", description = "state 1(未发布),state 4(回收站) ,Id 和 GraphId 必填")
+    @Operation(summary = "未发布-查询图形信息", description = "state Draft(未发布),state Recyle(回收站) ,Id 和 GraphId 必填")
     @PostMapping(value = ["/drafts/query"])
     fun query(@RequestBody request: SQueryRequest): SQueryResponse<Building> {
         return PlanarGraphService.pageQuerysDrafts(request)
@@ -121,11 +118,11 @@ class PlanarGraphController {
      * @param graph  图例对象
      * @return 查询结果
      */
-//   @Operation(summary = "未发布-查询图形以及所有节点信息", description = "Id 和 GraphId 必填")
-//    @PostMapping(value = ["/drafts/read"])
-//    fun readDrafts(@RequestBody graph: PlanarGraph): SCommonResponse<PlanarGraph> {
-//        return PlanarGraphService.readDrafts(graph)
-//    } // Fun readDrafts()
+   @Operation(summary = "未发布-查询图形以及所有节点信息", description = "Id 和 GraphId 必填")
+    @PostMapping(value = ["/drafts/read"])
+    fun readDrafts(@RequestBody graph: PlanarGraph): SCommonResponse<PlanarGraph> {
+        return PlanarGraphService.readDrafts(graph)
+    } // Fun readDrafts()
 
     /**
      * 已发布 - 读取图形所有节点
@@ -133,11 +130,11 @@ class PlanarGraphController {
      * @param graph  图例对象
      * @return 查询结果
      */
-//   @Operation(summary = "已发布-查询图形以及所有节点信息", description = "Id 和 GraphId 必填")
-//    @PostMapping(value = ["/pub/read"])
-//    fun readPub(@RequestBody graph: PlanarGraphPub): SCommonResponse<PlanarGraphPub> {
-//        return PlanarGraphService.readPub(graph)
-//    } // Fun readPub()
+   @Operation(summary = "已发布-查询图形以及所有节点信息", description = "Id 和 GraphId 必填")
+    @PostMapping(value = ["/pub/read"])
+    fun readPub(@RequestBody graph: PlanarGraphPub): SCommonResponse<PlanarGraphPub> {
+        return PlanarGraphService.readPub(graph)
+    } // Fun readPub()
 
     /**
      * 已发布图形查询   *****************************************************
@@ -169,11 +166,11 @@ class PlanarGraphController {
      * @param graph  图对象
      * @return 恢复结果
      */
-//   @Operation(summary = "回收站- 恢复图形", description = "Id 和 GraphId 必填 ")
-//    @PostMapping(value = ["recycle/recovery"])
-//    fun recovery(@RequestBody graph: PlanarGraph): SBaseResponse{
-//    return PlanarGraphService.recovery(graph)
-//    }
+   @Operation(summary = "回收站- 恢复图形", description = "Id 和 GraphId 必填 ")
+    @PostMapping(value = ["recycle/recovery"])
+    fun recovery(@RequestBody graph: PlanarGraph): SBaseResponse{
+    return PlanarGraphService.recovery(graph)
+    }
 
     /**
      * 根据id删除图形

+ 38 - 0
labsl/src/main/kotlin/com/persagy/labsl/controller/planar/PlanarQbsRuleController.kt

@@ -0,0 +1,38 @@
+package com.persagy.labsl.controller.planar
+
+import com.persagy.labsl.models.entities.pbs.PlanarQbsRule
+import com.persagy.labsl.services.planar.PlanarQbsRuleService
+import com.persagy.service.models.requests.SCreateRequest
+import com.persagy.service.models.responses.SCreateResponse
+import io.swagger.v3.oas.annotations.Operation
+import io.swagger.v3.oas.annotations.tags.Tag
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+
+/**
+ * 规则
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/12/13 9:30
+ */
+@Tag(name = "003、平面图 - 规则")
+@RestController
+@RequestMapping("/planar/rule")
+class PlanarQbsRuleController {
+
+    /**
+     * 创建规则
+     *
+     * @param request     待创建对象列表
+     * @return 创建完成规则对象列表
+     */
+    @Operation(summary ="创建规则", description = "id和graphId为必填,图中会包含多个节点,详细节点结构见示例")
+    @PostMapping("/create")
+    fun create(@RequestBody request: SCreateRequest<PlanarQbsRule>): SCreateResponse<PlanarQbsRule> {
+        return PlanarQbsRuleService.createList(request)
+    }
+
+
+}

+ 1 - 1
labsl/src/main/kotlin/com/persagy/labsl/services/planar/Building.kt

@@ -1,4 +1,4 @@
-package com.persagy.labsl.services.planar
+package com.persagy.labsl.models.entities.pbs
 
 import io.swagger.v3.oas.annotations.media.Schema
 import javax.persistence.Column

+ 2 - 2
labsl/src/main/kotlin/com/persagy/labsl/services/planar/Floor.kt

@@ -24,7 +24,7 @@
  * *********************************************************************************************************************
  */
 
-package com.persagy.labsl.services.planar
+package com.persagy.labsl.models.entities.pbs
 
 import com.persagy.labsl.models.entities.pbs.PlanarGraph
 import io.swagger.v3.oas.annotations.media.Schema
@@ -85,6 +85,6 @@ open class Floor : Serializable {
 
 
     @Schema(description = "草稿图列表")
-    var planarGraphList: ArrayList<PlanarGraph>? = null
+    var planarGraphList: ArrayList<Any?>? = null
 
 }

+ 62 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/ObjExtInfo.kt

@@ -0,0 +1,62 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.labsl.models.entities.tpt.Pos
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 对象信息
+ *
+ * @author wx
+ */
+@Schema(description = "对象信息")
+@Table(name = "qibaishi_gallery.qbs_obj_ext_info")
+open class ObjExtInfo : SBaseEntity(), Serializable {
+
+    /** 系统图对象id */
+    @Schema(description = "系统图对象id",required = true )
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 系统图 id */
+    @Schema(description = "系统图 id",required = true)
+    @Id
+    @Column(name = "graph_id")
+    var graphId: String? = null
+
+    /** 节点id */
+    @Schema(description = "节点id",required = true )
+    @Id
+    @Column(name = "info_id")
+    var ObjExtInfoId: String? = null
+
+    /** 节点名称 */
+    @Schema(description = "图例节点名称",required = true )
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 节点类型(image / zone) */
+    @Schema(description = "节点类型(image / zone)")
+    @Column(name = "type")
+    var type: String? = null
+
+    /** 位置信息 */
+    @Schema(description = "位置信息")
+    @Column(name = "pos")
+    var pos: Pos? = null
+
+    @Schema(description = "应用自定义")
+    @Column(name = "properties")
+    var properties : HashMap<String,Any?>? = null
+
+    @Schema(description = "对象 id 列表 ")
+    @Column(name = "attach_object_ids")
+    var attachObjectIds: ArrayList<String>? = null
+
+
+}

+ 16 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/ObjExtInfoPub.kt

@@ -0,0 +1,16 @@
+package com.persagy.labsl.models.entities.pbs
+
+
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Table
+
+/**
+ * 对象信息
+ *
+ * @author wx
+ */
+@Schema(description = "对象信息")
+@Table(name = "qibaishi_gallery.qbs_obj_ext_info_pub")
+open class ObjExtInfoPub : ObjExtInfo() {
+
+}

+ 23 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarElements.kt

@@ -0,0 +1,23 @@
+package com.persagy.labsl.models.entities.pbs
+
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.validation.Valid
+
+/**
+ * 系统图展示所需数据
+ *
+ * @author wx
+ */
+class PlanarElements : Serializable {
+
+    @Schema(description = "图例节点")
+    @Valid
+    var objExtInfo : ArrayList<ObjExtInfo>? = null
+
+    @Schema(description = "文本注释,图上的图片说明")
+    var markers : ArrayList<PlanarMarkers>? = null
+
+    @Schema(description = "管线对象")
+    var relations : ArrayList<PlanarRelation>? = null
+}

+ 23 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarElementsPub.kt

@@ -0,0 +1,23 @@
+package com.persagy.labsl.models.entities.pbs
+
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.validation.Valid
+
+/**
+ * 系统图展示所需数据
+ *
+ * @author wx
+ */
+class PlanarElementsPub : Serializable {
+
+    @Schema(description = "图例节点")
+    @Valid
+    var objExtInfo : ArrayList<ObjExtInfoPub>? = null
+
+    @Schema(description = "文本注释,图上的图片说明")
+    var markers : ArrayList<PlanarMarkersPub>? = null
+
+    @Schema(description = "管线对象")
+    var relations : ArrayList<PlanarRelationPub>? = null
+}

+ 23 - 6
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarGraph.kt

@@ -9,6 +9,7 @@ import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
 import javax.validation.constraints.NotNull
+import kotlin.collections.HashMap
 
 /**
  * 系统图
@@ -73,9 +74,6 @@ open class PlanarGraph : SBaseEntity(), Serializable {
     @Column(name = "version")
     var version: String? = null
 
-    @Schema(description = "系统图展示所需数据")
-    open var elements: Elements? = null
-
     /** 移至回收站时间 */
     @Schema(description = "移至回收站时间",example = "2020-09-20 08:30:00")
     @Column(name = "del_time")
@@ -91,10 +89,10 @@ open class PlanarGraph : SBaseEntity(), Serializable {
     @Column(name = "pic")
     var pic: String? = null
 
-    /** 图状态(1一般,2待审核,3审核完成,0发布) */
-    @Schema(description = "图状态(1草稿箱,2待审核,3审核完成,4回收站 ,0发布)")
+    /** 图状态(Draft: 未发布, WaitCheck: 待审核, Checked: 审核完成, Recyle: 回收站, Publish: 发布) */
+    @Schema(description = "图状态(Draft: 未发布, WaitCheck: 待审核, Checked: 审核完成, Recyle: 回收站, Publish: 发布)")
     @Column(name = "state")
-    var state: Int? = 1
+    var state: String? = null
 
     /** 页面尺寸 */
     @Schema(description = "页面尺寸")
@@ -111,4 +109,23 @@ open class PlanarGraph : SBaseEntity(), Serializable {
     @Column(name = "user")
     var user: String? = null
 
+    /** 风格 */
+    @Schema(description = "风格")
+    @Column(name = "style")
+    var style: HashMap<String,Any?>? = null
+
+    /** 隐藏的实例ID( 设备,空间 在物理世界的ID) */
+    @Schema(description = "隐藏的实例ID( 设备,空间 在物理世界的ID)")
+    @Column(name = "hide_list")
+    var hideList: ArrayList<String>? = null
+
+    /** 规则列表 */
+    @Schema(description = "规则列表)")
+    var ruleList: ArrayList<PlanarQbsRule>? = null
+
+    @Schema(description = "系统图展示所需数据")
+    open var elements: PlanarElements? = null
+
+
+
 }

+ 115 - 1
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarGraphPub.kt

@@ -1,7 +1,14 @@
 package com.persagy.labsl.models.entities.pbs
 
+import com.persagy.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import java.util.*
+import javax.persistence.Column
+import javax.persistence.Id
 import javax.persistence.Table
+import javax.validation.constraints.NotNull
+import kotlin.collections.HashMap
 
 /**
  * 平面图,已发布
@@ -10,6 +17,113 @@ import javax.persistence.Table
  */
 @Schema(description = "平面图 - 已发布")
 @Table(name = "qibaishi_gallery.qbs_graph_pub")
-open class PlanarGraphPub : PlanarGraph() {
+open class PlanarGraphPub : SBaseEntity(), Serializable {
+
+    /** 图编码 id */
+    @Schema(description = "图编码 id", required = true)
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 图id */
+    @Schema(description = "图id", required = true)
+    @Id
+    @Column(name = "graph_id")
+    var graphId: String? = null
+
+    /** 图名称 */
+    @Schema(description = "图名称", required = true)
+    @Column(name = "name")
+    @NotNull(message = "图名称不可以为空")
+    var name: String? = null
+
+    /** 文件夹 id */
+    @Schema(description = "文件夹 id" )
+    @Column(name = "folder_id")
+    var folderId: String? = null
+
+    /** 文件夹名称 */
+    @Schema(description = "文件夹名称" )
+    var folderName: String? = null
+
+    /** 项目 id */
+    @Schema(description = "项目 id",required = true )
+    @Column(name = "project_id")
+    var projectId: String? = null
+
+    /** 建筑 id */
+    @Schema(description = "建筑 id")
+    @Column(name = "building_id")
+    @NotNull(message = "建筑不可以为空")
+    var buildingId: String? = null
+
+    /** 楼层 id */
+    @Schema(description = "楼层 id")
+    @Column(name = "floor_id")
+    @NotNull(message = "楼层不可以为空")
+    var floorId: String? = null
+
+    /** 说明 */
+    @Schema(description = "说明")
+    @Column(name = "note")
+    var note: String? = null
+
+    /** 版本号 */
+    @Schema(description = "版本号")
+    @Column(name = "version")
+    var version: String? = null
+
+    /** 移至回收站时间 */
+    @Schema(description = "移至回收站时间",example = "2020-09-20 08:30:00")
+    @Column(name = "del_time")
+    var delTime: Date? = null
+
+    /** 内部版本号 */
+    @Schema(description = "内部版本号")
+    @Column(name = "tag_version")
+    var tagVersion: Int? = null
+
+    /** 图片Key */
+    @Schema(description = "图片Key")
+    @Column(name = "pic")
+    var pic: String? = null
+
+    /** 图状态(Draft: 未发布, WaitCheck: 待审核, Checked: 审核完成, Recyle: 回收站, Publish: 发布) */
+    @Schema(description = "图状态(Draft: 未发布, WaitCheck: 待审核, Checked: 审核完成, Recyle: 回收站, Publish: 发布)")
+    @Column(name = "state")
+    var state: String? = null
+
+    /** 页面尺寸 */
+    @Schema(description = "页面尺寸")
+    @Column(name = "page_size")
+    var pageSize: HashMap<String,Any?>? = null
+
+    /** 标签 */
+    @Schema(description = "标签")
+    @Column(name = "label")
+    var label: ArrayList<String>? = null
+
+    /** 用户 */
+    @Schema(description = "用户")
+    @Column(name = "user")
+    var user: String? = null
+
+    /** 风格 */
+    @Schema(description = "风格")
+    @Column(name = "style")
+    var style: HashMap<String,Any?>? = null
+
+    /** 隐藏的实例ID( 设备,空间 在物理世界的ID) */
+    @Schema(description = "隐藏的实例ID( 设备,空间 在物理世界的ID)")
+    @Column(name = "hide_list")
+    var hideList: ArrayList<String>? = null
+
+    /** 规则列表 */
+    @Schema(description = "规则列表)")
+    var ruleList: ArrayList<PlanarQbsRulePub>? = null
+
+    @Schema(description = "系统图展示所需数据")
+    open var elements: PlanarElementsPub? = null
+
 
 }

+ 77 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarMarkers.kt

@@ -0,0 +1,77 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.labsl.models.entities.tpt.Pos
+import com.persagy.labsl.models.entities.tpt.Size
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 文本注释,图上的图片说明
+ *
+ * @author wx
+ */
+@Schema(description = "文本注释,图上的图片说明")
+@Table(name = "qibaishi_gallery.qbs_marker")
+open class PlanarMarkers : SBaseEntity(), Serializable {
+
+    /** 图对象id */
+    @Schema(description = "图对象id" ,required = true)
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 标识id */
+    @Schema(description = "标识id",required = true )
+    @Id
+    @Column(name = "marker_id")
+    var markerId: String? = null
+
+    /** 标识名称 */
+    @Schema(description = "标识名称" ,required = true)
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 图标(Image),线类型(Line),文本(Text) */
+    @Schema(description = "图标(Image),线类型(Line),文本(Text)")
+    @Column(name = "type")
+    var type: String? = null
+
+    /** 位置信息 */
+    @Schema(description = "位置信息")
+    @Column(name = "pos")
+    var pos: Pos? = null
+
+    /** 缩放 */
+    @Schema(description = "缩放")
+    @Column(name = "scale")
+    var scale: Pos? = null
+
+    /** 旋转 */
+    @Schema(description = "旋转")
+    @Column(name = "rotate")
+    var rotate: Pos? = null
+
+    /** 大小 */
+    @Schema(description = "大小")
+    @Column(name = "size")
+    var size: Size? = null
+
+    @Schema(description = "应用自定义")
+    @Column(name = "properties")
+    var properties : HashMap<String,Any?>? = null
+
+    /** 图id */
+    @Schema(description = "图id" ,required = true)
+    @Id
+    @Column(name = "graph_id")
+    var graphId: String? = null
+
+    @Schema(description = "线的绘图样式")
+    @Column(name = "style")
+    var style : HashMap<String,Any?>? = null
+
+} // Class Markers

+ 20 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarMarkersPub.kt

@@ -0,0 +1,20 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.labsl.models.entities.tpt.Pos
+import com.persagy.labsl.models.entities.tpt.Size
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 文本注释,图上的图片说明
+ *
+ * @author wx
+ */
+@Schema(description = "文本注释,图上的图片说明")
+@Table(name = "qibaishi_gallery.qbs_marker_pub")
+open class PlanarMarkersPub : PlanarMarkers() {
+}

+ 56 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarQbsRule.kt

@@ -0,0 +1,56 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 规则
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/12/13 9:20
+ */
+@Schema(description = "规则")
+@Table(name = "qibaishi_gallery.qbs_rule")
+open class PlanarQbsRule : SBaseEntity() {
+
+
+    /** 图对象id */
+    @Schema(description = "图对象id" ,required = true)
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 图编码 */
+    @Schema(description = "图编码" ,required = true)
+    @Column(name = "graph_coding")
+    var graphCoding: String? = null
+
+    /** 图 id */
+    @Schema(description = "图 id" ,required = true)
+    @Column(name = "graph_id")
+    var graphId: String? = null
+
+    /** (equip: 设备, equipGroup: 设备组, zone: 空间) */
+    @Schema(description = "(equip: 设备, equipGroup: 设备组, zone: 空间)" ,required = true)
+    @Column(name = "return_type")
+    var returnType: String? = null
+
+    /** query: 查询, delete: 删除 */
+    @Schema(description = "query: 查询, delete: 删除" ,required = true)
+    @Column(name = "commond")
+    var commond: String? = null
+
+    /** 查询参数 */
+    @Schema(description = "查询参数" ,required = true)
+    @Column(name = "params")
+    var params: String? = null
+
+    /** 说明 */
+    @Schema(description = "说明" ,required = true)
+    @Column(name = "note")
+    var note: String? = null
+
+}

+ 18 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarQbsRulePub.kt

@@ -0,0 +1,18 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 规则
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/12/13 9:20
+ */
+@Schema(description = "规则")
+@Table(name = "qibaishi_gallery.qbs_rule_pub")
+class PlanarQbsRulePub : PlanarQbsRule() {
+}

+ 96 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarRelation.kt

@@ -0,0 +1,96 @@
+package com.persagy.labsl.models.entities.pbs
+
+import com.persagy.labsl.models.entities.tpt.Pos
+import com.persagy.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 管线对象
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ */
+@Schema(description = "管线对象")
+@Table(name = "qibaishi_gallery.qbs_relation")
+open class PlanarRelation : SBaseEntity(), Serializable {
+
+    /** 系统图对象id */
+    @Schema(description = "系统图对象id",required = true )
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 关系id */
+    @Schema(description = "关系id",required = true )
+    @Id
+    @Column(name = "relation_id")
+    var relationId: String? = null
+
+    /** 关系名称 */
+    @Schema(description = "关系名称",required = true)
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 图元id */
+    @Schema(description = "图元id")
+    @Column(name = "graph_element_id")
+    var graphElementId: String? = null
+
+    /** 关联节点1_id */
+    @Schema(description = "关联节点1_id")
+    @Column(name = "node1_id")
+    var node1Id: String? = null
+
+    /** 关联节点2_id */
+    @Schema(description = "关联节点2_id")
+    @Column(name = "node2_id")
+    var node2Id: String? = null
+
+    /** 关联锚点1_id */
+    @Schema(description = "关联锚点1_id")
+    @Column(name = "anchor1_id")
+    var anchor1Id: String? = null
+
+    /** 关联锚点2_id */
+    @Schema(description = "关联锚点2_id")
+    @Column(name = "anchor2_id")
+    var anchor2Id: String? = null
+
+    /** 方向(0:无向,1:节点1到节点2,2:节点2到节点1) */
+    @Schema(description = "方向(0:无向,1:节点1到节点2,2:节点2到节点1)")
+    @Column(name = "dir")
+    var dir: Int? = null
+
+    /** 直线(Line),水平垂直 */
+    @Schema(description = "直线(Line),水平垂直")
+    @Column(name = "line_type")
+    var lineType: String? = null
+
+    /** 线的顶点坐标 */
+    @Schema(description = "线的顶点坐标")
+    @Column(name = "point_list")
+    var pointList: ArrayList<Pos>? = null
+
+    @Schema(description = "线的绘图样式")
+    @Column(name = "style")
+    var style : HashMap<String,Any?>? = null
+
+    @Schema(description = "自定义属性")
+    @Column(name = "properties")
+    var properties : HashMap<String,Any?>? = null
+
+    /** 系统图 id */
+    @Schema(description = "系统图 id",required = true)
+    @Id
+    @Column(name = "graph_id")
+    var graphId: String? = null
+
+    /** 图状态(1一般,2待审核,3审核完成,0发布) */
+    @Schema(description = "图状态(1一般,2待审核,3审核完成,4回收站 ,0发布)")
+    @Column(name = "state")
+    var state: Int? = 1
+
+}

+ 15 - 0
labsl/src/main/kotlin/com/persagy/labsl/models/entities/pbs/PlanarRelationPub.kt

@@ -0,0 +1,15 @@
+package com.persagy.labsl.models.entities.pbs
+
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Table
+
+/**
+ * 管线对象
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ */
+@Schema(description = "管线对象")
+@Table(name = "qibaishi_gallery.qbs_relation_pub")
+open class PlanarRelationPub : PlanarRelation() {
+
+}

+ 20 - 0
labsl/src/main/kotlin/com/persagy/labsl/services/CustomService.kt

@@ -1,6 +1,8 @@
 package com.persagy.labsl.services
 
 import com.persagy.labsl.models.entities.auxiliary.CategoryCode
+import com.persagy.labsl.models.entities.tpt.Graph
+import com.persagy.labsl.models.entities.tpt.pub.GraphPub
 import com.persagy.labsl.services.mappers.CustomMapper
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
@@ -38,4 +40,22 @@ class CustomService {
         return customMapper.pubCategory(projectId)
     }
 
+    /**
+     * 查询标签,已发布
+     *
+     * @param label
+     */
+    fun containLabelPub(projectId: String ,label: String): ArrayList<GraphPub>? {
+        return customMapper.containLabelPub(projectId,label)
+    }
+
+    /**
+     * 查询标签,未发布
+     *
+     * @param label
+     */
+    fun containLabel(projectId: String ,label: String): ArrayList<Graph>? {
+        return customMapper.containLabel(projectId,label)
+    }
+
 }

+ 26 - 0
labsl/src/main/kotlin/com/persagy/labsl/services/GraphService.kt

@@ -14,6 +14,8 @@ import com.persagy.service.SObjectService
 import com.persagy.service.models.enums.SResponseType
 import com.persagy.service.models.responses.SBaseResponse
 import com.persagy.service.models.responses.SCreateResponse
+import com.persagy.service.models.responses.SQueryResponse
+import com.persagy.service.utils.SSpringContextUtil
 import org.slf4j.LoggerFactory
 import java.text.SimpleDateFormat
 import java.util.*
@@ -27,6 +29,11 @@ import kotlin.collections.ArrayList
 object GraphService : SObjectService<Graph>(SMybatisDao(
     Graph::class.java)) {
 
+    /** 自定义sql */
+    private val customMapper by lazy {
+        SSpringContextUtil.getBean(CustomService::class.java) as CustomService
+    }
+
     /** 日志 */
     private val logger = LoggerFactory.getLogger(GraphService::class.java)
     /** 发布的图例节点服务 */
@@ -1042,6 +1049,25 @@ object GraphService : SObjectService<Graph>(SMybatisDao(
     }
 
     /**
+     * 查询未发布的
+     *
+     * @param label    标签
+     */
+    fun containLabelPub(label: String): SQueryResponse<GraphPub> {
+         val sQueryResponse = SQueryResponse<GraphPub>(SResponseType.success)
+        val containLabelPub = customMapper.containLabelPub(Opts.projectId!!, label)
+        if (!containLabelPub.isNullOrEmpty()) {
+            sQueryResponse.content = containLabelPub
+            sQueryResponse.total = containLabelPub.size.toLong()
+        }else {
+            sQueryResponse.content = ArrayList<GraphPub>()
+        }
+        return sQueryResponse
+    }
+
+
+
+    /**
      * 当前时间
      *
      * @return 当前时间

+ 8 - 0
labsl/src/main/kotlin/com/persagy/labsl/services/mappers/CustomMapper.kt

@@ -1,6 +1,8 @@
 package com.persagy.labsl.services.mappers
 
 import com.persagy.labsl.models.entities.auxiliary.CategoryCode
+import com.persagy.labsl.models.entities.tpt.Graph
+import com.persagy.labsl.models.entities.tpt.pub.GraphPub
 import org.apache.ibatis.annotations.Mapper
 import org.apache.ibatis.annotations.Param
 import org.apache.ibatis.annotations.Select
@@ -23,4 +25,10 @@ interface CustomMapper {
     @Select("SELECT category_id as categoryId FROM labsl.graph_pub  WHERE project_id = #{projectId} AND state =0 GROUP BY category_id")
     fun pubCategory(@Param("projectId") projectId: String) : ArrayList<CategoryCode>?
 
+    @Select("SELECT * FROM graph WHERE project_id = #{projectId} and label::text like  '%#{label}%'")
+    fun containLabel(@Param("projectId") projectId: String,@Param("label") label: String): ArrayList<Graph>?
+
+    @Select("SELECT * FROM graph_pub WHERE project_id = #{projectId} and label::text like  '%#{label}%'")
+    fun containLabelPub(@Param("projectId") projectId: String,@Param("label") label: String): ArrayList<GraphPub>?
+
 } // Interface CustomMapper

Fichier diff supprimé car celui-ci est trop grand
+ 406 - 440
labsl/src/main/kotlin/com/persagy/labsl/services/planar/PlanarGraphService.kt


+ 27 - 0
labsl/src/main/kotlin/com/persagy/labsl/services/planar/PlanarQbsRuleService.kt

@@ -0,0 +1,27 @@
+package com.persagy.labsl.services.planar
+
+import com.persagy.labsl.models.entities.pbs.PlanarQbsRule
+import com.persagy.labsl.utils.IdUtils
+import com.persagy.mybatis.SMybatisDao
+import com.persagy.service.SObjectService
+
+/**
+ * 规则
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/12/13 9:34
+ */
+object PlanarQbsRuleService : SObjectService<PlanarQbsRule>(SMybatisDao(PlanarQbsRule::class.java)) {
+
+
+    override fun onCreateBefore(entity: PlanarQbsRule): Boolean {
+        if (entity.id.isNullOrEmpty()) {
+            entity.id = IdUtils.uuidCreate()
+        }
+
+        return super.onCreateBefore(entity)
+    }
+
+
+
+}

+ 7 - 7
labsl/src/main/resources/application-prod.yml

@@ -4,15 +4,15 @@ server:
 spring:
   datasource:
     url:                                jdbc:postgresql://172.17.11.228:5432/datacenterlabsl
-#    url:                                jdbc:postgresql://192.168.64.14:5432/datacenterlabsl
-    username:                           postgres
-#    password:                           123qwe!@#
-    password:                           cGVyc2FneV8yMDIwcXdlIUAj
+##    url:                                jdbc:postgresql://192.168.64.14:5432/datacenterlabsl
+#    username:                           postgres
+##    password:                           123qwe!@#
+#    password:                           cGVyc2FneV8yMDIwcXdlIUAj
 
 #  datasource:
 #    url:                                jdbc:postgresql://172.17.100.16:5432/datacenterlabsl
-#    username:                           postgres
-##    password:                           persagy_2020qwe!@#
-#    password:                           cGVyc2FneV8yMDIwcXdlIUAj
+    username:                           postgres
+#    password:                           persagy_2020qwe!@#
+    password:                           cGVyc2FneV8yMDIwcXdlIUAj
 
 

+ 7 - 7
meiku/src/main/resources/application-prod.yml

@@ -4,13 +4,13 @@ server:
 spring:
   datasource:
     url:                                jdbc:postgresql://172.17.11.228:5432/datacenterlabsl
-#    url:                                jdbc:postgresql://192.168.64.14:5432/datacenterlabsl
-    username:                           postgres
-#    password:                           123qwe!@#
-    password:                           cGVyc2FneV8yMDIwcXdlIUAj
+##    url:                                jdbc:postgresql://192.168.64.14:5432/datacenterlabsl
+#    username:                           postgres
+##    password:                           123qwe!@#
+#    password:                           cGVyc2FneV8yMDIwcXdlIUAj
 
 #  datasource:
 #    url:                                jdbc:postgresql://172.17.100.16:5432/datacenterlabsl
-#    username:                           postgres
-##    password:                           persagy_2020qwe!@#
-#    password:                           cGVyc2FneV8yMDIwcXdlIUAj
+    username:                           postgres
+#    password:                           persagy_2020qwe!@#
+    password:                           cGVyc2FneV8yMDIwcXdlIUAj