b75518a8c690559d15a3bbdce3594e131c74c2ef.svn-base 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC
  4. "-//mybatis.org//DTD Mapper 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <!-- 命名,每一个映射对象不一样
  7. namespace:必须与对应的接口全类名一致
  8. -->
  9. <mapper namespace="com.iamberry.app.mapper.MilkMapper">
  10. <sql id="milkAttribute">
  11. id,
  12. volume,
  13. controller,
  14. stars,
  15. comments,
  16. brand,
  17. powder_info,
  18. machine_name,
  19. machine,
  20. user,
  21. timestamp_
  22. </sql>
  23. <sql id="powderAttribute">
  24. id,
  25. powder_number,
  26. spoon_picture,
  27. bar_code,
  28. brand,
  29. series,
  30. level,
  31. version_,
  32. age_range,
  33. weight_per_spoon,
  34. milk_volume_per_spoon,
  35. powder_ratio,
  36. density,
  37. type,
  38. status_,
  39. created_on
  40. </sql>
  41. <resultMap type="MilkMakingRecord" id="milkMap">
  42. <id property="id" column="id"/>
  43. <result property="volume" column="volume"/>
  44. <result property="controller" column="controller"/>
  45. <result property="stars" column="stars"/>
  46. <result property="comments" column="comments"/>
  47. <result property="brand" column="brand"/>
  48. <result property="powder_info" column="powder_info"/>
  49. <result property="machine_name" column="machine_name"/>
  50. <result property="machine" column="machine"/>
  51. <result property="user" column="user"/>
  52. <result property="timestamp_" column="timestamp_"/>
  53. </resultMap>
  54. <resultMap type="MilkPowderInfo" id="powderMap">
  55. <id property="id" column="id"/>
  56. <result property="powder_number" column="powder_number"/>
  57. <result property="spoon_picture" column="spoon_picture"/>
  58. <result property="bar_code" column="bar_code"/>
  59. <result property="brand" column="brand"/>
  60. <result property="series" column="series"/>
  61. <result property="level" column="level"/>
  62. <result property="version_" column="version_"/>
  63. <result property="age_range" column="age_range"/>
  64. <result property="weight_per_spoon" column="weight_per_spoon"/>
  65. <result property="milk_volume_per_spoon" column="milk_volume_per_spoon"/>
  66. <result property="powder_ratio" column="powder_ratio"/>
  67. <result property="density" column="density"/>
  68. <result property="type" column="type"/>
  69. <result property="status_" column="status_"/>
  70. <result property="created_on" column="created_on"/>
  71. </resultMap>
  72. <resultMap type="com.iamberry.app.core.dto.MilkInfoDTO" id="milkInfoDtoMap">
  73. <id property="id" column="id"/>
  74. <result property="series" column="series"/>
  75. <result property="level" column="level"/>
  76. <result property="type" column="type"/>
  77. <result property="powder_ratio" column="powder_ratio"/>
  78. <result property="weight_per_spoon" column="weight_per_spoon"/>
  79. </resultMap>
  80. <!-- 添加信息到milk_making_record表中 -->
  81. <insert id="insertMilkMakingRecord" parameterType="MilkMakingRecord" useGeneratedKeys="true" keyProperty="id">
  82. INSERT INTO MILK_MAKING_RECORD
  83. (VOLUME,CONTROLLER,STARS,COMMENTS,BRAND,POWDER_INFO,MACHINE_NAME,MACHINE,USER,TIMESTAMP_)
  84. VALUES
  85. (#{volume},#{controller},#{stars},#{comments},#{brand},#{powder_info},#{machine_name},#{machine},#{user},NOW())
  86. </insert>
  87. <!-- 根据id修改MILK_MAKING_RECORD的start和comments属性 -->
  88. <update id="updateMilkMakingRecord">
  89. UPDATE MILK_MAKING_RECORD SET STARS = #{0}, COMMENTS = #{1} WHERE ID = #{2}
  90. </update>
  91. <!-- 查询冲奶机冲奶时间和冲奶量 -->
  92. <select id="selectMilkMakingRecords" resultType="java.util.HashMap">
  93. SELECT
  94. DATE_FORMAT(timestamp_, #{4}) AS #{3},
  95. SUM(volume) AS volume
  96. FROM
  97. milk_making_record
  98. WHERE
  99. <![CDATA[timestamp_ >= #{0}]]>
  100. AND
  101. <![CDATA[timestamp_ <= #{1}]]>
  102. AND
  103. controller = #{2}
  104. AND
  105. user = #{5}
  106. AND
  107. machine = #{6}
  108. GROUP BY #{3}
  109. </select>
  110. <!-- 查询冲奶机冲奶时间和冲奶量 -->
  111. <select id="selectMachineMilkMakingRecords" resultType="java.util.HashMap">
  112. SELECT
  113. DATE_FORMAT(timestamp_, #{4}) AS #{3},
  114. SUM(volume) AS volume
  115. FROM
  116. milk_making_record
  117. WHERE
  118. <![CDATA[timestamp_ >= #{0}]]>
  119. AND
  120. <![CDATA[timestamp_ <= #{1}]]>
  121. AND
  122. controller = #{2}
  123. AND
  124. machine = #{5}
  125. GROUP BY #{3}
  126. </select>
  127. <!-- 根据id查询MILK_MAKING_RECORD所有信息 -->
  128. <select id="selectMilkMakingRecord" parameterType="java.lang.Long" resultMap="milkMap">
  129. SELECT <include refid="milkAttribute" /> FROM MILK_MAKING_RECORD WHERE ID = #{0}
  130. </select>
  131. <!-- 根据user查询所有冲奶信息 -->
  132. <select id="getMilkPowderByUser" parameterType="java.lang.Long" resultMap="milkMap">
  133. SELECT <include refid="milkAttribute" /> FROM MILK_MAKING_RECORD WHERE USER = #{0}
  134. </select>
  135. <!-- 根据user查询总冲奶量和次数 -->
  136. <select id="getMilkPowderSumByUser" parameterType="java.lang.Long" resultType="com.iamberry.app.core.dto.RecordCountInfoDTO">
  137. SELECT COUNT(1) count,SUM(VOLUME) total FROM MILK_MAKING_RECORD WHERE USER = #{0}
  138. </select>
  139. <!-- 将奶粉信息插入到奶粉信息表中 -->
  140. <insert id="insertMilkPowderInfo" parameterType="MilkPowderInfo" useGeneratedKeys="true" keyProperty="id">
  141. INSERT INTO MILK_POWDER_INFO
  142. (POWDER_NUMBER,SPOON_PICTURE,BAR_CODE,BRAND,SERIES,LEVEL,VERSION_,AGE_RANGE,
  143. WEIGHT_PER_SPOON,MILK_VOLUME_PER_SPOON,POWDER_RATIO,DENSITY,TYPE,STATUS_,CREATED_ON)
  144. VALUES
  145. (#{powder_number},#{spoon_picture},#{bar_code},#{brand},#{series},#{level},#{version_},#{age_range},#{weight_per_spoon},
  146. #{milk_volume_per_spoon},#{powder_ratio},#{density},#{type},#{status_},NOW())
  147. </insert>
  148. <!-- 通过条形码查询奶粉信息 -->
  149. <select id="selectMilkPowderInfo" parameterType="java.lang.String" resultMap="powderMap">
  150. SELECT <include refid="powderAttribute" /> FROM MILK_POWDER_INFO WHERE BAR_CODE = #{0}
  151. </select>
  152. <!-- 根据品牌查询奶粉信息的系列 -->
  153. <select id="selectSeries" parameterType="java.lang.String" resultType="java.lang.String">
  154. SELECT
  155. series
  156. FROM
  157. MILK_POWDER_INFO
  158. WHERE
  159. BRAND LIKE #{brand}
  160. AND
  161. UPPER(STATUS_) = 'APPROVED'
  162. ORDER BY CONVERT(SERIES USING GBK) ASC
  163. </select>
  164. <!-- 根据系列查询奶粉信息的段数 -->
  165. <select id="selectLevel" parameterType="java.lang.String" resultType="java.lang.String">
  166. SELECT level FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  167. </select>
  168. <!-- 根据奶粉品牌获取奶粉,详细信息 -->
  169. <select id="selectMilkInfoBybrand" parameterType="java.lang.String" resultMap="milkInfoDtoMap">
  170. SELECT
  171. series,
  172. level,
  173. type,
  174. id,
  175. powder_ratio,
  176. weight_per_spoon
  177. FROM
  178. MILK_POWDER_INFO
  179. WHERE
  180. BRAND LIKE #{0}
  181. AND
  182. UPPER(STATUS_) = 'APPROVED'
  183. ORDER BY CONVERT(SERIES USING GBK) ASC
  184. </select>
  185. <!-- 根据系列查询奶粉信息 -->
  186. <select id="selectMilkInfo" parameterType="java.lang.String" resultMap="milkInfoDtoMap">
  187. SELECT
  188. level,type,id,powder_ratio,weight_per_spoon
  189. FROM
  190. MILK_POWDER_INFO
  191. WHERE
  192. SERIES LIKE #{0}
  193. ORDER BY CONVERT(LEVEL USING GBK) ASC
  194. </select>
  195. <!-- 根据系列查询奶粉类型 -->
  196. <select id="selectMilkType" parameterType="java.lang.String" resultType="java.lang.String">
  197. SELECT type FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  198. </select>
  199. <!-- 根据奶粉系列查询奶粉密度 -->
  200. <select id="selectMilkDensity" parameterType="java.lang.String" resultType="java.lang.String">
  201. SELECT density FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  202. </select>
  203. <!-- 根据系列查询奶粉比例 -->
  204. <select id="selectMilkRatio" parameterType="java.lang.String" resultType="java.lang.String">
  205. SELECT powder_ratio FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  206. </select>
  207. <!-- 根据系列查询奶粉id -->
  208. <select id="selectMilkId" parameterType="java.lang.String" resultType="java.lang.Long">
  209. SELECT id FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  210. </select>
  211. <!-- 根据系列查询奶粉的重量 -->
  212. <select id="selectMilkWeightPerSpoon" parameterType="java.lang.String" resultType="java.lang.String">
  213. SELECT weight_per_spoon FROM MILK_POWDER_INFO WHERE SERIES LIKE #{0} ORDER BY CONVERT(LEVEL USING GBK) ASC
  214. </select>
  215. <!-- 查询奶粉品牌 -->
  216. <select id="selectMilkPowderBrand" resultType="java.lang.String">
  217. SELECT brand FROM MILK_POWDER_INFO WHERE STATUS_ = 'approved' GROUP BY BRAND
  218. </select>
  219. <!-- 根据系列段数品牌获取奶粉信息 -->
  220. <select id="selectMilkInfoByBrandSeriesLevel" resultMap="powderMap">
  221. SELECT <include refid="powderAttribute" /> FROM MILK_POWDER_INFO WHERE BRAND = #{0} AND SERIES = #{1} AND LEVEL = #{2}
  222. </select>
  223. <!-- 查询冲奶记录的冲奶时间 -->
  224. <select id="selectLastRecordDate" resultType="java.util.Date">
  225. SELECT timestamp_ FROM MILK_MAKING_RECORD WHERE CONTROLLER = 'machine' ORDER BY ID DESC LIMIT 1
  226. </select>
  227. <!-- 根据用户id查询冲奶机机器码 -->
  228. <select id="getMyMachines" parameterType="java.lang.Long" resultType="java.lang.String">
  229. SELECT machine_mac FROM MACHINE WHERE OWNER = #{0}
  230. </select>
  231. <!-- 将信息插入到冲奶记录表中 -->
  232. <insert id="insertRecordData" parameterType="MilkMakingRecord">
  233. INSERT INTO milk_making_record (volume, controller, machine, timestamp_, user) VALUE (#{volume}, 'machine', #{machine}, #{timestamp_}, #{user})
  234. </insert>
  235. <!-- milk_images表中添加数据 -->
  236. <insert id="insertMilkImages" parameterType="MilkImages" useGeneratedKeys="true" keyProperty="image_id">
  237. INSERT INTO MILK_IMAGES
  238. (
  239. IMAGE_MILK_ID,IMAGE_FRONT,IMAGE_BAR,IMAGE_FEED
  240. )
  241. VALUES
  242. (
  243. #{image_Milk_ID},#{image_Front},#{image_Bar},#{image_Feed}
  244. )
  245. </insert>
  246. </mapper>