ReplacementInstrumentActivityMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  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. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.ym.mec.biz.dal.dao.ReplacementInstrumentActivityDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity" id="ReplacementInstrumentActivity">
  9. <result column="id_" property="id"/>
  10. <result column="cooperation_organ_id_" property="cooperationOrganId"/>
  11. <result column="replacement_instrument_cooperation_id_" property="replacementInstrumentCooperationId"/>
  12. <result column="topic_id_" property="topicId"/>
  13. <result column="cooperationOrganName" property="cooperationOrganName"/>
  14. <result column="user_id_" property="userId"/>
  15. <result column="user_name_" property="userName"/>
  16. <result column="grade_" property="grade"/>
  17. <result column="classes_" property="classes"/>
  18. <result column="mobile_no_" property="mobileNo"/>
  19. <result column="subject_id_" property="subjectId"/>
  20. <result column="question_result_" property="questionResult"/>
  21. <result column="instruments_id_" property="instrumentsId"/>
  22. <result column="goods_id_" property="goodsId"/>
  23. <result column="other_suggestion_" property="otherSuggestion"/>
  24. <result column="open_flag_" property="openFlag"/>
  25. <result column="pay_status_" property="payStatus"/>
  26. <result column="create_time_" property="createTime"/>
  27. <result column="update_time_" property="updateTime"/>
  28. </resultMap>
  29. <resultMap id="ReplacementInstrumentActivityStatDto"
  30. type="com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto"
  31. extends="ReplacementInstrumentActivity">
  32. <result property="organName" column="organ_name_"/>
  33. <result property="subjectName" column="subject_name_"/>
  34. <result property="brand" column="brand_"/>
  35. <result property="specification" column="specification_"/>
  36. <result property="param" column="param_"/>
  37. <result property="marketPrice" column="market_price_"/>
  38. <result property="discountPrice" column="discount_price_"/>
  39. <result property="depreciationPrice" column="depreciation_price_"/>
  40. <result property="salePrice" column="sale_price_"/>
  41. <result property="title" column="title_"/>
  42. </resultMap>
  43. <!-- 根据主键查询一条记录 -->
  44. <select id="get" resultMap="ReplacementInstrumentActivity">
  45. SELECT *
  46. FROM replacement_instrument_activity
  47. WHERE id_ = #{id}
  48. </select>
  49. <!-- 全查询 -->
  50. <select id="findAll" resultMap="ReplacementInstrumentActivity">
  51. SELECT *
  52. FROM replacement_instrument_activity
  53. ORDER BY id_
  54. </select>
  55. <!-- 向数据库增加一条记录 -->
  56. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity" useGeneratedKeys="true"
  57. keyColumn="id" keyProperty="id">
  58. INSERT INTO replacement_instrument_activity (cooperation_organ_id_, user_id_, user_name_, grade_, classes_,
  59. mobile_no_, subject_id_, question_result_, instruments_id_,
  60. goods_id_,other_suggestion_,topic_id_,replacement_instrument_cooperation_id_,create_time_, update_time_)
  61. VALUES (#{cooperationOrganId}, #{userId}, #{userName}, #{grade}, #{classes}, #{mobileNo}, #{subjectId},
  62. #{questionResult}, #{instrumentsId}, #{goodsId}, #{otherSuggestion}, #{topicId},#{replacementInstrumentCooperationId}, NOW(), NOW())
  63. </insert>
  64. <!-- 根据主键查询一条记录 -->
  65. <update id="update" parameterType="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity">
  66. UPDATE replacement_instrument_activity
  67. <set>
  68. <if test="topicId != null">
  69. topic_id_ = #{topicId},
  70. </if>
  71. <if test="subjectId != null">
  72. subject_id_ = #{subjectId},
  73. </if>
  74. <if test="openFlag != null">
  75. open_flag_ = #{openFlag},
  76. </if>
  77. <if test="payStatus != null">
  78. pay_status_ = #{payStatus},
  79. </if>
  80. <if test="userId != null">
  81. user_id_ = #{userId},
  82. </if>
  83. <if test="cooperationOrganId != null">
  84. cooperation_organ_id_ = #{cooperationOrganId},
  85. </if>
  86. <if test="replacementInstrumentCooperationId != null">
  87. replacement_instrument_cooperation_id_ = #{replacementInstrumentCooperationId},
  88. </if>
  89. <if test="userName != null">
  90. user_name_ = #{userName},
  91. </if>
  92. <if test="questionResult != null">
  93. question_result_ = #{questionResult},
  94. </if>
  95. <if test="updateTime != null">
  96. update_time_ = #{updateTime},
  97. </if>
  98. instruments_id_ = #{instrumentsId},
  99. goods_id_ = #{goodsId},
  100. other_suggestion_ = #{otherSuggestion},
  101. <if test="mobileNo != null">
  102. mobile_no_ = #{mobileNo},
  103. </if>
  104. <if test="classes != null">
  105. classes_ = #{classes},
  106. </if>
  107. <if test="grade != null">
  108. grade_ = #{grade},
  109. </if>
  110. </set>
  111. WHERE id_ = #{id}
  112. </update>
  113. <!-- 根据主键删除一条记录 -->
  114. <delete id="delete">
  115. DELETE
  116. FROM replacement_instrument_activity
  117. WHERE id_ = #{id}
  118. </delete>
  119. <!-- 分页查询 -->
  120. <select id="queryPage" resultMap="ReplacementInstrumentActivityStatDto" parameterType="map">
  121. SELECT * FROM replacement_instrument_activity
  122. <include refid="global.limit"/>
  123. </select>
  124. <!-- 查询当前表的总记录数 -->
  125. <select id="queryCount" resultType="int">
  126. SELECT COUNT(*)
  127. FROM replacement_instrument_activity
  128. </select>
  129. <select id="findByUserId" resultMap="ReplacementInstrumentActivity">
  130. SELECT *
  131. FROM replacement_instrument_activity
  132. WHERE user_id_ = #{userId}
  133. AND cooperation_organ_id_ = #{cooperationOrganId}
  134. <if test="cooperationId != null">
  135. AND replacement_instrument_cooperation_id_ = #{cooperationId}
  136. </if>
  137. LIMIT 1
  138. </select>
  139. <sql id="queryReplacementsCondition">
  140. <where>
  141. <if test="cooperationOrganId!=null">
  142. AND ria.cooperation_organ_id_ = #{cooperationOrganId}
  143. </if>
  144. <if test="cooperationId != null">
  145. AND ria.replacement_instrument_cooperation_id_ = #{cooperationId}
  146. </if>
  147. <if test="subjectId!=null">
  148. AND ria.subject_id_ = #{subjectId}
  149. </if>
  150. <if test="hasInstrumentsId!=null and hasInstrumentsId==true">
  151. AND ria.instruments_id_ >=1
  152. </if>
  153. <if test="hasInstrumentsId!=null and hasInstrumentsId==false">
  154. AND ria.instruments_id_ IS NULL
  155. </if>
  156. <if test="hasYesFirstAnswer!=null and hasYesFirstAnswer==true">
  157. AND ria.question_result_ LIKE CONCAT('1', '%')
  158. </if>
  159. <if test="hasYesFirstAnswer!=null and hasYesFirstAnswer==false ">
  160. AND ria.question_result_ LIKE CONCAT('0', '%')
  161. </if>
  162. <if test="brand!=null and brand!=''">
  163. AND g.brand_ = #{brand}
  164. </if>
  165. <if test="specification!=null and specification!=''">
  166. AND g.specification_ = #{specification}
  167. </if>
  168. <if test="organId != null">
  169. AND FIND_IN_SET(o.id_ , #{organId})
  170. </if>
  171. <if test="search!=null and search!=''">
  172. AND (ria.mobile_no_ LIKE CONCAT('%', #{search}, '%') OR ria.user_name_ LIKE CONCAT('%', #{search}, '%'))
  173. </if>
  174. <if test="cooperationOrganIdOrName!=null and cooperationOrganIdOrName!=''">
  175. AND (ria.cooperation_organ_id_ = #{cooperationOrganIdOrName} OR co.name_ LIKE CONCAT('%',
  176. #{cooperationOrganIdOrName}, '%'))
  177. </if>
  178. <if test="payStatus!=null">
  179. AND ria.pay_status_ = #{payStatus}
  180. </if>
  181. </where>
  182. </sql>
  183. <select id="queryReplacements" resultMap="ReplacementInstrumentActivityStatDto">
  184. SELECT
  185. ria.*,
  186. sub.name_ subject_name_,
  187. g.brand_,
  188. g.specification_
  189. FROM
  190. replacement_instrument_activity ria
  191. LEFT JOIN goods g ON ria.instruments_id_ = g.id_
  192. LEFT JOIN `subject` sub ON ria.subject_id_ = sub.id_
  193. <include refid="queryReplacementsCondition"/>
  194. ORDER BY ria.id_ DESC
  195. <include refid="global.limit"></include>
  196. </select>
  197. <select id="countReplacements" resultType="int">
  198. SELECT
  199. COUNT(ria.id_)
  200. FROM
  201. replacement_instrument_activity ria
  202. LEFT JOIN goods g ON ria.instruments_id_ = g.id_
  203. LEFT JOIN `subject` sub ON ria.subject_id_ = sub.id_
  204. <include refid="queryReplacementsCondition"/>
  205. </select>
  206. <select id="countReplacementsInfo"
  207. resultType="com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatHead">
  208. SELECT ric.open_pay_ openPay,
  209. COUNT( DISTINCT ria.user_id_ ) surveyNum,
  210. COUNT( DISTINCT IF (ria.instruments_id_ IS NOT NULL, ria.user_id_, NULL)) replacementNum,
  211. TRUNCATE ( COUNT(DISTINCT IF ( ria.instruments_id_ IS NOT NULL, ria.user_id_, NULL )) / COUNT( DISTINCT ria.user_id_ ) * 100, 2 ) replacementRate,
  212. TRUNCATE ( COUNT(DISTINCT IF ( ria.pay_status_ = 2, ria.user_id_, NULL )) / COUNT( DISTINCT IF ( ria.instruments_id_ IS NOT NULL, ria.user_id_, NULL )) * 100, 2) paymentRate
  213. FROM
  214. replacement_instrument_activity ria
  215. LEFT JOIN replacement_instrument_cooperation ric ON ria.cooperation_organ_id_ = ric.cooperation_organ_id_
  216. WHERE ria.replacement_instrument_cooperation_id_ = #{cooperationId}
  217. </select>
  218. <update id="openPay" parameterType="integer">
  219. UPDATE replacement_instrument_activity
  220. SET open_flag_ = 1
  221. WHERE replacement_instrument_cooperation_id_ = #{replacementInstrumentCooperationId}
  222. AND open_flag_ = 0
  223. AND instruments_id_ > 0
  224. </update>
  225. <select id="getLock" resultMap="ReplacementInstrumentActivity">
  226. SELECT *
  227. FROM replacement_instrument_activity
  228. WHERE id_ = #{id} FOR
  229. UPDATE
  230. </select>
  231. <select id="getPushUsers" resultMap="ReplacementInstrumentActivityStatDto">
  232. SELECT ria.id_, ria.user_id_, su.phone_ mobile_no_, g.brand_
  233. FROM replacement_instrument_activity ria
  234. LEFT JOIN sys_user su ON su.id_ = ria.user_id_
  235. LEFT JOIN goods g ON g.id_ = ria.instruments_id_
  236. WHERE replacement_instrument_cooperation_id_ = #{replacementInstrumentCooperationId}
  237. AND open_flag_ = 0
  238. AND instruments_id_ > 0
  239. </select>
  240. <select id="getInfo" resultMap="ReplacementInstrumentActivityStatDto">
  241. SELECT ria.*,
  242. g.brand_,
  243. g.specification_,
  244. g.brief_ param_,
  245. g.market_price_,
  246. g.discount_price_,
  247. g.group_purchase_price_ sale_price_,
  248. (g.discount_price_ - g.group_purchase_price_) depreciation_price_,
  249. s.name_ subject_name_,
  250. co.name_ cooperationOrganName
  251. FROM replacement_instrument_activity ria
  252. LEFT JOIN goods g ON g.id_ = ria.instruments_id_
  253. LEFT JOIN subject s ON s.id_ = ria.subject_id_
  254. LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
  255. WHERE ria.id_ = #{id}
  256. </select>
  257. <!-- 获取问卷分页数据 -->
  258. <select id="getPageList" resultMap="ReplacementInstrumentActivityStatDto" parameterType="map">
  259. SELECT ria.*,su.phone_ mobile_no_,o.name_
  260. organ_name_,
  261. g.brand_,
  262. g.specification_,
  263. g.brief_ param_,
  264. g.market_price_,
  265. g.discount_price_,
  266. g.group_purchase_price_ sale_price_,
  267. (g.discount_price_ - g.group_purchase_price_) depreciation_price_,
  268. s.name_ subject_name_,co.name_ cooperationOrganName,qt.title_
  269. FROM replacement_instrument_activity ria
  270. LEFT JOIN questionnaire_topic qt ON qt.id_ = ria.topic_id_
  271. LEFT JOIN goods g ON g.id_ = ria.instruments_id_
  272. LEFT JOIN subject s ON s.id_ = ria.subject_id_
  273. lEFT JOIN sys_user su ON su.id_ = ria.user_id_
  274. LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
  275. LEFT JOIN organization o ON o.id_ = co.organ_id_
  276. <include refid="queryReplacementsCondition"/>
  277. ORDER BY ria.id_ DESC
  278. <include refid="global.limit"/>
  279. </select>
  280. <!-- 获取问卷总条数 -->
  281. <select id="getCount" resultType="int">
  282. SELECT COUNT(*)
  283. FROM replacement_instrument_activity ria
  284. LEFT JOIN goods g ON g.id_ = ria.instruments_id_
  285. LEFT JOIN cooperation_organ co on co.id_ = ria.cooperation_organ_id_
  286. LEFT JOIN organization o on o.id_ = co.organ_id_
  287. <include refid="queryReplacementsCondition"/>
  288. </select>
  289. </mapper>