From 8bb6453d14899579656465be3b5071c777ffd5ec Mon Sep 17 00:00:00 2001 From: OathK1per Date: Thu, 30 Dec 2021 16:56:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=85=8D=E7=BD=AE=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8F=AF=E8=A7=81=E6=80=A7=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=A0=B8=E5=8F=AF=E8=A7=81=E6=80=A7?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/service/ProjectEstimateService.java | 27 +++++++++++++++++++ .../templates/admin/project_list.ftl | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java index 8431cc5..b2c17c6 100644 --- a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java +++ b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java @@ -8,8 +8,10 @@ import cn.palmte.work.model.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import top.jfunc.common.db.utils.Pagination; import top.jfunc.common.utils.CollectionUtil; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -35,6 +37,10 @@ public class ProjectEstimateService { private ProjectRepository projectRepository; @Autowired private SysConfigService sysConfigService; + @Autowired + private Pagination pagination; + @Autowired + private ProjectVisibleRepository projectVisibleRepository; public void clearEstimate(Project project){ List incomes = projectEstimateIncomeRepository.findAllByProjectIdEquals(project.getId()); @@ -277,6 +283,27 @@ public class ProjectEstimateService { }else { //第一次或者重新发起一个流程实例【第一次或者以前的审批都已经过了】 projectInstanceService.startEstimateProcessInstance(projectInDb, admin); + int type = projectInDb.getType(); + List userIds = new ArrayList<>(); + if (type == 1) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,4,5,6)"; + userIds = pagination.find(sql, SysUserRole.class); + } else if (type == 2) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,5,6)"; + userIds = pagination.find(sql, SysUserRole.class); + } else if (type == 3) { + String sql = "select sur.user_id from sys_role sr left join sys_user_role sur on sr.id = sur.role_id where sr.is_deleted = 0 and sur.is_deleted = 0 and sr.level in (1,2,3,6)"; + userIds = pagination.find(sql, SysUserRole.class); + } + List pvs = new ArrayList<>(); + for (SysUserRole sysUserRole : userIds) { + ProjectVisible pv = new ProjectVisible(); + pv.setProjectId(projectInDb.getId()); + pv.setType(2); + pv.setTid(sysUserRole.getUserId()); + pvs.add(pv); + } + projectVisibleRepository.save(pvs); } } diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 5d5803d..0fb1e48 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -278,7 +278,7 @@ onclick="location.href='${base}/project/detail?id=${list.id}'">查看 --> - <#if list.approveStatusEstimate == 0 || list.approveStatusBudget == 0 || list.approveStatusSettle == 0 || list.approveStatusFinal == 0> + <#if (list.creatorId==adminId && list.approveStatusEstimate == 0) || (list.creatorId==adminId && list.approveStatusBudget == 0) || (admin.getRoleLevel() = 6 && list.approveStatusSettle == 0) || ((admin.getRoleLevel() = 2 || admin.getRoleLevel() = 6) && list.approveStatusFinal == 0)>