修改采集顺序

master
linjj 1 year ago
parent 87e6f4de4e
commit 0cd70fffbb

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

@ -56,35 +56,31 @@ public class HisService {
//电子病历采集
public void hisInfo() {
//开始时间
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = 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() {
String sTime = dateFormat1.format(new Date());
//获取需要采集的病历
List<V_emrpatient> patientInfo = getPatientInfo();
logger.log("电子病历与护理已采集,需要同步" + patientInfo.size() + "份病历");
List<ArchiveMaster> archiveMasterList = new ArrayList<>();
for (V_emrpatient v_emrpatient : patientInfo) {
ArchiveMaster masterIdByPa = getMasterIdByPa(v_emrpatient.getFpatno());
//查询是否存在当前患者
if (null != masterIdByPa.getId()) {
//查询是否存在记录
List<Archive_Detail> pdfPathByIdAndHis = getPdfPathByIdAndHis(masterIdByPa);
//如果存在 采集过,则不再重采
//存在删除在更新,不存在直接新增
if (pdfPathByIdAndHis == null || pdfPathByIdAndHis.isEmpty()) {
archiveMasterList.add(masterIdByPa);
hisInfnByPatientId(v_emrpatient.getFpatno());
} else {
existUpdate(v_emrpatient, masterIdByPa, pdfPathByIdAndHis);
}
} else {
//不存在患者时生成患者
uploadHomePageByPid(v_emrpatient.getFpatno());
//查询患者信息
ArchiveMaster archiveMaster = getMasterIdByPa(v_emrpatient.getFpatno());
archiveMasterList.add(archiveMaster);
//采集
hisInfnByPatientId(archiveMaster.getPatientId());
}
}
//查询补偿表中记录加到需要执行的archiveMasterList中
@ -105,12 +101,38 @@ public class HisService {
}
redirectHisInfo(list);
}
archiveMasterList.add(list);
hisInfnByPatientId(list.getPatientId());
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) {
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) {
e.printStackTrace();
}
finally {
} finally {
JDBCUtils.release(resultSet, statement, connection);
}
}
@ -244,7 +265,6 @@ public class HisService {
}
public int updateCompensate(ArchiveMaster archiveMaster) {
String sql = "update compensate set compensateState=1 where masterId=?";
Object[] parms = new Object[]{archiveMaster.getId()};
@ -269,8 +289,6 @@ public class HisService {
}
public ArchiveMaster getMasterIdByPa(String jzh) {
String sql = "select ID,patient_id from archive_master where patient_id = ?";
Object[] parms = new Object[]{jzh};
@ -301,9 +319,6 @@ public class HisService {
}
/**
* @description:
* @author linjj
@ -335,8 +350,6 @@ public class HisService {
}
//取his数据
public void uploadHisInfo(String patientId) {
String temp = System.getProperty("user.dir") + "\\temp";

Loading…
Cancel
Save