DashBoardMapper.xml 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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.zhongzheng.modules.dashBoard.mapper.DashBoardMapper">
  6. <select id="getOrganDataM" parameterType="map" resultType="java.util.HashMap">
  7. SELECT
  8. t.tenant_name as organName,
  9. t.tenant_id as organId,
  10. IFNULL(SUM(too.order_received - too.pretax_brokerage-too.order_refunded),0) as orderMoneys,
  11. COUNT(too.order_id) as orderNumber
  12. FROM sys_tenant as t LEFT JOIN top_old_order AS too ON t.tenant_id = too.tenant_id
  13. WHERE too.check_status=1 and (too.check_time BETWEEN ${paramMap.startTime} and ${paramMap.endTime})
  14. <choose>
  15. <when test="paramMap.orgam != null">
  16. and too.tenant_id = ${paramMap.orgam}
  17. GROUP BY too.create_sys_user_id
  18. </when>
  19. <otherwise>
  20. GROUP BY too.tenant_id
  21. </otherwise>
  22. </choose>
  23. <if test="paramMap.sorts == 1">
  24. ORDER BY orderMoneys DESC
  25. </if>
  26. <if test="paramMap.sorts == 2">
  27. ORDER BY orderNumber ASC
  28. </if>
  29. </select>
  30. <select id="getSumData" parameterType="map" resultType="java.util.HashMap">
  31. SELECT
  32. IFNULL(SUM(too.order_received - too.pretax_brokerage-too.order_refunded),0) as orderMoneys,
  33. COUNT(too.order_id) as orderNumber
  34. FROM top_old_order AS too
  35. WHERE too.check_status=1 and (too.check_time BETWEEN ${paramMap.startTime} and ${paramMap.endTime})
  36. <if test="paramMap.orgam != null">and too.tenant_id = ${paramMap.orgam}</if>
  37. </select>
  38. </mapper>
  39. <!--
  40. //使用数据计算环比,同比,占比SQL语句,备用
  41. select newTalbe.organName as organName,newTalbe.organId as organId,
  42. newTalbe.orderMoneys as m1,
  43. jTalbe.orderMoneys AS m2,
  44. concat(ifnull(abs(round((newTalbe.orderMoneys-jTalbe.orderMoneys)/jTalbe.orderMoneys*100,2)),0),'%') AS 环比,
  45. concat(ifnull(abs(round((newTalbe.orderMoneys-tb.orderMoneys)/jTalbe.orderMoneys*100,2)),0),'%') AS 同比,
  46. concat(ifnull(abs(round(newTalbe.orderMoneys/ttt.orderMoneys*100,2)),0),'%') AS 占比,
  47. ttt.orderMoneys as 总值
  48. from
  49. (
  50. (SELECT
  51. t.tenant_name AS organName,
  52. t.tenant_id AS organId,
  53. IFNULL(SUM(too.order_received - too.pretax_brokerage - too.order_refunded), 0) AS orderMoneys,
  54. COUNT(too.order_id) AS orderNumber
  55. FROM sys_tenant AS t LEFT JOIN top_old_order AS too ON t.tenant_id = too.tenant_id
  56. WHERE too.check_status = 1
  57. AND (too.check_time BETWEEN 1690444189 AND 1704038399)
  58. GROUP BY too.tenant_id ORDER BY orderMoneys DESC) AS newTalbe LEFT JOIN (SELECT
  59. t.tenant_name AS organName,
  60. t.tenant_id AS organId,
  61. IFNULL(SUM(too.order_received - too.pretax_brokerage - too.order_refunded), 0) AS orderMoneys,
  62. COUNT(too.order_id) AS orderNumber
  63. FROM sys_tenant AS t LEFT JOIN top_old_order AS too ON t.tenant_id = too.tenant_id
  64. WHERE too.check_status = 1
  65. AND (too.check_time BETWEEN 1672502400 AND 1704038399)
  66. GROUP BY too.tenant_id ORDER BY orderMoneys DESC ) AS jTalbe ON newTalbe.organId = jTalbe.organId
  67. LEFT JOIN (SELECT
  68. t.tenant_name AS organName,
  69. t.tenant_id AS organId,
  70. IFNULL(SUM(too.order_received - too.pretax_brokerage - too.order_refunded), 0) AS orderMoneys,
  71. COUNT(too.order_id) AS orderNumber
  72. FROM sys_tenant AS t LEFT JOIN top_old_order AS too ON t.tenant_id = too.tenant_id
  73. WHERE too.check_status = 1
  74. AND (too.check_time BETWEEN 1672502400 AND 1704038399)
  75. GROUP BY too.tenant_id ORDER BY orderMoneys DESC ) AS tb ON newTalbe.organId = tb.organId),(SELECT
  76. IFNULL(SUM(too.order_received - too.pretax_brokerage - too.order_refunded), 0) AS orderMoneys,
  77. COUNT(too.order_id) AS orderNumber
  78. FROM sys_tenant AS t LEFT JOIN top_old_order AS too ON t.tenant_id = too.tenant_id
  79. WHERE too.check_status = 1
  80. AND (too.check_time BETWEEN 1672502400 AND 1704038399) ) as ttt
  81. -->