smartor/src/main/java/com/smartor/mapper/ServiceTaskScheduleDetailMapper.java
@@ -64,4 +64,9 @@ * 逻辑删除(按 taskid) */ int deleteByTaskid(@Param("taskid") Long taskid); /** * 硬删除(按 taskid) */ int hardDeleteByTaskid(@Param("taskid") Long taskid); } smartor/src/main/java/com/smartor/mapper/ServiceTaskScheduleMapper.java
@@ -51,6 +51,11 @@ int deleteByTaskid(@Param("taskid") Long taskid); /** * 硬删除(按 taskid):修改任务时清空旧计划 */ int hardDeleteByTaskid(@Param("taskid") Long taskid); /** * 任务组(appltype=5)滚动调度用:查询所有未达上限的循环计划。 * 条件:schedule_style=1 且 (max_loop_count is null or max_loop_count=0 or current_loop_count < max_loop_count) * 限制返回条数避免长事务。 smartor/src/main/java/com/smartor/service/impl/ServiceTaskScheduleServiceImpl.java
@@ -59,9 +59,9 @@ throw new BaseException("任务计划明细不能为空(至少一条 detail)"); } // 1. 旧计划软删 serviceTaskScheduleMapper.deleteByTaskid(vo.getTaskid()); serviceTaskScheduleDetailMapper.deleteByTaskid(vo.getTaskid()); // 1. 旧计划删 serviceTaskScheduleMapper.hardDeleteByTaskid(vo.getTaskid()); serviceTaskScheduleDetailMapper.hardDeleteByTaskid(vo.getTaskid()); // 2. 主计划落库 Date now = DateUtils.getNowDate(); @@ -78,6 +78,12 @@ schedule.setNextExecuteTime(vo.getNextExecuteTime()); schedule.setScheduleBenchmark(vo.getScheduleBenchmark() == null ? 0 : vo.getScheduleBenchmark()); schedule.setScheduleBenchmarkCustomTime(vo.getScheduleBenchmarkCustomTime()); schedule.setDeptCodes(vo.getDeptCodes()); schedule.setWardCodes(vo.getWardCodes()); schedule.setIcd10Codes(vo.getIcd10Codes()); schedule.setOplevelCodes(vo.getOplevelCodes()); schedule.setRemark(vo.getRemark()); schedule.setDelFlag("0"); schedule.setCreateBy(vo.getCreateBy()); smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleDetailMapper.xml
@@ -183,4 +183,9 @@ and del_flag = '0' </update> <delete id="hardDeleteByTaskid" parameterType="Long"> delete from service_task_schedule_detail where taskid = #{taskid} and del_flag = '0' </delete> </mapper> smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml
@@ -186,6 +186,12 @@ and del_flag = '0' </update> <delete id="hardDeleteByTaskid" parameterType="Long"> delete from service_task_schedule where del_flag = '0' and taskid = #{taskid} </delete> <select id="selectActiveCycleSchedules" resultMap="ServiceTaskScheduleResult"> <include refid="selectServiceTaskScheduleVo"/> where del_flag = '0'