【泛微E9】要求表单展现出 本季度的工时申请时长、本月的工时申请时长
-- 查询已归档的,本季度的额外工时申请时长
SELECT sum(F.sqzgsjxs) FROM formtable_main_299 F,workflow_requestbase W WHERE F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND QUARTER(F.sqrq) = QUARTER(CURDATE())
-- 查询已归档的,本月的额外工时申请时长
SELECT sum(F.sqzgsjxs) FROM formtable_main_299 F,workflow_requestbase W WHERE F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND MONTH(F.sqrq) = MONTH(CURDATE())
-- 查询已归档的,本季度,员工ID为838的额外工时申请时长
SELECT sum( FD.zgsqsc ) FROM formtable_main_299_dt1 FD, formtable_main_299 F, workflow_requestbase W WHERE FD.mainid = F.ID AND F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND QUARTER ( F.sqrq ) = QUARTER (CURDATE()) AND FD.ryxz = 838
-- 查询已归档的,本月,员工ID为838额外工时申请时长
SELECT sum( FD.zgsqsc ) FROM formtable_main_299_dt1 FD, formtable_main_299 F, workflow_requestbase W WHERE FD.mainid = F.ID AND F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND MONTH(F.sqrq) = MONTH(CURDATE()) AND FD.ryxz = 838
后被告知公司季度划分为:
Q1:2、3、4;
Q2:5、6、7;
Q3:8、9、10;
Q4:11、12、1;
与SQL自带的季度划分函数QUARTER()
不同
下为正常季度划分:
Q1:1、2、3;
Q2:4、5、6;
Q3:7、8、9;
Q4:10、11、12;
故增加控制字段,【处于第几季度】,字段属性-doSQL语句为
SELECT CASE
WHEN MONTH('$main.sqrq$') BETWEEN 2 AND 4 THEN '1'
WHEN MONTH('$main.sqrq$') BETWEEN 5 AND 7 THEN '2'
WHEN MONTH('$main.sqrq$') BETWEEN 8 AND 10 THEN '3'
ELSE '4' END
修改SQL语句为
-- 本季度申请额外工时时长
SELECT sum(F.sqzgsjxs) FROM formtable_main_299 F,workflow_requestbase W
WHERE F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND F.cydjjd='$main.cydjjd$'
-- 本季度 员工个人 申请额外工时时长
SELECT sum( FD.zgsqsc ) FROM formtable_main_299_dt1 FD, formtable_main_299 F, workflow_requestbase W WHERE FD.mainid = F.ID AND F.REQUESTID = W.REQUESTID AND W.currentnodetype = '3' AND F.cydjjd='$main.cydjjd$' AND FD.ryxz = $detail_1.ryxz$