liusheng
13 小时以前 c410c133f21297fc2bf6fc32335652eb07eb6d52
smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java
@@ -50,9 +50,17 @@
    private WuxiSysUserRoleMapper sysUserRoleMapper;
    @Override
    public PatArchive getExternalPatientInfo(Long brid) {
    public PatArchive getExternalPatientInfo(Long brid, String zyOrmz) {
        log.error("getExternalPatientInfo的数据入参为:{}", brid);
        List<ExternalPatientInfo> externalPatientInfo = externalInfoMapper.getExternalPatientInfo(brid.toString());
        List<ExternalPatientInfo> externalPatientInfo = null;
        if (zyOrmz.equals("zy")) {
            //出入院患者基本信息
            externalPatientInfo = externalInfoMapper.getExternalPatientInfo(brid.toString());
        } else {
            //门急诊患者基本信息
            externalPatientInfo = externalInfoMapper.getExternalOutHospPatientInfo(null, null, brid.toString());
        }
        List<ExternalInHospPatientInfo> externalInHospPatientInfos = externalInfoMapper.getExternalInHospPatientInfo(null, null, brid);
@@ -168,7 +176,7 @@
        if (CollectionUtils.isNotEmpty(externalOutHospInfo)) {
            for (ExternalOutHospInfo externalOutHospInfo1 : externalOutHospInfo) {
                //先对患者基本信息进行处理
                Long patid = dealPatArchive(externalOutHospInfo1.getBrid());
                Long patid = dealPatArchive(externalOutHospInfo1.getBrid(), "mz");
                log.error("门急诊获取患者ID:{}", patid);
                //新增门急诊信息
                PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
@@ -177,10 +185,11 @@
                patMedOuthosp.setPatid(patid);
                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
                patMedOuthosp.setPatname(patArchive.getName());
                patMedOuthosp.setPatno(patArchive.getPatientno());
                patMedOuthosp.setDeptcode("" + externalOutHospInfo1.getKsdm());
                patMedOuthosp.setDeptname(externalOutHospInfo1.getKsmc());
                patMedOuthosp.setDiagname(externalOutHospInfo1.getZddm());
                patMedOuthosp.setIcd10code(externalOutHospInfo1.getZdmc());
                patMedOuthosp.setDiagname(externalOutHospInfo1.getZdmc());
                patMedOuthosp.setIcd10code(externalOutHospInfo1.getZddm());
                patMedOuthosp.setDrcode(externalOutHospInfo1.getYsdm().toString());
                patMedOuthosp.setDrname(externalOutHospInfo1.getYsmc());
                patMedOuthosp.setAdmitdate(externalOutHospInfo1.getJzrq());
@@ -226,7 +235,7 @@
        log.error("入院获取数据数量:{}", externalInHospPatientInfo1.size());
        for (ExternalInHospPatientInfo externalInHospPatientInfo : externalInHospPatientInfo1) {
            //先对患者基本信息进行处理
            Long patid = dealPatArchive(externalInHospPatientInfo.getBrid());
            Long patid = dealPatArchive(externalInHospPatientInfo.getBrid(), "zy");
            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
            //新增入院数据
            PatMedInhosp patMedInhosp = new PatMedInhosp();
@@ -282,7 +291,7 @@
        log.error("入院获取数据数量:{}", externalInHospPatientInfo1.size());
        for (ExternalInHospPatientInfo externalInHospPatientInfo : externalInHospPatientInfo1) {
            //先对患者基本信息进行处理
            Long patid = dealPatArchive(externalInHospPatientInfo.getBrid());
            Long patid = dealPatArchive(externalInHospPatientInfo.getBrid(), "zy");
            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
            //新增入院数据
            PatMedInhosp patMedInhosp = new PatMedInhosp();
@@ -496,7 +505,7 @@
        List<ExternalLeaveHospPatientInfo> externalLeaveHospPatientInfo = externalInfoMapper.getExternalLeaveHospPatientInfo(startTime, endTime);
        for (ExternalLeaveHospPatientInfo externalLeaveHospPatientInfo1 : externalLeaveHospPatientInfo) {
            //先对患者基本信息进行处理
            Long patid = dealPatArchive(externalLeaveHospPatientInfo1.getBrid());
            Long patid = dealPatArchive(externalLeaveHospPatientInfo1.getBrid(), "zy");
            //新增出院数据
            //根据住院号查询入院信息
            PatMedInhosp pmi = new PatMedInhosp();
@@ -509,7 +518,7 @@
                List<ExternalInHospPatientInfo> externalInHospPatientInfo1 = externalInfoMapper.getExternalInHospPatientInfo(null, null, externalLeaveHospPatientInfo1.getBrid());
                if (CollectionUtils.isNotEmpty(externalInHospPatientInfo1)) {
                    //先对患者基本信息进行处理
                    Long pid = dealPatArchive(externalInHospPatientInfo1.get(0).getBrid());
                    Long pid = dealPatArchive(externalInHospPatientInfo1.get(0).getBrid(), "zy");
                    PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
                    //新增入院数据
                    PatMedInhosp inhosp = new PatMedInhosp();
@@ -645,7 +654,7 @@
                    for (ExternalOutHospInfo externalOutHospInfo : externalOutHospInfos) {
                        try {
                            // 处理患者档案
                            Long patid = dealPatArchive(externalOutHospInfo.getBrid());
                            Long patid = dealPatArchive(externalOutHospInfo.getBrid(), "mz");
                            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
                            // 创建门诊记录对象
@@ -655,6 +664,7 @@
                            patMedOuthosp.setOuthospno(externalOutHospInfo.getJzkh());
                            patMedOuthosp.setSerialnum(externalOutHospInfo.getJzkh());
                            patMedOuthosp.setPatid(patid);
                            patMedOuthosp.setPatno(patArchive.getPatientno());
                            // 设置患者姓名
                            if (ObjectUtils.isNotEmpty(patArchive)) {
@@ -737,11 +747,11 @@
     * @return
     */
    @Override
    public Long dealPatArchive(Long brid) {
    public Long dealPatArchive(Long brid, String zyOrmz) {
        PatArchive patArchive = new PatArchive();
        patArchive.setPatidHis(brid);
        List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
        PatArchive patientInfo = getExternalPatientInfo(brid);
        PatArchive patientInfo = getExternalPatientInfo(brid, zyOrmz);
        if (ObjectUtils.isNotEmpty(patientInfo)) {
            if (CollectionUtils.isNotEmpty(patArchives)) {
                //如果不为空,则走更新操作