|
|
|
@ -105,6 +105,28 @@ public class HisService {
|
|
|
|
|
archiveMasterList.add(archiveMaster);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//查询补偿表中记录加到需要执行的archiveMasterList中
|
|
|
|
|
List<ArchiveMaster> compensate = getCompensate();
|
|
|
|
|
if (compensate.size()>0){
|
|
|
|
|
logger.log("有需要补偿病历,本次需要补偿"+compensate.size()+"份病历");
|
|
|
|
|
for (ArchiveMaster list :compensate){
|
|
|
|
|
//查询文件表是否存在
|
|
|
|
|
List<Archive_Detail> pdfPathByIdAndHis = getPdfPathByIdAndHis(list);
|
|
|
|
|
//存在则删除后新增
|
|
|
|
|
if (pdfPathByIdAndHis.size()>0){
|
|
|
|
|
//删除本地tup
|
|
|
|
|
for (Archive_Detail archiveDetail : pdfPathByIdAndHis) {
|
|
|
|
|
File file = new File(archiveDetail.getPdfPath().replace("F:\\pdf", "Z:"));
|
|
|
|
|
if (file.exists()) {
|
|
|
|
|
file.delete();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
redirectHisInfo(list);
|
|
|
|
|
}
|
|
|
|
|
archiveMasterList.add(list);
|
|
|
|
|
updateCompensate(list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return archiveMasterList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -139,6 +161,7 @@ public class HisService {
|
|
|
|
|
master.setDeptName(resultSet.getString("出院科室"));
|
|
|
|
|
master.setDoctorInCharge(resultSet.getString("主管医生"));
|
|
|
|
|
master.setBedId(resultSet.getString ("入院床位"));
|
|
|
|
|
master.setSource("hisTall");
|
|
|
|
|
if(!StringUtils.isNoneBlank (master.getDischargeDateTime ())){
|
|
|
|
|
master.setStatus("在院");
|
|
|
|
|
}else{
|
|
|
|
@ -162,8 +185,8 @@ public class HisService {
|
|
|
|
|
|
|
|
|
|
int writeHomeEntity(ArchiveMaster archiveMaster) {
|
|
|
|
|
String sql = "insert into archive_master(id,patient_id,inp_no,visit_id,name,sex,dept_name,discharge_date_time," +
|
|
|
|
|
"archivestate,admission_date_time,dept_admission_to,doctor_in_charge,id_no,bed_id)values(replace(newid(), '-', ''),?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
|
|
|
|
Object[] parms = new Object[]{archiveMaster.getPatientId(), archiveMaster.getInpNo(), archiveMaster.getVisitId(), archiveMaster.getName(), archiveMaster.getSex(), archiveMaster.getDeptName(), archiveMaster.getDischargeDateTime(), archiveMaster.getStatus(), archiveMaster.getAdmissionDateTime(), archiveMaster.getDeptAdmissionTo(), archiveMaster.getDoctorInCharge(), archiveMaster.getIdNo(),archiveMaster.getBedId ()};
|
|
|
|
|
"archivestate,admission_date_time,dept_admission_to,doctor_in_charge,id_no,bed_id,source)values(replace(newid(), '-', ''),?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
|
|
|
|
Object[] parms = new Object[]{archiveMaster.getPatientId(), archiveMaster.getInpNo(), archiveMaster.getVisitId(), archiveMaster.getName(), archiveMaster.getSex(), archiveMaster.getDeptName(), archiveMaster.getDischargeDateTime(), archiveMaster.getStatus(), archiveMaster.getAdmissionDateTime(), archiveMaster.getDeptAdmissionTo(), archiveMaster.getDoctorInCharge(), archiveMaster.getIdNo(),archiveMaster.getBedId (),archiveMaster.getSource()};
|
|
|
|
|
Connection connection = null;
|
|
|
|
|
PreparedStatement statement = null;
|
|
|
|
|
int j = 0;
|
|
|
|
@ -238,6 +261,34 @@ public class HisService {
|
|
|
|
|
return j;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int updateCompensate(ArchiveMaster archiveMaster) {
|
|
|
|
|
String sql = "update compensate set compensateState=1 where masterId=?";
|
|
|
|
|
Object[] parms = new Object[]{archiveMaster.getId()};
|
|
|
|
|
int j = 0;
|
|
|
|
|
Connection connection = null;
|
|
|
|
|
PreparedStatement statement = null;
|
|
|
|
|
try {
|
|
|
|
|
connection = JDBCUtils3.getConnection();
|
|
|
|
|
statement = connection.prepareStatement(sql);
|
|
|
|
|
if (parms != null && parms.length > 0) {
|
|
|
|
|
for (int i = 0; i < parms.length; i++) {
|
|
|
|
|
statement.setObject(i + 1, parms[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
j = statement.executeUpdate();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
JDBCUtils.release(null, statement, connection);
|
|
|
|
|
}
|
|
|
|
|
return j;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ArchiveMaster getMasterIdByPa(String jzh) {
|
|
|
|
|
String sql = "select ID,patient_id from archive_master where patient_id = ?";
|
|
|
|
|
Object[] parms = new Object[]{jzh};
|
|
|
|
@ -267,6 +318,43 @@ public class HisService {
|
|
|
|
|
return archiveMaster == null ? new ArchiveMaster() : archiveMaster;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @description: 补偿记录
|
|
|
|
|
* @author linjj
|
|
|
|
|
* @date: 2024/3/15 16:06
|
|
|
|
|
*/
|
|
|
|
|
public List<ArchiveMaster> getCompensate() {
|
|
|
|
|
String sql = "select masterId,patientId from compensate where compensateState = 0";
|
|
|
|
|
List<ArchiveMaster> archiveMasters = new ArrayList<ArchiveMaster>();
|
|
|
|
|
ArchiveMaster archiveMaster = null;
|
|
|
|
|
ResultSet resultSet = null;
|
|
|
|
|
Connection connection = null;
|
|
|
|
|
PreparedStatement statement = null;
|
|
|
|
|
try {
|
|
|
|
|
connection = JDBCUtils3.getConnection();
|
|
|
|
|
statement = connection.prepareStatement(sql);
|
|
|
|
|
resultSet = statement.executeQuery();
|
|
|
|
|
while (resultSet.next()) {
|
|
|
|
|
archiveMaster = new ArchiveMaster();
|
|
|
|
|
archiveMaster.setId(resultSet.getString("masterId"));
|
|
|
|
|
archiveMaster.setPatientId(resultSet.getString("patientId"));
|
|
|
|
|
archiveMasters.add(archiveMaster);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
JDBCUtils.release(resultSet, statement, connection);
|
|
|
|
|
}
|
|
|
|
|
return archiveMasters;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//取his数据
|
|
|
|
|
public void uploadHisInfo(String patientId) {
|
|
|
|
|
String temp = System.getProperty("user.dir") + "\\temp";
|
|
|
|
@ -486,7 +574,7 @@ public class HisService {
|
|
|
|
|
map.put("810", "C7C73CD034B440F6B33A79E382A5610F");
|
|
|
|
|
map.put("832", "DE599D770E8347CCB5122BC357D96F35");
|
|
|
|
|
map.put("814", "DE599D770E83479CB5126BC357D96F35");
|
|
|
|
|
map.put("816", "DE599D770E8347CCB5122BC357D96F35");
|
|
|
|
|
map.put("816", "DE599D770E83479CB5126BC357D96F35");
|
|
|
|
|
map.put("818", "C70E8C427A3648B79BE80798C08F4D12");
|
|
|
|
|
map.put("806", "7A9C621E3F4F4C9CA95292141C5E15E8");
|
|
|
|
|
map.put("025", "0DB93797885746B18DAF6C0C936D2DCA");
|
|
|
|
|