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})基础读写 —— 本模块<b>唯一</b>的写入口。
|
*
|
* <h3>迁移对应(@ b25c3b51)</h3>
|
* 整体照搬 {@code com.smartor.service.impl.PatMedOperationServiceImpl} 里的 6 个纯 CRUD 方法:
|
* <table border="1">
|
* <tr><th>本类方法</th><th>原实现</th></tr>
|
* <tr><td>{@link #selectById(Long)}</td><td>L46-48</td></tr>
|
* <tr><td>{@link #selectList(PatMedOperation)}</td><td>L57-59</td></tr>
|
* <tr><td>{@link #insert(PatMedOperation)}</td><td>L68-71(含 {@code setCreateTime})</td></tr>
|
* <tr><td>{@link #update(PatMedOperation)}</td><td>L80-83(含 {@code setUpdateTime})</td></tr>
|
* <tr><td>{@link #deleteByIds(Long[])}</td><td>L92-94</td></tr>
|
* <tr><td>{@link #deleteById(Long)}</td><td>L103-105</td></tr>
|
* </table>
|
*
|
* <h3>⚠️ 与原实现逐字一致的地方(勿"顺手优化")</h3>
|
* <ul>
|
* <li>{@code insert} 用 {@code DateUtils.getNowDate()} 设 {@code createTime},
|
* {@code update} 用同一个方法设 {@code updateTime} —— 原样保留,
|
* 换成 {@code new Date()} 会让"当天"的判定语义变化({@code getNowDate} 有日期归一逻辑)。</li>
|
* </ul>
|
*
|
* <h3>为什么必须有这一层</h3>
|
* 按跨模块数据访问原则:{@code pat_med_operation} 的<b>写操作一律不许跨模块</b>。
|
* 其它模块(HIS 采集 {@code CollectHISServiceImpl}、外部手术回传 {@code ServiceExternalServiceImpl}、
|
* 出入院随访 {@code PatMedInhospServiceImpl})需要读写手术数据时,
|
* <b>只能</b>经 {@link com.ruoyi.othervisit.api.OtherVisitFacade} 调用本类,
|
* 不得再注入 {@link PatMedOperationMapper}。
|
*/
|
@Slf4j
|
@Service
|
public class OperationService {
|
|
@Autowired
|
private PatMedOperationMapper patMedOperationMapper;
|
|
/**
|
* 查询患者手术记录。
|
* <p>原 {@code PatMedOperationServiceImpl#selectPatMedOperationById} L46-48,一行转发。
|
*/
|
public PatMedOperation selectById(Long id) {
|
return patMedOperationMapper.selectPatMedOperationById(id);
|
}
|
|
/**
|
* 查询患者手术记录列表。
|
* <p>
|
* 原 {@code PatMedOperationServiceImpl#selectPatMedOperationList} L57-59,一行转发。
|
* <p>
|
* ⚠️ 与出入院/门诊不同,这里<b>没有</b>存储过程也没有展示富化 ——
|
* 手术列表查询一直是普通 {@code selectPatMedOperationList},原样保留。
|
*/
|
public List<PatMedOperation> selectList(PatMedOperation patMedOperation) {
|
return patMedOperationMapper.selectPatMedOperationList(patMedOperation);
|
}
|
|
/**
|
* 新增患者手术记录。
|
* <p>原 L68-71:先 {@code setCreateTime(DateUtils.getNowDate())} 再 insert。
|
*/
|
public int insert(PatMedOperation patMedOperation) {
|
patMedOperation.setCreateTime(DateUtils.getNowDate());
|
return patMedOperationMapper.insertPatMedOperation(patMedOperation);
|
}
|
|
/**
|
* 修改患者手术记录。
|
* <p>原 L80-83:先 {@code setUpdateTime(DateUtils.getNowDate())} 再 update。
|
*/
|
public int update(PatMedOperation patMedOperation) {
|
patMedOperation.setUpdateTime(DateUtils.getNowDate());
|
return patMedOperationMapper.updatePatMedOperation(patMedOperation);
|
}
|
|
/**
|
* 批量删除患者手术记录。
|
* <p>
|
* 原 L92-94,一行转发。
|
* <p>
|
* ⚠️ 底层 XML 里 {@code deletePatMedOperationById} / {@code deletePatMedOperationByIds}
|
* 都是 {@code <update>}(软删,置 {@code del_flag}),不是物理删除 —— 名字有误导性,原样保留。
|
*/
|
public int deleteByIds(Long[] ids) {
|
return patMedOperationMapper.deletePatMedOperationByIds(ids);
|
}
|
|
/**
|
* 删除患者手术记录。
|
* <p>原 L103-105,一行转发(同上,底层是软删)。
|
*/
|
public int deleteById(Long id) {
|
return patMedOperationMapper.deletePatMedOperationById(id);
|
}
|
}
|