|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
|
|
<mapper namespace="com.tianbo.analysis.dao.TransArriveAnalysisMapper" >
|
|
|
<resultMap id="BaseResultMap" type="com.tianbo.analysis.model.TransArriveAnalysis" >
|
|
|
<result column="CREATTIME" property="date" jdbcType="VARCHAR" />
|
|
|
<result column="DATE_NAME" property="dateName" jdbcType="VARCHAR" />
|
|
|
<result column="TOTAL_WEIGHT" property="totalWeight" jdbcType="DECIMAL" />
|
|
|
<result column="TOTAL_COUNT" property="totalCount" jdbcType="DECIMAL" />
|
|
|
<result column="_TYPE" property="type" jdbcType="DECIMAL" />
|
|
|
</resultMap>
|
|
|
|
|
|
<sql id="Month_Column_List" >
|
|
|
CREATTIME,DATE_NAME,TOTAL_WEIGHT,TOTAL_COUNT,_TYPE
|
|
|
</sql>
|
|
|
|
|
|
<sql id="thisWeekAnalysisSql">
|
|
|
-- 本周每日统计
|
|
|
WITH date_range AS (
|
|
|
SELECT TRUNC(SYSDATE, 'IW') + LEVEL - 1 AS date_val
|
|
|
FROM DUAL
|
|
|
CONNECT BY LEVEL <= 7
|
|
|
)
|
|
|
SELECT
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD') AS CREATTIME,
|
|
|
COALESCE(SUM(GROSSWT), 0) AS TOTAL_WEIGHT,
|
|
|
COUNT(BILLNO) AS TOTAL_COUNT,
|
|
|
CASE
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'MON' THEN '周一'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'TUE' THEN '周二'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'WED' THEN '周三'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'THU' THEN '周四'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'FRI' THEN '周五'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'SAT' THEN '周六'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'SUN' THEN '周日'
|
|
|
END AS DATE_NAME,
|
|
|
'thisWeek' AS _TYPE
|
|
|
FROM
|
|
|
date_range
|
|
|
LEFT JOIN
|
|
|
CGONMS.TRANS_TO_ARRIVE_EXPORT
|
|
|
ON
|
|
|
date_range.date_val = TRUNC(ARRIVETIME)
|
|
|
GROUP BY
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD'),
|
|
|
TO_CHAR(date_range.date_val, 'DY'),
|
|
|
_TYPE
|
|
|
ORDER BY
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD')
|
|
|
</sql>
|
|
|
<sql id="lastWeekAnalysisSql">
|
|
|
-- 上周每日统计
|
|
|
WITH date_range AS (
|
|
|
SELECT TRUNC(SYSDATE, 'IW') - 7 + LEVEL - 1 AS date_val
|
|
|
FROM DUAL
|
|
|
CONNECT BY LEVEL <= 7
|
|
|
)
|
|
|
SELECT
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD') AS CREATTIME,
|
|
|
COALESCE(SUM(GROSSWT), 0) AS TOTAL_WEIGHT,
|
|
|
COUNT(BILLNO) AS TOTAL_COUNT,
|
|
|
CASE
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'MON' THEN '周一'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'TUE' THEN '周二'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'WED' THEN '周三'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'THU' THEN '周四'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'FRI' THEN '周五'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'SAT' THEN '周六'
|
|
|
WHEN TO_CHAR(date_range.date_val, 'DY') = 'SUN' THEN '周日'
|
|
|
END AS DATE_NAME,
|
|
|
'lastWeek' AS _TYPE
|
|
|
FROM
|
|
|
date_range
|
|
|
LEFT JOIN
|
|
|
CGONMS.TRANS_TO_ARRIVE_EXPORT
|
|
|
ON
|
|
|
date_range.date_val = TRUNC(ARRIVETIME)
|
|
|
GROUP BY
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD'),
|
|
|
TO_CHAR(date_range.date_val, 'DY'),
|
|
|
_TYPE
|
|
|
ORDER BY
|
|
|
TO_CHAR(date_range.date_val, 'YYYY-MM-DD')
|
|
|
</sql>
|
|
|
<sql id="lastYearAnalysisSql">
|
|
|
-- 去年每月统计
|
|
|
SELECT
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM') AS CREATTIME,
|
|
|
CASE
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '01' THEN '一月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '02' THEN '二月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '03' THEN '三月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '04' THEN '四月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '05' THEN '五月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '06' THEN '六月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '07' THEN '七月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '08' THEN '八月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '09' THEN '九月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '10' THEN '十月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '11' THEN '十一月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '12' THEN '十二月'
|
|
|
END AS DATE_NAME,
|
|
|
SUM(GROSSWT) AS TOTAL_WEIGHT,
|
|
|
count(BILLNO) AS TOTAL_COUNT,
|
|
|
'lastYear' AS _TYPE
|
|
|
FROM
|
|
|
CGONMS.TRANS_TO_ARRIVE_EXPORT
|
|
|
WHERE
|
|
|
-- 去年数据
|
|
|
EXTRACT(YEAR FROM CREATTIME) = EXTRACT(YEAR FROM SYSDATE) - 1
|
|
|
GROUP BY
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM'),
|
|
|
TO_CHAR(CREATTIME, 'MM'),
|
|
|
_TYPE
|
|
|
ORDER BY
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM')
|
|
|
</sql>
|
|
|
<sql id="thisYearAnalysisSql">
|
|
|
-- 本年统计
|
|
|
SELECT
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM') AS CREATTIME,
|
|
|
CASE
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '01' THEN '一月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '02' THEN '二月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '03' THEN '三月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '04' THEN '四月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '05' THEN '五月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '06' THEN '六月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '07' THEN '七月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '08' THEN '八月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '09' THEN '九月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '10' THEN '十月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '11' THEN '十一月'
|
|
|
WHEN TO_CHAR(CREATTIME, 'MM') = '12' THEN '十二月'
|
|
|
END AS DATE_NAME,
|
|
|
SUM(GROSSWT) AS TOTAL_WEIGHT,
|
|
|
count(BILLNO) AS TOTAL_COUNT,
|
|
|
'thisYear' AS _TYPE
|
|
|
FROM
|
|
|
CGONMS.TRANS_TO_ARRIVE_EXPORT
|
|
|
WHERE
|
|
|
-- 当年数据
|
|
|
EXTRACT(YEAR FROM CREATTIME) = EXTRACT(YEAR FROM SYSDATE)
|
|
|
GROUP BY
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM'),
|
|
|
TO_CHAR(CREATTIME, 'MM'),
|
|
|
_TYPE
|
|
|
ORDER BY
|
|
|
TO_CHAR(CREATTIME, 'YYYY-MM')
|
|
|
</sql>
|
|
|
<select id="YearAnalysis" resultMap="BaseResultMap" >
|
|
|
SELECT * FROM (
|
|
|
SELECT * FROM (
|
|
|
(<include refid="thisYearAnalysisSql"/>)
|
|
|
union
|
|
|
(<include refid="lastYearAnalysisSql"/>)
|
|
|
)
|
|
|
) as T
|
|
|
order by T.CREATTIME
|
|
|
</select>
|
|
|
|
|
|
<select id="WeekAnalysis" resultMap="BaseResultMap">
|
|
|
SELECT * FROM (
|
|
|
SELECT * FROM (
|
|
|
(<include refid="thisWeekAnalysisSql"/>)
|
|
|
union
|
|
|
(<include refid="lastWeekAnalysisSql"/>)
|
|
|
)
|
|
|
) as T
|
|
|
order by T.CREATTIME
|
|
|
</select>
|
|
|
|
|
|
</mapper> |
...
|
...
|
|