feat(oa): 新增根据计划ID批量删除步骤功能
- 在 IOaProjectScheduleStepService 接口中新增 deleteByScheduleIds 方法 - 实现类 OaProjectScheduleStepServiceImpl 中实现 deleteByScheduleIds 方法 - 在 OaProjectScheduleStepMapper 中增加 deleteByScheduleIds 的 SQL 映射- 在 OaProjectScheduleServiceImpl 删除计划时同步删除相关步骤 - 添加 Mapper 层对 scheduleIds 参数的支持及 XML 删除语句- 更新 mapper 接口导入 Collection 类以支持参数传递
This commit is contained in:
@@ -8,6 +8,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
|||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,4 +30,11 @@ public interface OaProjectScheduleStepMapper extends BaseMapperPlus<OaProjectSch
|
|||||||
OaProjectScheduleStepVo selectByCurrentStepAndScheduleId(@Param("currentStep") Long currentStep, @Param("scheduleId") Long scheduleId);
|
OaProjectScheduleStepVo selectByCurrentStepAndScheduleId(@Param("currentStep") Long currentStep, @Param("scheduleId") Long scheduleId);
|
||||||
|
|
||||||
void saveBatch(List<OaProjectScheduleStep> entities);
|
void saveBatch(List<OaProjectScheduleStep> entities);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 schedule_id 批量删除步骤记录
|
||||||
|
* @param scheduleIds 主表的 schedule_id 集合
|
||||||
|
* @return 删除的记录数
|
||||||
|
*/
|
||||||
|
int deleteByScheduleIds(@Param("scheduleIds") Collection<Long> scheduleIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ public interface IOaProjectScheduleStepService{
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
Boolean deleteByScheduleIds(Collection<Long> scheduleIds, Boolean isValid);
|
||||||
|
|
||||||
OaProjectScheduleStepVo maxStepByScheduleId(Long scheduleId);
|
OaProjectScheduleStepVo maxStepByScheduleId(Long scheduleId);
|
||||||
|
|
||||||
void updateByStepAndScheduleId(Long currentStep,Long scheduleId);
|
void updateByStepAndScheduleId(Long currentStep,Long scheduleId);
|
||||||
|
|||||||
@@ -184,6 +184,8 @@ public class OaProjectScheduleServiceImpl implements IOaProjectScheduleService {
|
|||||||
if(isValid){
|
if(isValid){
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
|
//同时在删除对应的项目进度步骤
|
||||||
|
projectScheduleStepService.deleteByScheduleIds(ids, false);
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -202,6 +202,13 @@ public class OaProjectScheduleStepServiceImpl implements IOaProjectScheduleStepS
|
|||||||
}
|
}
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public Boolean deleteByScheduleIds(Collection<Long> scheduleIds, Boolean isValid) {
|
||||||
|
if (isValid) {
|
||||||
|
// 如需校验,添加业务校验逻辑(例如:判断步骤是否存在关联数据等)
|
||||||
|
}
|
||||||
|
return projectScheduleStepMapper.deleteByScheduleIds(scheduleIds) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OaProjectScheduleStepVo maxStepByScheduleId(Long scheduleId) {
|
public OaProjectScheduleStepVo maxStepByScheduleId(Long scheduleId) {
|
||||||
|
|||||||
@@ -89,6 +89,13 @@
|
|||||||
AND del_flag = '0'
|
AND del_flag = '0'
|
||||||
and use_flag = '1'
|
and use_flag = '1'
|
||||||
</update>
|
</update>
|
||||||
|
<delete id="deleteByScheduleIds">
|
||||||
|
DELETE FROM oa_project_schedule_step
|
||||||
|
WHERE schedule_id IN
|
||||||
|
<foreach collection="scheduleIds" item="id" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
<select id="maxStepByScheduleId" resultMap="OaProjectScheduleStepResult">
|
<select id="maxStepByScheduleId" resultMap="OaProjectScheduleStepResult">
|
||||||
SELECT opss.track_id,
|
SELECT opss.track_id,
|
||||||
opss.accessory,
|
opss.accessory,
|
||||||
|
|||||||
Reference in New Issue
Block a user