From fdcdd41fba7874c045766e3dea54d56d70df73ef Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 12 五月 2025 10:06:50 +0800
Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率

---
 ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml |  130 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 102 insertions(+), 28 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
index 7a27cf7..09e36f3 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/DynamicColumnMapper.xml
@@ -4,43 +4,117 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
-        <result column="ref_id" property="refId" />
-        <result column="prop_name" property="propName" />
-        <result column="label_value" property="labelValue" />
-        <result column="field_value" property="fieldValue" />
+        <result column="ref_id" property="refId"/>
+        <result column="prop_name" property="propName"/>
+        <result column="label_value" property="labelValue"/>
+        <result column="field_value" property="fieldValue"/>
     </resultMap>
 
-
-
-
-
-
-
     <select id="getById" resultMap="BaseResultMap">
+        SELECT TDC.ref_id,
+               TDC.prop_name,
+               TDC.label_value,
+               TDC.field_value,
+               TDC.id
+        FROM t_dynamic_column TDC
+        WHERE TDC.id = #{id}
+          AND TDC.deleted = 0
+    </select>
+
+    <select id="getHeader" resultType="java.lang.String">
+        SELECT TDC.label_value
+        FROM t_dynamic_column TDC
+        WHERE TDC.table_name =#{tableName}
+    </select>
+    <select id="getData" resultType="com.ycl.platform.domain.vo.DynamicColumnVO">
         SELECT
-            TDC.ref_id,
-            TDC.prop_name,
-            TDC.label_value,
-            TDC.field_value,
-            TDC.id
+        TDC.id,
+        TDCV.ref_id,
+        TDC.prop_name,
+        TDC.label_value,
+        TDCV.column_value,
+        TDCV.id as value_id
         FROM
-            t_dynamic_column TDC
-        WHERE
-            TDC.id = #{id} AND TDC.deleted = 0
+        t_dynamic_column TDC
+        LEFT JOIN t_dynamic_column_value TDCV ON TDC.id =TDCV.dynamic_column_id
+        <where>
+            TDC.table_name  = 't_yw_point'
+<!--            <if test="ids !=null and ids.size > 0">-->
+<!--                AND TDCV.ref_id in-->
+<!--                <foreach collection="ids" open="(" separator="," close=")" item="id">-->
+<!--                    #{id}-->
+<!--                </foreach>-->
+<!--            </if>-->
+        </where>
     </select>
 
 
     <select id="getPage" resultMap="BaseResultMap">
-        SELECT
-            TDC.ref_id,
-            TDC.prop_name,
-            TDC.label_value,
-            TDC.field_value,
-            TDC.id
-        FROM
-            t_dynamic_column TDC
-        WHERE
-            TDC.deleted = 0
+        SELECT TDC.ref_id,
+               TDC.prop_name,
+               TDC.label_value,
+               TDC.field_value,
+               TDC.id
+        FROM t_dynamic_column TDC
+        WHERE TDC.deleted = 0
     </select>
 
+    <insert id="saveBatch">
+        insert into t_dynamic_column_value (dynamic_column_id,column_value,ref_id,ref_string_id) values
+        <foreach collection="insertList" item="item" separator=",">
+            (#{item.dynamicColumnId},#{item.columnValue},#{item.refId},#{item.refStringId})
+        </foreach>
+    </insert>
+    <update id="updateBatch">
+        <foreach collection="updateList" separator=";" item="item">
+            UPDATE t_dynamic_column_value
+            SET column_value = #{item.columnValue}
+            WHERE id = #{item.id}
+        </foreach>
+    </update>
+    <delete id="deleteBatch">
+        delete from t_dynamic_column_value where id in
+        <foreach collection="deleteList" open="(" close=")" separator="," item="id">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="getDynamicsByIds" resultType="com.ycl.platform.domain.vo.DynamicColumnVO">
+        SELECT
+        *
+        FROM
+        t_dynamic_column_value dcv
+        INNER JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
+        WHERE
+        dcv.ref_id in
+        <foreach collection="ids" item="id" separator="," open="(" close=")">
+            #{id}
+        </foreach>
+    </select>
+
+    <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"/>
+        <result column="ref_string_id" property="refStringId"/>
+        <result column="value_id" property="valueId"/>
+    </resultMap>
+
+    <select id="getDynamicColumnByTable" resultMap="dynamicColumnMap">
+        SELECT
+        *,
+        dcv.id as value_id
+        FROM
+        t_dynamic_column dc
+        LEFT JOIN t_dynamic_column_value dcv ON dc.id = dcv.dynamic_column_id and dcv.ref_string_id = #{id} WHERE dc.table_name = #{tableName}
+
+    </select>
+
+    <select id="getDynamicColumnByTableName" resultMap="dynamicColumnMap">
+        select *,dcv.id as value_id
+        from  t_dynamic_column_value dcv
+        left join t_dynamic_column dc
+        on dc.id = dcv.dynamic_column_id
+        where dc.table_name =#{tableName}
+    </select>
 </mapper>

--
Gitblit v1.8.0