@ -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" ;