From 415c4b89635e2045e5616ac9aab89fc5d2880e97 Mon Sep 17 00:00:00 2001 From: ALW <850658129@qq.com> Date: Fri, 15 Apr 2022 14:52:15 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=BD=92=E6=A1=A3=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E9=87=8C=E4=B8=BB=E7=AE=A1=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E8=A6=81=E5=8F=96=E7=94=B5=E5=AD=90=E7=97=85=E5=8E=86=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E4=B8=8A=E4=B8=BB=E7=AE=A1=E5=8C=BB=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 + .../entity/interfaceEntity/ArchiveMaster.java | 2 + .../demo/service/ArchiveMasterService.java | 2 + .../demo/service/impl/AnalysisService.java | 29 +++ .../impl/ArchiveMasterServiceImpl.java | 4 + .../com/ann/demo/utils/OracleConnect.java | 189 ++++++++++++++++++ .../com/ann/demo/utils/PropertiesUtils.java | 29 +++ src/main/resources/application.properties | 8 + 8 files changed, 273 insertions(+) create mode 100644 src/main/java/com/ann/demo/utils/OracleConnect.java create mode 100644 src/main/java/com/ann/demo/utils/PropertiesUtils.java create mode 100644 src/main/resources/application.properties diff --git a/pom.xml b/pom.xml index 273edd0..3c4005b 100644 --- a/pom.xml +++ b/pom.xml @@ -98,12 +98,22 @@ 2.5.1 + + com.oracle.database.jdbc + ojdbc6 + 11.2.0.4 + org.springframework.boot spring-boot-starter-quartz + + com.alibaba + druid + 1.2.8 + diff --git a/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java b/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java index d4b7224..7870693 100644 --- a/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java +++ b/src/main/java/com/ann/demo/entity/interfaceEntity/ArchiveMaster.java @@ -153,6 +153,8 @@ public class ArchiveMaster { private String isScanning = "0"; + private String ATTENDING_DOCTOR_ID; + } diff --git a/src/main/java/com/ann/demo/service/ArchiveMasterService.java b/src/main/java/com/ann/demo/service/ArchiveMasterService.java index 6bfab7e..215994a 100644 --- a/src/main/java/com/ann/demo/service/ArchiveMasterService.java +++ b/src/main/java/com/ann/demo/service/ArchiveMasterService.java @@ -43,4 +43,6 @@ public interface ArchiveMasterService { boolean updateArchiveMasterArchiveState(ArchiveMaster archiveMaster); + + } diff --git a/src/main/java/com/ann/demo/service/impl/AnalysisService.java b/src/main/java/com/ann/demo/service/impl/AnalysisService.java index 2012a94..f37dec5 100644 --- a/src/main/java/com/ann/demo/service/impl/AnalysisService.java +++ b/src/main/java/com/ann/demo/service/impl/AnalysisService.java @@ -8,11 +8,13 @@ import com.ann.demo.entity.interfaceEntity.ArchiveMaster; import com.ann.demo.entity.interfaceEntity.MessageLog; import com.ann.demo.entity.normalEntity.OutPara; import com.ann.demo.service.*; +import com.ann.demo.utils.OracleConnect; import com.ann.demo.utils.XMLUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; +import java.util.List; import java.util.Objects; /** @@ -61,6 +63,8 @@ public class AnalysisService { String textContentTemp = null; if (Objects.equals(messageDto.getEntity(), ArchiveMaster.class.getName())) { // 患者信息 ArchiveMaster archiveMaster = JSON.parseObject(messageDto.getObject().toString(), ArchiveMaster.class); + //修改主管医生方法 + setBedManager(archiveMaster,parameter); //查询患者是否存在 archiveMasterId = archiveMasterService.findArchiveMasterId( archiveMaster.getVisitId(), archiveMaster.getPatientId(),archiveMaster.getInpNo()); if (archiveMasterId != null) { @@ -92,6 +96,31 @@ public class AnalysisService { return outContent; } + /** + * + * @param archiveMaster + * @param parameter + */ + private void setBedManager(ArchiveMaster archiveMaster, String parameter) { + if (parameter.equals(InterfaceName.BED_MANAGER)){ + //查主管医生id + String inpNo = archiveMaster.getInpNo(); + String visitId = archiveMaster.getVisitId(); + String selectSql = "SELECT ATTENDING_DOCTOR_ID FROM DOCUS.LJJ_V_ATTENDING where INP_NO= '"+inpNo+"' and VISIT_ID ='"+visitId+"' "; + List counts = null; + try { + counts = OracleConnect.selectList(selectSql); + String s = counts.get(0); + archiveMaster.setDoctorInCharge(s); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("审核时查询oracle记录失败"); + } + + } + + } + private String changeArchiveMaster(ArchiveMaster archiveMaster, String changeStatus, String aliasName) throws Exception{ String textContent = null; try { diff --git a/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java b/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java index 0c94e69..d6e1158 100644 --- a/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java +++ b/src/main/java/com/ann/demo/service/impl/ArchiveMasterServiceImpl.java @@ -25,6 +25,8 @@ public class ArchiveMasterServiceImpl implements ArchiveMasterService { @Autowired private ArchiveMasterRepository archiveMasterRepository; + + @Autowired private InterfaceHisCacheService interfaceHisCacheService; @@ -197,5 +199,7 @@ public class ArchiveMasterServiceImpl implements ArchiveMasterService { return false; } + + } diff --git a/src/main/java/com/ann/demo/utils/OracleConnect.java b/src/main/java/com/ann/demo/utils/OracleConnect.java new file mode 100644 index 0000000..675a03e --- /dev/null +++ b/src/main/java/com/ann/demo/utils/OracleConnect.java @@ -0,0 +1,189 @@ +package com.ann.demo.utils; + +import com.alibaba.druid.pool.DruidDataSource; + +import java.sql.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Oracle链接数据库对象 + * + * @author ZL + * + * 2017年7月27日 + */ +public class OracleConnect { + private static DruidDataSource dataSourceTest = null; + private static PreparedStatement pst = null; + public static ResultSet rs = null; + + private String url = PropertiesUtils.getProperty("oracleUrl"); + private String userName = PropertiesUtils.getProperty("oracleUserName"); + private String passWord = PropertiesUtils.getProperty("oraclePassWord"); + /** + * 构造函数完成数据库的连接和连接对象的生成 + */ + private OracleConnect() { + try { + if (dataSourceTest == null) { + dataSourceTest = new DruidDataSource(); + // 设置连接参数 + dataSourceTest.setUrl("jdbc:oracle:thin:@" + url); + dataSourceTest.setDriverClassName("oracle.jdbc.driver.OracleDriver"); + dataSourceTest.setUsername(userName); + dataSourceTest.setPassword(passWord); + dataSourceTest.setInitialSize(3); + dataSourceTest.setMaxActive(10); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 取得已经构造生成的数据库连接 + * + * @return 返回数据库连接对象 + */ + public Connection getConnect() { + try { + return dataSourceTest.getConnection(); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 使用完一定要关闭(释放资源) + * @param rs ResultSet + * @param stat Statement + * @param conn Connection + * @throws Exception + */ + private static void CloseConn(ResultSet rs, Statement stat, Connection conn){ + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (stat != null) { + try { + stat.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + /** + * 查询一条(多条)记录 + * + * @param arg0 查询的sql语句 + * @return list + * @throws Exception + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public static String select(String arg0) throws Exception { + String str = ""; + Connection conn = new OracleConnect().getConnect(); + pst = conn.prepareStatement(arg0); + rs = pst.executeQuery(); + try { + if (rs != null) { + while (rs.next()) { + str = rs.getString(1); + } + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + OracleConnect.CloseConn(rs, pst, conn); + } + return str; + } + public static List selectList(String arg0) throws Exception { + List str = new ArrayList<>(); + Connection conn = new OracleConnect().getConnect(); + pst = conn.prepareStatement(arg0); + rs = pst.executeQuery(); + try { + if (rs != null) { + while (rs.next()) { + str.add(rs.getString(1)); + } + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + OracleConnect.CloseConn(rs, pst, conn); + } + return str; + } + public static List selectListConvertMap(String sql) throws Exception{ + List list = new ArrayList<>(); + Connection conn = new OracleConnect().getConnect(); + pst = conn.prepareStatement(sql); + rs = pst.executeQuery(); + try { + if (rs != null) { + ResultSetMetaData md = rs.getMetaData();//获取键名 + int columnCount = md.getColumnCount();//获取列的数量 + while (rs.next()) { + Map rowData = new HashMap<>();//声明Map + for (int i = 1; i <= columnCount; i++) { + rowData.put(md.getColumnName(i), rs.getObject(i));//获取键名及值 + } + list.add(rowData); + } + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + OracleConnect.CloseConn(rs, pst, conn); + } + return list; + } + + public static int insert(String sql){ + Connection conn = new OracleConnect().getConnect(); + try { + pst=conn.prepareStatement(sql); + int i = pst.executeUpdate(); + conn.commit(); + return i; + } catch (SQLException e) { + e.printStackTrace(); + throw new RuntimeException(""); + }finally { + OracleConnect.CloseConn(null, pst, conn); + } + } + + public static int update(String sql) throws Exception { + Connection conn = new OracleConnect().getConnect(); + try { + Statement stmt=conn.createStatement();//创建一个Statement对象 + int i = stmt.executeUpdate(sql);//执行SQL语句 + conn.commit(); + return i; + } catch (SQLException e) { + e.printStackTrace(); + }finally { + OracleConnect.CloseConn(null, pst, conn); + } + return 1; + } +} diff --git a/src/main/java/com/ann/demo/utils/PropertiesUtils.java b/src/main/java/com/ann/demo/utils/PropertiesUtils.java new file mode 100644 index 0000000..0505cb9 --- /dev/null +++ b/src/main/java/com/ann/demo/utils/PropertiesUtils.java @@ -0,0 +1,29 @@ +package com.ann.demo.utils; + + +import java.io.IOException; +import java.util.Properties; + +public class PropertiesUtils { + private static String fileName = "\\application.properties"; + private static Properties props; + + synchronized static private void loadProps(){ + if (props==null) { + props = new Properties(); + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + try { + props.load(loader.getResourceAsStream(fileName)); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public static String getProperty(String key){ + if(null == props) { + loadProps(); + } + return props.getProperty(key); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..d6a672b --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,8 @@ +#spring.datasource.driver-class-name: oracle.jdbc.driver.OracleDriver +#spring.datasource.url: jdbc:oracle:thin:@120.27.212.36:1521:ORCL +#spring.datasource.username: docus +#spring.datasource.password: docus702 + +oracleUrl = 120.27.212.36:1521:ORCL +oracleUserName = docus +oraclePassWord = docus702