您现在的位置是:主页 > news > 哪里找专业做网站的人/太原seo服务
哪里找专业做网站的人/太原seo服务
admin2025/5/3 15:53:14【news】
简介哪里找专业做网站的人,太原seo服务,如何修改wordpress主页代码,阜阳党建工作 网站建设当天任务数:按订单的审核记录表的中任务开始时间统计。当天相同订单多次提交,只计第一次提交; 当天及时完成数当天任务数中的订单,任务开始时间24小时>该订单审核的结束时间 的订单数量; 上班段通过页数ÿ…
当天任务数:按订单的审核记录表的中任务开始时间统计。当天相同订单多次提交,只计第一次提交;
当天及时完成数=当天任务数中的订单,任务开始时间+24小时>=该订单审核的结束时间 的订单数量;
上班段通过页数:当天订单通过时间在上班时间段内(9:00-18:00)的所有订单的页数总和(一个订单多次通过的,仅计一次通过),下班时间段同理;
上班段驳回页数:当天订单驳回时间在上班时间段内(9:00-18:00)的所有订单的页数总和(驳回时间>第一次通过时间的,不计),下班时间段同理。
这次报表的思路在于:在同一张表“审核表”中取数据时候,先取时间段的数据出来,然后将这六条要求写成相对应的查询语句,再用LEFT JOIN(使用右外连接应该也可以,本人没有试过)连接起来取每一天的数据,最后把整个连接表当做一个新表进行查询。这样子查询出来的数据就是一张列表,在mybatis中使用map类型返回值,在控制器中用list封装,即可读取出数据。
(还有第二种思路:先取出每一天的数据,再取一个时间段的数据,即先部分后整体。但是这样子要使用oracle循环,写存储过程,比较繁琐,有兴趣的朋友可以尝试一下)
以下是具体的SQL语句:
SELECT CU.NAME,
A_TIME,
NVL(COUNT(TASK_COUNT),0) TASK_COUNT,
NVL(COUNT(COMPLETE_TASK_COUNT),0) COMPLETE_TASK_COUNT,
NVL(SUM(PASS_COUNT_WORK),0) PASS_COUNT_WORK,
NVL(SUM(PASS_COUNT_NO_WORK),0) PASS_COUNT_NO_WORK,
NVL(SUM(REJECT_COUNT_WORK),0) REJECT_COUNT_WORK,
NVL(SUM(REJECT_COUNT_NO_WORK),0) REJECT_COUNT_NO_WORK,
NVL(SUM(PASS_COUNT_WORK),0)+NVL(SUM(PASS_COUNT_NO_WORK),0) PASS_WORK,
NVL(SUM(REJECT_COUNT_WORK),0)+NVL(SUM(REJECT_COUNT_NO_WORK),0) REJECT_WORK,
NVL(SUM(PASS_COUNT_WORK),0)+NVL(SUM(PASS_COUNT_NO_WORK),0)+NVL(SUM(REJECT_COUNT_WORK),0)+NVL(SUM(REJECT_COUNT_NO_WORK),0) ALL_COUNT,
ROUND(NVL(COUNT(COMPLETE_TASK_COUNT),0)/NVL(COUNT(TASK_COUNT),0),3) COMPLETE_EFFICIENCY,
ROUND((NVL(SUM(PASS_COUNT_WORK),0)+NVL(SUM(PASS_COUNT_NO_WORK),0))/(NVL(SUM(PASS_COUNT_WORK),0)+NVL(SUM(PASS_COUNT_NO_WORK),0)+NVL(SUM(REJECT_COUNT_WORK),0)+NVL(SUM(REJECT_COUNT_NO_WORK),0)),3) PASS_EFFICIENCY
FROM
(
SELECT A.A_ORDER_ID, A.RECEIVING_LERK_ID, A.A_TIME, A.TASK_COUNT,
B.COMPLETE_TASK_COUNT,
C.PASS_COUNT_WORK,
D.PASS_COUNT_NO_WORK,
E.REJECT_COUNT_WORK,
F.REJECT_COUNT_NO_WORK
FROM
(//当天任务数
select count(0) TASK_COUNT,to_char(TASK_START_TIME,'yyyy-MM-dd') A_TIME,t1.RECEIVING_LERK_ID ,T1.ORDER_ID A_ORDER_ID
from CRM_ORDER_AUDIT t1
where t1.TASK_START_TIME >= to_date(#{startDate},'yyyy-MM-dd')
and t1.TASK_START_TIME <= to_date(#{endDate},'yyyy-MM-dd')
AND t1.AUDIT_COUNT = 1
GROUP BY to_char(T1.TASK_START_TIME,'yyyy-MM-dd'),t1.RECEIVING_LERK_ID,T1.ORDER_ID
) A
LEFT JOIN
(//当天及时完成数
SELECT COUNT(C.ID) COMPLETE_TASK_COUNT,C.RECEIVING_LERK_ID,C.ORDER_ID B_ORDER_ID
from CRM_ORDER_AUDIT C
where
C.TASK_START_TIME >= to_date(#{startDate},'yyyy-MM-dd')
and C.TASK_START_TIME <= to_date(#{endDate},'yyyy-MM-dd')
AND (C.TASK_START_TIME < C.END_TIME)
AND ((to_char(C.END_TIME,'yyyy-mm-dd HH24:MI:SS')) < to_char(C.TASK_START_TIME+1,'yyyy-mm-dd HH24:MI:SS'))
AND C.AUDIT_COUNT = 1
GROUP BY C.RECEIVING_LERK_ID,C.ORDER_ID
) B ON (A.RECEIVING_LERK_ID = B.RECEIVING_LERK_ID AND A.A_ORDER_ID = B.B_ORDER_ID)
LEFT JOIN
(//上班段通过页数
SELECT SUM(A.TOTAL_COUNT) PASS_COUNT_WORK, RECEIVING_LERK_ID, ORDER_ID C_ORDER_ID
FROM CRM_ORDER_AUDIT A
WHERE A.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND A.TYPE = 1
AND (to_char(A.END_TIME,'HH24') >= 09)
AND (to_char(A.END_TIME,'HH24') <= 18)
AND A.AUDIT_COUNT IN (
SELECT MIN(B.AUDIT_COUNT) FROM CRM_ORDER_AUDIT B
WHERE B.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND B.TYPE = 1
AND A.ORDER_ID = B.ORDER_ID
AND (to_char(B.END_TIME,'HH24') >= 09)
AND (to_char(B.END_TIME,'HH24') <= 18)
)
GROUP BY RECEIVING_LERK_ID,ORDER_ID
) C ON (A.RECEIVING_LERK_ID = C.RECEIVING_LERK_ID AND A.A_ORDER_ID = C.C_ORDER_ID)
LEFT JOIN
(//下班段通过页数
SELECT SUM(A.TOTAL_COUNT) PASS_COUNT_NO_WORK, RECEIVING_LERK_ID, ORDER_ID D_ORDER_ID
FROM CRM_ORDER_AUDIT A
WHERE A.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND A.TYPE = 1
AND (to_char(A.END_TIME,'HH24') >= 00 AND to_char(A.END_TIME,'HH24') < 09)
OR (to_char(A.END_TIME,'HH24') > 18 AND to_char(A.END_TIME,'HH24') < 24)
AND A.AUDIT_COUNT IN (
SELECT MIN(B.AUDIT_COUNT) FROM CRM_ORDER_AUDIT B
WHERE B.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND B.TYPE = 1
AND A.ORDER_ID = B.ORDER_ID
AND (to_char(B.END_TIME,'HH24') >= 00 AND to_char(B.END_TIME,'HH24') < 09)
OR (to_char(B.END_TIME,'HH24') > 18 AND to_char(B.END_TIME,'HH24') < 24)
)
GROUP BY RECEIVING_LERK_ID,ORDER_ID
) D ON (A.RECEIVING_LERK_ID = D.RECEIVING_LERK_ID AND A.A_ORDER_ID = D.D_ORDER_ID)
LEFT JOIN
(//上班段驳回页数
SELECT SUM(A.REJECT_COUNT) REJECT_COUNT_WORK, RECEIVING_LERK_ID, ORDER_ID E_ORDER_ID
FROM CRM_ORDER_AUDIT A
WHERE A.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND A.TYPE = 0
AND (to_char(A.END_TIME,'HH24') >= 09)
AND (to_char(A.END_TIME,'HH24') <= 18)
AND A.AUDIT_COUNT IN (
SELECT B.AUDIT_COUNT FROM CRM_ORDER_AUDIT B
WHERE B.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND B.TYPE = 0
AND A.ORDER_ID = B.ORDER_ID
AND (to_char(B.END_TIME,'HH24') >= 09)
AND (to_char(B.END_TIME,'HH24') <= 18)
AND B.END_TIME <
(
SELECT C.END_TIME
FROM CRM_ORDER_AUDIT C
WHERE C.TYPE = 1 AND C.ID = (
SELECT MIN(D.ID) FROM CRM_ORDER_AUDIT D WHERE D.TYPE = 1 AND D.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd') AND B.ORDER_ID = D.ORDER_ID
)
)
)
GROUP BY RECEIVING_LERK_ID,ORDER_ID
) E ON (A.RECEIVING_LERK_ID = E.RECEIVING_LERK_ID AND A.A_ORDER_ID = E.E_ORDER_ID)
LEFT JOIN
(//下班段驳回页数
SELECT SUM(A.REJECT_COUNT) REJECT_COUNT_NO_WORK, RECEIVING_LERK_ID, ORDER_ID F_ORDER_ID
FROM CRM_ORDER_AUDIT A
WHERE A.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND A.TYPE = 0
AND (to_char(A.END_TIME,'HH24') >= 00 AND to_char(A.END_TIME,'HH24') < 09)
OR (to_char(A.END_TIME,'HH24') > 18 AND to_char(A.END_TIME,'HH24') < 24)
AND A.AUDIT_COUNT IN (
SELECT B.AUDIT_COUNT FROM CRM_ORDER_AUDIT B
WHERE B.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd')
AND B.TYPE = 0
AND A.ORDER_ID = B.ORDER_ID
AND (to_char(A.END_TIME,'HH24') >= 00 AND to_char(A.END_TIME,'HH24') < 09)
OR (to_char(A.END_TIME,'HH24') > 18 AND to_char(A.END_TIME,'HH24') < 24)
AND B.END_TIME <
(
SELECT C.END_TIME
FROM CRM_ORDER_AUDIT C
WHERE C.TYPE = 1 AND C.ID = (
SELECT MIN(D.ID) FROM CRM_ORDER_AUDIT D WHERE D.TYPE = 1 AND D.END_TIME BETWEEN to_date(#{startDate},'yyyy-MM-dd') AND to_date(#{endDate},'yyyy-MM-dd') AND B.ORDER_ID = D.ORDER_ID
)
)
)
GROUP BY RECEIVING_LERK_ID,ORDER_ID
) F ON (A.RECEIVING_LERK_ID = F.RECEIVING_LERK_ID AND A.A_ORDER_ID = F.F_ORDER_ID)
GROUP BY A.A_ORDER_ID, A.TASK_COUNT, A.A_TIME, A.RECEIVING_LERK_ID,
B.COMPLETE_TASK_COUNT,
C.PASS_COUNT_WORK,
D.PASS_COUNT_NO_WORK,
E.REJECT_COUNT_WORK,
F.REJECT_COUNT_NO_WORK
ORDER BY A.A_TIME DESC
) combination
LEFT JOIN CRM_USER CU ON CU.ID = RECEIVING_LERK_ID
GROUP BY A_TIME,CU.NAME
ORDER BY A_TIME DESC
注:一下子看不懂的亲们,可以先将六条select查询拿出来看,是可以单独运行的。本人仅提供思路,因此不会提供“审核表”的具体参数说明。