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 | 24 ++++++++++++++++++++++--
1 files changed, 22 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 ff965e4..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
@@ -80,6 +80,10 @@
@Override
@Transactional
public void add(SgProgressReportDO sgProgressReportDO) {
+ String resubmitId = sgProgressReportDO.getResubmitId();
+ if (StringUtils.isNotBlank(resubmitId)){
+ new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId,resubmitId).set(SgProgressReportDO::getResubmit,1).update();
+ }
Long userId = AuthUtil.getUserId();
sgProgressReportDO.setReportUser(userId);
Date now = DateUtil.now();
@@ -120,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("请先完成施工准备的审批!");
}
}
@@ -132,13 +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,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) {
@@ -147,6 +161,7 @@
wrapper1.eq("gx_step_id", gxStepDO.getId());
wrapper1.eq("gx_device_id",gxDeviceId);
wrapper1.ne("status",4);
+ wrapper1.ne("status",3);
SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper1);
if (one == null || one.getStatus() != 2) {
throw new ServiceException("请先完成" + gxStepDO.getGxStepName() + "的审批!");
@@ -228,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;
}
@@ -408,6 +424,7 @@
public Map<String, Long> countList(ProjectSearchDTO searchDTO) {
Long userId = AuthUtil.getUserId();
searchDTO.setUserId(userId);
+ searchDTO.setAuditPerson(userId.toString());
List<SgProgressReportVO> all = sgProgressReportMapper.queryList(searchDTO);
searchDTO.setApprovalStatus(0);
List<SgProgressReportVO> pending = sgProgressReportMapper.queryList(searchDTO);
@@ -482,6 +499,9 @@
public IPage<SgProgressReportVO> progressPage(IPage<SgProgressReportVO> page, ProjectSearchDTO searchDTO) {
Long userId = AuthUtil.getUserId();
searchDTO.setUserId(userId);
+ if (searchDTO.getApprovalStatus()!=null && searchDTO.getApprovalStatus() ==0){
+ searchDTO.setAuditPerson(String.valueOf(userId));
+ }
List<SgProgressReportVO> list = sgProgressReportMapper.queryList(page, searchDTO);
return page.setRecords(list);
}
--
Gitblit v1.9.3