From 9aed65a6aee6a4ec73bad2b34150a50285bc951b Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Fri, 28 Jun 2024 22:10:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java |   41 +++++++++++++++++------------------------
 1 files changed, 17 insertions(+), 24 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
index d09bb9f..e817bb1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -190,7 +190,7 @@
 		if (isReject==1 && sgProgressReportDO.getStatus().equals(2)){
 			sgReportUserDO = sgReportUserDOS.get(0);
 		}else {
-			sgReportUserDOS.stream().filter(s -> s.getUserId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get();
+			sgReportUserDO = sgReportUserDOS.stream().filter(s -> s.getUserId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get();
 		}
 		Date date = new Date();
 		LambdaUpdateChainWrapper<SgProgressReportDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId, id);
@@ -199,31 +199,24 @@
 		if (approvalDTO.getStatus()==1){
 			Integer approvalOrder = sgReportUserDO.getApprovalOrder();
 			userUpdate.set(SgReportUserDO::getApprovalStatus,1).update();
-			if (sgReportUserDO.getId()==sgReportUserDOS.get(0).getId()){
-				updateChainWrapper.set(SgProgressReportDO::getStatus,2).set(SgProgressReportDO::getAuditPerson,null).update();
-
-
-				//工序审核完成后 进行项目和设备状态的判断
-
-				cachedThreadPool.execute(new Runnable(){
-					@Override
-					public  void  run(){
-						setProgramAndDeviceStatus(sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId());
-					}
-				});
-
-
-
-			}else {
-				SgReportUserDO nextUser = sgReportUserDOS.stream().filter(s -> s.getApprovalOrder()==approvalOrder+1).findFirst().get();
-				updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getUserId()).update();
-			}
+		Optional<SgReportUserDO> next = sgReportUserDOS.stream().filter(s -> s.getApprovalOrder() == approvalOrder + 1).findFirst();
+		//如果存在下一个审批人,则继续审批
+		if (next.isPresent()){
+			SgReportUserDO nextUser = next.get();
+			updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getUserId()).update();
+		}else {
+			updateChainWrapper.set(SgProgressReportDO::getStatus,2).set(SgProgressReportDO::getAuditPerson,null).update();
+			//工序审核完成后 进行项目和设备状态的判断
+			cachedThreadPool.execute(new Runnable(){
+				@Override
+				public  void  run(){
+					setProgramAndDeviceStatus(sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId());
+				}
+			});
+		}
 		}else {
 			updateChainWrapper.set(SgProgressReportDO::getStatus,3);
-//				.stream().distinct()
-//				.stream().filter(s->s.getApprovalOrder()!=0 && s.getApprovalOrder()<= sgReportUserDO.getApprovalOrder()).collect(Collectors.toList())
-				;
-				userUpdate.set(SgReportUserDO::getApprovalStatus,2);
+			userUpdate.set(SgReportUserDO::getApprovalStatus,2);
 			if (isReject==1){
 				userUpdate.set(SgReportUserDO::getUserId,userId);
 			}

--
Gitblit v1.9.3