From 2c89f5c73fb364f2510d9fb4c8407395b4f959f4 Mon Sep 17 00:00:00 2001
From: gonglilong <328255720@qq.com>
Date: Mon, 26 Aug 2024 16:36:10 +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 |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 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 f921c10..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
@@ -124,7 +124,7 @@
 
 		if (sgProgressReportDOS1!= null && sgProgressReportDOS1.size() > 0) {
 			for (SgProgressReportDO sgProgressReportDO1 : sgProgressReportDOS1) {
-				if (sgProgressReportDO1.getStatus()!= 2) {
+				if (sgProgressReportDO1.getStatus()!= 2 && sgProgressReportDO1.getStatus()!= 3)  {
 					throw new ServiceException("请先完成施工准备的审批!");
 				}
 			}
@@ -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