|
|
@@ -9,8 +9,6 @@ import kd.bos.context.RequestContext;
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
import kd.bos.dataentity.entity.LocaleString;
|
|
|
-import kd.bos.entity.cache.AppCache;
|
|
|
-import kd.bos.entity.cache.IAppCache;
|
|
|
import kd.bos.entity.report.AbstractReportColumn;
|
|
|
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
|
|
import kd.bos.entity.report.DynamicReportColumnEvent;
|
|
|
@@ -19,10 +17,7 @@ import kd.bos.entity.report.ReportColumn;
|
|
|
import kd.bos.entity.report.ReportQueryParam;
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
|
-import kd.bos.permission.api.HasPermOrgResult;
|
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
-import kd.bos.servicehelper.parameter.SystemParamServiceHelper;
|
|
|
-import kd.bos.servicehelper.permission.PermissionServiceHelper;
|
|
|
import kd.hr.hbp.common.model.AuthorizedOrgResultWithSub;
|
|
|
import kd.hr.hbp.common.model.OrgSubInfo;
|
|
|
import kd.sdk.hr.hbp.business.helper.permission.HRPermissionServiceHelper;
|
|
|
@@ -85,8 +80,13 @@ public class KeyBeHavEvalReptQueryPlugin extends AbstractReportListDataPlugin im
|
|
|
// 5. 查询主表数据
|
|
|
// 处理快速过滤条件
|
|
|
QFilter qFilter = QFilter.of("1=1");
|
|
|
- if (authorizedOrgIds != null && !authorizedOrgIds.isEmpty()) {
|
|
|
- qFilter.and(String.join(".", FormConstant.NCKD_PERSON, FormConstant.HRPI_EMPPOSORGREL, FormConstant.ADMINORG), QCP.in, authorizedOrgIds);
|
|
|
+ //按权限范围过滤
|
|
|
+ QFilter dataRule = HRPermissionServiceHelper.getDataRule(
|
|
|
+ RequestContext.get().getCurrUserId(), "nckd_psmsfile", PositionStructureConstant.PERSONPOSFILE_ENTITYID,
|
|
|
+ PermItemConst.ITEM_VIEW, new HashMap<>());
|
|
|
+ if (dataRule != null) {
|
|
|
+ Object value = dataRule.getValue();
|
|
|
+ qFilter.and(String.join(".",FormConstant.NCKD_PERSON,FormConstant.HRPI_EMPPOSORGREL, FormConstant.ADMINORG), QCP.in, value);
|
|
|
}
|
|
|
|
|
|
processFastFilter(reportQueryParam, qFilter);
|
|
|
@@ -94,7 +94,7 @@ public class KeyBeHavEvalReptQueryPlugin extends AbstractReportListDataPlugin im
|
|
|
processFilter(reportQueryParam, qFilter);
|
|
|
|
|
|
DataSet mainTableDataSet = queryMainTableDataSet(qFilter);
|
|
|
-
|
|
|
+
|
|
|
// 6. 关联主表和行转列结果
|
|
|
DataSet finalResultDataSet = joinMainAndPivotData(mainTableDataSet, pivotResultDataSet);
|
|
|
|
|
|
@@ -155,7 +155,17 @@ public class KeyBeHavEvalReptQueryPlugin extends AbstractReportListDataPlugin im
|
|
|
*/
|
|
|
private List<ProjectInfo> getUniqueProjectInfo(List<Long> orgIds) {
|
|
|
QueryFieldBuilder resultFieldBuilder = createResultFieldBuilder();
|
|
|
- QFilter filter = createOrgFilter(orgIds);
|
|
|
+// QFilter filter = createOrgFilter(orgIds);
|
|
|
+
|
|
|
+ QFilter filter = QFilter.of("1=1");
|
|
|
+ QFilter dataRule = HRPermissionServiceHelper.getDataRule(
|
|
|
+ RequestContext.get().getCurrUserId(), "nckd_psmsfile", PositionStructureConstant.PERSONPOSFILE_ENTITYID,
|
|
|
+ PermItemConst.ITEM_VIEW, new HashMap<>());
|
|
|
+ if (dataRule != null) {
|
|
|
+ Object value = dataRule.getValue();
|
|
|
+ filter.and(String.join(".",PositionStructureConstant.NCKD_KEYBEHAVCONFENTRY,"nckd_keybehavconf",FormConstant.NCKD_ORG, FormConstant.ID_KEY), QCP.in, value);
|
|
|
+ filter.and(String.join(".",FormConstant.NCKD_PERSON,FormConstant.HRPI_EMPPOSORGREL, FormConstant.ADMINORG), QCP.in, value);
|
|
|
+ }
|
|
|
DynamicObjectCollection keyBeHavEvalProjRslt = QueryServiceHelper.query(
|
|
|
PositionStructureConstant.KEYBEHAVEVALPROJRSLT_ENTITYID,
|
|
|
resultFieldBuilder.buildSelect(),
|
|
|
@@ -198,7 +208,15 @@ public class KeyBeHavEvalReptQueryPlugin extends AbstractReportListDataPlugin im
|
|
|
*/
|
|
|
private DataSet queryKeyBeHavEvalProjRsltDataSet(List<Long> orgIds) {
|
|
|
QueryFieldBuilder resultFieldBuilder = createResultFieldBuilder();
|
|
|
- QFilter filter = createOrgFilter(orgIds);
|
|
|
+// QFilter filter = createOrgFilter(orgIds);
|
|
|
+ QFilter filter = QFilter.of("1=1");
|
|
|
+ QFilter dataRule = HRPermissionServiceHelper.getDataRule(
|
|
|
+ RequestContext.get().getCurrUserId(), "nckd_psmsfile", PositionStructureConstant.PERSONPOSFILE_ENTITYID,
|
|
|
+ PermItemConst.ITEM_VIEW, new HashMap<>());
|
|
|
+ if (dataRule != null) {
|
|
|
+ Object value = dataRule.getValue();
|
|
|
+ filter.and("nckd_person.hrpi_empposorgrel.adminorg",QCP.in, value);
|
|
|
+ }
|
|
|
return QueryServiceHelper.queryDataSet(this.getClass().getName(),
|
|
|
PositionStructureConstant.KEYBEHAVEVALPROJRSLT_ENTITYID,
|
|
|
resultFieldBuilder.buildSelect(),
|