陈昶聿
23 小时以前 a993043a20a6c9bccb0ab563e2d955b36a801408
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -156,6 +156,30 @@
    public int deleteServiceSubtaskByCondition(@Param("taskid") Long id, @Param("patid") Long patid);
    /**
     * 删除患者出院记录对应的未完成随访任务
     *
     * @param patid      患者ID
     * @param inhospids  出院记录ID集合
     * @param sendstates 未完成状态集合
     * @return 删除条数
     */
    public int deleteUnfinishedServiceSubtaskByInhospids(@Param("patid") Long patid,
                                                         @Param("inhospids") List<Long> inhospids,
                                                         @Param("sendstates") List<Long> sendstates);
    /**
     * 统计患者指定任务下未完成的随访任务数量(用于人工随访重复校验)
     *
     * @param patid      患者ID
     * @param taskid     任务ID
     * @param sendstates 未完成状态集合
     * @return 未完成任务数量
     */
    int countUnfinishedServiceSubtaskByPatidAndTaskid(@Param("patid") Long patid,
                                                      @Param("taskid") Long taskid,
                                                      @Param("sendstates") List<Long> sendstates);
    /**
     * 删除单一任务(随访)
     *
     * @return 结果
@@ -323,4 +347,14 @@
     */
    List<MzMydScoreRankDTO> selectMzMydScoreRank(MzMydScoreRankVO mzMydScoreRankVO);
    /**
     * 条件更新原任务的“是否再次随访”标识,用于二次随访幂等控制。
     * 仅当当前值不是目标值时才更新,返回受影响行数。
     *
     * @param id           子任务 ID
     * @param isVisitAgain 目标值(2-已再次随访)
     * @return 受影响行数,1 表示抢到生成权,0 表示已被其他请求处理
     */
    int updateIsVisitAgainById(@Param("id") Long id, @Param("isVisitAgain") Integer isVisitAgain);
}