feat(pocket): 新增工厂状态数据的CURD功能

- 为Klptcm1ProPlantStateCurrent实体增加完整的增删改查接口
- 实现按复合键(INSDATE+TYPE)查询、插入、更新和删除逻辑
- 在Mapper层添加对应的XML SQL映射支持
- 为Klptcm1ProPlantStateDefine增加ID查询、批量删除等功能
- 添加PlantStateWithValueVo视图对象及相关联查逻辑
- 提供根据名称获取带值的状态定义列表方法
- 控制器层新增RESTful API endpoints支持完整操作- 完善服务层实现并暴露统一的服务接口供调用
This commit is contained in:
2025-10-29 11:53:42 +08:00
parent 22895d3513
commit d9580f4c5b
11 changed files with 728 additions and 2 deletions

View File

@@ -23,5 +23,477 @@
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.MODELTYPE,
-- current表对应VALUE{ID}
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表对应VALUE{ID}
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
-- 关联current表只匹配ID对应的VALUE字段且该字段非空
LEFT JOIN klptcm1_pro_plant_state_current c
ON d.MODELTYPE = c.TYPE
AND (
(d.ID = 1 AND c.VALUE1 IS NOT NULL) OR
(d.ID = 2 AND c.VALUE2 IS NOT NULL) OR
(d.ID = 3 AND c.VALUE3 IS NOT NULL) OR
(d.ID = 4 AND c.VALUE4 IS NOT NULL) OR
(d.ID = 5 AND c.VALUE5 IS NOT NULL) OR
(d.ID = 6 AND c.VALUE6 IS NOT NULL) OR
(d.ID = 7 AND c.VALUE7 IS NOT NULL) OR
(d.ID = 8 AND c.VALUE8 IS NOT NULL) OR
(d.ID = 9 AND c.VALUE9 IS NOT NULL) OR
(d.ID = 10 AND c.VALUE10 IS NOT NULL) OR
(d.ID = 11 AND c.VALUE11 IS NOT NULL) OR
(d.ID = 12 AND c.VALUE12 IS NOT NULL) OR
(d.ID = 13 AND c.VALUE13 IS NOT NULL) OR
(d.ID = 14 AND c.VALUE14 IS NOT NULL) OR
(d.ID = 15 AND c.VALUE15 IS NOT NULL) OR
(d.ID = 16 AND c.VALUE16 IS NOT NULL) OR
(d.ID = 17 AND c.VALUE17 IS NOT NULL) OR
(d.ID = 18 AND c.VALUE18 IS NOT NULL) OR
(d.ID = 19 AND c.VALUE19 IS NOT NULL) OR
(d.ID = 20 AND c.VALUE20 IS NOT NULL) OR
(d.ID = 21 AND c.VALUE21 IS NOT NULL) OR
(d.ID = 22 AND c.VALUE22 IS NOT NULL) OR
(d.ID = 23 AND c.VALUE23 IS NOT NULL) OR
(d.ID = 24 AND c.VALUE24 IS NOT NULL) OR
(d.ID = 25 AND c.VALUE25 IS NOT NULL) OR
(d.ID = 26 AND c.VALUE26 IS NOT NULL) OR
(d.ID = 27 AND c.VALUE27 IS NOT NULL) OR
(d.ID = 28 AND c.VALUE28 IS NOT NULL) OR
(d.ID = 29 AND c.VALUE29 IS NOT NULL) OR
(d.ID = 30 AND c.VALUE30 IS NOT NULL) OR
(d.ID = 31 AND c.VALUE31 IS NOT NULL) OR
(d.ID = 32 AND c.VALUE32 IS NOT NULL) OR
(d.ID = 33 AND c.VALUE33 IS NOT NULL) OR
(d.ID = 34 AND c.VALUE34 IS NOT NULL) OR
(d.ID = 35 AND c.VALUE35 IS NOT NULL) OR
(d.ID = 36 AND c.VALUE36 IS NOT NULL) OR
(d.ID = 37 AND c.VALUE37 IS NOT NULL) OR
(d.ID = 38 AND c.VALUE38 IS NOT NULL) OR
(d.ID = 39 AND c.VALUE39 IS NOT NULL) OR
(d.ID = 40 AND c.VALUE40 IS NOT NULL) OR
(d.ID = 41 AND c.VALUE41 IS NOT NULL) OR
(d.ID = 42 AND c.VALUE42 IS NOT NULL) OR
(d.ID = 43 AND c.VALUE43 IS NOT NULL) OR
(d.ID = 44 AND c.VALUE44 IS NOT NULL) OR
(d.ID = 45 AND c.VALUE45 IS NOT NULL) OR
(d.ID = 46 AND c.VALUE46 IS NOT NULL) OR
(d.ID = 47 AND c.VALUE47 IS NOT NULL) OR
(d.ID = 48 AND c.VALUE48 IS NOT NULL) OR
(d.ID = 49 AND c.VALUE49 IS NOT NULL) OR
(d.ID = 50 AND c.VALUE50 IS NOT NULL) OR
(d.ID = 51 AND c.VALUE51 IS NOT NULL) OR
(d.ID = 52 AND c.VALUE52 IS NOT NULL) OR
(d.ID = 53 AND c.VALUE53 IS NOT NULL) OR
(d.ID = 54 AND c.VALUE54 IS NOT NULL) OR
(d.ID = 55 AND c.VALUE55 IS NOT NULL) OR
(d.ID = 56 AND c.VALUE56 IS NOT NULL) OR
(d.ID = 57 AND c.VALUE57 IS NOT NULL) OR
(d.ID = 58 AND c.VALUE58 IS NOT NULL) OR
(d.ID = 59 AND c.VALUE59 IS NOT NULL) OR
(d.ID = 60 AND c.VALUE60 IS NOT NULL) OR
(d.ID = 61 AND c.VALUE61 IS NOT NULL) OR
(d.ID = 62 AND c.VALUE62 IS NOT NULL) OR
(d.ID = 63 AND c.VALUE63 IS NOT NULL) OR
(d.ID = 64 AND c.VALUE64 IS NOT NULL) OR
(d.ID = 65 AND c.VALUE65 IS NOT NULL) OR
(d.ID = 66 AND c.VALUE66 IS NOT NULL) OR
(d.ID = 67 AND c.VALUE67 IS NOT NULL) OR
(d.ID = 68 AND c.VALUE68 IS NOT NULL) OR
(d.ID = 69 AND c.VALUE69 IS NOT NULL) OR
(d.ID = 70 AND c.VALUE70 IS NOT NULL) OR
(d.ID = 71 AND c.VALUE71 IS NOT NULL) OR
(d.ID = 72 AND c.VALUE72 IS NOT NULL) OR
(d.ID = 73 AND c.VALUE73 IS NOT NULL) OR
(d.ID = 74 AND c.VALUE74 IS NOT NULL) OR
(d.ID = 75 AND c.VALUE75 IS NOT NULL) OR
(d.ID = 76 AND c.VALUE76 IS NOT NULL) OR
(d.ID = 77 AND c.VALUE77 IS NOT NULL) OR
(d.ID = 78 AND c.VALUE78 IS NOT NULL) OR
(d.ID = 79 AND c.VALUE79 IS NOT NULL) OR
(d.ID = 80 AND c.VALUE80 IS NOT NULL) OR
(d.ID = 81 AND c.VALUE81 IS NOT NULL) OR
(d.ID = 82 AND c.VALUE82 IS NOT NULL) OR
(d.ID = 83 AND c.VALUE83 IS NOT NULL) OR
(d.ID = 84 AND c.VALUE84 IS NOT NULL) OR
(d.ID = 85 AND c.VALUE85 IS NOT NULL) OR
(d.ID = 86 AND c.VALUE86 IS NOT NULL) OR
(d.ID = 87 AND c.VALUE87 IS NOT NULL) OR
(d.ID = 88 AND c.VALUE88 IS NOT NULL) OR
(d.ID = 89 AND c.VALUE89 IS NOT NULL) OR
(d.ID = 90 AND c.VALUE90 IS NOT NULL) OR
(d.ID = 91 AND c.VALUE91 IS NOT NULL) OR
(d.ID = 92 AND c.VALUE92 IS NOT NULL) OR
(d.ID = 93 AND c.VALUE93 IS NOT NULL) OR
(d.ID = 94 AND c.VALUE94 IS NOT NULL) OR
(d.ID = 95 AND c.VALUE95 IS NOT NULL) OR
(d.ID = 96 AND c.VALUE96 IS NOT NULL) OR
(d.ID = 97 AND c.VALUE97 IS NOT NULL) OR
(d.ID = 98 AND c.VALUE98 IS NOT NULL) OR
(d.ID = 99 AND c.VALUE99 IS NOT NULL)
)
-- 关联history表逻辑同current表
LEFT JOIN klptcm1_pro_plant_state_history h
ON d.MODELTYPE = h.TYPE
AND (
(d.ID = 1 AND h.VALUE1 IS NOT NULL) OR
(d.ID = 2 AND h.VALUE2 IS NOT NULL) OR
(d.ID = 3 AND h.VALUE3 IS NOT NULL) OR
(d.ID = 4 AND h.VALUE4 IS NOT NULL) OR
(d.ID = 5 AND h.VALUE5 IS NOT NULL) OR
(d.ID = 6 AND h.VALUE6 IS NOT NULL) OR
(d.ID = 7 AND h.VALUE7 IS NOT NULL) OR
(d.ID = 8 AND h.VALUE8 IS NOT NULL) OR
(d.ID = 9 AND h.VALUE9 IS NOT NULL) OR
(d.ID = 10 AND h.VALUE10 IS NOT NULL) OR
(d.ID = 11 AND h.VALUE11 IS NOT NULL) OR
(d.ID = 12 AND h.VALUE12 IS NOT NULL) OR
(d.ID = 13 AND h.VALUE13 IS NOT NULL) OR
(d.ID = 14 AND h.VALUE14 IS NOT NULL) OR
(d.ID = 15 AND h.VALUE15 IS NOT NULL) OR
(d.ID = 16 AND h.VALUE16 IS NOT NULL) OR
(d.ID = 17 AND h.VALUE17 IS NOT NULL) OR
(d.ID = 18 AND h.VALUE18 IS NOT NULL) OR
(d.ID = 19 AND h.VALUE19 IS NOT NULL) OR
(d.ID = 20 AND h.VALUE20 IS NOT NULL) OR
(d.ID = 21 AND h.VALUE21 IS NOT NULL) OR
(d.ID = 22 AND h.VALUE22 IS NOT NULL) OR
(d.ID = 23 AND h.VALUE23 IS NOT NULL) OR
(d.ID = 24 AND h.VALUE24 IS NOT NULL) OR
(d.ID = 25 AND h.VALUE25 IS NOT NULL) OR
(d.ID = 26 AND h.VALUE26 IS NOT NULL) OR
(d.ID = 27 AND h.VALUE27 IS NOT NULL) OR
(d.ID = 28 AND h.VALUE28 IS NOT NULL) OR
(d.ID = 29 AND h.VALUE29 IS NOT NULL) OR
(d.ID = 30 AND h.VALUE30 IS NOT NULL) OR
(d.ID = 31 AND h.VALUE31 IS NOT NULL) OR
(d.ID = 32 AND h.VALUE32 IS NOT NULL) OR
(d.ID = 33 AND h.VALUE33 IS NOT NULL) OR
(d.ID = 34 AND h.VALUE34 IS NOT NULL) OR
(d.ID = 35 AND h.VALUE35 IS NOT NULL) OR
(d.ID = 36 AND h.VALUE36 IS NOT NULL) OR
(d.ID = 37 AND h.VALUE37 IS NOT NULL) OR
(d.ID = 38 AND h.VALUE38 IS NOT NULL) OR
(d.ID = 39 AND h.VALUE39 IS NOT NULL) OR
(d.ID = 40 AND h.VALUE40 IS NOT NULL) OR
(d.ID = 41 AND h.VALUE41 IS NOT NULL) OR
(d.ID = 42 AND h.VALUE42 IS NOT NULL) OR
(d.ID = 43 AND h.VALUE43 IS NOT NULL) OR
(d.ID = 44 AND h.VALUE44 IS NOT NULL) OR
(d.ID = 45 AND h.VALUE45 IS NOT NULL) OR
(d.ID = 46 AND h.VALUE46 IS NOT NULL) OR
(d.ID = 47 AND h.VALUE47 IS NOT NULL) OR
(d.ID = 48 AND h.VALUE48 IS NOT NULL) OR
(d.ID = 49 AND h.VALUE49 IS NOT NULL) OR
(d.ID = 50 AND h.VALUE50 IS NOT NULL) OR
(d.ID = 51 AND h.VALUE51 IS NOT NULL) OR
(d.ID = 52 AND h.VALUE52 IS NOT NULL) OR
(d.ID = 53 AND h.VALUE53 IS NOT NULL) OR
(d.ID = 54 AND h.VALUE54 IS NOT NULL) OR
(d.ID = 55 AND h.VALUE55 IS NOT NULL) OR
(d.ID = 56 AND h.VALUE56 IS NOT NULL) OR
(d.ID = 57 AND h.VALUE57 IS NOT NULL) OR
(d.ID = 58 AND h.VALUE58 IS NOT NULL) OR
(d.ID = 59 AND h.VALUE59 IS NOT NULL) OR
(d.ID = 60 AND h.VALUE60 IS NOT NULL) OR
(d.ID = 61 AND h.VALUE61 IS NOT NULL) OR
(d.ID = 62 AND h.VALUE62 IS NOT NULL) OR
(d.ID = 63 AND h.VALUE63 IS NOT NULL) OR
(d.ID = 64 AND h.VALUE64 IS NOT NULL) OR
(d.ID = 65 AND h.VALUE65 IS NOT NULL) OR
(d.ID = 66 AND h.VALUE66 IS NOT NULL) OR
(d.ID = 67 AND h.VALUE67 IS NOT NULL) OR
(d.ID = 68 AND h.VALUE68 IS NOT NULL) OR
(d.ID = 69 AND h.VALUE69 IS NOT NULL) OR
(d.ID = 70 AND h.VALUE70 IS NOT NULL) OR
(d.ID = 71 AND h.VALUE71 IS NOT NULL) OR
(d.ID = 72 AND h.VALUE72 IS NOT NULL) OR
(d.ID = 73 AND h.VALUE73 IS NOT NULL) OR
(d.ID = 74 AND h.VALUE74 IS NOT NULL) OR
(d.ID = 75 AND h.VALUE75 IS NOT NULL) OR
(d.ID = 76 AND h.VALUE76 IS NOT NULL) OR
(d.ID = 77 AND h.VALUE77 IS NOT NULL) OR
(d.ID = 78 AND h.VALUE78 IS NOT NULL) OR
(d.ID = 79 AND h.VALUE79 IS NOT NULL) OR
(d.ID = 80 AND h.VALUE80 IS NOT NULL) OR
(d.ID = 81 AND h.VALUE81 IS NOT NULL) OR
(d.ID = 82 AND h.VALUE82 IS NOT NULL) OR
(d.ID = 83 AND h.VALUE83 IS NOT NULL) OR
(d.ID = 84 AND h.VALUE84 IS NOT NULL) OR
(d.ID = 85 AND h.VALUE85 IS NOT NULL) OR
(d.ID = 86 AND h.VALUE86 IS NOT NULL) OR
(d.ID = 87 AND h.VALUE87 IS NOT NULL) OR
(d.ID = 88 AND h.VALUE88 IS NOT NULL) OR
(d.ID = 89 AND h.VALUE89 IS NOT NULL) OR
(d.ID = 90 AND h.VALUE90 IS NOT NULL) OR
(d.ID = 91 AND h.VALUE91 IS NOT NULL) OR
(d.ID = 92 AND h.VALUE92 IS NOT NULL) OR
(d.ID = 93 AND h.VALUE93 IS NOT NULL) OR
(d.ID = 94 AND h.VALUE94 IS NOT NULL) OR
(d.ID = 95 AND h.VALUE95 IS NOT NULL) OR
(d.ID = 96 AND h.VALUE96 IS NOT NULL) OR
(d.ID = 97 AND h.VALUE97 IS NOT NULL) OR
(d.ID = 98 AND h.VALUE98 IS NOT NULL) OR
(d.ID = 99 AND h.VALUE99 IS NOT NULL)
)
WHERE d.NAME = #{name}
-- 按插入时间倒叙取最新200条
ORDER BY COALESCE(c.INSDATE, h.INSDATE) DESC LIMIT 200
</select>
</mapper>