添加了浮窗最小话以及一键写入日期
This commit is contained in:
@@ -127,6 +127,15 @@ public class OaProjectScheduleStepController extends BaseController {
|
||||
return toAjax(iOaProjectScheduleStepService.batchDelay(batchDelayBo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量设定步骤结束时间为同一时间
|
||||
*/
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/batch-set-end")
|
||||
public R<Void> batchSetEndTime(@RequestBody com.ruoyi.oa.domain.bo.BatchSetEndTimeBo bo) {
|
||||
return toAjax(iOaProjectScheduleStepService.batchSetEndTime(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除项目进度步骤跟踪
|
||||
*
|
||||
|
||||
@@ -63,4 +63,7 @@ public interface OaProjectScheduleStepMapper extends BaseMapperPlus<OaProjectSch
|
||||
* @return 更新记录数
|
||||
*/
|
||||
int batchDelayPlanEnd(@Param("trackIds") List<Long> trackIds, @Param("delayMinutes") Long delayMinutes);
|
||||
|
||||
/** 批量设定 plan_end 为同一个具体时间 */
|
||||
int batchSetPlanEnd(@Param("trackIds") List<Long> trackIds, @Param("newEndTime") java.util.Date newEndTime);
|
||||
}
|
||||
|
||||
@@ -89,4 +89,7 @@ public interface IOaProjectScheduleStepService{
|
||||
* @return 是否成功
|
||||
*/
|
||||
Boolean batchDelay(com.ruoyi.oa.domain.bo.BatchDelayBo bo);
|
||||
|
||||
/** 批量设定步骤结束时间为同一时间 */
|
||||
Boolean batchSetEndTime(com.ruoyi.oa.domain.bo.BatchSetEndTimeBo bo);
|
||||
}
|
||||
|
||||
@@ -1071,5 +1071,24 @@ public class OaProjectScheduleStepServiceImpl implements IOaProjectScheduleStepS
|
||||
return updated > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean batchSetEndTime(com.ruoyi.oa.domain.bo.BatchSetEndTimeBo bo) {
|
||||
if (bo.getTrackIds() == null || bo.getTrackIds().isEmpty()) return false;
|
||||
if (bo.getNewEndTime() == null) return false;
|
||||
|
||||
List<OaProjectScheduleStep> steps = baseMapper.selectList(
|
||||
new LambdaQueryWrapper<OaProjectScheduleStep>()
|
||||
.in(OaProjectScheduleStep::getTrackId, bo.getTrackIds())
|
||||
);
|
||||
String completedTrack = steps.stream()
|
||||
.filter(s -> s.getStatus() != null && s.getStatus() == 2)
|
||||
.map(OaProjectScheduleStep::getSecondLevelNode)
|
||||
.collect(Collectors.joining(","));
|
||||
if (!completedTrack.isEmpty()) {
|
||||
throw new RuntimeException("以下步骤已完成,不允许修改:" + completedTrack);
|
||||
}
|
||||
int updated = baseMapper.batchSetPlanEnd(bo.getTrackIds(), bo.getNewEndTime());
|
||||
return updated > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,4 +321,16 @@
|
||||
AND status IN (0, 1)
|
||||
</update>
|
||||
|
||||
<update id="batchSetPlanEnd">
|
||||
UPDATE oa_project_schedule_step
|
||||
SET plan_end = #{newEndTime}
|
||||
WHERE track_id IN
|
||||
<foreach collection="trackIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND del_flag = '0'
|
||||
AND use_flag = '1'
|
||||
AND status IN (0, 1)
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user