ProgramItemMapper.xml 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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.bz.smart_city.dao.ProgramItemMapper">
  4. <!--auto generated Code-->
  5. <resultMap id="BaseResultMap" type="com.bz.smart_city.entity.ProgramItem">
  6. <result column="id" property="id" jdbcType="INTEGER"/>
  7. <result column="program_id" property="programId" jdbcType="INTEGER"/>
  8. <result column="dimension_id" property="dimensionId" jdbcType="INTEGER"/>
  9. <result column="dimension_code" property="dimensionCode" jdbcType="VARCHAR"/>
  10. <result column="dimension_value" property="dimensionValue" jdbcType="VARCHAR"/>
  11. <result column="remark" property="remark" jdbcType="VARCHAR"/>
  12. <result column="status" property="status" jdbcType="INTEGER"/>
  13. <result column="date_create" property="dateCreate" jdbcType="TIMESTAMP"/>
  14. <result column="date_update" property="dateUpdate" jdbcType="TIMESTAMP"/>
  15. <result column="create_by" property="createBy" jdbcType="VARCHAR"/>
  16. <result column="update_by" property="updateBy" jdbcType="VARCHAR"/>
  17. </resultMap>
  18. <resultMap id="ItemResultMap" type="com.bz.smart_city.dto.ProgramItemDto">
  19. <result column="dimension_id" property="dimensionId" jdbcType="INTEGER"/>
  20. <result column="dimension_name" property="dimensionName" jdbcType="VARCHAR"/>
  21. <result column="dimension_value" property="dimensionValue" jdbcType="INTEGER"/>
  22. </resultMap>
  23. <!--auto generated Code-->
  24. <sql id="Base_Column_List">
  25. id,
  26. program_id,
  27. dimension_id,
  28. dimension_code,
  29. dimension_value,
  30. remark,
  31. `status`,
  32. date_create,
  33. date_update,
  34. create_by,
  35. update_by
  36. </sql>
  37. <!--auto generated Code-->
  38. <insert id="insert" useGeneratedKeys="true" keyProperty="programItem.id">
  39. INSERT INTO sc_program_item (
  40. id,
  41. program_id,
  42. dimension_id,
  43. dimension_code,
  44. dimension_value,
  45. remark,
  46. `status`,
  47. date_create,
  48. date_update,
  49. create_by,
  50. update_by
  51. ) VALUES (
  52. #{programItem.id,jdbcType=INTEGER},
  53. #{programItem.programId,jdbcType=INTEGER},
  54. #{programItem.dimensionId,jdbcType=INTEGER},
  55. #{programItem.dimensionCode,jdbcType=VARCHAR},
  56. #{programItem.dimensionValue,jdbcType=VARCHAR},
  57. #{programItem.remark,jdbcType=VARCHAR},
  58. #{programItem.status,jdbcType=INTEGER},
  59. #{programItem.dateCreate,jdbcType=TIMESTAMP},
  60. #{programItem.dateUpdate,jdbcType=TIMESTAMP},
  61. #{programItem.createBy,jdbcType=VARCHAR},
  62. #{programItem.updateBy,jdbcType=VARCHAR}
  63. )
  64. </insert>
  65. <!--auto generated Code-->
  66. <insert id="insertSelective" useGeneratedKeys="true" keyProperty="programItem.id">
  67. INSERT INTO sc_program_item
  68. <trim prefix="(" suffix=")" suffixOverrides=",">
  69. <if test="programItem.id!=null"> id,</if>
  70. <if test="programItem.programId!=null"> program_id,</if>
  71. <if test="programItem.dimensionId!=null"> dimension_id,</if>
  72. <if test="programItem.dimensionCode!=null"> dimension_code,</if>
  73. <if test="programItem.dimensionValue!=null"> dimension_value,</if>
  74. <if test="programItem.remark!=null"> remark,</if>
  75. <if test="programItem.status!=null"> `status`,</if>
  76. <if test="programItem.dateCreate!=null"> date_create,</if>
  77. <if test="programItem.dateUpdate!=null"> date_update,</if>
  78. <if test="programItem.createBy!=null"> create_by,</if>
  79. <if test="programItem.updateBy!=null"> update_by,</if>
  80. </trim>
  81. VALUES
  82. <trim prefix="(" suffix=")" suffixOverrides=",">
  83. <if test="programItem.id!=null">#{programItem.id,jdbcType=INTEGER},
  84. </if>
  85. <if test="programItem.programId!=null">#{programItem.programId,jdbcType=INTEGER},
  86. </if>
  87. <if test="programItem.dimensionId!=null">#{programItem.dimensionId,jdbcType=INTEGER},
  88. </if>
  89. <if test="programItem.dimensionCode!=null">#{programItem.dimensionCode,jdbcType=VARCHAR},
  90. </if>
  91. <if test="programItem.dimensionValue!=null">#{programItem.dimensionValue,jdbcType=VARCHAR},
  92. </if>
  93. <if test="programItem.remark!=null">#{programItem.remark,jdbcType=VARCHAR},
  94. </if>
  95. <if test="programItem.status!=null">#{programItem.status,jdbcType=INTEGER},
  96. </if>
  97. <if test="programItem.dateCreate!=null">#{programItem.dateCreate,jdbcType=TIMESTAMP},
  98. </if>
  99. <if test="programItem.dateUpdate!=null">#{programItem.dateUpdate,jdbcType=TIMESTAMP},
  100. </if>
  101. <if test="programItem.createBy!=null">#{programItem.createBy,jdbcType=VARCHAR},
  102. </if>
  103. <if test="programItem.updateBy!=null">#{programItem.updateBy,jdbcType=VARCHAR},
  104. </if>
  105. </trim>
  106. </insert>
  107. <!--auto generated Code-->
  108. <insert id="insertList">
  109. INSERT INTO sc_program_item (
  110. id,
  111. program_id,
  112. dimension_id,
  113. dimension_code,
  114. dimension_value,
  115. remark,
  116. `status`,
  117. date_create,
  118. date_update,
  119. create_by,
  120. update_by
  121. )VALUES
  122. <foreach collection="programItems" item="programItem" index="index" separator=",">
  123. (
  124. #{programItem.id,jdbcType=INTEGER},
  125. #{programItem.programId,jdbcType=INTEGER},
  126. #{programItem.dimensionId,jdbcType=INTEGER},
  127. #{programItem.dimensionCode,jdbcType=VARCHAR},
  128. #{programItem.dimensionValue,jdbcType=VARCHAR},
  129. #{programItem.remark,jdbcType=VARCHAR},
  130. #{programItem.status,jdbcType=INTEGER},
  131. #{programItem.dateCreate,jdbcType=TIMESTAMP},
  132. #{programItem.dateUpdate,jdbcType=TIMESTAMP},
  133. #{programItem.createBy,jdbcType=VARCHAR},
  134. #{programItem.updateBy,jdbcType=VARCHAR}
  135. )
  136. </foreach>
  137. </insert>
  138. <!--auto generated Code-->
  139. <update id="updateByPrimaryKeySelective">
  140. UPDATE sc_program_item
  141. <set>
  142. <if test="programItem.programId != null"> program_id= #{programItem.programId,jdbcType=INTEGER},</if>
  143. <if test="programItem.dimensionId != null"> dimension_id= #{programItem.dimensionId,jdbcType=INTEGER},</if>
  144. <if test="programItem.dimensionCode != null"> dimension_code= #{programItem.dimensionCode,jdbcType=VARCHAR},</if>
  145. <if test="programItem.dimensionValue != null"> dimension_value= #{programItem.dimensionValue,jdbcType=VARCHAR},</if>
  146. <if test="programItem.remark != null"> remark= #{programItem.remark,jdbcType=VARCHAR},</if>
  147. <if test="programItem.status != null"> `status`= #{programItem.status,jdbcType=INTEGER},</if>
  148. <if test="programItem.dateCreate != null"> date_create= #{programItem.dateCreate,jdbcType=TIMESTAMP},</if>
  149. <if test="programItem.dateUpdate != null"> date_update= #{programItem.dateUpdate,jdbcType=TIMESTAMP},</if>
  150. <if test="programItem.createBy != null"> create_by= #{programItem.createBy,jdbcType=VARCHAR},</if>
  151. <if test="programItem.updateBy != null"> update_by= #{programItem.updateBy,jdbcType=VARCHAR}</if>
  152. </set>
  153. WHERE id = #{programItem.id,jdbcType=INTEGER}
  154. </update>
  155. <update id="delByProgramId">
  156. UPDATE sc_program_item set status=0,date_update=NOW(),update_by=#{updateBy} where status = 1 and program_id = #{programId}
  157. </update>
  158. <!--根据数据权限ID查询绑定的维度值-->
  159. <select id="getDimensionValue" resultMap="ItemResultMap">
  160. SELECT
  161. dimension_id,
  162. dimension_value,
  163. CASE
  164. WHEN spi.dimension_id = 4 THEN (SELECT name from sc_community as sc where spi.dimension_value = sc.id)
  165. ELSE
  166. (SELECT name from sc_area as sa where sa.id = spi.dimension_value)
  167. END as dimension_name
  168. from sc_program_item as spi where program_id = #{programId} and `status` = 1
  169. <!--select id, program_id, dimension_id, dimension_code, dimension_value from sc_program_item where program_id=#{programId} and status = 1;-->
  170. </select>
  171. <!--根据站点用户查询-->
  172. <select id="getBySiteIdAndUserId" resultMap="BaseResultMap">
  173. select
  174. spi.id,
  175. spi.dimension_id,
  176. spi.dimension_code,
  177. spi.dimension_value
  178. from sc_user_role sur
  179. INNER JOIN sc_user_role_program surp on(surp.user_role_id = sur.id and surp.status = 1)
  180. INNER JOIN sc_program sp on(sp.id = surp.program_id and sp.status = 1)
  181. INNER JOIN sc_program_item spi on(spi.program_id = surp.program_id and spi.status = 1)
  182. WHERE sur.status= 1 and uid = #{userId} and sp.site_id = #{siteId}
  183. </select>
  184. </mapper>