项目汇总统计放开admin权限

master
OathK1per 2021-12-07 10:39:30 +08:00
parent 11fa59d4e5
commit 549288b2c2
1 changed files with 14 additions and 4 deletions

View File

@ -40,18 +40,28 @@ public class ProjectSummaryService {
@Autowired @Autowired
private ProjectSettleService projectSettleService; private ProjectSettleService projectSettleService;
@Autowired
private SysRoleRepository sysRoleRepository;
@Autowired @Autowired
private Pagination pagination; private Pagination pagination;
public List<SettleBean> getList(ConcurrentHashMap<String, String> searchInfo, String time, Admin admin) { public List<SettleBean> getList(ConcurrentHashMap<String, String> searchInfo, String time, Admin admin) {
List<Project> projectList = null; List<Project> projectList = null;
String sql = "select proj.id, proj.name, proj.approve_status_settle from project_settle_cost psc left join project proj on psc.project_id = proj.id where psc.time = ? and " +
" (proj.creator_id=? OR proj.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?)) group by proj.id order by proj.id asc";
//项目可见性根据角色和人员id //项目可见性根据角色和人员id
int roleId = admin.getRoleId(); int roleId = admin.getRoleId();
Integer adminId = admin.getId(); Integer adminId = admin.getId();
//自己创建的肯定能看见 String sql = "select proj.id, proj.name, proj.approve_status_settle from project_settle_cost psc left join project proj on psc.project_id = proj.id where psc.time = ? ";
projectList = pagination.find(sql, Project.class, time, adminId, roleId, adminId); //自己创建的肯定能看见,配置的可以看见,系统管理员可以看见
SysRole sysRole = sysRoleRepository.findSysRoleById(roleId);
if(SysRole.ROLE_TYPE_SYSTEM != sysRole.getType()){
sql = sql + "and (p.creator_id=? OR p.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?)) group by proj.id order by proj.id asc";
projectList = pagination.find(sql, Project.class, time, adminId, roleId, adminId);
} else {
sql = sql + " group by proj.id order by proj.id asc";
projectList = pagination.find(sql, Project.class, time);
}
List<Project> projects = new ArrayList<>(); List<Project> projects = new ArrayList<>();
List<Integer> projectInt = new ArrayList<>(); List<Integer> projectInt = new ArrayList<>();
for (Project project : projectList) { for (Project project : projectList) {