From cf9153ef98e367c9590027369529760b5bd96265 Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Fri, 12 Jul 2024 16:15:50 +0800
Subject: [PATCH] 项目进度上报-点击图标进行上报或重新上报
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 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 e817bb1..45c9c6a 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
@@ -4,6 +4,7 @@
import cn.gistack.sm.sg.DTO.ApprovalDTO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.VO.SgProgressReportVO;
+import cn.gistack.sm.sg.VO.SgReportVO;
import cn.gistack.sm.sg.VO.SgStepReportVO;
import cn.gistack.sm.sg.mapper.*;
import cn.gistack.sm.sg.service.SgProgressReportService;
@@ -412,6 +413,59 @@
}
return null;
}
+
+ @Override
+ public SgReportVO getDeviceReportcopy(Long deviceId, Long stepId) {
+ SgReportVO sgReportVO = new SgReportVO();
+ QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>();
+ wrapper.eq("gx_device_id", deviceId).ne("status", 4);
+
+ if (stepId!= null) {
+ wrapper.eq("gx_step_id", stepId);
+ }
+
+ List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper);
+
+ // 先检查列表是否为空,进行后续操作
+ if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
+ sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime()));
+ SgProgressReportDO firstReport = sgProgressReportDOS.get(0);
+
+ if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(3)) {
+ sgReportVO.setGxDeviceId(deviceId);
+ sgReportVO.setGxStepId(stepId);
+ sgReportVO.setId(firstReport.getId());
+ sgReportVO.setProframId(firstReport.getProframId());
+ return sgReportVO;
+ } else {
+ sgReportVO.setId(firstReport.getId());
+ return sgReportVO;
+ }
+ } else {
+
+ Long prevStepId = stepId - 1;
+ QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>();
+ wrappers.eq("gx_device_id", deviceId).ne("status", 4).eq("gx_step_id", prevStepId);
+
+ sgProgressReportDOS = sgProgressReportMapper.selectList(wrappers);
+
+ if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
+ sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime()));
+ SgProgressReportDO firstReport = sgProgressReportDOS.get(0);
+
+ if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(2)) {
+ sgReportVO.setGxDeviceId(deviceId);
+ sgReportVO.setGxStepId(stepId);
+ sgReportVO.setProframId(firstReport.getProframId());
+ return sgReportVO;
+ } else {
+ throw new ServiceException("上一工序未审批完,当前不能上报");
+ }
+ } else {
+ throw new ServiceException("未找到相关审批资料");
+ }
+ }
+ }
}
--
Gitblit v1.9.3