yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.battery.business.mapper.TBatteryGroupTemplateMapper">
    <resultMap type="TBatteryGroupTemplate" id="TBatteryGroupTemplateResult">
        <id property="templateId" column="template_id" />
        <result property="templateName" column="template_name" />
        <result property="createBy" column="create_by" />
        <result property="createTime" column="create_time" />
        <result property="updateBy" column="update_by" />
        <result property="updateTime" column="update_time" />
    </resultMap>
 
    <resultMap type="TBatteryGroupTemplateField" id="TBatteryGroupTemplateFieldResult">
        <id property="relationId" column="relation_id" />
        <result property="templateId" column="template_id" />
        <result property="fieldId" column="field_id" />
        <result property="fieldName" column="field_name" />
        <result property="fieldType" column="field_type" />
        <result property="sortOrder" column="sort_order" />
        <result property="createBy" column="create_by" />
        <result property="createTime" column="create_time" />
        <result property="delFlag" column="del_flag" />
    </resultMap>
 
    <select id="selectBatteryGroupTemplateById" parameterType="Long" resultMap="TBatteryGroupTemplateResult">
        select template_id, template_name, create_by, create_time, update_by, update_time
        from t_battery_group_template where template_id = #{templateId}
    </select>
 
    <select id="selectBatteryGroupTemplateByName" parameterType="String" resultMap="TBatteryGroupTemplateResult">
        select template_id, template_name, create_by, create_time, update_by, update_time
        from t_battery_group_template where template_name = #{templateName} limit 1
    </select>
 
    <select id="selectBatteryGroupTemplateOptions" resultMap="TBatteryGroupTemplateResult">
        select template_id, template_name from t_battery_group_template order by template_name asc, template_id asc
    </select>
 
    <select id="selectTemplateFields" parameterType="Long" resultMap="TBatteryGroupTemplateFieldResult">
        select r.relation_id, r.template_id, r.field_id, f.field_name, f.field_type,
               r.sort_order, r.create_by, r.create_time, r.del_flag
        from t_battery_group_template_field r
        inner join t_battery_group_field f on f.field_id = r.field_id and f.del_flag = 0
        where r.template_id = #{templateId} and r.del_flag = 0
        order by r.sort_order asc, r.relation_id asc
    </select>
 
    <select id="selectEnabledFieldsByIds" resultType="TBatteryGroupField">
        select field_id, field_name, field_type, status, del_flag
        from t_battery_group_field
        where del_flag = 0 and status = '0'
          and field_id in
        <foreach collection="fieldIds" item="fieldId" open="(" separator="," close=")">
            #{fieldId}
        </foreach>
    </select>
 
    <insert id="insertBatteryGroupTemplate" parameterType="TBatteryGroupTemplate" useGeneratedKeys="true" keyProperty="templateId">
        insert into t_battery_group_template
        (template_name, create_by, create_time, update_by, update_time)
        values (#{templateName}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime})
    </insert>
 
    <update id="updateBatteryGroupTemplate" parameterType="TBatteryGroupTemplate">
        update t_battery_group_template set template_name = #{templateName},
        update_by = #{updateBy}, update_time = #{updateTime}
        where template_id = #{templateId}
    </update>
 
    <update id="deleteTemplateFields">
        update t_battery_group_template_field set del_flag = relation_id
        where template_id = #{templateId} and del_flag = 0
    </update>
 
    <insert id="batchInsertTemplateFields">
        insert into t_battery_group_template_field
        (template_id, field_id, sort_order, create_by, create_time, del_flag)
        values
        <foreach collection="fields" item="item" separator=",">
            (#{item.templateId}, #{item.fieldId}, #{item.sortOrder}, #{item.createBy}, #{item.createTime}, #{item.delFlag})
        </foreach>
    </insert>
</mapper>