报表传参取值与固定参数取值数据存在不一致现象
报表数据源sql语句:
SELECT "person.number",
"person.name",
"empType.name",
"empOrgRelation.assignType",
"adminOrgUnit.displayName"
from ( SELECT "PERSON".FNumber AS "person.number" ,
"PERSON".FName_l2 AS "person.name" ,
"EMPTYPE".FName_l2 AS "empType.name" ,
"EMPORGRELATION".FAssignType AS "empOrgRelation.assignType" ,
"ADMINORGUNIT".FDisplayName_l2 AS "adminOrgUnit.displayName"
FROM T_BD_PERSONHIS AS "PERSON"
LEFT JOIN T_HR_EMPORGRELATION AS "EMPORGRELATION" ON "EMPORGRELATION".FPersonID="PERSON".FhistoryRelateID AND "EMPORGRELATION".FIsInner=1 AND ("EMPORGRELATION".FAssignType= 1 and "EMPORGRELATION".FEFFDT<= {ts'@baseDate'}-30 and "EMPORGRELATION".FLEFFDT>= {ts'@baseDate'}-30)
LEFT JOIN T_HR_EMPLABORRELATIONHIS AS "LABORRELA" ON "LABORRELA".FPersonID="EMPORGRELATION".FPERSONID AND "LABORRELA".FEFFDT<={ts'@baseDate'}-30 AND "LABORRELA".FLEFFDT>={ts'@baseDate'}-30
LEFT JOIN T_HR_BDEMPLOYEETYPE AS "EMPTYPE" ON "EMPTYPE".FID="LABORRELA".FLABORRELATIONSTATEID
LEFT JOIN T_ORG_ADMINHIS AS "ADMINORGUNIT" ON "ADMINORGUNIT".FhistoryRelateID="EMPORGRELATION".FADMINORGID AND "ADMINORGUNIT".FEFFDT<={ts'@baseDate'}-30 AND "ADMINORGUNIT".FLEFFDT>={ts'@baseDate'}-30
LEFT JOIN T_HR_PERSONPOSITIONHIS AS "PP" ON "PP".FPersonID="PERSON".FhistoryRelateID WHERE (( ( "ADMINORGUNIT".FLongNumber= '@adminOrg' or "ADMINORGUNIT".FLongNumber like '@adminOrg!%' ) and "ADMINORGUNIT".FHistoryRelateID in (SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = '@ExtRptCurrentUserInfoID' AND FType = 20) ) and ( "PERSON".FEFFDT<= {ts'@baseDate'}-30 and "PERSON".FLEFFDT>= {ts'@baseDate'}-30 and "PP".FEFFDT<= {ts'@baseDate'}-30 and "PP".FLEFFDT>= {ts'@baseDate'}-30 and "EMPORGRELATION".FEFFDT<= {ts'@baseDate'}-30 and "EMPORGRELATION".FLEFFDT>= {ts'@baseDate'}-30 and "PERSON".fnumber like 'xj0002%' ) ) ) tempTT
参数选择:
查询结果:
固定“时间”参数设置后sql语句:
SELECT "person.number",
"person.name",
"empType.name",
"empOrgRelation.assignType",
"adminOrgUnit.displayName"
from ( SELECT "PERSON".FNumber AS "person.number" ,
"PERSON".FName_l2 AS "person.name" ,
"EMPTYPE".FName_l2 AS "empType.name" ,
"EMPORGRELATION".FAssignType AS "empOrgRelation.assignType" ,
"ADMINORGUNIT".FDisplayName_l2 AS "adminOrgUnit.displayName"
FROM T_BD_PERSONHIS AS "PERSON"
LEFT JOIN T_HR_EMPORGRELATION AS "EMPORGRELATION" ON "EMPORGRELATION".FPersonID="PERSON".FhistoryRelateID AND "EMPORGRELATION".FIsInner=1 AND ("EMPORGRELATION".FAssignType= 1 and "EMPORGRELATION".FEFFDT<= {ts '2015-12-25 00:00:00'}-30 and "EMPORGRELATION".FLEFFDT>= {ts '2015-12-25 00:00:00'}-30)
LEFT JOIN T_HR_EMPLABORRELATIONHIS AS "LABORRELA" ON "LABORRELA".FPersonID="EMPORGRELATION".FPERSONID AND "LABORRELA".FEFFDT<={ts '2015-12-25 00:00:00'}-30 AND "LABORRELA".FLEFFDT>={ts '2015-12-25 00:00:00'}-30
LEFT JOIN T_HR_BDEMPLOYEETYPE AS "EMPTYPE" ON "EMPTYPE".FID="LABORRELA".FLABORRELATIONSTATEID
LEFT JOIN T_ORG_ADMINHIS AS "ADMINORGUNIT" ON "ADMINORGUNIT".FhistoryRelateID="EMPORGRELATION".FADMINORGID AND "ADMINORGUNIT".FEFFDT<={ts '2015-12-25 00:00:00'}-30 AND "ADMINORGUNIT".FLEFFDT>={ts '2015-12-25 00:00:00'}-30
LEFT JOIN T_HR_PERSONPOSITIONHIS AS "PP" ON "PP".FPersonID="PERSON".FhistoryRelateID WHERE (( ( "ADMINORGUNIT".FLongNumber= '@adminOrg' or "ADMINORGUNIT".FLongNumber like '@adminOrg!%' ) and "ADMINORGUNIT".FHistoryRelateID in (SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = '@ExtRptCurrentUserInfoID' AND FType = 20) ) and ( "PERSON".FEFFDT<= {ts '2015-12-25 00:00:00'}-30 and "PERSON".FLEFFDT>= {ts '2015-12-25 00:00:00'}-30 and "PP".FEFFDT<= {ts '2015-12-25 00:00:00'}-30 and "PP".FLEFFDT>= {ts '2015-12-25 00:00:00'}-30 and "EMPORGRELATION".FEFFDT<= {ts '2015-12-25 00:00:00'}-30 and "EMPORGRELATION".FLEFFDT>= {ts '2015-12-25 00:00:00'}-30 and "PERSON".fnumber like 'xj0002%' ) ) ) tempTT
参数默认选择:
查询结果:
SELECT "person.number",
"person.name",
"empType.name",
"empOrgRelation.assignType",
"adminOrgUnit.displayName"
from ( SELECT "PERSON".FNumber AS "person.number" ,
"PERSON".FName_l2 AS "person.name" ,
"EMPTYPE".FName_l2 AS "empType.name" ,
"EMPORGRELATION".FAssignType AS "empOrgRelation.assignType" ,
"ADMINORGUNIT".FDisplayName_l2 AS "adminOrgUnit.displayName"
FROM T_BD_PERSONHIS AS "PERSON"
LEFT JOIN T_HR_EMPORGRELATION AS "EMPORGRELATION" ON "EMPORGRELATION".FPersonID="PERSON".FhistoryRelateID AND "EMPORGRELATION".FIsInner=1 AND ("EMPORGRELATION".FAssignType= 1 and "EMPORGRELATION".FEFFDT<= add_months({ts '@baseDate'},-1) and "EMPORGRELATION".FLEFFDT>= add_months({ts '@baseDate'},-1))
LEFT JOIN T_HR_EMPLABORRELATIONHIS AS "LABORRELA" ON "LABORRELA".FPersonID="EMPORGRELATION".FPERSONID AND "LABORRELA".FEFFDT<=add_months({ts '@baseDate'},-1) AND "LABORRELA".FLEFFDT>=add_months({ts '@baseDate'},-1)
LEFT JOIN T_HR_BDEMPLOYEETYPE AS "EMPTYPE" ON "EMPTYPE".FID="LABORRELA".FLABORRELATIONSTATEID
LEFT JOIN T_ORG_ADMINHIS AS "ADMINORGUNIT" ON "ADMINORGUNIT".FhistoryRelateID="EMPORGRELATION".FADMINORGID AND "ADMINORGUNIT".FEFFDT<=add_months({ts '@baseDate'},-1) AND "ADMINORGUNIT".FLEFFDT>=add_months({ts '@baseDate'},-1)
LEFT JOIN T_HR_PERSONPOSITIONHIS AS "PP" ON "PP".FPersonID="PERSON".FhistoryRelateID WHERE (( ( "ADMINORGUNIT".FLongNumber= '@adminOrg' or "ADMINORGUNIT".FLongNumber like '@adminOrg!%' ) and "ADMINORGUNIT".FHistoryRelateID in (SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = '@ExtRptCurrentUserInfoID' AND FType = 20) ) and ( "PERSON".FEFFDT<= add_months({ts '@baseDate'},-1) and "PERSON".FLEFFDT>= add_months({ts '@baseDate'},-1) and "PP".FEFFDT<= add_months({ts '@baseDate'},-1) and "PP".FLEFFDT>= add_months({ts '@baseDate'},-1) and "EMPORGRELATION".FEFFDT<= add_months({ts '@baseDate'},-1) and "EMPORGRELATION".FLEFFDT>= add_months({ts '@baseDate'},-1) and "PERSON".fnumber like 'xj0002%' ) ) ) tempTT
按上面这样子写也是:基准日期选择:2015-12-24查询不到这个人员的信息,只有获取参数的时候自己往基准日期后面补00:00:00(即2015-12-24 00:00:00)才可以查到
对,是我们自定义的SQL语句,这张报表我们要做本月和上月的数据对比,这个sql是查上月的数据。
这是你们自定义的SQL语句吗?在测试环境重现问题的时候,复制上面的sql预览报错,这串自定义sql是为了查询什么场景的数据?
报表传参取值与固定参数取值数据存在不一致现象
本文2024-09-17 00:55:16发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-64092.html