【泛微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$ 
posted @ 2024-09-30 10:27  K89  阅读(30)  评论(0编辑  收藏  举报