EnvRegularCallFeedingMapper.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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.huimv.guowei.admin.mapper.EnvRegularCallFeedingMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  6. <id column="id" property="id"/>
  7. <result column="call_name" property="callName"/>
  8. <result column="call_code" property="callCode"/>
  9. <result column="duck_num" property="duckNum"/>
  10. <result column="duck_weight" property="duckWeight"/>
  11. <result column="duck_feeding_original" property="duckFeedingOriginal"/>
  12. <result column="call_date" property="callDate"/>
  13. <result column="farm_id" property="farmId"/>
  14. <result column="duck_id" property="duckId"/>
  15. <result column="unit_id" property="unitId"/>
  16. <result column="unit_name" property="unitName"/>
  17. </resultMap>
  18. <select id="listDay" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  19. SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight',duck_num 'duckNum',call_date 'callDate' FROM `env_regular_call_feeding`
  20. ${ew.customSqlSegment}
  21. GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
  22. ORDER BY call_date ASC
  23. </select>
  24. <select id="listDayDesc" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  25. SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight',duck_num 'duckNum',chi_num 'chiNum',call_date 'callDate' FROM `env_regular_call_feeding`
  26. ${ew.customSqlSegment}
  27. GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
  28. ORDER BY call_date DESC
  29. </select>
  30. <select id="listPage" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  31. SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight',call_date 'callDate' FROM `env_regular_call_feeding`
  32. ${ew.customSqlSegment}
  33. GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
  34. ORDER BY call_date ASC
  35. </select>
  36. <select id="getFeed" resultType="java.math.BigDecimal">
  37. SELECT COALESCE(ROUND(SUM(f.duck_weight)/1000,1),0) 'duckWeight' FROM `env_regular_call_feeding` f
  38. LEFT JOIN `base_duck_info` d ON f.duck_id = d.id
  39. And f.event_type = 0
  40. ${ew.customSqlSegment}
  41. </select>
  42. <select id="listSixMonthFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  43. SELECT IFNULL(duckWeight, 0) AS duckWeight, dates.month_date AS call_date
  44. FROM (
  45. SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS month_date
  46. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-01')
  47. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m-01')
  48. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m-01')
  49. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m-01')
  50. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m-01')
  51. ) AS dates
  52. LEFT JOIN (
  53. SELECT IFNULL(ROUND(SUM(f.duck_weight) / 1000, 1), 0) AS duckWeight, DATE_FORMAT(f.call_date, "%Y-%m-01") AS month_date
  54. FROM env_regular_call_feeding f
  55. LEFT JOIN base_duck_info d ON f.duck_id = d.id
  56. WHERE f.farm_id = #{farmId} AND d.unit_id IN ${units}
  57. AND f.call_date &gt;= DATE_SUB(NOW(), INTERVAL 6 MONTH)
  58. AND f.event_type = 0
  59. GROUP BY DATE_FORMAT(f.call_date, "%Y-%m-01")
  60. ) AS results ON dates.month_date = results.month_date
  61. ORDER BY dates.month_date;
  62. </select>
  63. <select id="listSevenDayFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  64. SELECT IFNULL(duckWeight, 0) AS duckWeight, dates.date AS call_date
  65. FROM (
  66. SELECT CURDATE() AS date
  67. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  68. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY)
  69. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY)
  70. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY)
  71. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY)
  72. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY)
  73. ) AS dates
  74. LEFT JOIN (
  75. SELECT IFNULL(ROUND(SUM(f.duck_weight) / 1000, 1), 0) AS duckWeight, DATE(f.call_date) AS date
  76. FROM env_regular_call_feeding f
  77. LEFT JOIN base_duck_info d ON f.duck_id = d.id
  78. WHERE f.farm_id = #{farmId} AND d.unit_id IN ${units}
  79. AND f.call_date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
  80. AND f.event_type = 0
  81. GROUP BY DATE(f.call_date)
  82. ) AS results ON dates.date = results.date
  83. ORDER BY dates.date;
  84. </select>
  85. <select id="listScreen" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo">
  86. SELECT (IFNUll(sum(duck_weight),'0')) 'duckWeight' ,duck_num 'duckNum',call_date 'callDate',Round(avg(duck_weight),2) avgWeight FROM `env_regular_call_feeding`
  87. ${ew.customSqlSegment}
  88. GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
  89. ORDER BY call_date ASC
  90. </select>
  91. <select id="listScreen2" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo">
  92. SELECT duck_num 'duckNum',call_date 'callDate',(IFNUll(sum(duck_weight),'0')) 'duckWeight' FROM `env_regular_call_feeding`
  93. ${ew.customSqlSegment}
  94. GROUP BY DATE_FORMAT(call_date,'%Y-%m-%d')
  95. ORDER BY call_date ASC
  96. </select>
  97. <select id="listCount" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallEggVo">
  98. SELECT t1.duck_num AS duckCode,IFNULL(t1.duckWeight, 0) AS feed, IFNULL(t2.eggNum, 0) AS eggNum,
  99. IFNULL(t1.duckWeight, 0) + IFNULL(t2.eggWeight, 0) AS weight, t1.call_date AS date
  100. FROM (
  101. SELECT IFNULL(SUM(duck_weight), 0) AS duckWeight, DATE_FORMAT(call_date, "%Y-%m-%d") AS call_date,duck_num
  102. FROM `env_regular_call_feeding`
  103. WHERE duck_num = #{duckNum} AND event_type = 0
  104. GROUP BY DATE_FORMAT(call_date, "%Y-%m-%d")
  105. ) t1
  106. LEFT JOIN (
  107. SELECT IFNULL(SUM(egg_num), 0) AS eggNum, IFNULL(SUM(duck_weight), 0) AS eggWeight, DATE_FORMAT(call_date, "%Y-%m-%d") AS call_date
  108. FROM `env_regular_call_egg`
  109. WHERE duck_num = #{duckNum}
  110. GROUP BY DATE_FORMAT(call_date, "%Y-%m-%d")
  111. ) t2
  112. ON DATE_FORMAT(t1.call_date,"%Y-%m-%d") = DATE_FORMAT(t2.call_date,"%Y-%m-%d")
  113. ORDER BY t1.call_date Desc;
  114. </select>
  115. <select id="listSelect" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  116. SELECT a.duck_num duckNum,a.unit_name unitName,a.id duckId,IFNULL(b.duckWeight,'0') duckWeight,IFNULL(b.callDate,#{date}) callDate ,b.callCode callCode,
  117. a.chi_num chiNum,a.jiao_num jiaoNum,a.batch_num batchNum
  118. from base_duck_info a LEFT JOIN
  119. (select IFNULL(SUM(duck_weight),0) duckWeight,duck_num duckNum,duck_id duckId,call_date callDate ,call_code callCode from env_regular_call_feeding where call_date>#{date} and farm_id=#{farmId} GROUP BY call_code) b ON a.id=b.duckId
  120. where farm_id=#{farmId} and a.is_cage='0'
  121. ORDER BY b.callDate DESC
  122. </select>
  123. <select id="listSelect1" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
  124. SELECT a.duck_num duckNum,a.unit_name unitName,a.id duckId,IFNULL(b.duckWeight,'0') duckWeight,IFNULL(b.callDate,#{date}) callDate ,b.callCode callCode,
  125. a.chi_num chiNum,a.jiao_num jiaoNum,a.batch_num batchNum
  126. from base_duck_info a LEFT JOIN
  127. (select IFNULL(SUM(duck_weight),0) duckWeight,duck_num duckNum,duck_id duckId,call_date callDate ,call_code callCode,
  128. chi_num chiNum,jiao_num jiaoNum,batch_num batchNum,unit_name unitName from env_regular_call_feeding where call_date>#{date} and farm_id=#{farmId} GROUP BY call_code) b ON a.id=b.duckId
  129. where farm_id=#{farmId} and a.is_cage='0' and (a.chi_num like concat('%',#{num},'%') or a.jiao_num like concat('%',#{num},'%') or a.unit_name like concat('%',#{num},'%'))
  130. ORDER BY b.callDate DESC
  131. </select>
  132. <select id="listScreen3" resultType="java.lang.String">
  133. SELECT (IFNULL(SUM(duck_weight),'0')) 'duckWeight' FROM `env_regular_call_feeding`
  134. ${ew.customSqlSegment}
  135. </select>
  136. </mapper>