From a1e7b27114eaf0bfd4d9768b76ba0db10e4d87bf Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Wed, 17 Jul 2024 11:50:56 +0800
Subject: [PATCH] 项目查询进度添加区域筛选和白蚁项目管理优化

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java |   77 ++++++++++++++++++++++++++++++++++----
 1 files changed, 69 insertions(+), 8 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..626a6dd 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;
 	}
 
 	/**
@@ -146,7 +162,13 @@
 	@Override
 	public List<SgProjectInfoVO> progressList(ProjectSearchDTO searchDTO) {
 		List<SgProjectInfoVO> list = new ArrayList<>();
-		List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
+		List<SgProjectInfoDO> projectProgress = new ArrayList<>();
+		if(!searchDTO.getAdCode().isEmpty()){
+			projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject1(searchDTO));
+		}else {
+			 projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
+		}
+
 		if (CollectionUtils.isNotEmpty(projectProgress)){
 		projectProgress.forEach(s->{
 			SgProjectInfoVO sgProjectInfoVO = new SgProjectInfoVO();
@@ -169,10 +191,22 @@
 	 */
 	@Override
 	public IPage<SgProjectInfoVO> progressPage(IPage<SgProjectInfoVO> page, ProjectSearchDTO searchDTO) {
-		List<SgProjectInfoVO> list = sgProjectInfoMapper.progressList(page, searchDTO);
+		List<SgProjectInfoVO> list = new ArrayList<>();
+			if(!searchDTO.getAdCode().isEmpty()){
+				list =	sgProjectInfoMapper.progressList1(page, searchDTO);
+			}else {
+				list = sgProjectInfoMapper.progressList(page, searchDTO);
+			}
+
 		List<Long> ids = list.stream().map(SgProjectInfoVO::getId).collect(Collectors.toList());
 		searchDTO.setProjectIds(ids);
-		List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
+		List<SgProjectInfoDO> projectProgress = new ArrayList<>();
+		if(!searchDTO.getAdCode().isEmpty()){
+			projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject1(searchDTO));
+		}else {
+			projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
+		}
+
 		if (CollectionUtils.isNotEmpty(projectProgress)){
 		Map<Long, String> progressMap = projectProgress.stream().filter(s->s!=null && s.getProjectProgress() !=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
 		list.forEach(s->{
@@ -344,4 +378,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