eight
2024-11-08 b22b13bcbcae91fc00500d73645962fd2a45e836
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/appointment/AppointmentServiceImpl.java
@@ -10,6 +10,7 @@
import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
import cn.lihu.jh.module.ecg.service.queue.QueueService;
import cn.lihu.jh.module.ecg.service.queuesequence.QueueSequenceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -41,6 +42,7 @@
 */
@Service
@Validated
@Slf4j
public class AppointmentServiceImpl implements AppointmentService {
    @Resource
@@ -112,14 +114,16 @@
    }
    /**
     * // TODO 尚不支持, 一位患者当天两种检查项目的情况
     * @param patCode 编号 : !!! 不一定就是本系统的 患者编号(patID), 根源在于 检查单扫描出来的编号 不一定是 本系统的 患者编号(patID)
     * @return
     */
    @Override
    public AppointmentDO queryAndCreateAppointmentByPatId(String patCode) {
    public List<AppointmentDO> queryAndCreateAppointmentByPatId(String patCode) {
        // 先从医院平台查询
        List<AppointmentDO> appointmentExtermalList = getAppointmentExtermal( patCode );
        return appointmentExtermalList;
/* 先保留
        for ( int appointmentIndex = 0; appointmentIndex < appointmentExtermalList.size(); appointmentIndex++ ) {
            AppointmentDO appointmentExtermal = appointmentExtermalList.get(appointmentIndex);
            if (null != appointmentExtermal && null != appointmentExtermal.getBookDate() && appointmentExtermal.getBookDate().isEqual(LocalDate.now())) {
@@ -135,6 +139,7 @@
        List<AppointmentDO> appointmentDOList = appointmentMapper.getCurrentPatId( patCode );
        return 0 == appointmentDOList.size() ? null : appointmentDOList.get(0);
 */
    }
    @Override
@@ -163,6 +168,8 @@
            AppointmentExternal appointmentExternal = result.getRow().get( appointIndex );
            AppointmentDO appointmentDO = BeanUtils.toBean(appointmentExternal, AppointmentDO.class);
            appointmentDO.setApplyNo( appointmentExternal.getReqIdeApplyno() );
            appointmentDO.setPatSrc( getCorrespondingPatientSource(appointmentExternal.getAdmTypeCode()) );
            appointmentDO.setPatId(appointmentExternal.getPatientID()); // 内容为 身份证号 或 门诊住院号
            appointmentDO.setPatName(appointmentExternal.getPatName());
            appointmentDO.setPatGender(Byte.valueOf(appointmentExternal.getPatgender()));
@@ -269,4 +276,17 @@
        return 100;
    }
    private Integer getCorrespondingPatientSource(String admTypeCode) {
        if (admTypeCode.equals("AMB"))
            return 1;
        else if (admTypeCode.equals("EMER"))
            return 2;
        else if (admTypeCode.equals("IMP"))
            return 3;
        else if (admTypeCode.equals("PHY"))
            return 4;
        return 0;
    }
}