From 24820701b09281e03edf2e22db62edab7f4da53b Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 10 三月 2026 16:08:09 +0800
Subject: [PATCH] feat(info): 支持获取并返回下级项目信息
---
src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java | 37 +++++++++++++++++++++++++++----------
1 files changed, 27 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java b/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java
index 4f00fa6..73a18fe 100644
--- a/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java
+++ b/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java
@@ -8,15 +8,12 @@
import com.ruoyi.basic.service.CustomerFollowUpFileService;
import com.ruoyi.common.enums.PlanStageEnum;
import com.ruoyi.common.enums.ReviewStatusEnum;
-import com.ruoyi.common.utils.EnumUtil;
import com.ruoyi.projectManagement.dto.PlanStageDto;
import com.ruoyi.projectManagement.dto.SaveInfoDto;
import com.ruoyi.projectManagement.mapper.InfoMapper;
import com.ruoyi.projectManagement.pojo.Info;
import com.ruoyi.projectManagement.pojo.PlanNode;
import com.ruoyi.projectManagement.service.PlanService;
-import com.ruoyi.projectManagement.service.impl.PlanServiceImpl;
-import com.ruoyi.projectManagement.vo.PlanVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -34,7 +31,7 @@
*/
@Component
@RequiredArgsConstructor
-@Transactional(rollbackFor = Exception.class,readOnly = true)
+@Transactional(rollbackFor = Exception.class, readOnly = true)
public class InfoHandleService {
private static final String GENERATE_SERIAL_NUMBER_PREFIX = "XM";
@@ -46,7 +43,7 @@
private final CustomerFollowUpFileService customerFollowUpFileService;
@Transactional(rollbackFor = Exception.class)
- public Long save(@NotNull SaveInfoDto saveInfoDto){
+ public Long save(@NotNull SaveInfoDto saveInfoDto) {
Info info = BeanUtil.copyProperties(saveInfoDto, Info.class);
// 闄勪欢鐗规畩澶勭悊
@@ -54,41 +51,61 @@
info.setAttachment(attachmentIds);
// 鐢熸垚搴忓彿 (濡傛灉闇�瑕佽嚜鍔ㄧ敓鎴愮殑璇�)
- if(StrUtil.isBlank(info.getNo())){
+ if (StrUtil.isBlank(info.getNo())) {
info.setNo(generateSerialNumber());
}
info.setTeam(saveInfoDto.getTeamList());
- if(info.getId() == null){
+ if (info.getId() == null) {
// 鐢熸垚瀵瑰簲鐨勯樁娈靛叧绯绘暟鎹�
info.setPlanStage(getPlanStageList(info.getProjectManagementPlanId()));
// 鎻掑叆榛樿鐘舵��
info.setStatus(PlanStageEnum.TO_BEGIN.getCode());
info.setReviewStatus(ReviewStatusEnum.PENDING_REVIEW.getCode());
infoMapper.insert(info);
- }else {
+ } else {
infoMapper.updateById(info);
}
return info.getId();
}
- public SaveInfoDto getInfoById(@NotNull Long id){
+ public SaveInfoDto getInfoById(@NotNull Long id) {
Info info = infoMapper.selectById(id);
+ return convert(info);
+ }
+
+ private SaveInfoDto convert(Info info) {
SaveInfoDto saveInfoDto = BeanUtil.copyProperties(info, SaveInfoDto.class);
// 闄勪欢澶勭悊
saveInfoDto.setTeamList(info.getTeam());
customerFollowUpFileService.fillAttachment(Lists.newArrayList(saveInfoDto), SaveInfoDto::getAttachment, SaveInfoDto::setAttachmentList);
return saveInfoDto;
+
+ }
+
+ /**
+ * 鑾峰彇鏀筰d涓嬪瓙椤圭洰淇℃伅
+ *
+ * @param id
+ * @return
+ */
+ public List<SaveInfoDto> getSubordinateInfo(@NotNull Long id) {
+ LambdaQueryWrapper<Info> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(Info::getProjectManagementInfoParentId, id);
+ queryWrapper.orderByAsc(Info::getCreateTime);
+ List<Info> infoList = infoMapper.selectList(queryWrapper);
+ return infoList.stream().map(this::convert).collect(Collectors.toList());
}
private List<PlanStageDto> getPlanStageList(@NotNull Long planId) {
List<PlanNode> planNodeByPlanId = planService.getPlanNodeByPlanId(planId);
- return planNodeByPlanId.stream().map(it-> new PlanStageDto(it.getId(), it.getName(), PlanStageEnum.TO_BEGIN)).collect(Collectors.toList());
+ return planNodeByPlanId.stream().map(it -> new PlanStageDto(it.getId(), it.getName(), PlanStageEnum.TO_BEGIN)).collect(Collectors.toList());
}
/**
* 鐢熸垚椤圭洰缂栧彿
+ *
* @return
*/
private String generateSerialNumber() {
--
Gitblit v1.9.3