package com.smartor.service;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.service.dto.PatMedReq;
|
import com.ruoyi.common.core.service.dto.PatMedRes;
|
import com.smartor.domain.*;
|
import com.ruoyi.inhospvisit.domain.PatMedInhospDTO;
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ruoyi.inhospvisit.domain.PatMedInhospVO;
|
import com.ruoyi.inhospvisit.domain.PatMedInhosp;
|
import com.ruoyi.common.core.domain.entity.PatArchive;
|
import com.ruoyi.task.domain.ServiceSubtask;
|
import com.ruoyi.task.domain.ServiceTask;
|
/**
|
* 患者住院记录Service接口
|
*
|
* @author smartor
|
* @date 2023-03-04
|
*/
|
public interface IPatMedInhospService {
|
/**
|
* 查询患者住院记录
|
*
|
* @param inhospid 患者住院记录主键
|
* @return 患者住院记录
|
*/
|
public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid);
|
|
public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp);
|
|
/**
|
* 查询患者住院记录列表
|
*
|
* @param patMedInhosp 患者住院记录
|
* @return 患者住院记录集合
|
*/
|
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp);
|
|
public List<PatMedInhospDTO> selectPatMedInhospByApplication(PatMedInhosp patMedInhosp);
|
|
/**
|
* 查询当前登陆人自己(病区、部门)的患者住院记录列表
|
*
|
* @param patMedInhospVO
|
* @return
|
*/
|
public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO);
|
|
public PatMedInhosp getDeptCodeByPatId(PatMedInhosp patMedInhosp);
|
|
public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq);
|
|
/**
|
* 新增患者住院记录
|
*
|
* @param patMedInhosp 患者住院记录
|
* @return 结果
|
*/
|
public int insertPatMedInhosp(PatMedInhosp patMedInhosp);
|
|
/**
|
* 修改患者住院记录
|
*
|
* @param patMedInhosp 患者住院记录
|
* @return 结果
|
*/
|
public int updatePatMedInhosp(PatMedInhosp patMedInhosp);
|
|
/**
|
* 批量删除患者住院记录
|
*
|
* @param inhospids 需要删除的患者住院记录主键集合
|
* @return 结果
|
*/
|
public int deletePatMedInhospByInhospids(Long[] inhospids);
|
|
/**
|
* 删除患者住院记录信息
|
*
|
* @param inhospid 患者住院记录主键
|
* @return 结果
|
*/
|
public int deletePatMedInhospByInhospid(Long inhospid);
|
|
public int deletePatMedInhospByInhospno(String inhospno);
|
|
/**
|
* 处理从his取来的出院数据
|
*
|
* @param
|
* @return 结果
|
*/
|
public int dealOutHospInfo(String config);
|
|
/**
|
* 处理从his取来的出院数据 任务组生成
|
*
|
* @param
|
* @return 结果
|
*/
|
public int dealOutHospInfoBySchedule(String config);
|
|
/**
|
* 获取出院,住院,门诊服务人次
|
*
|
* @param patMedReq
|
* @return
|
*/
|
public List<PatMedRes> getDeptRanking(PatMedReq patMedReq);
|
|
/**
|
* 医护与患者关联关系
|
*
|
* @param patMedInhosp
|
* @return
|
*/
|
public List<PatMedInhosp> getDocAndPat(PatMedInhosp patMedInhosp);
|
|
/**
|
* 处理从his取来的手术信息
|
*
|
* @param
|
* @return 结果
|
*/
|
public void addOperationSubTask(String config);
|
|
public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type);
|
|
// ==========================================================================
|
// 出入院随访模块化(第一批)—— 供 VisitTaskCreateApiBridge / OtherVisitApiBridge 复用的过渡入口
|
//
|
// ⚠️ 这 3 个方法是<b>刻意新增</b>的过渡期入口(纯转发,零业务逻辑),
|
// 不是误加、也不要"顺手删掉":
|
// · runOperationVisit(config) —— 让 OtherVisitApiBridge 有个"随访能力"形状的入口
|
// · persistSubtask(subtask) —— 让 VisitTaskCreateApiBridge 有唯一的落库入口
|
// · selectPendingDeptPatientsForVisit() —— 让 PatMedInhospController 切到新入口后
|
// 仍能把列表交给院外/门诊合并
|
// 由 sql/_probe/verify_step16_service_restore.py 与 audit_worktree_changes.py 登记把关。
|
// ==========================================================================
|
|
/**
|
* 【过渡期用】手术随访扫描。
|
* <p>
|
* 与 {@link #addOperationSubTask(String)} <b>完全等价</b>(本方法就是转发到它),
|
* 存在的唯一理由是给 {@code OtherVisitApiBridge} 一个"看起来属于随访能力"的入口,
|
* 让手术随访将来搬去 {@code ruoyi-othervisit} 时只换实现方。
|
* <p>
|
* 注意:{@code addOperationSubTask} <b>不能删</b> —— 它被
|
* {@code PatMedInhospController#addOperationSubTask}(URL 不变)直接调用。
|
*
|
* @param config {@code sys_config: visit.early.day}
|
* @return 处理的手术记录数
|
*/
|
int runOperationVisit(String config);
|
|
/**
|
* 【过渡期用】把「科室维度未处理的在院患者」列表读出来。
|
* <p>
|
* 供 {@code PatMedInhospController#dealOutHospInfo}(URL 不变)在切换到新入口后
|
* 仍能把列表交给 {@code IPatMedOuthospService} 做"院外门诊 + 在院"合并。
|
* <p>
|
* 条件与原 {@code dealOutHospInfo} 的第一段查询<b>完全一致</b>:
|
* {@code deptcheck_flag='0'} + {@code inhospstate='1'} + {@code fuflag='1'}。
|
* 实现是纯转发({@code selectPatMedInhospList}),零逻辑改动。
|
*
|
* @return 科室维度未处理的在院患者
|
*/
|
List<PatMedInhosp> selectPendingDeptPatientsForVisit();
|
|
/**
|
* 【过渡期用】把一条已组装好的子任务落库。
|
* <p>
|
* 单独抽出来的理由:让 {@code VisitTaskCreateApiBridge} 有一个可控的写入口,
|
* 便于"搬迁前后逐行等价"的探针比对;将来「随访任务创建模块」接管时替换实现方。
|
*
|
* @param serviceSubtask 已组装好的子任务(调用方负责填全字段)
|
* @return true = 落库成功
|
*/
|
boolean persistSubtask(ServiceSubtask serviceSubtask);
|
}
|