1
13693261870
2022-09-16 762f2fb45db004618ba099aa3c0bd89dba1eb843
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?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.landtool.lanbase.modules.sys.dao.SysFieldvalueDao">
 
    <!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.landtool.lanbase.modules.sys.entity.SysFieldvalue" id="fieldvalueMap">
        <result property="valueid" column="VALUEID"/>
        <result property="fkey" column="FKEY"/>
        <result property="vcode" column="VCODE"/>
        <result property="vtext" column="VTEXT"/>
        <result property="remark" column="REMARK"/>
        <result property="rorder" column="RORDER"/>
        <result property="rcreatedate" column="RCREATEDATE"/>
        <result property="rcreateuser" column="RCREATEUSER"/>
        <result property="rlasteditdate" column="RLASTEDITDATE"/>
    </resultMap>
 
    <select id="queryObject" resultType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        select * from SYS_FIELDVALUE where VALUEID = #{value}
    </select>
 
    <select id="queryList1" resultType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        SELECT *
        FROM(
            SELECT ROW_NUMBER() OVER(ORDER BY B.rorder) AS rownumber,B.*
            FROM (
 
                SELECT * FROM SYS_FIELDVALUE
 
            ) B
        ) A
        WHERE rownumber > #{lowerOffset} AND  <![CDATA[ rownumber <= ${upperOffset} ]]>
    </select>
    
    <select id="queryList" resultType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        select * from (
            SELECT *
            FROM(
                SELECT ROW_NUMBER() OVER(ORDER BY B.rorder) AS rownumber,B.*
                FROM (
            
                    SELECT
                        sfv.VALUEID,
                        sfv.FKEY,
                        sfv.VCODE,
                        sfv.VTEXT,
                        sfv.REMARK,
                        sfv.RORDER,
                        sfv.RCREATEDATE,
                        sfv.RCREATEUSER,
                        sfv.RLASTEDITDATE
                     FROM SYS_FIELDVALUE sfv
                    JOIN SYS_FIELD sf ON sfv.fkey=sf.fkey AND sfv.fkey=#{fkey}
                ) B
            ) A
            WHERE rownumber > #{lowerOffset} AND  <![CDATA[ rownumber <= ${upperOffset} ]]>
        )a order by  
        <choose>
            <when test="sidx != null and sidx != ''">
                ${sidx} ${order}
            </when>
            <otherwise>
                rorder 
            </otherwise>
        </choose>
     </select>
     
    <select id="queryListByKey" resultType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
         select dv.vcode,dv.vtext from SYS_FIELD  dd
        left join SYS_FIELDVALUE dv on dd.fkey = dv.fkey
        where dd.fkey=#{fkey} order by rorder
     </select>
     
     <select id="queryTotal" resultType="int">
        select count(*) from SYS_FIELDVALUE sfv join SYS_FIELD sf ON sfv.fkey=sf.fkey and sfv.fkey=#{fkey}
    </select>
     
    <insert id="save"  parameterType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        insert into SYS_FIELDVALUE
        ( 
            FKEY, 
            VCODE, 
            VTEXT, 
            REMARK, 
            RORDER, 
            RCREATEDATE, 
            RCREATEUSER, 
            RLASTEDITDATE
        )
        values
        (
            #{fkey}, 
            #{vcode}, 
            #{vtext,jdbcType=VARCHAR}, 
            #{remark,jdbcType=CLOB},
            #{rorder}, 
            now() ,
            #{rcreateuser}, 
            now()
        )
    </insert>
     
    <update id="update" parameterType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        update SYS_FIELDVALUE
        <set>
            RLASTEDITDATE=now(),
            <if test="fkey != null">FKEY = #{fkey}, </if>
            <if test="vcode != null">VCODE = #{vcode}, </if>
            <if test="vtext != null">VTEXT = #{vtext}, </if>
            <if test="remark != null">REMARK = #{remark}, </if>
            <if test="rorder != null">RORDER = #{rorder}, </if>
            <if test="rcreatedate != null">RCREATEDATE = #{rcreatedate}, </if>
            <if test="rcreateuser != null">RCREATEUSER = #{rcreateuser}, </if>
            
        </set>
        where VALUEID = #{valueid}
    </update>
    
    <delete id="delete">
        delete from SYS_FIELDVALUE where VALUEID = #{value}
    </delete>
    
    <delete id="deleteBatch">
        delete from SYS_FIELDVALUE where VALUEID in
        <foreach item="valueid" collection="array" open="(" separator="," close=")">
            #{valueid}
        </foreach>
    </delete>
 
    <select id="queryFieldValueWithSEQ" resultType="int">
        select  currval('SYS_FIELDVALUE_SEQ') from dual
    </select>
    
    <select id="queryAllListByFkey" resultType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        select * from SYS_FIELDVALUE where fkey = #{fkey} order by rorder
    </select>
    
    <update id="updateRorder" parameterType="com.landtool.lanbase.modules.sys.entity.SysFieldvalue">
        update SYS_FIELDVALUE
        <set>
            RLASTEDITDATE=now(),
            <if test="rorder != null">RORDER = #{rorder}</if>
        </set>
        where VALUEID = #{valueid}
    </update>
    
    <select id="queryMaxRorder" resultType="int">
        select case when max(rorder) > 0  then max(rorder) else 0 end as rorder from SYS_FIELDVALUE where fkey=#{fkey}
    </select>
</mapper>