package com.ruoyi.task.api.contract;
|
|
import com.ruoyi.common.core.service.OtherVisitApi;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* {@link OtherVisitApi}(手术随访契约)在 <b>ruoyi-task</b> 侧的唯一实现。
|
*
|
* <h3>为什么落在这里</h3>
|
* 手术随访的两个入口本体在 {@link OperationSubtaskWriter}(本包),
|
* 而它必须读写 {@code service_task*} / {@code service_subtask*}(属本模块)
|
* 并读 {@code pat_archive}(经 {@code TaskArchivePort} 端口)——
|
* 见 writer 的类注释里那三次搬迁尝试。实现跟着能力走,所以本类也在本模块。
|
*
|
* <h3>它取代了什么</h3>
|
* 此前有<b>两个</b>实现:smartor 的 {@code OtherVisitApiBridge}(真实现)
|
* 和 {@code ruoyi-othervisit} 的 {@code OtherVisitApiImpl}(用
|
* {@code ObjectProvider<OtherVisitApi>} 回头找 smartor 那个,还要 filter 掉自己防递归)。
|
* 本轮两者都删了,现在全仓 {@code OtherVisitApi} 只有一个 bean。
|
*
|
* <h3>⚠️ 两行委托,不加逻辑</h3>
|
* {@code addOperationSubTask} 转发到 {@code writer.runOperationVisit(..)}:原桥接就是这么转的
|
* ({@code runOperationVisit} 内部调 {@code addOperationSubTask} 后固定返回 1),
|
* 换成 {@code writer.addOperationSubTask} 会丢掉那个 {@code 1} 的返回值。
|
*
|
* @see OperationSubtaskWriter
|
*/
|
@Slf4j
|
@Component
|
public class OtherVisitApiImpl implements OtherVisitApi {
|
|
@Autowired
|
private OperationSubtaskWriter operationSubtaskWriter;
|
|
/**
|
* 手术随访扫描(手术等级 + 离院科室/病区维度)。
|
*
|
* @param config {@code sys_config: visit.early.day} 的值,可能为 null
|
* @return 固定 {@code 1}(原实现如此,不是处理条数)
|
*/
|
@Override
|
public int addOperationSubTask(String config) {
|
return operationSubtaskWriter.runOperationVisit(config);
|
}
|
|
/**
|
* 任务组(appltype=5)首轮纳入。
|
*
|
* @param config {@code sys_config: visit.early.day}
|
* @return 原实现固定返回 1
|
*/
|
@Override
|
public int dealOutHospInfoBySchedule(String config) {
|
return operationSubtaskWriter.dealOutHospInfoBySchedule(config);
|
}
|
}
|