Browse Source

fix--审计情况表:列表展示权限范围内“审计单位”为督审支队(审计大队)的归档项目。(同步修改列表描述,剔除删除状态的项目))

审结情况表:列表展示权限范围内已归档的项目(剔除删除状态项目,目前项目数对不上)
项目审计情况备案表:列表展示限权限范围内“审计单位”为各分县市局内审的归档项目。(同步将该列表最下方功能描述修改,剔除删除状态的项目)
master
buaixuexideshitongxue 1 month ago
parent
commit
05d8772b3b
  1. 44
      src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java

44
src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java

@ -214,8 +214,6 @@ public class ReportProjectController {
wrapper.eq(StrUtil.isNotBlank(queryParam.getNode()),"p.node",queryParam.getNode()) wrapper.eq(StrUtil.isNotBlank(queryParam.getNode()),"p.node",queryParam.getNode())
.like(StrUtil.isNotBlank(queryParam.getReportName()),"p.report_name",queryParam.getReportName()) .like(StrUtil.isNotBlank(queryParam.getReportName()),"p.report_name",queryParam.getReportName())
.like(StrUtil.isNotBlank(queryParam.getProjectType()),"p.project_type",queryParam.getProjectType()) .like(StrUtil.isNotBlank(queryParam.getProjectType()),"p.project_type",queryParam.getProjectType())
// .eq(StrUtil.isNotBlank(queryParam.getAuditUnitId()),"p.audit_unit_id",queryParam.getAuditUnitId())
// .eq(StrUtil.isNotBlank(queryParam.getProjectUnitId()),"p.project_unit_id",queryParam.getProjectUnitId())
.eq(StrUtil.isNotBlank(queryParam.getPurchaseMethod()),"p.purchase_method",queryParam.getPurchaseMethod()) .eq(StrUtil.isNotBlank(queryParam.getPurchaseMethod()),"p.purchase_method",queryParam.getPurchaseMethod())
.like(StrUtil.isNotBlank(queryParam.getReferenceNumber()),"p.reference_number",queryParam.getReferenceNumber()); .like(StrUtil.isNotBlank(queryParam.getReferenceNumber()),"p.reference_number",queryParam.getReferenceNumber());
if(StrUtil.isNotBlank(queryParam.getReportType()) && !"all".equals(queryParam.getReportType())) { if(StrUtil.isNotBlank(queryParam.getReportType()) && !"all".equals(queryParam.getReportType())) {
@ -230,13 +228,6 @@ public class ReportProjectController {
if(CollectionUtil.isNotEmpty(queryParam.getApplicantDateTime())){ if(CollectionUtil.isNotEmpty(queryParam.getApplicantDateTime())){
wrapper.between("p.applicant_time",queryParam.getApplicantDateTime().get(0),queryParam.getApplicantDateTime().get(1)); wrapper.between("p.applicant_time",queryParam.getApplicantDateTime().get(0),queryParam.getApplicantDateTime().get(1));
} }
if(StrUtil.isNotBlank(queryParam.getCode())){
if(queryParam.getCode().equals("city")){
wrapper.le("p.report_money",new BigDecimal(200000));
}else{
wrapper.ge("p.report_money",new BigDecimal(200000));
}
}
if (StrUtil.isNotBlank(queryParam.getAuditUnitId())) { if (StrUtil.isNotBlank(queryParam.getAuditUnitId())) {
// 获取选择的审计单位及其所有子部门的ID // 获取选择的审计单位及其所有子部门的ID
wrapper.in("p.audit_unit_id", departService.getAllNodeIds(queryParam.getAuditUnitId())); wrapper.in("p.audit_unit_id", departService.getAllNodeIds(queryParam.getAuditUnitId()));
@ -246,6 +237,41 @@ public class ReportProjectController {
} }
wrapper.groupBy("p.id"); wrapper.groupBy("p.id");
wrapper.eq("p.delete_flag", DeleteStatusEnum.NO.getCode()); wrapper.eq("p.delete_flag", DeleteStatusEnum.NO.getCode());
// 鉴权逻辑
UserAuth user = UserContextHolder.getCurrentUser();
boolean superAuth = AppConstants.USER_TYPE_SUPER.equals(user.getUserType());
boolean firstAuth = superAuth || user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode());
// 获取用户的权限部门及其所有子部门
List<String> userAuthOrgIds = !user.getAuthDepartIds().isEmpty()
? departService.getAllNodeIds(user.getAuthDepartIds())
: departService.getAllNodeIds(user.getDepartId());
// 根据code参数应用不同的鉴权规则
String code = queryParam.getCode();
if (firstAuth) {
// 超级管理员和市级管理员
if ("dszd".equals(code)) {
// 只显示督审支队及以下单位的数据
List<String> dszdOrgIds = departService.getAllNodeIds(AppConstants.DSZD);
wrapper.and(w -> w.in("p.audit_unit_id", dszdOrgIds).or().in("p.project_unit_id", dszdOrgIds));
}
// 其他情况(firstAuth + 无code或self)显示全部数据
} else {
// 非市级管理员,根据code应用不同规则
if ("dszd".equals(code)) {
// 只显示审计单位或项目单位为督审支队及以下单位的数据
List<String> dszdOrgIds = departService.getAllNodeIds(AppConstants.DSZD);
wrapper.and(w -> w.in("p.audit_unit_id", dszdOrgIds).or().in("p.project_unit_id", dszdOrgIds));
} else if ("self".equals(code)) {
// 只显示审计单位或项目单位为自己的权限机构的数据
wrapper.and(w -> w.eq("p.audit_unit_id", user.getDepartId()).or().eq("p.project_unit_id", user.getDepartId()));
} else {
// 默认显示权限范围内的所有数据
wrapper.and(w -> w.in("p.audit_unit_id", userAuthOrgIds).or().in("p.project_unit_id", userAuthOrgIds));
}
}
Page<ConditionVo> conditionPage = reportProjectService.getConditionPage(new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper); Page<ConditionVo> conditionPage = reportProjectService.getConditionPage(new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper);
conditionPage.getRecords().forEach(s->{ conditionPage.getRecords().forEach(s->{
SupDepart auditById = departService.getById(s.getAuditUnitId()); SupDepart auditById = departService.getById(s.getAuditUnitId());

Loading…
Cancel
Save