package com.ruoyi.othervisit.service; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.othervisit.domain.PatMedOperation; import com.ruoyi.othervisit.mapper.PatMedOperationMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 患者手术记录({@code pat_med_operation})基础读写 —— 本模块唯一的写入口。 * *

迁移对应(@ b25c3b51)

* 整体照搬 {@code com.smartor.service.impl.PatMedOperationServiceImpl} 里的 6 个纯 CRUD 方法: * * * * * * * * *
本类方法原实现
{@link #selectById(Long)}L46-48
{@link #selectList(PatMedOperation)}L57-59
{@link #insert(PatMedOperation)}L68-71(含 {@code setCreateTime})
{@link #update(PatMedOperation)}L80-83(含 {@code setUpdateTime})
{@link #deleteByIds(Long[])}L92-94
{@link #deleteById(Long)}L103-105
* *

⚠️ 与原实现逐字一致的地方(勿"顺手优化")

* * *

为什么必须有这一层

* 按跨模块数据访问原则:{@code pat_med_operation} 的写操作一律不许跨模块。 * 其它模块(HIS 采集 {@code CollectHISServiceImpl}、外部手术回传 {@code ServiceExternalServiceImpl}、 * 出入院随访 {@code PatMedInhospServiceImpl})需要读写手术数据时, * 只能经 {@link com.ruoyi.othervisit.api.OtherVisitFacade} 调用本类, * 不得再注入 {@link PatMedOperationMapper}。 */ @Slf4j @Service public class OperationService { @Autowired private PatMedOperationMapper patMedOperationMapper; /** * 查询患者手术记录。 *

原 {@code PatMedOperationServiceImpl#selectPatMedOperationById} L46-48,一行转发。 */ public PatMedOperation selectById(Long id) { return patMedOperationMapper.selectPatMedOperationById(id); } /** * 查询患者手术记录列表。 *

* 原 {@code PatMedOperationServiceImpl#selectPatMedOperationList} L57-59,一行转发。 *

* ⚠️ 与出入院/门诊不同,这里没有存储过程也没有展示富化 —— * 手术列表查询一直是普通 {@code selectPatMedOperationList},原样保留。 */ public List selectList(PatMedOperation patMedOperation) { return patMedOperationMapper.selectPatMedOperationList(patMedOperation); } /** * 新增患者手术记录。 *

原 L68-71:先 {@code setCreateTime(DateUtils.getNowDate())} 再 insert。 */ public int insert(PatMedOperation patMedOperation) { patMedOperation.setCreateTime(DateUtils.getNowDate()); return patMedOperationMapper.insertPatMedOperation(patMedOperation); } /** * 修改患者手术记录。 *

原 L80-83:先 {@code setUpdateTime(DateUtils.getNowDate())} 再 update。 */ public int update(PatMedOperation patMedOperation) { patMedOperation.setUpdateTime(DateUtils.getNowDate()); return patMedOperationMapper.updatePatMedOperation(patMedOperation); } /** * 批量删除患者手术记录。 *

* 原 L92-94,一行转发。 *

* ⚠️ 底层 XML 里 {@code deletePatMedOperationById} / {@code deletePatMedOperationByIds} * 都是 {@code }(软删,置 {@code del_flag}),不是物理删除 —— 名字有误导性,原样保留。 */ public int deleteByIds(Long[] ids) { return patMedOperationMapper.deletePatMedOperationByIds(ids); } /** * 删除患者手术记录。 *

原 L103-105,一行转发(同上,底层是软删)。 */ public int deleteById(Long id) { return patMedOperationMapper.deletePatMedOperationById(id); } }