FmsScreenMapper.xml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.yunfeiyun.agmp.fms.mapper.FmsScreenMapper">
  6. <select id="landStat" parameterType="string" resultType="com.yunfeiyun.agmp.fms.domain.resvo.FmsScreenLandStatResVo">
  7. SELECT fb.*, IFNULL(CAST(fb.totalBlockAreaplant / fb.totalBlockArea AS DECIMAL(30, 2)) * 100, 0) AS usedRate
  8. FROM (
  9. SELECT COUNT(*) AS totalBlockCount, SUM(fb.blockArea) AS totalBlockArea, SUM(fb.blockAreaplant) AS totalBlockAreaplant
  10. FROM FmsBlock AS fb
  11. WHERE fb.landId = #{landId}
  12. ) AS fb
  13. </select>
  14. <select id="planStat" parameterType="com.yunfeiyun.agmp.fms.domain.reqvo.FmsScreenStatReqVo"
  15. resultType="com.yunfeiyun.agmp.fms.domain.dto.FmsScreenPlanStatDto">
  16. SELECT f.cropId, f.cropName, f.cropType, f.cropArea
  17. FROM (
  18. SELECT fc.cropId, fc.cropName, SUM(fb.blockAreaplant) AS cropArea, fc.cropType
  19. FROM FmsBlock AS fb
  20. LEFT JOIN FmsPlan AS fp ON fp.blockId = fb.blockId
  21. LEFT JOIN FmsCrop AS fc ON fc.cropId = fp.cropId
  22. WHERE fb.landId = #{landId} AND fp.planStatus = "1"
  23. GROUP BY fc.cropId
  24. ) AS f
  25. </select>
  26. <select id="planPickStat" parameterType="com.yunfeiyun.agmp.fms.domain.reqvo.FmsScreenStatReqVo"
  27. resultType="com.yunfeiyun.agmp.fms.domain.resvo.FmsScreenPlanPickStatResVo">
  28. SELECT t.blockId, max(tp.pickArea) AS planArea, sum(tp.pickWeight) AS pickWeight, fb.blockName
  29. FROM FmsTaskpick AS tp
  30. LEFT JOIN FmsTask AS t ON t.taskId = tp.taskId
  31. LEFT JOIN FmsBlock AS fb ON fb.blockId = t.blockId
  32. WHERE t.landId = #{landId} AND t.taskStatus = '3'
  33. AND (tp.pickDate >= #{startDate} AND tp.pickDate <![CDATA[ <= ]]> #{endDate})
  34. GROUP BY t.blockId
  35. ORDER BY fb.blockSeq
  36. </select>
  37. </mapper>