diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java index d43202d5..dfd912d7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java @@ -27,6 +27,7 @@ package org.springblade.desk.process.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -36,6 +37,7 @@ import jakarta.validation.Valid; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; @@ -59,6 +61,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 项目管理 控制器 @@ -135,6 +138,13 @@ public class FmProjectApplicationController extends BladeController { @ApiOperationSupport(order = 5) @Operation(summary = "修改", description = "传入fmProjectApplication") public R update(@Valid @RequestBody FmProjectApplicationEntity fmProjectApplication) { + //子项全删全增 + List oldStoneList = fmProjectMilestoneService.list(Wrappers.lambdaQuery().eq(FmProjectMilestoneEntity::getPaId,fmProjectApplication.getId())); + List stoneIdList = oldStoneList.stream().map(BaseEntity::getId).collect(Collectors.toList()); + fmProjectMilestoneService.deleteLogic(stoneIdList); + List stoneList = fmProjectApplication.getStoneList(); + stoneList.forEach(item -> item.setId(null)); + fmProjectMilestoneService.saveBatch(stoneList); return R.status(fmProjectApplicationService.updateById(fmProjectApplication)); }