From edd012bc76ed8a9204ed6a6137c9badd721622eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=97=E9=A3=8E?= <2452618307@qq.com> Date: Fri, 22 Mar 2024 10:04:03 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../energy/basic/entity/AmProcessType.java | 2 + .../newcheck/dao/New_CheckManageDao.java | 4 ++ .../impl/New_SubCheckManageServiceImpl.java | 54 +++++++++++++++---- .../mappers/newcheck/NewCheckManageMapper.xml | 20 ++++++- 4 files changed, 69 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/bonus/nxdt/energy/basic/entity/AmProcessType.java b/src/main/java/com/bonus/nxdt/energy/basic/entity/AmProcessType.java index 289fb23..6e92bdd 100644 --- a/src/main/java/com/bonus/nxdt/energy/basic/entity/AmProcessType.java +++ b/src/main/java/com/bonus/nxdt/energy/basic/entity/AmProcessType.java @@ -62,6 +62,8 @@ public class AmProcessType implements Serializable { * 会签类型 单人:1 多人:2 */ private String countersignType; + private String beforeAuditId; + private String nextAuditId; } diff --git a/src/main/java/com/bonus/nxdt/energy/newcheck/dao/New_CheckManageDao.java b/src/main/java/com/bonus/nxdt/energy/newcheck/dao/New_CheckManageDao.java index e359976..e13fe63 100644 --- a/src/main/java/com/bonus/nxdt/energy/newcheck/dao/New_CheckManageDao.java +++ b/src/main/java/com/bonus/nxdt/energy/newcheck/dao/New_CheckManageDao.java @@ -80,4 +80,8 @@ public interface New_CheckManageDao { void updateToolsStatus(String auditId, String isActive); String getAuditProcessId(CheckManageBean o); + + AmProcessType getIfCountersign(CheckManageBean o); + + List getSortList(CheckManageBean o); } diff --git a/src/main/java/com/bonus/nxdt/energy/newcheck/service/impl/New_SubCheckManageServiceImpl.java b/src/main/java/com/bonus/nxdt/energy/newcheck/service/impl/New_SubCheckManageServiceImpl.java index e4add2a..dc4bf5c 100644 --- a/src/main/java/com/bonus/nxdt/energy/newcheck/service/impl/New_SubCheckManageServiceImpl.java +++ b/src/main/java/com/bonus/nxdt/energy/newcheck/service/impl/New_SubCheckManageServiceImpl.java @@ -1272,16 +1272,52 @@ public class New_SubCheckManageServiceImpl implements New_SubCheckManageService //1.1 判断是固定流程还是动态流程 if (!"-1".equals(o.getProcessType()) && !"1".equals(o.getIfFinal())) { //固定流程 - //写一个SQL 查询出下一级别审核人 - AmProcessType amProcessType = checkManageDao.getFixeNextAuditId(o); - if (amProcessType == null || "null".equals(amProcessType.getPhone())) { - - - o.setIfFinal("1"); - } else { - o.setNextAuditId(Objects.requireNonNull(amProcessType).getPhone()); - o.setCountersignType(Objects.requireNonNull(amProcessType).getCountersignType()); + //判断当前流程是否多人审核 + AmProcessType firstBean = checkManageDao.getIfCountersign(o); + List sortList = checkManageDao.getSortList(o); + boolean tf = false; + for (int i = 0; i < sortList.size(); i++) { + String phone = sortList.get(i).getPhone(); + String checkPhone = UserUtil.getLoginUser().getPhone(); + if(phone.contains(checkPhone) && (i+1) == sortList.size()){ + tf = true; + } } + if (firstBean == null){ + AmProcessType amProcessType = checkManageDao.getFixeNextAuditId(o); + if (amProcessType == null || "null".equals(amProcessType.getPhone())) { + o.setIfFinal("1"); + } else { + o.setNextAuditId(Objects.requireNonNull(amProcessType).getPhone()); + o.setCountersignType(Objects.requireNonNull(amProcessType).getCountersignType()); + } + }else if("2".equals(firstBean.getCountersignType()) && tf){ + //判断当前是否最后一个人 + String[] nextAuditId = firstBean.getNextAuditId().split(","); + String[] beforeAuditId = {UserUtil.getLoginUser().getPhone()}; + if (!StringHelper.isEmpty(firstBean.getBeforeAuditId())){ + String[] newArr = new String[firstBean.getBeforeAuditId().split(",").length + 1]; + System.arraycopy(firstBean.getBeforeAuditId().split(","), 0, newArr, 0, firstBean.getBeforeAuditId().split(",").length); + newArr[newArr.length - 1] = UserUtil.getLoginUser().getPhone(); + beforeAuditId = newArr; + } + if(nextAuditId.length == beforeAuditId.length) { + o.setIfFinal("1"); + }else{ + o.setNextAuditId(firstBean.getNextAuditId()); + o.setCountersignType(firstBean.getCountersignType()); + } + }else { + AmProcessType amProcessType = checkManageDao.getFixeNextAuditId(o); + if (amProcessType == null || "null".equals(amProcessType.getPhone())) { + o.setIfFinal("1"); + } else { + o.setNextAuditId(Objects.requireNonNull(amProcessType).getPhone()); + o.setCountersignType(Objects.requireNonNull(amProcessType).getCountersignType()); + } + } + //写一个SQL 查询出下一级别审核人 + } String phone = Objects.requireNonNull(UserUtil.getLoginUser()).getPhone(); String orgId = Objects.requireNonNull(UserUtil.getLoginUser()).getOrgId(); diff --git a/src/main/resources/mappers/newcheck/NewCheckManageMapper.xml b/src/main/resources/mappers/newcheck/NewCheckManageMapper.xml index 3910494..87c6cee 100644 --- a/src/main/resources/mappers/newcheck/NewCheckManageMapper.xml +++ b/src/main/resources/mappers/newcheck/NewCheckManageMapper.xml @@ -332,7 +332,7 @@ limit #{offset}, #{limit} - + + + update audit_pross_child set process_type = #{processType} where id = #{childId}