|
@@ -71,21 +71,70 @@
|
|
|
</select>
|
|
|
<select id="selectStatisticsChart" parameterType="ApiMonitorDTO" resultType="ApiMonitorDTO">
|
|
|
<![CDATA[
|
|
|
- SELECT A.inDate AS inDate,
|
|
|
- IFNULL( B.create_date, 0 ) AS createDate,
|
|
|
- IFNULL( B.total, 0 ) AS total
|
|
|
- FROM ( SELECT TO_CHAR(TO_DATE( #{startDate} ) + LEVEL - 1, 'YYYY-MM-DD') AS inDate
|
|
|
- FROM DB_ROOT
|
|
|
- CONNECT BY LEVEL <= ( TO_DATE( DATE_FORMAT( #{endDate}, '%Y-%m-%d' ) ) - TO_DATE( #{startDate} ) + 1)
|
|
|
- ORDER BY inDate DESC
|
|
|
- ) A
|
|
|
- LEFT JOIN ( SELECT DATE_FORMAT( create_date, '%Y-%m-%d' ) AS create_date,
|
|
|
- SUM(api_count) AS total
|
|
|
- FROM api_statistics
|
|
|
- WHERE result = 'success'
|
|
|
- GROUP BY DATE_FORMAT( create_date, '%Y-%m-%d' )
|
|
|
- ) B
|
|
|
- ON DATE_FORMAT( B.create_date, '%Y-%m-%d' ) = A.inDate
|
|
|
+ SELECT A.INDATE AS inDate,
|
|
|
+ IFNULL( B.CREATE_DATE, 0 ) AS createDate,
|
|
|
+ IFNULL( B.TOTAL, 0 ) AS total
|
|
|
+ FROM ( SELECT TO_CHAR(TO_DATE( '2021-02-15' ) + LEVEL - 1, 'YYYY-MM-DD') AS inDate
|
|
|
+ FROM DB_ROOT
|
|
|
+ CONNECT BY LEVEL <= ( TO_DATE( DATE_FORMAT( '2021-02-17', '%Y-%m-%d' ) ) - TO_DATE( '2021-02-15' ) + 1)
|
|
|
+ ORDER BY INDATE DESC
|
|
|
+ ) A
|
|
|
+ LEFT JOIN ( SELECT DATE_FORMAT( AST.CREATE_DATE, '%Y-%m-%d' ) AS create_date,
|
|
|
+ SUM(AST.API_COUNT) AS total
|
|
|
+ FROM API_STATISTICS AST
|
|
|
+ LEFT JOIN CENTER_INFO CI
|
|
|
+ ON AST.CENTER_CODE = CI.CENTER_CODE
|
|
|
+ LEFT JOIN LOCATION_INFO LI
|
|
|
+ ON AST.LOCATION_CODE = LI.LOCATION_CODE
|
|
|
+ WHERE AST.result = 'success'
|
|
|
]]>
|
|
|
+ <if test='locationCode != null and locationCode != ""'>
|
|
|
+ <![CDATA[
|
|
|
+ AND LI.LOCATION_CODE = #{locationCode}
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test='centerName != null and centerName != ""'>
|
|
|
+ <![CDATA[
|
|
|
+ AND CI.CENTER_NAME LIKE CONCAT('%', #{centerName}, '%')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <![CDATA[
|
|
|
+ GROUP BY DATE_FORMAT( AST.CREATE_DATE, '%Y-%m-%d' )
|
|
|
+ ) B
|
|
|
+ ON DATE_FORMAT( B.CREATE_DATE, '%Y-%m-%d' ) = A.INDATE
|
|
|
+ ORDER BY A.INDATE ASC
|
|
|
+ ]]>
|
|
|
+ </select>
|
|
|
+ <select id="selectStatisticsState" parameterType="ApiMonitorDTO" resultType="ApiMonitorDTO">
|
|
|
+ <![CDATA[
|
|
|
+ SELECT COUNT(DISTINCT(AM.CENTER_CODE)) AS total,
|
|
|
+ COUNT(DISTINCT (AST.CENTER_CODE)) AS apiCount,
|
|
|
+ SUM(API_COUNT) AS numberOfCase
|
|
|
+ FROM API_STATISTICS AST
|
|
|
+ LEFT JOIN CENTER_INFO CI
|
|
|
+ ON AST.CENTER_CODE = CI.CENTER_CODE
|
|
|
+ LEFT JOIN LOCATION_INFO LI
|
|
|
+ ON AST.LOCATION_CODE = LI.LOCATION_CODE
|
|
|
+ LEFT JOIN API_MANAGER AM
|
|
|
+ ON AST.CENTER_CODE = AM.CENTER_CODE
|
|
|
+ AND AM.USE_YN = 'C'
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND result = 'success'
|
|
|
+ ]]>
|
|
|
+ <if test='locationCode != null and locationCode != ""'>
|
|
|
+ <![CDATA[
|
|
|
+ AND LI.LOCATION_CODE = #{locationCode}
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test='centerName != null and centerName != ""'>
|
|
|
+ <![CDATA[
|
|
|
+ AND CI.CENTER_NAME LIKE CONCAT('%', #{centerName}, '%')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test='startDate != null and startDate != "" and endDate != null and endDate != ""'>
|
|
|
+ <![CDATA[
|
|
|
+ AND DATE_FORMAT(AST.CREATE_DATE, '%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
</select>
|
|
|
</mapper>
|