DeviceParmMapper.xml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.huaxu.dao.DeviceParmMapper">
  4. <sql id="Base_Column_List">
  5. p.ID as "id"
  6. ,p.TENANT_ID as "tenantId"
  7. ,p.parent_scene_id as "parentSceneId"
  8. ,p.scene_id as "sceneId"
  9. ,p.DEVICE_ID as "deviceId"
  10. ,p.ATTRIBUTE_ID as "attributeId"
  11. ,p.IS_SUSPENSION as "isSuspension"
  12. ,p.IS_REPORT as "isReport"
  13. ,p.IS_CHART as "isChart"
  14. ,p.IS_MAP as "isMap"
  15. ,p.IS_ALARM as "isAlarm"
  16. ,p.IS_ARTWORK as "isArtwork"
  17. ,p.SEQ as "seq"
  18. ,p.REMARK as "remark"
  19. ,p.STATUS as "status"
  20. ,p.DATE_CREATE as "dateCreate"
  21. ,p.CREATE_BY as "createBy"
  22. ,p.DATE_UPDATE as "dateUpdate"
  23. ,p.UPDATE_BY as "updateBy"
  24. ,p.parm_type as "parmType"
  25. ,t.`NAME` as "attributeName"
  26. </sql>
  27. <sql id="deviceParmJoins">
  28. left join sms_device_attribute t on t.id= p.ATTRIBUTE_ID
  29. </sql>
  30. <select id="selectByDeviceId" resultType="com.huaxu.entity.DeviceParmEntity">
  31. select p.ID as "id"
  32. ,p.TENANT_ID as "tenantId"
  33. ,p.parent_scene_id as "parentSceneId"
  34. ,p.scene_id as "sceneId"
  35. ,p.DEVICE_ID as "deviceId"
  36. ,b.id as "attributeId"
  37. ,p.IS_SUSPENSION as "isSuspension"
  38. ,p.IS_REPORT as "isReport"
  39. ,p.IS_CHART as "isChart"
  40. ,p.IS_MAP as "isMap"
  41. ,p.IS_ALARM as "isAlarm"
  42. ,p.IS_ARTWORK as "isArtwork"
  43. ,p.SEQ as "seq"
  44. ,p.REMARK as "remark"
  45. ,p.STATUS as "status"
  46. ,p.DATE_CREATE as "dateCreate"
  47. ,p.CREATE_BY as "createBy"
  48. ,p.DATE_UPDATE as "dateUpdate"
  49. ,p.UPDATE_BY as "updateBy"
  50. ,b.`NAME` as "attributeName"
  51. ,p.PARM_TYPE as "parmType"
  52. from sms_device a
  53. inner join sms_device_parm p on p.DEVICE_ID=a.id and p.scene_id = #{sceneId} and p.`STATUS`=1
  54. inner join sms_device_attribute b on p.ATTRIBUTE_ID=b.id and b.`STATUS`=1
  55. where a.id=#{id}
  56. </select>
  57. <select id="selectBySceneId" resultType="com.huaxu.entity.DeviceParmEntity">
  58. select p.ID as "id"
  59. ,p.TENANT_ID as "tenantId"
  60. ,p.parent_scene_id as "parentSceneId"
  61. ,p.scene_id as "sceneId"
  62. ,p.DEVICE_ID as "deviceId"
  63. ,b.id as "attributeId"
  64. ,p.IS_SUSPENSION as "isSuspension"
  65. ,p.IS_REPORT as "isReport"
  66. ,p.IS_CHART as "isChart"
  67. ,p.IS_MAP as "isMap"
  68. ,p.IS_ALARM as "isAlarm"
  69. ,p.IS_ARTWORK as "isArtwork"
  70. ,p.SEQ as "seq"
  71. ,p.REMARK as "remark"
  72. ,p.STATUS as "status"
  73. ,p.DATE_CREATE as "dateCreate"
  74. ,p.CREATE_BY as "createBy"
  75. ,p.DATE_UPDATE as "dateUpdate"
  76. ,p.UPDATE_BY as "updateBy"
  77. ,ifnull(p.REMARK,b.`NAME`) as "attributeName"
  78. ,p.PARM_TYPE as "parmType"
  79. ,a.device_code as "deviceCode"
  80. from sms_device_parm p
  81. inner join sms_device_attribute b on p.ATTRIBUTE_ID=b.id and b.`STATUS`=1
  82. inner join sms_device a on a.id=p.DEVICE_ID
  83. where p.IS_ARTWORK=1 and (p.scene_id = #{sceneId} or p.parent_scene_id = #{sceneId}) and p.`STATUS`=1
  84. </select>
  85. <select id="selectByDeviceIdForGis" resultType="com.huaxu.entity.DeviceParmEntity">
  86. select p.ID as "id"
  87. ,p.TENANT_ID as "tenantId"
  88. ,p.DEVICE_ID as "deviceId"
  89. ,b.id as "attributeId"
  90. ,p.IS_SUSPENSION as "isSuspension"
  91. ,p.IS_REPORT as "isReport"
  92. ,p.IS_CHART as "isChart"
  93. ,p.IS_MAP as "isMap"
  94. ,p.IS_ALARM as "isAlarm"
  95. ,p.IS_ARTWORK as "isArtwork"
  96. ,p.SEQ as "seq"
  97. ,p.REMARK as "remark"
  98. ,p.STATUS as "status"
  99. ,p.DATE_CREATE as "dateCreate"
  100. ,p.CREATE_BY as "createBy"
  101. ,p.DATE_UPDATE as "dateUpdate"
  102. ,p.UPDATE_BY as "updateBy"
  103. ,p.parm_type as "parmType"
  104. ,b.`NAME` as "attributeName"
  105. from sms_device a
  106. inner join sms_device_parm p on p.DEVICE_ID=a.id and (p.parent_scene_id = #{sceneId} or p.SCENE_ID= #{sceneId}) and p.`STATUS`=1
  107. inner join sms_device_attribute b on p.ATTRIBUTE_ID=b.id and b.`STATUS`=1
  108. where a.id=#{id} and p.IS_ARTWORK=1 order by p.seq is null,p.seq asc
  109. </select>
  110. <select id="selectById" resultType="com.huaxu.entity.DeviceParmEntity">
  111. select
  112. <include refid="Base_Column_List"/>
  113. from sms_device_parm p
  114. <include refid="deviceParmJoins"/>
  115. where p.ID = #{id} and p.status = 1
  116. </select>
  117. <!--通过实体作为筛选条件查询-->
  118. <select id="selectList" resultType="com.huaxu.entity.DeviceParmEntity">
  119. select
  120. <include refid="Base_Column_List"/>
  121. from sms_device_parm p
  122. <include refid="deviceParmJoins"/>
  123. where p.status = 1
  124. <if test="id != null">
  125. and p.ID = #{id}
  126. </if>
  127. <if test="deviceId != null">
  128. and p.device_id = #{deviceId}
  129. </if>
  130. <if test="attributeId != null">
  131. and p.attribute_id = #{attributeId}
  132. </if>
  133. <if test="tenantId != null">
  134. and p.TENANT_ID = #{tenantId}
  135. </if>
  136. <if test="parentSceneId != null">
  137. and p.parent_scene_id = #{parentSceneId}
  138. </if>
  139. </select>
  140. <!-- 新增所有列 -->
  141. <insert id="insert" keyProperty="id" useGeneratedKeys="true">
  142. INSERT INTO sms_device_parm (TENANT_ID ,parent_scene_id,scene_id,DEVICE_ID ,ATTRIBUTE_ID ,IS_SUSPENSION ,IS_REPORT ,IS_CHART ,IS_MAP ,IS_ALARM ,IS_ARTWORK,PARM_TYPE ,REMARK ,SEQ,STATUS ,DATE_CREATE ,CREATE_BY ,DATE_UPDATE ,UPDATE_BY )
  143. VALUES(#{tenantId},#{parentSceneId},#{sceneId},#{deviceId},#{attributeId},#{isSuspension},#{isReport},#{isChart},#{isMap},#{isAlarm},#{isArtwork},#{parmType},#{remark},#{seq},#{status},#{dateCreate},#{createBy},#{dateUpdate},#{updateBy})
  144. </insert>
  145. <!-- 批量新增 -->
  146. <insert id="batchInsert">
  147. INSERT INTO sms_device_parm (TENANT_ID ,parent_scene_id,scene_id,DEVICE_ID ,ATTRIBUTE_ID ,IS_SUSPENSION ,IS_REPORT ,IS_CHART ,IS_MAP
  148. ,IS_ALARM ,IS_ARTWORK ,PARM_TYPE,REMARK ,SEQ,STATUS ,DATE_CREATE ,CREATE_BY ,DATE_UPDATE ,UPDATE_BY )
  149. values
  150. <foreach collection="deviceParms" item="item" index="index" separator=",">
  151. (#{item.tenantId},#{item.parentSceneId},#{item.sceneId},#{item.deviceId},#{item.attributeId},#{item.isSuspension},#{item.isReport},#{item.isChart},#{item.isMap},#{item.isAlarm},#{item.isArtwork},#{item.parmType},#{item.remark},#{seq},#{item.status},#{item.dateCreate},#{item.createBy},#{item.dateUpdate},#{item.updateBy})
  152. </foreach>
  153. </insert>
  154. <!-- 通过主键修改数据 -->
  155. <update id="update">
  156. UPDATE sms_device_parm
  157. <set>
  158. <if test="tenantId != null and tenantId != '' ">
  159. TENANT_ID = #{tenantId},
  160. </if>
  161. <if test="deviceId != null ">
  162. DEVICE_ID = #{deviceId},
  163. </if>
  164. <if test="attributeId != null ">
  165. ATTRIBUTE_ID = #{attributeId},
  166. </if>
  167. <if test="isSuspension != null ">
  168. IS_SUSPENSION = #{isSuspension},
  169. </if>
  170. <if test="isReport != null ">
  171. IS_REPORT = #{isReport},
  172. </if>
  173. <if test="isChart != null ">
  174. IS_CHART = #{isChart},
  175. </if>
  176. <if test="isMap != null ">
  177. IS_MAP = #{isMap},
  178. </if>
  179. <if test="isAlarm != null ">
  180. IS_ALARM = #{isAlarm},
  181. </if>
  182. <if test="isArtwork != null ">
  183. IS_ARTWORK = #{isArtwork},
  184. </if>
  185. REMARK = #{remark},
  186. parm_type = #{parmType},
  187. <if test="seq != null and seq != '' ">
  188. SEQ = #{seq},
  189. </if>
  190. <if test="status != null ">
  191. STATUS = #{status},
  192. </if>
  193. <if test="dateUpdate != null ">
  194. DATE_UPDATE = #{dateUpdate},
  195. </if>
  196. <if test="updateBy != null and updateBy != ''">
  197. UPDATE_BY = #{updateBy}
  198. </if>
  199. </set>
  200. WHERE
  201. ID = #{id};
  202. </update>
  203. <!--通过主键删除-->
  204. <delete id="deleteById">
  205. UPDATE sms_device_parm set STATUS = 0 where id = #{id}
  206. </delete>
  207. <delete id="deleteByDeviceId">
  208. UPDATE sms_device_parm set STATUS = 0 where device_id = #{deviceId}
  209. </delete>
  210. <!-- 分页查询 -->
  211. <select id="selectPage" resultType="com.huaxu.entity.DeviceParmEntity">
  212. select
  213. <include refid="Base_Column_List"/>
  214. from sms_device_parm p
  215. <include refid="deviceParmJoins"/>
  216. where p.status = 1
  217. </select>
  218. <select id="findAttributeNameList" resultType="com.huaxu.dto.ReportAttributeDto">
  219. SELECT DISTINCT tab.attributeName,tab.attributeType,tab.SEQ,tab.showMinValue,tab.showAvgValue,tab.showMaxValue,
  220. tab.showSumValue,tab.showLatestValue,tab.classify,tab.showOnOff,tab.deviceName,tab.deviceParmId,tab.dimensionId,
  221. tab.unit
  222. from
  223. (SELECT
  224. IFNULL(a.REMARK,b.`NAME`) AS "attributeName",
  225. a.parm_type as "attributeType",a.SEQ,
  226. s.SHOW_MIN_VALUE AS "showMinValue",
  227. s.SHOW_AVG_VALUE AS "showAvgValue",
  228. s.SHOW_MAX_VALUE AS "showMaxValue",
  229. s.SHOW_SUM_VALUE AS "showSumValue",
  230. s.SHOW_LATEST_VALUE AS "showLatestValue",
  231. s.id as "dimensionId",
  232. s.CLASSIFY AS "classify",
  233. s.SHOW_ON_OFF AS "showOnOff",
  234. d.DEVICE_NAME AS "deviceName",
  235. a.id AS "deviceParmId",
  236. b.UNIT as "unit"
  237. FROM sms_device_parm a
  238. INNER JOIN sms_device d on d.ID = a.DEVICE_ID
  239. INNER JOIN sms_device_attribute b on a.ATTRIBUTE_ID=b.ID
  240. LEFT JOIN sms_report_dimension_setting s on s.device_parm_id=a.ID
  241. <if test ="report.userId != null">
  242. and s.user_id =#{report.userId}
  243. </if>
  244. where
  245. a.IS_REPORT=1 and a.status=1
  246. <if test="report.deviceIds != null and report.deviceIds.size() > 0">
  247. and a.DEVICE_ID in
  248. <foreach collection="report.deviceIds" item="dramaId" open="(" close=")" separator=",">
  249. #{dramaId.id}
  250. </foreach>
  251. </if>
  252. <if test="report.parentSceneIds != null and report.parentSceneIds.length > 0">
  253. and a.PARENT_SCENE_ID in
  254. <foreach collection="report.parentSceneIds" item="dramaId" open="(" close=")" separator=",">
  255. #{dramaId}
  256. </foreach>
  257. </if>
  258. <if test="report.sceneId != null ">
  259. and a.scene_id = #{report.sceneId}
  260. </if>
  261. <if test="report.parmType != null">
  262. and a.PARM_TYPE in
  263. <foreach collection="report.parmType" item="typeId" open="(" close=")" separator=",">
  264. #{typeId}
  265. </foreach>
  266. </if>
  267. ORDER BY a.SEQ asc
  268. ) as tab
  269. ORDER BY tab.SEQ asc
  270. </select>
  271. <select id="findHistoryDataAttributeNameList" resultType="com.huaxu.dto.ReportAttributeDto">
  272. SELECT DISTINCT tab.attributeName,tab.attributeType,tab.SEQ,tab.showMinValue,tab.showAvgValue,tab.showMaxValue,
  273. tab.showSumValue,tab.showLatestValue,tab.classify,tab.showOnOff,tab.deviceName,tab.deviceParmId,tab.dimensionId,
  274. tab.unit,tab.type,tab.attributeId
  275. from
  276. (SELECT
  277. IFNULL(a.REMARK,b.`NAME`) AS "attributeName",
  278. a.parm_type as "attributeType",a.SEQ,
  279. s.SHOW_MIN_VALUE AS "showMinValue",
  280. s.SHOW_AVG_VALUE AS "showAvgValue",
  281. s.SHOW_MAX_VALUE AS "showMaxValue",
  282. s.SHOW_SUM_VALUE AS "showSumValue",
  283. s.SHOW_LATEST_VALUE AS "showLatestValue",
  284. s.id as "dimensionId",
  285. s.CLASSIFY AS "classify",
  286. s.SHOW_ON_OFF AS "showOnOff",
  287. d.DEVICE_NAME AS "deviceName",
  288. a.id AS "deviceParmId",
  289. b.UNIT as "unit",
  290. 1 as "type",
  291. a.ATTRIBUTE_ID as "attributeId"
  292. FROM sms_device_parm a
  293. INNER JOIN sms_device d on d.ID = a.DEVICE_ID
  294. INNER JOIN sms_device_attribute b on a.ATTRIBUTE_ID=b.ID
  295. LEFT JOIN sms_report_dimension_setting s on s.device_parm_id=a.ID and s.type=1
  296. <if test ="report.userId != null">
  297. and s.user_id =#{report.userId}
  298. </if>
  299. where
  300. a.IS_REPORT=1 and a.status=1
  301. <if test="report.deviceIds != null and report.deviceIds.size() > 0">
  302. and a.DEVICE_ID in
  303. <foreach collection="report.deviceIds" item="dramaId" open="(" close=")" separator=",">
  304. #{dramaId.id}
  305. </foreach>
  306. </if>
  307. <if test="report.parentSceneIds != null and report.parentSceneIds.length > 0">
  308. and a.PARENT_SCENE_ID in
  309. <foreach collection="report.parentSceneIds" item="dramaId" open="(" close=")" separator=",">
  310. #{dramaId}
  311. </foreach>
  312. </if>
  313. <if test="report.sceneId != null ">
  314. and a.scene_id = #{report.sceneId}
  315. </if>
  316. <if test="report.parmType != null">
  317. and a.PARM_TYPE in
  318. <foreach collection="report.parmType" item="typeId" open="(" close=")" separator=",">
  319. #{typeId}
  320. </foreach>
  321. </if>
  322. ORDER BY a.SEQ asc
  323. ) as tab
  324. ORDER BY tab.SEQ asc
  325. </select>
  326. <select id="findBySceneDeviceId" resultType="com.huaxu.dto.DeviceParmInfoDto">
  327. select a.id as "deviceId",b.id as "attributeId",b.`NAME` as "attributeName"
  328. ,case when p.ID is null then 0 else 1 end as "isCheck"
  329. from sms_device a
  330. inner join sms_device_attribute b on a.DEVICE_TYPE_ID= b.DEVICE_TYPE_ID and b.`STATUS` =1
  331. left join sms_device_parm p on p.DEVICE_ID=a.ID and p.ATTRIBUTE_ID=b.ID and p.`STATUS`=1 and p.SCENE_ID=#{info.sceneId}
  332. where a.id=#{info.deviceId}
  333. <if test="info.sceneIds != null and info.sceneIds.size() > 0">
  334. and b.id not in (
  335. select d.ATTRIBUTE_ID
  336. from sms_device_parm d
  337. where d.`STATUS` =1 and d.DEVICE_ID = #{info.deviceId} and d.scene_id in
  338. <foreach collection="info.sceneIds" item="dramaId" open="(" close=")" separator=",">
  339. #{dramaId}
  340. </foreach>
  341. )
  342. </if>
  343. </select>
  344. <select id="selectBindByDeviceId" resultType="com.huaxu.dto.DeviceParmInfoDto">
  345. select p.id,a.id as "deviceId",p.attribute_id as "attributeId"
  346. from sms_device a
  347. inner join sms_device_parm p on p.DEVICE_ID=a.ID and p.`STATUS`=1 and p.SCENE_ID=#{sceneId}
  348. where a.ID=#{deviceId}
  349. </select>
  350. <select id="selectDeviceBySceneIdAndType" resultType="com.huaxu.entity.DeviceParmEntity">
  351. select a.DEVICE_ID as "deviceId",b.DEVICE_CODE as "deviceCode",a.ATTRIBUTE_ID as "attributeId"
  352. from sms_device_parm a
  353. inner join sms_device b on a.DEVICE_ID=b.id
  354. where a.PARM_TYPE=#{info.parmType} and b.`STATUS`=1 and a.`STATUS`=1
  355. and a.PARENT_SCENE_ID in
  356. <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
  357. #{dramaId.id}
  358. </foreach>
  359. </select>
  360. <select id="findAlarmCount" resultType="com.huaxu.dto.ParmTypeCountDto">
  361. select tab.parmType,sum(ifnull(tab.nbnormalCount,0)) as "nbnormalCount" from(
  362. select b.PARENT_SCENE_ID,b.PARM_TYPE as "parmType",
  363. case when count(c.id)>0 then 1 else 0 end as "nbnormalCount"
  364. from sms_device_scene a
  365. INNER JOIN sms_device_parm b on a.DEVICE_ID=b.DEVICE_ID
  366. and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.PARM_TYPE in (15,8,10,11,18,19) and b.`STATUS`=1
  367. LEFT JOIN sms_alarm_details c on c.PARENT_SCENE_ID=b.PARENT_SCENE_ID
  368. and c.ATTRIBUTE_ID=b.ATTRIBUTE_ID and c.STATE=1
  369. where a.PARENT_SCENE_ID in
  370. <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
  371. #{dramaId.id}
  372. </foreach>
  373. and
  374. a.`STATUS`=1
  375. group by b.PARENT_SCENE_ID,b.PARM_TYPE )
  376. as tab
  377. GROUP BY tab.parmType
  378. </select>
  379. <select id="findAlarmTotalCount" resultType="com.huaxu.dto.ParmTypeCountDto">
  380. select count(1) as "totalCount" ,sum(tab.nbnormalCount) as "nbnormalCount" from(
  381. select a.PARENT_SCENE_ID,case when count(c.id)>0 then 1 else 0 end as "nbnormalCount"
  382. from sms_device_scene a
  383. INNER JOIN sms_device_parm b on a.DEVICE_ID=b.DEVICE_ID
  384. and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.`STATUS`=1
  385. LEFT JOIN sms_alarm_details c on c.PARENT_SCENE_ID=b.PARENT_SCENE_ID
  386. and c.ATTRIBUTE_ID=b.ATTRIBUTE_ID and c.STATE=1
  387. where a.PARENT_SCENE_ID in
  388. <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
  389. #{dramaId.id}
  390. </foreach>
  391. and
  392. a.`STATUS`=1
  393. group by a.PARENT_SCENE_ID
  394. ) as tab
  395. </select>
  396. <select id="findAlarmCountTotalCount" resultType="com.huaxu.dto.ParmTypeCountDto">
  397. select count(1) as "totalCount" ,ifnull(sum(tab.nbnormalCount),0) as "nbnormalCount" from(
  398. select a.PARENT_SCENE_ID,case when count(c.id)>0 then 1 else 0 end as "nbnormalCount"
  399. from sms_device_scene a
  400. INNER JOIN sms_device_parm b on a.DEVICE_ID=b.DEVICE_ID and b.PARM_TYPE in (15,8,9,11,18,19)
  401. and a.PARENT_SCENE_ID=b.PARENT_SCENE_ID and b.`STATUS`=1
  402. LEFT JOIN sms_alarm_details c on c.PARENT_SCENE_ID=b.PARENT_SCENE_ID
  403. and c.ATTRIBUTE_ID=b.ATTRIBUTE_ID and c.STATE=1
  404. where a.PARENT_SCENE_ID in
  405. <foreach collection="info.sceneEntities" item="dramaId" open="(" close=")" separator=",">
  406. #{dramaId.id}
  407. </foreach>
  408. and
  409. a.`STATUS`=1
  410. group by a.PARENT_SCENE_ID
  411. ) as tab
  412. </select>
  413. <update id="updateStatisticalDimension" >
  414. UPDATE sms_device_parm
  415. <set>
  416. CLASSIFY = #{classify},
  417. SHOW_ON_OFF = #{showOnOff},
  418. SHOW_MIN_VALUE = #{showMinValue},
  419. SHOW_AVG_VALUE = #{showAvgValue},
  420. SHOW_MAX_VALUE = #{showMaxValue},
  421. SHOW_SUM_VALUE = #{showSumValue},
  422. SHOW_LATEST_VALUE = #{showLatestValue}
  423. </set>
  424. WHERE
  425. ID = #{deviceParmId};
  426. </update>
  427. </mapper>