From f73dbcd6c21d28ab1e98840eee73c6d09bd0f929 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Tue, 27 Aug 2024 17:31:07 +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 |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 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 e59e6ac..ecdc57a 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
@@ -136,14 +136,23 @@
 		SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId);
 		List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId());
 		QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>();
-		wrapper.in("status",Arrays.asList(0,1,2));
+		wrapper.in("status",Arrays.asList(0,1,2,3));
 		if(sgProgressReportDO.getGxDeviceId()==998 || sgProgressReportDO.getGxDeviceId()==999){
 			wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4).eq("profram_id",sgProgressReportDO.getProframId());
 		}else {
 			wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4);
 		}
 		List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper);
-		if ( sgProgressReportDOS!=null && sgProgressReportDOS.size()>0){
+
+		if (CollectionUtils.isNotEmpty(sgProgressReportDOS)){
+			for (SgProgressReportDO reportDO : sgProgressReportDOS) {
+				if (reportDO.getStatus()==3 && reportDO.getResubmit()!=null && reportDO.getResubmit()==0){
+					throw new ServiceException("此工序已存在审批!");
+				}
+			}
+		}
+		List<SgProgressReportDO> reportDOS = sgProgressReportDOS.stream().filter(s -> s.getStatus() != 3).collect(Collectors.toList());
+		if ( reportDOS!=null && reportDOS.size()>0){
 			throw new ServiceException("此工序已存在审批!");
 		}
 		for (SgGxStepDO gxStepDO : list) {
@@ -234,6 +243,7 @@
 		}
 		sgProgressReportVO.setSgReportUserDOS(list);
 		List<SgStepReportVO> sgStepReportVOS = sgProgressReportMapper.selectByDeviceId(sgProgressReportVO.getGxDeviceId());
+		sgStepReportVOS = sgStepReportVOS.stream().filter(s -> s.getApprovalStatus() == null || (s.getApprovalStatus() != 4 && !(s.getApprovalStatus() == 3 && s.getResubmit() != 0))).collect(Collectors.toList());
 		sgProgressReportVO.setSgStepReportVOS(sgStepReportVOS);
 		return sgProgressReportVO;
 	}

--
Gitblit v1.9.3