From b462e69215b38bba4a91e1406493cad5c14b35ea Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Tue, 16 Jul 2024 17:33:31 +0800
Subject: [PATCH] 项目进度上报逻辑优化

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 48 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index 5790a2e..1f72f99 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -1,17 +1,17 @@
 package cn.gistack.sm.sg.service.impl;
 
-import cn.gistack.sm.sg.DO.SgDeviceDO;
-import cn.gistack.sm.sg.DO.SgGxDO;
-import cn.gistack.sm.sg.DO.SgGxStepDO;
-import cn.gistack.sm.sg.DO.SgProjectInfoDO;
+import cn.gistack.sm.sg.DO.*;
 import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
 import cn.gistack.sm.sg.VO.*;
 import cn.gistack.sm.sg.excel.ProjectExcel;
+import cn.gistack.sm.sg.mapper.SgGxStepMapper;
+import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
 import cn.gistack.sm.sg.mapper.SgProjectInfoMapper;
 import cn.gistack.sm.sg.service.SgProjectInfoService;
 import cn.gistack.sm.sjztmd.entity.AttAdBase;
 import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
 import cn.hutool.core.lang.copier.Copier;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -44,6 +44,13 @@
 	private SgProjectInfoMapper sgProjectInfoMapper;
 	@Autowired
 	private IAttAdBaseService iAttAdBaseService;
+
+	@Autowired
+	private SgProgressReportMapper sgProgressReportMapper;
+
+	@Autowired
+	private SgGxStepMapper sgGxStepMapper;
+
 	@Override
 	public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
 		List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO);
@@ -64,8 +71,17 @@
 	 */
 	@Override
 	public List<SgProjectInfoDO> queryStepByProject(ProjectSearchDTO searchDTO) {
+		List<PreAcceVO>  palist = new ArrayList<>();
 		List<SgProjectInfoVO> list = sgProjectInfoMapper.queryStepByProject( searchDTO);
-		return getProjectProgress(list);
+		palist.add(handleQuery(25, list.get(0).getId()));
+		palist.add(handleQuery(26, list.get(0).getId()));
+		List<SgProjectInfoDO> projectProgress = getProjectProgress(list);
+		projectProgress.forEach(s->{
+			s.setPreAcce(palist);
+		});
+
+
+		return projectProgress;
 	}
 
 	/**
@@ -344,4 +360,31 @@
 
 	}
 
+	// 处理查询和添加到列表的方法
+	private  PreAcceVO handleQuery( int stepIdForNull, Long programId) {
+		QueryWrapper<SgProgressReportDO> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("gx_step_id", stepIdForNull)
+			.eq("profram_id", programId);
+		SgProgressReportDO sgProgressReportDO = sgProgressReportMapper.selectOne(queryWrapper);
+
+		PreAcceVO preAcceVO = new PreAcceVO();
+		if (sgProgressReportDO!= null) {
+			preAcceVO.setId(sgProgressReportDO.getId().toString());
+			preAcceVO.setName(sgProgressReportDO.getGxStepName());
+			preAcceVO.setStatus((long) sgProgressReportDO.getStatus());
+			preAcceVO.setProgramId(programId);
+			preAcceVO.setGxDeviceId(sgProgressReportDO.getGxDeviceId());
+			preAcceVO.setGxStepId(sgProgressReportDO.getGxStepId());
+		} else {
+			SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(stepIdForNull);
+			preAcceVO.setName(sgGxStepDO.getGxStepName());
+			preAcceVO.setProgramId(programId);
+			preAcceVO.setGxDeviceId(stepIdForNull != 25? (long)998:(long)999);
+			preAcceVO.setGxStepId(sgGxStepDO.getId());
+
+		}
+		return  preAcceVO;
+
+	}
+
 }

--
Gitblit v1.9.3