From f30cb3c3568159c9dc59311b1ea9ca59ce16187b Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Thu, 21 Mar 2024 15:07:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=BB=E4=BA=A1=E5=B0=8F=E7=BB=93=E6=9B=B4?= =?UTF-8?q?=E6=8D=A2=E5=88=86=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xjgs/service/HisService.java | 94 ++++++++++++++++++- src/main/java/com/xjgs/vo/ArchiveMaster.java | 9 ++ 2 files changed, 100 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xjgs/service/HisService.java b/src/main/java/com/xjgs/service/HisService.java index 49247e2..34baef8 100644 --- a/src/main/java/com/xjgs/service/HisService.java +++ b/src/main/java/com/xjgs/service/HisService.java @@ -105,6 +105,28 @@ public class HisService { archiveMasterList.add(archiveMaster); } } + //查询补偿表中记录加到需要执行的archiveMasterList中 + List compensate = getCompensate(); + if (compensate.size()>0){ + logger.log("有需要补偿病历,本次需要补偿"+compensate.size()+"份病历"); + for (ArchiveMaster list :compensate){ + //查询文件表是否存在 + List 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 getCompensate() { + String sql = "select masterId,patientId from compensate where compensateState = 0"; + List archiveMasters = new ArrayList(); + 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"); diff --git a/src/main/java/com/xjgs/vo/ArchiveMaster.java b/src/main/java/com/xjgs/vo/ArchiveMaster.java index 1ca7a58..b64ca3d 100644 --- a/src/main/java/com/xjgs/vo/ArchiveMaster.java +++ b/src/main/java/com/xjgs/vo/ArchiveMaster.java @@ -29,6 +29,15 @@ public class ArchiveMaster { private String status; private String bedId; + private String source; + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } public String getId() { return id;