From c5220156021c5d90b6b7d33ec9154259936c3060 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 27 九月 2024 17:53:48 +0800
Subject: [PATCH] 自定义列迁移
---
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 46 ++++++++++++++++++++++++++++++++++++++++++++--
ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java | 5 +++++
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java | 5 +++++
3 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java
index a27e1f5..ab67966 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java
@@ -20,6 +20,11 @@
@Accessors(chain = true)
@ApiModel(value = "YwPoint鏌ヨ", description = "杩愮淮鐐逛綅鏌ヨ")
public class YwPointQuery extends AbsQuery {
+ /** 鍏抽敭璇� */
+ private String keyword;
+
+ /** 鍔ㄦ�佸垪鐨勮〃鏄庢潯浠� */
+ private String tableName = "t_yw_point";
private String pointName;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
index 42ae6e1..4f3aaf6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -61,6 +61,11 @@
/** 鍥芥爣鐮� */
private String serialNumber;
+ /**
+ * 鍔ㄦ�佸垪
+ */
+ private List<DynamicColumnVO> dynamicColumnList;
+
public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) {
if(vo == null) {
vo = new YwPointVO();
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 7a35194..d31c6a7 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -22,11 +22,38 @@
<result column="dept_tag" property="deptTag"/>
</resultMap>
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="pageMap" type="com.ycl.platform.domain.vo.YwPointVO">
+ <result column="id" property="id"/>
+ <result column="point_name" property="pointName"/>
+ <result column="start_time" property="startTime"/>
+ <result column="end_time" property="endTime"/>
+ <result column="unit_id" property="unitId"/>
+ <result column="unit_name" property="unitName"/>
+ <result column="status" property="status"/>
+ <result column="dept_id" property="deptId"/>
+ <result column="dept_name" property="deptName"/>
+ <result column="remark" property="remark"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="province_tag" property="provinceTag"/>
+ <result column="important_tag" property="importantTag"/>
+ <result column="important_command_image_tag" property="importantCommandImageTag"/>
+ <result column="dept_tag" property="deptTag"/>
+ <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,pointName=pointName}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
+ </resultMap>
+
+ <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
+ <result column="prop_name" property="propName"/>
+ <result column="label_value" property="labelValue"/>
+ <result column="column_value" property="columnValue"/>
+ </resultMap>
+
<select id="selectData" resultType="com.ycl.platform.base.BaseSelect">
</select>
- <select id="page" resultMap="BaseResultMap">
+ <select id="page" resultMap="pageMap">
SELECT
typ.id,
typ.point_name,
@@ -43,7 +70,9 @@
typ.important_tag,
typ.province_tag,
typ.important_command_image_tag,
- typ.dept_tag
+ typ.dept_tag,
+ 't_yw_point' as tableName,
+ #{query.pointName} as pointName
FROM
t_yw_point typ
LEFT JOIN t_yw_unit tyu ON typ.unit_id = tyu.id AND tyu.deleted = 0
@@ -55,6 +84,19 @@
</where>
</select>
+ <select id="getDyColumns" resultMap="dynamicColumnMap">
+ SELECT
+ *
+ FROM
+ t_dynamic_column_value dcv
+ LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
+ WHERE
+ dcv.ref_id = #{id}
+ <if test="pointName != null and pointName != ''">
+ and dcv.column_value like concat('%', #{keyword}, '%')
+ </if>
+ </select>
+
<select id="dataCenterPage" resultType="com.ycl.platform.domain.vo.PointDetailVO">
SELECT
m.*
--
Gitblit v1.8.0