SystemScenePackageMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  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.css.simulation.resource.system.mapper.SystemScenePackageMapper">
  4. <insert id="saveSystemScenePackage" parameterType="api.common.pojo.po.scene.SystemScenePackagePO">
  5. insert into simulation.system_scene_package
  6. (id, package_name, scene_describe,
  7. create_user_id, create_time, modify_user_id, modify_time,
  8. is_deleted)
  9. values (#{id,jdbcType=VARCHAR}, #{packageName,jdbcType=VARCHAR}, #{sceneDescribe},
  10. #{createUserId,jdbcType=VARCHAR}, #{createTime}, #{modifyUserId,jdbcType=VARCHAR}, #{modifyTime},
  11. #{isDeleted,jdbcType=VARCHAR})
  12. </insert>
  13. <select id="querySystemScenePackageList" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  14. resultType="api.common.pojo.vo.scene.SystemScenePackageVO">
  15. select
  16. t.id,
  17. t.package_name,
  18. t.userCount,t.scene_describe,t.create_time,
  19. SUM(CASE WHEN s.scene_type = '1' THEN 1 ELSE 0 END) as zrCount,
  20. SUM(CASE WHEN s.scene_type = '2' THEN 1 ELSE 0 END) as bzCount,
  21. SUM(CASE WHEN s.scene_type = '3' THEN 1 ELSE 0 END) as jtCount,
  22. SUM(CASE WHEN s.scene_type = '4' THEN 1 ELSE 0 END) as fhCount,
  23. SUM(1) as totalCount
  24. FROM (
  25. select
  26. p.*,
  27. COUNT(u.id) as userCount
  28. FROM system_scene_package p
  29. left JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
  30. <where>
  31. <if test="userId != null and userId != ''">
  32. and u.user_id = #{userId,jdbcType=VARCHAR}
  33. </if>
  34. </where>
  35. GROUP BY p.id
  36. ) t
  37. left JOIN system_scene_package_sublist s on t.id = s.scene_and_package and s.is_deleted='0'
  38. <where>
  39. t.is_deleted='0'
  40. <if test="packageName != null and packageName != ''">
  41. and t.package_name like CONCAT('%',#{packageName,jdbcType=VARCHAR},'%')
  42. </if>
  43. <if test="yearMax != null and yearMax != ''">
  44. and #{yearMax,jdbcType=VARCHAR} &gt; t.create_time
  45. </if>
  46. <if test="yearMin != null and yearMin != ''">
  47. and #{yearMin,jdbcType=VARCHAR} &lt; t.create_time
  48. </if>
  49. <if test="packageNames != null and packageNames.length>0">
  50. and t.package_name in
  51. <foreach collection="packageNames" item="item" index="index"
  52. separator="," open="(" close=")">
  53. #{item}
  54. </foreach>
  55. </if>
  56. </where>
  57. GROUP BY t.id order by create_time desc
  58. </select>
  59. <select id="queryPackageByUserIdList" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  60. resultType="api.common.pojo.vo.scene.SystemScenePackageVO">
  61. select a.username, GROUP_CONCAT(DISTINCT (p.package_name)) as package_name, max(a.modify_time) modify_time
  62. from (select u.id user_id, s.is_deleted, u.username, u.company, s.package_id, s.modify_time
  63. from system_user u
  64. left join system_user_scene s on u.id = s.user_id and s.is_deleted = '0'
  65. where u.is_deleted = '0'
  66. and u.role_code = '2') a
  67. left join system_scene_package p on a.package_id = p.id and p.is_deleted = '0'
  68. where 1=1
  69. <if test="userName != null and userName != ''">
  70. and username like CONCAT('%',#{userName,jdbcType=VARCHAR},'%')
  71. </if>
  72. <if test="yearMax != null and yearMax != ''">
  73. and #{yearMax,jdbcType=VARCHAR} &gt; a.modify_time
  74. </if>
  75. <if test="yearMin != null and yearMin != ''">
  76. and #{yearMin,jdbcType=VARCHAR} &lt; a.modify_time
  77. </if>
  78. GROUP BY a.username
  79. ORDER BY a.modify_time DESC
  80. </select>
  81. <select id="querySystemScenePackageById" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  82. resultType="api.common.pojo.po.scene.SystemScenePackagePO">
  83. select id,
  84. package_name,
  85. scene_describe,
  86. create_user_id,
  87. create_time,
  88. modify_user_id,
  89. modify_time
  90. from system_scene_package
  91. where id = #{id}
  92. </select>
  93. <select id="queryPackageByUserId" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  94. resultType="java.util.Map">
  95. select a.userName,a.company,a.modify_time modifyTime,a.user_id userId,GROUP_CONCAT(DISTINCT(p.package_name)) as
  96. packageNames from (select u.id user_id,username userName, company,s.package_id,s.modify_time
  97. from system_user u left join system_user_scene s
  98. on u.id=s.user_id and u.is_deleted = '0' and s.is_deleted = '0') a
  99. left join system_scene_package p on a.package_id = p.id AND p.is_deleted = '0'
  100. <where>
  101. 1=1
  102. <if test="userName != null and userName != ''">
  103. and a.userName=#{userName}
  104. </if>
  105. </where>
  106. GROUP BY a.user_id
  107. ORDER BY a.modify_time DESC
  108. </select>
  109. <update id="deleteSystemScenePackage" parameterType="api.common.pojo.po.scene.SystemScenePackagePO">
  110. update simulation.system_scene_package
  111. <set>
  112. <if test="isDeleted != null and isDeleted!=''">
  113. is_deleted = #{isDeleted,jdbcType=VARCHAR},
  114. </if>
  115. <if test="modifyUserId != null and modifyUserId!=''">
  116. modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
  117. </if>
  118. <if test="modifyTime != null">
  119. modify_time = #{modifyTime},
  120. </if>
  121. </set>
  122. where id = #{id,jdbcType=VARCHAR}
  123. </update>
  124. <update id="updateSystemScenePackage" parameterType="api.common.pojo.po.scene.SystemScenePackagePO">
  125. update simulation.system_scene_package
  126. set package_name=#{packageName},
  127. scene_describe=#{sceneDescribe},
  128. modify_time=#{modifyTime},
  129. modify_user_id=#{modifyUserId}
  130. where id = #{id,jdbcType=VARCHAR}
  131. </update>
  132. <select id="querySceneNum" parameterType="java.lang.String" resultType="java.lang.Integer">
  133. SELECT SUM(num)
  134. FROM (SELECT COUNT(DISTINCT c.scene_name) AS num
  135. FROM system_user_scene a
  136. JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
  137. JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
  138. JOIN scene_natural d ON d.natural_name = c.scene_name AND d.is_deleted = '0'
  139. <where> d.share='2'
  140. <if test="userId != null and userId!=''">
  141. and a.user_id = #{userId}
  142. </if>
  143. </where>
  144. UNION ALL SELECT COUNT(*) AS num from scene_natural where is_deleted = '0' and share='1'
  145. UNION ALL
  146. SELECT COUNT(DISTINCT c.scene_name) AS num
  147. FROM system_user_scene a
  148. JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
  149. JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
  150. JOIN scene_accident d ON d.scene_name = c.scene_name AND d.is_deleted = '0'
  151. <where> d.share='2'
  152. <if test="userId != null and userId!=''">
  153. and a.user_id = #{userId}
  154. </if>
  155. </where>
  156. UNION ALL SELECT COUNT(*) AS num from scene_accident where is_deleted = '0' and share='1'
  157. UNION ALL
  158. SELECT COUNT(DISTINCT c.scene_name) AS num
  159. FROM system_user_scene a
  160. JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
  161. JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
  162. JOIN scene_standards_regulations d ON d.scene_name = c.scene_name AND d.is_deleted = '0'
  163. <where> d.share='2'
  164. <if test="userId != null and userId!=''">
  165. and a.user_id = #{userId}
  166. </if>
  167. </where>
  168. UNION ALL SELECT COUNT(*) AS num from scene_standards_regulations where is_deleted = '0' and share='1'
  169. UNION ALL
  170. SELECT COUNT(DISTINCT c.scene_name) AS num
  171. FROM system_user_scene a
  172. JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
  173. JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
  174. JOIN scene_general_template d ON d.scene_id = c.scene_name AND d.is_deleted = '0'
  175. <where> d.share='2'
  176. <if test="userId != null and userId!=''">
  177. and a.user_id = #{userId}
  178. </if>
  179. </where>
  180. UNION ALL SELECT COUNT(*) AS num from scene_general_template where is_deleted = '0' and share='1') AS t
  181. </select>
  182. <select id="queryScenePackageByPackageName" parameterType="api.common.pojo.po.scene.SystemScenePackageNewPO"
  183. resultType="java.lang.String">
  184. select
  185. id
  186. from system_scene_package
  187. <where>
  188. is_deleted = '0'
  189. <if test="packageName != null and packageName != ''">
  190. and package_name=#{packageName}
  191. </if>
  192. <if test="id != null and id != ''">
  193. and id!=#{id}
  194. </if>
  195. </where>
  196. </select>
  197. <select id="querySystemScenePackageListByTJ" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  198. resultType="java.util.Map">
  199. SELECT
  200. c.scene_type, COUNT(DISTINCT c.scene_name ) aaa
  201. FROM
  202. system_user_scene a
  203. LEFT JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
  204. JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
  205. <where>
  206. a.is_deleted='0'
  207. <if test="packageNames != null and packageNames.length>0">
  208. and b.package_name in
  209. <foreach collection="packageNames" item="item" index="index"
  210. separator="," open="(" close=")">
  211. #{item}
  212. </foreach>
  213. </if>
  214. </where>
  215. group by c.scene_type
  216. </select>
  217. <select id="querySceneNaturalListByTJ" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  218. resultType="java.lang.String">
  219. select DISTINCT(a.scene_name) scene_name
  220. FROM system_scene_package_sublist a join scene_natural s on a.scene_name=s.natural_name join
  221. system_scene_package b on a.scene_and_package=b.id
  222. where
  223. a.is_deleted='0' and s.is_deleted='0' and b.is_deleted='0' and a.scene_type='1'
  224. and b.package_name in
  225. <foreach collection="packageNames" item="item" index="index"
  226. separator="," open="(" close=")">
  227. #{item}
  228. </foreach>
  229. </select>
  230. <select id="querySceneStandardsRegulationsListByTJ"
  231. parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  232. resultType="java.lang.String">
  233. select DISTINCT(a.scene_name) scene_name
  234. FROM system_scene_package_sublist a join scene_standards_regulations s on a.scene_name=s.scene_name join
  235. system_scene_package b on a.scene_and_package=b.id
  236. where
  237. a.is_deleted='0' and s.is_deleted='0' and b.is_deleted='0' and a.scene_type='2'
  238. and b.package_name in
  239. <foreach collection="packageNames" item="item" index="index"
  240. separator="," open="(" close=")">
  241. #{item}
  242. </foreach>
  243. </select>
  244. <select id="querySceneAccidentListByTJ" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  245. resultType="java.lang.String">
  246. select distinct(ssps.scene_name)
  247. from system_scene_package_sublist ssps
  248. join system_scene_package ssp on ssps.scene_and_package = ssp.id
  249. join scene_accident sa on ssps.scene_name = sa.scene_name
  250. where ssps.scene_type = '3'
  251. and ssps.is_deleted = '0'
  252. and ssp.is_deleted = '0'
  253. and sa.is_deleted = '0'
  254. and ssp.package_name in
  255. <foreach collection="packageNames" item="item" index="index" separator="," open="(" close=")">
  256. #{item}
  257. </foreach>
  258. </select>
  259. <select id="querySceneGeneralTemplateListByTJ" parameterType="api.common.pojo.param.scene.SystemScenePackageParam"
  260. resultType="java.lang.String">
  261. select DISTINCT(a.scene_name) scene_name
  262. FROM system_scene_package_sublist a join scene_general_template s on a.scene_name=s.scene_id join
  263. system_scene_package b on a.scene_and_package=b.id
  264. where
  265. a.is_deleted='0' and s.is_deleted='0' and b.is_deleted='0' and a.scene_type='4'
  266. and b.package_name in
  267. <foreach collection="packageNames" item="item" index="index"
  268. separator="," open="(" close=")">
  269. #{item}
  270. </foreach>
  271. </select>
  272. </mapper>