186 lines
12 KiB
XML
186 lines
12 KiB
XML
<?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.klp.pocket.mapper.Klptcm1ProPlantStateDefineMapper">
|
||
|
||
<!-- 基础结果集映射:数据库列 -> 实体类属性 -->
|
||
<resultMap id="BaseResultMap" type="com.klp.pocket.domain.Klptcm1ProPlantStateDefine">
|
||
<result column="ID" property="id" jdbcType="DECIMAL"/>
|
||
<result column="NAME" property="name" jdbcType="VARCHAR"/>
|
||
<result column="UNITS" property="units" jdbcType="VARCHAR"/>
|
||
<result column="COMMENTS" property="comments" jdbcType="VARCHAR"/>
|
||
<result column="INSDATE" property="insdate" jdbcType="TIMESTAMP"/>
|
||
<result column="MODELTYPE" property="modeltype" jdbcType="DECIMAL"/>
|
||
</resultMap>
|
||
|
||
<!-- 基础字段列表:复用SQL片段 -->
|
||
<sql id="Base_Column_List">
|
||
ID, NAME, UNITS, COMMENTS, INSDATE, MODELTYPE
|
||
</sql>
|
||
|
||
<select id="selectPage" resultMap="BaseResultMap">
|
||
SELECT <include refid="Base_Column_List"/>
|
||
FROM klptcm1_pro_plant_state_define
|
||
ORDER BY INSDATE DESC
|
||
</select>
|
||
|
||
<select id="selectById" resultMap="BaseResultMap">
|
||
SELECT <include refid="Base_Column_List"/>
|
||
FROM klptcm1_pro_plant_state_define
|
||
WHERE ID = #{id}
|
||
</select>
|
||
|
||
<insert id="insert" parameterType="com.klp.pocket.domain.Klptcm1ProPlantStateDefine">
|
||
INSERT INTO klptcm1_pro_plant_state_define
|
||
(ID, NAME, UNITS, COMMENTS, MODELTYPE)
|
||
VALUES
|
||
(#{id}, #{name}, #{units}, #{comments}, #{modeltype})
|
||
</insert>
|
||
|
||
<update id="updateById" parameterType="com.klp.pocket.domain.Klptcm1ProPlantStateDefine">
|
||
UPDATE klptcm1_pro_plant_state_define
|
||
SET
|
||
NAME = #{name},
|
||
UNITS = #{units},
|
||
COMMENTS = #{comments},
|
||
MODELTYPE = #{modeltype}
|
||
WHERE ID = #{id}
|
||
</update>
|
||
|
||
<delete id="deleteByIds">
|
||
DELETE FROM klptcm1_pro_plant_state_define
|
||
WHERE ID IN
|
||
<foreach collection="list" item="id" open="(" separator="," close=")">
|
||
#{id}
|
||
</foreach>
|
||
</delete>
|
||
|
||
<!-- 新增:联查current/history的ResultMap -->
|
||
<resultMap id="ValueVoResultMap" type="com.klp.pocket.domain.vo.PlantStateWithValueVo">
|
||
<result column="ID" property="id" jdbcType="DECIMAL"/>
|
||
<result column="NAME" property="name" jdbcType="VARCHAR"/>
|
||
<result column="UNITS" property="units" jdbcType="VARCHAR"/>
|
||
<result column="COMMENTS" property="comments" jdbcType="VARCHAR"/>
|
||
<result column="INSDATE" property="insdate" jdbcType="TIMESTAMP"/>
|
||
<result column="MODELTYPE" property="modeltype" jdbcType="DECIMAL"/>
|
||
<result column="currentValue" property="currentValue" jdbcType="DECIMAL"/>
|
||
<result column="currentInsdate" property="currentInsdate" jdbcType="TIMESTAMP"/>
|
||
<result column="historyValue" property="historyValue" jdbcType="DECIMAL"/>
|
||
<result column="historyInsdate" property="historyInsdate" jdbcType="TIMESTAMP"/>
|
||
</resultMap>
|
||
<select id="selectByValue" resultMap="ValueVoResultMap">
|
||
SELECT
|
||
d.ID,
|
||
d.NAME,
|
||
d.UNITS,
|
||
d.COMMENTS,
|
||
d.INSDATE,
|
||
d.MODELTYPE,
|
||
-- current表的最新值:根据define的ID取对应的VALUE字段
|
||
CASE d.ID
|
||
WHEN 1 THEN c.VALUE1 WHEN 2 THEN c.VALUE2 WHEN 3 THEN c.VALUE3 WHEN 4 THEN c.VALUE4 WHEN 5 THEN c.VALUE5
|
||
WHEN 6 THEN c.VALUE6 WHEN 7 THEN c.VALUE7 WHEN 8 THEN c.VALUE8 WHEN 9 THEN c.VALUE9 WHEN 10 THEN c.VALUE10
|
||
WHEN 11 THEN c.VALUE11 WHEN 12 THEN c.VALUE12 WHEN 13 THEN c.VALUE13 WHEN 14 THEN c.VALUE14 WHEN 15 THEN c.VALUE15
|
||
WHEN 16 THEN c.VALUE16 WHEN 17 THEN c.VALUE17 WHEN 18 THEN c.VALUE18 WHEN 19 THEN c.VALUE19 WHEN 20 THEN c.VALUE20
|
||
WHEN 21 THEN c.VALUE21 WHEN 22 THEN c.VALUE22 WHEN 23 THEN c.VALUE23 WHEN 24 THEN c.VALUE24 WHEN 25 THEN c.VALUE25
|
||
WHEN 26 THEN c.VALUE26 WHEN 27 THEN c.VALUE27 WHEN 28 THEN c.VALUE28 WHEN 29 THEN c.VALUE29 WHEN 30 THEN c.VALUE30
|
||
WHEN 31 THEN c.VALUE31 WHEN 32 THEN c.VALUE32 WHEN 33 THEN c.VALUE33 WHEN 34 THEN c.VALUE34 WHEN 35 THEN c.VALUE35
|
||
WHEN 36 THEN c.VALUE36 WHEN 37 THEN c.VALUE37 WHEN 38 THEN c.VALUE38 WHEN 39 THEN c.VALUE39 WHEN 40 THEN c.VALUE40
|
||
WHEN 41 THEN c.VALUE41 WHEN 42 THEN c.VALUE42 WHEN 43 THEN c.VALUE43 WHEN 44 THEN c.VALUE44 WHEN 45 THEN c.VALUE45
|
||
WHEN 46 THEN c.VALUE46 WHEN 47 THEN c.VALUE47 WHEN 48 THEN c.VALUE48 WHEN 49 THEN c.VALUE49 WHEN 50 THEN c.VALUE50
|
||
WHEN 51 THEN c.VALUE51 WHEN 52 THEN c.VALUE52 WHEN 53 THEN c.VALUE53 WHEN 54 THEN c.VALUE54 WHEN 55 THEN c.VALUE55
|
||
WHEN 56 THEN c.VALUE56 WHEN 57 THEN c.VALUE57 WHEN 58 THEN c.VALUE58 WHEN 59 THEN c.VALUE59 WHEN 60 THEN c.VALUE60
|
||
WHEN 61 THEN c.VALUE61 WHEN 62 THEN c.VALUE62 WHEN 63 THEN c.VALUE63 WHEN 64 THEN c.VALUE64 WHEN 65 THEN c.VALUE65
|
||
WHEN 66 THEN c.VALUE66 WHEN 67 THEN c.VALUE67 WHEN 68 THEN c.VALUE68 WHEN 69 THEN c.VALUE69 WHEN 70 THEN c.VALUE70
|
||
WHEN 71 THEN c.VALUE71 WHEN 72 THEN c.VALUE72 WHEN 73 THEN c.VALUE73 WHEN 74 THEN c.VALUE74 WHEN 75 THEN c.VALUE75
|
||
WHEN 76 THEN c.VALUE76 WHEN 77 THEN c.VALUE77 WHEN 78 THEN c.VALUE78 WHEN 79 THEN c.VALUE79 WHEN 80 THEN c.VALUE80
|
||
WHEN 81 THEN c.VALUE81 WHEN 82 THEN c.VALUE82 WHEN 83 THEN c.VALUE83 WHEN 84 THEN c.VALUE84 WHEN 85 THEN c.VALUE85
|
||
WHEN 86 THEN c.VALUE86 WHEN 87 THEN c.VALUE87 WHEN 88 THEN c.VALUE88 WHEN 89 THEN c.VALUE89 WHEN 90 THEN c.VALUE90
|
||
WHEN 91 THEN c.VALUE91 WHEN 92 THEN c.VALUE92 WHEN 93 THEN c.VALUE93 WHEN 94 THEN c.VALUE94 WHEN 95 THEN c.VALUE95
|
||
WHEN 96 THEN c.VALUE96 WHEN 97 THEN c.VALUE97 WHEN 98 THEN c.VALUE98 WHEN 99 THEN c.VALUE99
|
||
ELSE NULL END AS currentValue,
|
||
c.INSDATE AS currentInsdate,
|
||
-- history表的历史值:根据define的ID取对应的VALUE字段
|
||
CASE d.ID
|
||
WHEN 1 THEN h.VALUE1 WHEN 2 THEN h.VALUE2 WHEN 3 THEN h.VALUE3 WHEN 4 THEN h.VALUE4 WHEN 5 THEN h.VALUE5
|
||
WHEN 6 THEN h.VALUE6 WHEN 7 THEN h.VALUE7 WHEN 8 THEN h.VALUE8 WHEN 9 THEN h.VALUE9 WHEN 10 THEN h.VALUE10
|
||
WHEN 11 THEN h.VALUE11 WHEN 12 THEN h.VALUE12 WHEN 13 THEN h.VALUE13 WHEN 14 THEN h.VALUE14 WHEN 15 THEN h.VALUE15
|
||
WHEN 16 THEN h.VALUE16 WHEN 17 THEN h.VALUE17 WHEN 18 THEN h.VALUE18 WHEN 19 THEN h.VALUE19 WHEN 20 THEN h.VALUE20
|
||
WHEN 21 THEN h.VALUE21 WHEN 22 THEN h.VALUE22 WHEN 23 THEN h.VALUE23 WHEN 24 THEN h.VALUE24 WHEN 25 THEN h.VALUE25
|
||
WHEN 26 THEN h.VALUE26 WHEN 27 THEN h.VALUE27 WHEN 28 THEN h.VALUE28 WHEN 29 THEN h.VALUE29 WHEN 30 THEN h.VALUE30
|
||
WHEN 31 THEN h.VALUE31 WHEN 32 THEN h.VALUE32 WHEN 33 THEN h.VALUE33 WHEN 34 THEN h.VALUE34 WHEN 35 THEN h.VALUE35
|
||
WHEN 36 THEN h.VALUE36 WHEN 37 THEN h.VALUE37 WHEN 38 THEN h.VALUE38 WHEN 39 THEN h.VALUE39 WHEN 40 THEN h.VALUE40
|
||
WHEN 41 THEN h.VALUE41 WHEN 42 THEN h.VALUE42 WHEN 43 THEN h.VALUE43 WHEN 44 THEN h.VALUE44 WHEN 45 THEN h.VALUE45
|
||
WHEN 46 THEN h.VALUE46 WHEN 47 THEN h.VALUE47 WHEN 48 THEN h.VALUE48 WHEN 49 THEN h.VALUE49 WHEN 50 THEN h.VALUE50
|
||
WHEN 51 THEN h.VALUE51 WHEN 52 THEN h.VALUE52 WHEN 53 THEN h.VALUE53 WHEN 54 THEN h.VALUE54 WHEN 55 THEN h.VALUE55
|
||
WHEN 56 THEN h.VALUE56 WHEN 57 THEN h.VALUE57 WHEN 58 THEN h.VALUE58 WHEN 59 THEN h.VALUE59 WHEN 60 THEN h.VALUE60
|
||
WHEN 61 THEN h.VALUE61 WHEN 62 THEN h.VALUE62 WHEN 63 THEN h.VALUE63 WHEN 64 THEN h.VALUE64 WHEN 65 THEN h.VALUE65
|
||
WHEN 66 THEN h.VALUE66 WHEN 67 THEN h.VALUE67 WHEN 68 THEN h.VALUE68 WHEN 69 THEN h.VALUE69 WHEN 70 THEN h.VALUE70
|
||
WHEN 71 THEN h.VALUE71 WHEN 72 THEN h.VALUE72 WHEN 73 THEN h.VALUE73 WHEN 74 THEN h.VALUE74 WHEN 75 THEN h.VALUE75
|
||
WHEN 76 THEN h.VALUE76 WHEN 77 THEN h.VALUE77 WHEN 78 THEN h.VALUE78 WHEN 79 THEN h.VALUE79 WHEN 80 THEN h.VALUE80
|
||
WHEN 81 THEN h.VALUE81 WHEN 82 THEN h.VALUE82 WHEN 83 THEN h.VALUE83 WHEN 84 THEN h.VALUE84 WHEN 85 THEN h.VALUE85
|
||
WHEN 86 THEN h.VALUE86 WHEN 87 THEN h.VALUE87 WHEN 88 THEN h.VALUE88 WHEN 89 THEN h.VALUE89 WHEN 90 THEN h.VALUE90
|
||
WHEN 91 THEN h.VALUE91 WHEN 92 THEN h.VALUE92 WHEN 93 THEN h.VALUE93 WHEN 94 THEN h.VALUE94 WHEN 95 THEN h.VALUE95
|
||
WHEN 96 THEN h.VALUE96 WHEN 97 THEN h.VALUE97 WHEN 98 THEN h.VALUE98 WHEN 99 THEN h.VALUE99
|
||
ELSE NULL END AS historyValue,
|
||
h.INSDATE AS historyInsdate
|
||
FROM klptcm1_pro_plant_state_define d
|
||
CROSS JOIN (
|
||
SELECT * FROM klptcm1_pro_plant_state_current
|
||
ORDER BY INSDATE DESC
|
||
LIMIT 1
|
||
) c
|
||
CROSS JOIN (
|
||
SELECT * FROM klptcm1_pro_plant_state_history
|
||
ORDER BY INSDATE DESC
|
||
LIMIT 200
|
||
) h
|
||
WHERE d.NAME = #{name}
|
||
ORDER BY h.INSDATE DESC
|
||
LIMIT 200
|
||
</select>
|
||
|
||
<!-- 新增:获取所有定义及其当前值(不带name过滤) -->
|
||
<select id="selectAllWithValues" resultMap="ValueVoResultMap">
|
||
SELECT
|
||
d.ID,
|
||
d.NAME,
|
||
d.UNITS,
|
||
d.COMMENTS,
|
||
d.INSDATE,
|
||
d.MODELTYPE,
|
||
-- current表的最新值:根据define的ID取对应的VALUE字段
|
||
CASE d.ID
|
||
WHEN 1 THEN c.VALUE1 WHEN 2 THEN c.VALUE2 WHEN 3 THEN c.VALUE3 WHEN 4 THEN c.VALUE4 WHEN 5 THEN c.VALUE5
|
||
WHEN 6 THEN c.VALUE6 WHEN 7 THEN c.VALUE7 WHEN 8 THEN c.VALUE8 WHEN 9 THEN c.VALUE9 WHEN 10 THEN c.VALUE10
|
||
WHEN 11 THEN c.VALUE11 WHEN 12 THEN c.VALUE12 WHEN 13 THEN c.VALUE13 WHEN 14 THEN c.VALUE14 WHEN 15 THEN c.VALUE15
|
||
WHEN 16 THEN c.VALUE16 WHEN 17 THEN c.VALUE17 WHEN 18 THEN c.VALUE18 WHEN 19 THEN c.VALUE19 WHEN 20 THEN c.VALUE20
|
||
WHEN 21 THEN c.VALUE21 WHEN 22 THEN c.VALUE22 WHEN 23 THEN c.VALUE23 WHEN 24 THEN c.VALUE24 WHEN 25 THEN c.VALUE25
|
||
WHEN 26 THEN c.VALUE26 WHEN 27 THEN c.VALUE27 WHEN 28 THEN c.VALUE28 WHEN 29 THEN c.VALUE29 WHEN 30 THEN c.VALUE30
|
||
WHEN 31 THEN c.VALUE31 WHEN 32 THEN c.VALUE32 WHEN 33 THEN c.VALUE33 WHEN 34 THEN c.VALUE34 WHEN 35 THEN c.VALUE35
|
||
WHEN 36 THEN c.VALUE36 WHEN 37 THEN c.VALUE37 WHEN 38 THEN c.VALUE38 WHEN 39 THEN c.VALUE39 WHEN 40 THEN c.VALUE40
|
||
WHEN 41 THEN c.VALUE41 WHEN 42 THEN c.VALUE42 WHEN 43 THEN c.VALUE43 WHEN 44 THEN c.VALUE44 WHEN 45 THEN c.VALUE45
|
||
WHEN 46 THEN c.VALUE46 WHEN 47 THEN c.VALUE47 WHEN 48 THEN c.VALUE48 WHEN 49 THEN c.VALUE49 WHEN 50 THEN c.VALUE50
|
||
WHEN 51 THEN c.VALUE51 WHEN 52 THEN c.VALUE52 WHEN 53 THEN c.VALUE53 WHEN 54 THEN c.VALUE54 WHEN 55 THEN c.VALUE55
|
||
WHEN 56 THEN c.VALUE56 WHEN 57 THEN c.VALUE57 WHEN 58 THEN c.VALUE58 WHEN 59 THEN c.VALUE59 WHEN 60 THEN c.VALUE60
|
||
WHEN 61 THEN c.VALUE61 WHEN 62 THEN c.VALUE62 WHEN 63 THEN c.VALUE63 WHEN 64 THEN c.VALUE64 WHEN 65 THEN c.VALUE65
|
||
WHEN 66 THEN c.VALUE66 WHEN 67 THEN c.VALUE67 WHEN 68 THEN c.VALUE68 WHEN 69 THEN c.VALUE69 WHEN 70 THEN c.VALUE70
|
||
WHEN 71 THEN c.VALUE71 WHEN 72 THEN c.VALUE72 WHEN 73 THEN c.VALUE73 WHEN 74 THEN c.VALUE74 WHEN 75 THEN c.VALUE75
|
||
WHEN 76 THEN c.VALUE76 WHEN 77 THEN c.VALUE77 WHEN 78 THEN c.VALUE78 WHEN 79 THEN c.VALUE79 WHEN 80 THEN c.VALUE80
|
||
WHEN 81 THEN c.VALUE81 WHEN 82 THEN c.VALUE82 WHEN 83 THEN c.VALUE83 WHEN 84 THEN c.VALUE84 WHEN 85 THEN c.VALUE85
|
||
WHEN 86 THEN c.VALUE86 WHEN 87 THEN c.VALUE87 WHEN 88 THEN c.VALUE88 WHEN 89 THEN c.VALUE89 WHEN 90 THEN c.VALUE90
|
||
WHEN 91 THEN c.VALUE91 WHEN 92 THEN c.VALUE92 WHEN 93 THEN c.VALUE93 WHEN 94 THEN c.VALUE94 WHEN 95 THEN c.VALUE95
|
||
WHEN 96 THEN c.VALUE96 WHEN 97 THEN c.VALUE97 WHEN 98 THEN c.VALUE98 WHEN 99 THEN c.VALUE99
|
||
ELSE NULL END AS currentValue,
|
||
c.INSDATE AS currentInsdate
|
||
FROM klptcm1_pro_plant_state_define d
|
||
CROSS JOIN (
|
||
SELECT * FROM klptcm1_pro_plant_state_current
|
||
ORDER BY INSDATE DESC
|
||
LIMIT 1
|
||
) c
|
||
ORDER BY d.ID
|
||
</select>
|
||
|
||
|
||
</mapper>
|