From 273c88e180f0588ce0dae295ef9520d03501ffa0 Mon Sep 17 00:00:00 2001 From: hujl Date: Fri, 7 Jan 2022 13:36:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=88=97=E8=A1=A8=EF=BC=9A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E3=80=81SQL=E4=BF=AE=E6=94=B9=E5=8F=8A?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=81=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/VCountController.java | 12 +- src/main/java/com/emr/entity/V_Count.java | 22 ++ .../ipml/Emr_Fault_DetailServiceImpl.java | 8 +- .../emr/service/ipml/V_CountServiceImpl.java | 3 +- src/main/resources/mapper/V_CountMapper.xml | 342 +++++++----------- .../WEB-INF/views/vCountDir/vCountList.jsp | 184 ++++++---- 6 files changed, 276 insertions(+), 295 deletions(-) diff --git a/src/main/java/com/emr/controller/VCountController.java b/src/main/java/com/emr/controller/VCountController.java index a9b893ab..3725db51 100644 --- a/src/main/java/com/emr/controller/VCountController.java +++ b/src/main/java/com/emr/controller/VCountController.java @@ -67,9 +67,9 @@ public class VCountController { @ResponseBody @RequestMapping(value = "/exportExcel") public void exportExcel(HttpServletResponse response, V_Count vCount) throws Exception { - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - String[] header = {"科室代码","科室名称","出院人数","已归档","未归档","死亡人数","归档率(%)","2日率(%)","3日率(%)","7日率(%)"}; - String[] fileNames = {"deptCode","deptName","outNum","fileNum","unfileNum","deathNum","fileRate","day2Rate","day3Rate","day7Rate"}; + response.setContentType("application/vnd.ms-excel;charset=UTF-8");//归档率(%) fileRate + String[] header = {"科室代码","科室名称","在院合计","出院合计","已归档数","未归档数","死亡人数","2日死亡人数","3日死亡人数","归档率(%)","2日率(%)","3日率(%)","7日率(%)","迟交合计","迟交率(%)","及时合计","及时率(%)"}; + String[] fileNames = {"deptCode","deptName","inNum","isOutNum","fileNum","unfileNum","deathNum","death2Num","death3Num","fileRate","day2Rate","day3Rate","day7Rate","timeOutNum","timeOutRate","inTime","inTimeRate"}; //文件名 String fileName = "统计数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; //构造excel的数据 @@ -82,13 +82,13 @@ public class VCountController { @RequestMapping(value = "/exportExcel2") public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - String[] header = {"名字,入院科室,入院日期,出院科室,出院日期,主管医生"}; + String[] header = {"患者姓名","入院科室","入院日期","出院科室","出院日期","主管医生"}; String[] fileNames = {"name","deptAdmissionTo","admissionDateTime","deptName","dischargeDateTime","doctorInCharge"}; //文件名 String fileName = "未归档病历列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; //构造excel的数据 List list = archiveMasterService.selectByUnfileAndColumn(archiveMasterVo,null,null); - Emr_Dictionary dic = new Emr_Dictionary(); + /* Emr_Dictionary dic = new Emr_Dictionary(); dic.setEffective(1); dic.setTypecode("dept_code"); //科室列表 @@ -109,7 +109,7 @@ public class VCountController { list.get(i).setDeptAdmissionTo(dept2); } } - } + }*/ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); String result=utils.exportExcelToFilePath(response,utils.listConvert(list)); diff --git a/src/main/java/com/emr/entity/V_Count.java b/src/main/java/com/emr/entity/V_Count.java index dbf3a695..7ec725dd 100644 --- a/src/main/java/com/emr/entity/V_Count.java +++ b/src/main/java/com/emr/entity/V_Count.java @@ -6,6 +6,8 @@ */ package com.emr.entity; +import org.apache.commons.lang3.StringUtils; + public class V_Count { private String deptCode; @@ -21,6 +23,10 @@ public class V_Count { private Integer deathNum; + private Integer death2Num; + + private Integer death3Num; + private String fileRate; private String day2Rate; @@ -165,6 +171,22 @@ public class V_Count { this.deathNum = deathNum; } + public Integer getDeath2Num() { + return death2Num; + } + + public void setDeath2Num(Integer death2Num) { + this.death2Num = death2Num; + } + + public Integer getDeath3Num() { + return death3Num; + } + + public void setDeath3Num(Integer death3Num) { + this.death3Num = death3Num; + } + public String getFileRate() { return fileRate; } diff --git a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java index 31abdc6f..a66ff322 100644 --- a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java @@ -538,11 +538,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { }); for (Emr_Fault_Vo emr_fault_vo : list) { - //主管医生 - JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); - //创建人 - userInfo = mappedMovies.get(emr_fault_vo.getCreater()); + JSONObject userInfo = mappedMovies.get(emr_fault_vo.getCreater()); if (userInfo == null) { emr_fault_vo.setCreater(emr_fault_vo.getCreater()); } else { @@ -570,9 +567,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { }); for (Emr_Fault_Vo emr_fault_vo : list) { - JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); //创建人 - userInfo = mappedMovies.get(emr_fault_vo.getCreater()); + JSONObject userInfo = mappedMovies.get(emr_fault_vo.getCreater()); if (userInfo == null) { emr_fault_vo.setCreater(emr_fault_vo.getCreater()); } else { diff --git a/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java b/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java index 081624bd..941d024e 100644 --- a/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java @@ -28,7 +28,8 @@ public class V_CountServiceImpl implements V_CountService { @Override public List selectByCol(V_Count record) { - return vCountMapper.selectByCol(record); + List list = vCountMapper.selectByCol(record); + return list; } diff --git a/src/main/resources/mapper/V_CountMapper.xml b/src/main/resources/mapper/V_CountMapper.xml index 650af97e..4b26272e 100644 --- a/src/main/resources/mapper/V_CountMapper.xml +++ b/src/main/resources/mapper/V_CountMapper.xml @@ -10,6 +10,8 @@ + + @@ -18,13 +20,10 @@ - - - @@ -39,49 +38,42 @@ - deptCode, deptName, inNum, outNum, fileNum, unfileNum, deathNum, fileRate, + deptCode, deptName, inNum, outNum, fileNum, unfileNum, deathNum, death2Num, death3Num, fileRate, day2Rate, day3Rate, day7Rate -
+
-
+
<%-- -
@@ -100,15 +110,19 @@
+ +
+ + +
- - - + + + <%-- --%>
-
@@ -880,6 +894,7 @@ deptCode: deptName.toString(), startDate: $("#startDate").val(), endDate: $("#endDate").val(), + timeOutNum: $("#timeOutNum").val(), overdueDays: $("#overdueDays").val() }; @@ -911,31 +926,105 @@ title: '科室代码', field: 'deptCode', align: 'left', - valign: 'middle', + valign: 'middle' }, { title: '科室名称', field: 'deptName', align: 'left', - valign: 'middle', + valign: 'middle' }, - // { - // title: '在院人数', - // field: 'inNum', - // align: 'center', - // valign: 'middle', - // }, { + title: '在院合计', + field: 'inNum', + align: 'center', + valign: 'middle' + }, { title: '出院合计', field: 'isOutNum', align: 'center', + valign: 'middle' + },{ + title: '已归档数', + field: 'fileNum', + align: 'center', + valign: 'middle' + }, { + title: '未归档数', + field: 'unfileNum', + align: 'center', + valign: 'middle' + }, { + title: '死亡数', + field: 'deathNum', + align: 'center', + valign: 'middle' + }, { + title: '2日死亡数', + field: 'death2Num', + align: 'center', + valign: 'middle' + }, { + title: '3日死亡数', + field: 'death3Num', + align: 'center', + valign: 'middle' + }, { + title: '归档率', + field: 'fileRate', + align: 'center', + valign: 'middle', + formatter: function (value, row, index) { + var val; + if (row.fileRate != null && row.fileRate != '') { + val = (row.fileRate) + "%"; + } + return val; + } + }, { + title: '2日归档率', + field: 'day2Rate', + align: 'center', valign: 'middle', + formatter: function (value, row, index) { + var val; + if (row.day2Rate != null && row.day2Rate != '') { + val = (row.day2Rate) + "%"; + } + return val; + } }, + { + title: '3日归档率', + field: 'day3Rate', + align: 'center', + valign: 'middle', + formatter: function (value, row, index) { + var val; + if (row.day3Rate != null && row.day3Rate != '') { + val = (row.day3Rate ) + "%"; + } + return val; + } + }, { + title: '7日归档率', + field: 'day7Rate', + align: 'center', + valign: 'middle', + formatter: function (value, row, index) { + var val; + if (row.day7Rate != null && row.day7Rate != '') { + val = (row.day7Rate) + "%"; + } + return val; + } + }, + { title: '迟交合计', field: 'timeOutNum', align: 'center', - valign: 'middle', + valign: 'middle' }, { title: '迟交率', @@ -945,7 +1034,7 @@ formatter: function (value, row, index) { var val; if (row.timeOutRate != null && row.timeOutRate != '') { - val = (row.timeOutRate * 100) + "%"; + val = (row.timeOutRate) + "%"; } return val; @@ -955,7 +1044,7 @@ title: '及时合计', field: 'inTime', align: 'center', - valign: 'middle', + valign: 'middle' }, { title: '及时率', @@ -965,7 +1054,7 @@ formatter: function (value, row, index) { var val; if (row.inTimeRate != null && row.inTimeRate != '') { - val = (row.inTimeRate * 100) + "%"; + val = (row.inTimeRate) + "%"; } return val; @@ -990,56 +1079,6 @@ //查询 $('#searchBtn').click(function () { - //判断开始和结束日期的是否超过上限 - var startDate =$("#startDate").val(); - var endDate =$("#endDate").val(); - - //所有其它条件都为空 - if($("#overdueDays").val().length<=0 && $("#deptName").val().length<=0){ - //单位 - var dateType="月"; - //上限 - var upperLimit=1; - if('<%=res.getString("dateType")%>'.trim()!=""&&'<%=res.getString("dateType")%>'!=null && '<%=res.getString("upperLimit")%>'.trim()!="" &&'<%=res.getString("upperLimit")%>'!=null){ - //单位 - dateType='<%=res.getString("dateType")%>'; - //上限 - upperLimit=parseInt('<%=res.getString("upperLimit")%>'); - //console.log(dateType+"==单位=="+"==上限="+upperLimit); - if(endDate==null || endDate==""){ - var myDate = new Date(); - var nowY = myDate.getFullYear(); - var nowM = myDate.getMonth() + 1; - var nowD = myDate.getDate(); - endDate = nowY + "-" + (nowM < 10 ? "0" + nowM : nowM) + "-" + (nowD < 10 ? "0" + nowD : nowD);//当前日期 - } - if(startDate!=null && startDate!="" && endDate!=null && endDate!="") { - if (dateType=="year") { - var year = YearsBetw(startDate,endDate); - if(year>upperLimit){ - toastr.warning("出院日期按年算(总年数)不得超过"+upperLimit+"年!"); - return; - } - } else if (dateType=="month") { - var month=MonthsBetw(startDate,endDate); - if(month>upperLimit){ - toastr.warning("出院日期按月算(总月数)不得超过"+upperLimit+"月!"); - return; - } - } else { - //天 - var day=DateDiff(startDate,endDate); - if(day>upperLimit){ - toastr.warning("出院日期按天算(总天数)不得超过"+upperLimit+"天!"); - return; - } - } - } - } - } - /*else{ - toastr.warning("统计列表未配置日期单位及上限!"); - }*/ //查询之后重新从第一页算起 if (tipLoad == 0) { $("#table").bootstrapTable("refreshOptions", {pageNumber: 1}); @@ -1082,8 +1121,11 @@ } var startDate = $("#startDate").val(); var endDate = $("#endDate").val(); + var timeOutNum=$("#timeOutNum").val(); + var overdueDays=$("#overdueDays").val(); + window.location.href = "${path}/vCount/exportExcel?deptCode=" + deptName + "&startDate=" + startDate - + "&endDate=" + endDate; + + "&endDate=" + endDate+ "&timeOutNum=" + timeOutNum+ "&overdueDays=" + overdueDays; }); //导出excel功能