diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index 1775e237..39803d48 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -155,7 +155,7 @@ public class signListController { signList.setSysFlag(1); signList.setMasterID(master.get(0).getId()); signList.setPid(master.get(0).getPatientId()); - + signList.setOperateName(archiveMasterVo.getOperateName()); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); String username = user.getUserName(); signList.setC1(username); diff --git a/src/main/java/com/emr/entity/Archive_Master_Vo.java b/src/main/java/com/emr/entity/Archive_Master_Vo.java index 06f482da..a19a4d22 100644 --- a/src/main/java/com/emr/entity/Archive_Master_Vo.java +++ b/src/main/java/com/emr/entity/Archive_Master_Vo.java @@ -145,6 +145,16 @@ public class Archive_Master_Vo { //2021-3-20 新增总分 private String score; + public String getOperateName() { + return operateName; + } + + public void setOperateName(String operateName) { + this.operateName = operateName; + } + + String operateName; + //2021-2 缺陷数 private int numb; diff --git a/src/main/java/com/emr/entity/Sign_List.java b/src/main/java/com/emr/entity/Sign_List.java index 4a68c2c9..7ebe9dac 100644 --- a/src/main/java/com/emr/entity/Sign_List.java +++ b/src/main/java/com/emr/entity/Sign_List.java @@ -18,6 +18,15 @@ public class Sign_List { * 创建时间(该条记录写入数据库的时间) */ private String createdtime; + public String getOperateName() { + return operateName; + } + + public void setOperateName(String operateName) { + this.operateName = operateName; + } + + String operateName; /** * 具体签收内容(分段名称)由扫描时提供,以逗号分隔 */ diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 15afe3fb..45c2534e 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -552,15 +552,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //遍历匹配工号赋值姓名 String overTime1 = archiveMaster.getOverTime1(); String handleTime = archiveMaster.getHandleTime(); - String dischargeDateTime1 = archiveMaster.getDischargeDateTime(); -// String dischargeDateTime2="2022-05-04"; -// String handleTime1="2022-05-10"; try { date1=format.parse(overTime1); date2=format.parse(handleTime); -// date3=format.parse(dischargeDateTime2); -// date4=format.parse(dischargeDateTime1); -// date5=format.parse(handleTime1); } catch (ParseException e) { e.printStackTrace(); } @@ -570,37 +564,31 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { ca2.setTime(date2); long distanceMin =( ca2.getTimeInMillis()- ca1.getTimeInMillis())/(1000*60*60*24); int i= (int)distanceMin; - String dischargeDateTime = archiveMaster.getDischargeDateTime(); - Integer integer; - int integer1 = 0; - try { - Date parse = format.parse(dischargeDateTime); - archiveMaster.setDischargeDateTime1(parse); - integer = archiveMasterMapper.selectTime1(archiveMaster); - integer1=integer; - System.out.println("integer1::::"+integer1); - } catch (ParseException e) { - e.printStackTrace(); - } - String inpNo = archiveMaster.getInpNo(); - int iinpNo = Integer.parseInt(inpNo); - System.out.println("iinpNo:::::"+iinpNo); - if (iinpNo==1598263){ - archiveMaster.setOverTime(1); - }else - if (i>0 && integer1==2){ - int i1 = i - 2; - if (i1>0){ - archiveMaster.setOverTime(i1); - }else { - archiveMaster.setOverTime(0); - } - }else if (i>0 && integer1==1) { - archiveMaster.setOverTime(i); + if (i>0){ + archiveMaster.setOverTime(i); }else{ archiveMaster.setOverTime(0); } +// String inpNo = archiveMaster.getInpNo(); +// int iinpNo = Integer.parseInt(inpNo); +// System.out.println("iinpNo:::::"+iinpNo); +// if (iinpNo==1598263){ +// archiveMaster.setOverTime(1); +// }else +// if (i>0 && integer1==2){ +// int i1 = i - 2; +// if (i1>0){ +// archiveMaster.setOverTime(i1); +// }else { +// archiveMaster.setOverTime(0); +// } +// }else if (i>0 && integer1==1) { +// archiveMaster.setOverTime(i); +// }else{ +// archiveMaster.setOverTime(0); +// } + for (Power_User_Dto powerUserDto : powerUserList) { String name = powerUserDto.getName(); if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) { diff --git a/src/main/java/com/emr/util/OracleConnect.java b/src/main/java/com/emr/util/OracleConnect.java new file mode 100644 index 00000000..4f47f28a --- /dev/null +++ b/src/main/java/com/emr/util/OracleConnect.java @@ -0,0 +1,201 @@ +/* +package com.emr.util; + +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/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 5d36c3d6..6d1dec50 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -1464,6 +1464,12 @@ select f.id,f.handle_name,f.handle_id,f.handle_time,ISNULL(DATEDIFF(dd,CONVERT(VARCHAR(20),m.discharge_date_time,23),CONVERT(VARCHAR(20),f.handle_time,23)), 0) diffDay, + (SELECT max(b.date) + FROM (select top 4 date from emr_holiday_set where date >= CONVERT ( + VARCHAR (100), + m.discharge_date_time, + 23 + ) and flag= 1 order by date asc) as b) as overTime1 -- ( -- SELECT MAX(b.date) -- from @@ -1517,7 +1523,6 @@ -- ) - 3 -- ) -- end) as overTime - (select FROM) ,m.master_id,m.patient_id,m.inp_no,m.visit_id,m.name,ISNULL(c.name,m.dept_name) dept_name,m.discharge_date_time,m.DOCTOR_IN_CHARGE,m.first_instance,m.death_flag,ISNULL(e.name,m.dept_admission_to) dept_admission_to,admission_date_time diff --git a/src/main/resources/mapper/Sign_ListMapper.xml b/src/main/resources/mapper/Sign_ListMapper.xml index 84e432e7..14580831 100644 --- a/src/main/resources/mapper/Sign_ListMapper.xml +++ b/src/main/resources/mapper/Sign_ListMapper.xml @@ -204,6 +204,7 @@ T2, T3, IsFullText, + operateName, #{id}, @@ -227,6 +228,7 @@ #{t3}, #{isFullText}, #{isSign}, + #{operateName}, diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp index 2440765e..e17c16cd 100644 --- a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -1338,6 +1338,7 @@ + @@ -3477,9 +3478,10 @@ var inpNo=row.inpNo; var visitId=row.visitId; var isSign=1; + var operateName = $("#operateName").val(); if(inpNo!=null && inpNo!="" && inpNo!=undefined && inpNo!="undefined" && visitId!=null && visitId!="" && inpNo!=undefined && visitId!="undefined"){ - updateSignStateFun(inpNo,visitId,isSign); + updateSignStateFun(inpNo,visitId,isSign,operateName); }else{ toastr.warning("签收值格式应为:住院号-住院次数!"); } @@ -4113,11 +4115,11 @@ }); }); - function updateSignStateFun(inpNo,visitId,isSign){ + function updateSignStateFun(inpNo,visitId,isSign,operateName){ $.ajax({ url: "${path}/signList/addSignList", type: "POST", - data: {inpNo:inpNo, visitId: visitId, isSign:isSign,formToken:$("#formToken").val()}, + data: {inpNo:inpNo, visitId: visitId, isSign:isSign,formToken:$("#formToken").val(),operateName:operateName}, success: function (result) { if (result.indexOf("成功")!=-1) { $('#archiveIdSign').val(''); @@ -4145,11 +4147,11 @@ }); } - function updateSignStateFun2(patientId, visitId, isSign) { + function updateSignStateFun2(patientId, visitId, isSign,operateName) { $.ajax({ url: "${path}/signList/addSignList", type: "POST", - data: {patientId: patientId, visitId: visitId, isSign: isSign, formToken: $("#formToken").val()}, + data: {patientId: patientId, visitId: visitId, isSign: isSign, formToken: $("#formToken").val(),operateName:operateName}, success: function (result) { if (result.indexOf("成功") != -1) { $('#archiveIdSign').val(''); @@ -4210,12 +4212,14 @@ var inpNo = signArr[0]; var visitId = signArr[1]; var isSign = 1; - updateSignStateFun(inpNo, visitId, isSign); + var operateName = $("#operateName").val(); + updateSignStateFun(inpNo, visitId, isSign,operateName); } else if (signVal.length >= 13) { var patientId = signVal.slice(0, 11); var visitId = signVal.slice(12); var isSign = 1; - updateSignStateFun2(patientId, visitId, isSign); + var operateName = $("#operateName").val(); + updateSignStateFun2(patientId, visitId, isSign,operateName); } else { toastr.warning("签收值格式应为:住院号-住院次数!或长度大于12!"); return;