修改采集顺序

master
linjj 1 year ago
parent 87e6f4de4e
commit 0cd70fffbb

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xjgs</groupId> <groupId>com.xjgs</groupId>
<artifactId>his</artifactId> <artifactId>hisTall</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<properties> <properties>

@ -56,35 +56,31 @@ public class HisService {
//电子病历采集 //电子病历采集
public void hisInfo() { public void hisInfo() {
//开始时间
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat1.format(new Date()); String sTime = dateFormat1.format(new Date());
List<ArchiveMaster> masterList = hisInfoMasterId(); //获取需要采集的病历
for (ArchiveMaster archiveMaster : masterList) {
uploadHisInfo(archiveMaster.getPatientId());
uploadEmrInfo(archiveMaster.getPatientId());
}
String format1 = dateFormat1.format(new Date());
logger.log("电子病历与护理已采集,采集时间,开始时间:" + format + "结束时间:" + format1 + ",共同步" + masterList.size() + "份病历");
}
public List<ArchiveMaster> hisInfoMasterId() {
List<V_emrpatient> patientInfo = getPatientInfo(); List<V_emrpatient> patientInfo = getPatientInfo();
logger.log("电子病历与护理已采集,需要同步" + patientInfo.size() + "份病历"); logger.log("电子病历与护理已采集,需要同步" + patientInfo.size() + "份病历");
List<ArchiveMaster> archiveMasterList = new ArrayList<>();
for (V_emrpatient v_emrpatient : patientInfo) { for (V_emrpatient v_emrpatient : patientInfo) {
ArchiveMaster masterIdByPa = getMasterIdByPa(v_emrpatient.getFpatno()); ArchiveMaster masterIdByPa = getMasterIdByPa(v_emrpatient.getFpatno());
//查询是否存在当前患者
if (null != masterIdByPa.getId()) { if (null != masterIdByPa.getId()) {
//查询是否存在记录
List<Archive_Detail> pdfPathByIdAndHis = getPdfPathByIdAndHis(masterIdByPa); List<Archive_Detail> pdfPathByIdAndHis = getPdfPathByIdAndHis(masterIdByPa);
//如果存在 采集过,则不再重采 //存在删除在更新,不存在直接新增
if (pdfPathByIdAndHis == null || pdfPathByIdAndHis.isEmpty()) { if (pdfPathByIdAndHis == null || pdfPathByIdAndHis.isEmpty()) {
archiveMasterList.add(masterIdByPa); hisInfnByPatientId(v_emrpatient.getFpatno());
} else {
existUpdate(v_emrpatient, masterIdByPa, pdfPathByIdAndHis);
} }
} else { } else {
//不存在患者时生成患者
uploadHomePageByPid(v_emrpatient.getFpatno()); uploadHomePageByPid(v_emrpatient.getFpatno());
//查询患者信息
ArchiveMaster archiveMaster = getMasterIdByPa(v_emrpatient.getFpatno()); ArchiveMaster archiveMaster = getMasterIdByPa(v_emrpatient.getFpatno());
archiveMasterList.add(archiveMaster); //采集
hisInfnByPatientId(archiveMaster.getPatientId());
} }
} }
//查询补偿表中记录加到需要执行的archiveMasterList中 //查询补偿表中记录加到需要执行的archiveMasterList中
@ -105,12 +101,38 @@ public class HisService {
} }
redirectHisInfo(list); redirectHisInfo(list);
} }
archiveMasterList.add(list); hisInfnByPatientId(list.getPatientId());
updateCompensate(list); updateCompensate(list);
} }
} }
return archiveMasterList; //结束时间
String eTime = dateFormat1.format(new Date());
logger.log("电子病历与护理已采集,采集时间,开始时间:" + sTime + "结束时间:" + eTime + ",共同步" + patientInfo.size() + "份病历");
} }
//存在时删除后新增方法
private void existUpdate(V_emrpatient v_emrpatient, ArchiveMaster masterIdByPa, List<Archive_Detail> pdfPathByIdAndHis) {
for (Archive_Detail archiveDetail : pdfPathByIdAndHis) {
File file = new File(archiveDetail.getPdfPath().replace("F:\\pdf", "Z:"));
if (file.exists()) {
file.delete();
}
}
redirectHisInfo(masterIdByPa);
hisInfnByPatientId(v_emrpatient.getFpatno());
}
//电子病历、护理记录采集
public void hisInfnByPatientId(String PatientId) {
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat1.format(new Date());
uploadHisInfo(PatientId);
uploadEmrInfo(PatientId);
String format1 = dateFormat1.format(new Date());
logger.log("电子病历与护理已采集,采集时间,开始时间:" + format + "结束时间:" + format1 + "," + PatientId + "病历已补偿完成");
}
public void uploadHomePageByPid(String patientId) { public void uploadHomePageByPid(String patientId) {
String sql = "select t.zyh as 住院号,t.jzh as 记账号,t.zycs as 住院次数,t.xm as 姓名,t.xb as 性别,t.ryrq as 入院日期,t.cyrq as 出院日期,t.sfzh as 身份证号,t.rybq as 入院科室,t.dqbq as 出院科室,t.rycw as 入院床位,hp.fdrname as 主管医生 " + String sql = "select t.zyh as 住院号,t.jzh as 记账号,t.zycs as 住院次数,t.xm as 姓名,t.xb as 性别,t.ryrq as 入院日期,t.cyrq as 出院日期,t.sfzh as 身份证号,t.rybq as 入院科室,t.dqbq as 出院科室,t.rycw as 入院床位,hp.fdrname as 主管医生 " +
@ -158,8 +180,7 @@ public class HisService {
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} } finally {
finally {
JDBCUtils.release(resultSet, statement, connection); JDBCUtils.release(resultSet, statement, connection);
} }
} }
@ -244,7 +265,6 @@ public class HisService {
} }
public int updateCompensate(ArchiveMaster archiveMaster) { public int updateCompensate(ArchiveMaster archiveMaster) {
String sql = "update compensate set compensateState=1 where masterId=?"; String sql = "update compensate set compensateState=1 where masterId=?";
Object[] parms = new Object[]{archiveMaster.getId()}; Object[] parms = new Object[]{archiveMaster.getId()};
@ -269,8 +289,6 @@ public class HisService {
} }
public ArchiveMaster getMasterIdByPa(String jzh) { public ArchiveMaster getMasterIdByPa(String jzh) {
String sql = "select ID,patient_id from archive_master where patient_id = ?"; String sql = "select ID,patient_id from archive_master where patient_id = ?";
Object[] parms = new Object[]{jzh}; Object[] parms = new Object[]{jzh};
@ -301,9 +319,6 @@ public class HisService {
} }
/** /**
* @description: * @description:
* @author linjj * @author linjj
@ -335,8 +350,6 @@ public class HisService {
} }
//取his数据 //取his数据
public void uploadHisInfo(String patientId) { public void uploadHisInfo(String patientId) {
String temp = System.getProperty("user.dir") + "\\temp"; String temp = System.getProperty("user.dir") + "\\temp";

Loading…
Cancel
Save