Browse Source

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

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

3
src/main/java/com/biutag/supervision/constants/AppConstants.java

@ -35,6 +35,9 @@ public class AppConstants {
// 督审支队的单位id // 督审支队的单位id
public static final String DSZD = "2785"; public static final String DSZD = "2785";
// 长沙公安局的id
public static final String ROOTID = "12630";
public static final List<String> CWLN = List.of("3651", "3799", "4170", "3994"); public static final List<String> CWLN = List.of("3651", "3799", "4170", "3994");

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

@ -60,7 +60,11 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.function.Consumer;
import static com.biutag.supervision.constants.AppConstants.ROOTID;
/** /**
* @author weipeng * @author weipeng
@ -238,38 +242,32 @@ 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(); UserAuth user = UserContextHolder.getCurrentUser();
boolean superAuth = AppConstants.USER_TYPE_SUPER.equals(user.getUserType()); boolean superAuth = AppConstants.USER_TYPE_SUPER.equals(user.getUserType());
boolean firstAuth = superAuth || user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode()); boolean firstAuth = superAuth || user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode());
// 获取用户的权限部门及其所有子部门 List<String> userAuthOrgIds = firstAuth
List<String> userAuthOrgIds = !user.getAuthDepartIds().isEmpty() ? departService.getAllNodeIds(ROOTID)
? departService.getAllNodeIds(user.getAuthDepartIds()) : (user.getAuthDepartIds().isEmpty() ? departService.getAllNodeIds(user.getDepartId()) : departService.getAllNodeIds(user.getAuthDepartIds()));
: departService.getAllNodeIds(user.getDepartId()); if (!superAuth) {
wrapper.and(p -> p.in("p.audit_unit_id", userAuthOrgIds).or().in("p.project_unit_id", userAuthOrgIds));
// 根据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 { Map<String, Consumer<QueryWrapper<ReportProject>>> authStrategy = Map.of(
// 非市级管理员,根据code应用不同规则 // “审计单位”为督审支队的项目
if ("dszd".equals(code)) { "dszd", w -> {
// 只显示审计单位或项目单位为督审支队及以下单位的数据
List<String> dszdOrgIds = departService.getAllNodeIds(AppConstants.DSZD); List<String> dszdOrgIds = departService.getAllNodeIds(AppConstants.DSZD);
wrapper.and(w -> w.in("p.audit_unit_id", dszdOrgIds).or().in("p.project_unit_id", dszdOrgIds)); w.and(p -> p.in("p.audit_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())); "self", w -> {
} else { w.and(p -> p.in("p.audit_unit_id", userAuthOrgIds));
// 默认显示权限范围内的所有数据 // w.and(p -> p.in("p.audit_unit_id", userAuthOrgIds).or().in("p.project_unit_id", userAuthOrgIds));
wrapper.and(w -> w.in("p.audit_unit_id", userAuthOrgIds).or().in("p.project_unit_id", userAuthOrgIds));
} }
);
String code = queryParam.getCode();
if (code != null && authStrategy.containsKey(code)) {
authStrategy.get(code).accept(wrapper);
} }
Page<ConditionVo> conditionPage = reportProjectService.getConditionPage(new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper); Page<ConditionVo> conditionPage = reportProjectService.getConditionPage(new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper);

4
src/main/java/com/biutag/supervision/pojo/param/statement/StatementQueryParam.java

@ -2,13 +2,12 @@ package com.biutag.supervision.pojo.param.statement;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.biutag.supervision.pojo.entity.report.ReportProject;
import com.biutag.supervision.pojo.param.BasePage; import com.biutag.supervision.pojo.param.BasePage;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -56,6 +55,7 @@ public class StatementQueryParam extends BasePage {
private List<LocalDateTime> archivingTime; private List<LocalDateTime> archivingTime;
//区分审结、审计备案 //区分审结、审计备案
@Schema(description = "区分 dszd:审计情况表 self:项目审计情况备案表 null:审结情况表")
private String code; private String code;

Loading…
Cancel
Save