liusheng
4 天以前 4bb2588c5579d43ae5d343c7343a425a80b02d6c
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -750,9 +750,9 @@
     */
    private List<ThiedInhospInfo> parseResponseData(String result) {
        try {
            Gson gson = new Gson();
            JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
            JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result");
        Gson gson = new Gson();
        JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
        JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result");
            Type resultType = new TypeToken<List<ThiedInhospInfo>>() {}.getType();
            return gson.fromJson(resultArray, resultType);
        } catch (Exception e) {
@@ -776,7 +776,7 @@
                parentDir.mkdirs();
            }
            
            if (!file.exists()) {
        if (!file.exists()) {
                file.createNewFile();
            }
            
@@ -855,7 +855,7 @@
        if (CollectionUtils.isEmpty(existingArchives)) {
            patArchiveService.insertPatArchive(patArchive);
            log.debug("【processPatientArchive】新增患者档案,患者编号:{}", patArchive.getPatientno());
        } else {
                } else {
            patArchive.setId(existingArchives.get(0).getId());
            patArchiveService.updateArchive(patArchive);
            log.debug("【processPatientArchive】更新患者档案,患者编号:{}", patArchive.getPatientno());
@@ -871,18 +871,18 @@
        PatArchive patArchive = new PatArchive();
        
        // 基本信息
        patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo());
                patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo());
        patArchive.setIdcardno(thiedInhospInfo.getPatiIdCardNo().trim());
        patArchive.setName(thiedInhospInfo.getPatiRecordName());
        patArchive.setSourcefrom(2);
        patArchive.setPattype("2");
                patArchive.setSourcefrom(2);
                patArchive.setPattype("2");
        
        // 性别
        patArchive.setSex("男".equals(thiedInhospInfo.getPatiRecordGender()) ? 1L : 2L);
        
        // 民族和籍贯
        patArchive.setNation(thiedInhospInfo.getPatiNation());
        patArchive.setNativePlace(thiedInhospInfo.getPatiNationality());
                patArchive.setNation(thiedInhospInfo.getPatiNation());
                patArchive.setNativePlace(thiedInhospInfo.getPatiNationality());
        
        // 居住地址
        String homeAddr = thiedInhospInfo.getPatiHomeAddr();
@@ -891,21 +891,21 @@
        // 出生日期
        if (StringUtils.isNotEmpty(thiedInhospInfo.getPatiBirthday())) {
            try {
                patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse(thiedInhospInfo.getPatiBirthday()));
            } catch (ParseException e) {
                        patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse(thiedInhospInfo.getPatiBirthday()));
                } catch (ParseException e) {
                log.warn("【buildPatientArchive】解析出生日期失败:{}", thiedInhospInfo.getPatiBirthday(), e);
            }
                }
        }
        
        // 年龄
        if (thiedInhospInfo.getTreateAge() != null) {
            patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge()));
        }
        patArchive.setAgeUnit(thiedInhospInfo.getTreatAgeunit());
                if (thiedInhospInfo.getTreateAge() != null) {
                    patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge()));
                }
                patArchive.setAgeUnit(thiedInhospInfo.getTreatAgeunit());
        
        // 联系方式
        patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum());
        patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone());
                patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum());
                patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone());
        
        // 出院方式处理(死亡等特殊情况)
        if (StringUtils.isNotEmpty(thiedInhospInfo.getOutWayId()) && "4".equals(thiedInhospInfo.getOutWayId())) {
@@ -918,9 +918,9 @@
        }
        
        // 系统字段
        patArchive.setDelFlag("0");
        patArchive.setCreateTime(new Date());
        patArchive.setUpdateTime(new Date());
                patArchive.setDelFlag("0");
                patArchive.setCreateTime(new Date());
                patArchive.setUpdateTime(new Date());
        
        return patArchive;
    }
@@ -944,7 +944,7 @@
            patMedInhospService.updatePatMedInhosp(patMedInhosp);
            log.debug("【processPatientInhospInfo】更新住院信息,患者编号:{},流水号:{}", 
                patArchive.getPatientno(), patMedInhosp.getSerialnum());
        } else {
                } else {
            patMedInhospService.insertPatMedInhosp(patMedInhosp);
            log.debug("【processPatientInhospInfo】新增住院信息,患者编号:{},流水号:{}", 
                patArchive.getPatientno(), patMedInhosp.getSerialnum());
@@ -955,74 +955,74 @@
     * 构建患者住院信息
     */
    private PatMedInhosp buildPatientInhospInfo(ThiedInhospInfo thiedInhospInfo, PatArchive patArchive, String cry) {
        PatMedInhosp patMedInhosp = new PatMedInhosp();
                PatMedInhosp patMedInhosp = new PatMedInhosp();
        
        // 患者基本信息
        patMedInhosp.setPatid(patArchive.getId());
        patMedInhosp.setPatno(patArchive.getPatientno());
        patMedInhosp.setPatname(patArchive.getName());
                patMedInhosp.setPatid(patArchive.getId());
                patMedInhosp.setPatno(patArchive.getPatientno());
                patMedInhosp.setPatname(patArchive.getName());
        
        // 护理信息
        patMedInhosp.setNurseId(thiedInhospInfo.getNurseId());
        patMedInhosp.setNurseName(thiedInhospInfo.getNurseName());
                patMedInhosp.setNurseId(thiedInhospInfo.getNurseId());
                patMedInhosp.setNurseName(thiedInhospInfo.getNurseName());
        
        // 住院信息
        patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId());
        patMedInhosp.setFuflag("1");
                patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId());
                patMedInhosp.setFuflag("1");
        patMedInhosp.setInhospstate("0".equals(cry) ? "0" : "1");
        
        // 医院和科室信息
        patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId());
                patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId());
        patMedInhosp.setDeptcode(thiedInhospInfo.getAdmissDeptId());
        patMedInhosp.setDeptid(thiedInhospInfo.getAdmissDeptId());
        patMedInhosp.setDeptname(thiedInhospInfo.getAdmissDeptName());
        patMedInhosp.setBedNo(thiedInhospInfo.getAdmissBedNo());
        
        // 诊断信息
        patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10());
        patMedInhosp.setDiagname(thiedInhospInfo.getDiagName());
                patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10());
                patMedInhosp.setDiagname(thiedInhospInfo.getDiagName());
        
        // 时间信息
        if (StringUtils.isNotEmpty(thiedInhospInfo.getAdmissDate())) {
            try {
                patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate()));
            } catch (ParseException e) {
                try {
                        patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate()));
                } catch (ParseException e) {
                log.warn("【buildPatientInhospInfo】解析入院时间失败:{}", thiedInhospInfo.getAdmissDate(), e);
            }
                }
        }
        
        if (StringUtils.isNotEmpty(thiedInhospInfo.getOutDate())) {
            try {
                patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate()));
            } catch (ParseException e) {
                try {
                        patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate()));
                } catch (ParseException e) {
                log.warn("【buildPatientInhospInfo】解析出院时间失败:{}", thiedInhospInfo.getOutDate(), e);
            }
        }
        
        // 出院信息
        patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrDeptId());
        patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrDeptName());
        patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName());
        patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10());
        patMedInhosp.setOutWayId(thiedInhospInfo.getOutWayId());
        patMedInhosp.setOutWayName(thiedInhospInfo.getOutWayName());
                patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrDeptId());
                patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrDeptName());
                patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName());
                patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10());
                patMedInhosp.setOutWayId(thiedInhospInfo.getOutWayId());
                patMedInhosp.setOutWayName(thiedInhospInfo.getOutWayName());
        
        // 医生信息
        patMedInhosp.setDrname(thiedInhospInfo.getDoctName());
        patMedInhosp.setDrcode(thiedInhospInfo.getDoctId());
        
        // 病区信息
        patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardCode());
        patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId());
        patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName());
        patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptCode());
                patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardCode());
                patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId());
                patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName());
                patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptCode());
        
        // 状态信息
        patMedInhosp.setSchemestatus("0".equals(cry) ? 1L : 2L);
        
        // 系统字段
        patMedInhosp.setDelFlag("0");
        patMedInhosp.setOrgid("1");
                patMedInhosp.setOrgid("1");
        
        return patMedInhosp;
    }