From 9cd5be03c242cf227c3e72f7ecd7804119d91f9c Mon Sep 17 00:00:00 2001 From: hujl Date: Fri, 31 Dec 2021 11:59:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=B8=E8=B4=A8=E7=97=85=E5=8E=86=E7=AD=BE?= =?UTF-8?q?=E6=94=B6=E5=88=97=E8=A1=A8=EF=BC=881=E3=80=81=E7=AD=BE?= =?UTF-8?q?=E6=94=B6=E4=BA=BA=E5=8E=9F=E6=9C=89=E6=9F=A5=E8=AF=A2=E6=98=AF?= =?UTF-8?q?=E6=82=A3=E8=80=85=E5=A7=93=E5=90=8D=EF=BC=8C=E6=94=B9=E6=88=90?= =?UTF-8?q?=E7=AD=BE=E6=94=B6=E4=BA=BA=E6=9F=A5=E8=AF=A2=E7=AD=BE=E6=94=B6?= =?UTF-8?q?=E4=BA=BA=E5=B9=B6=E4=B8=BA=E4=B8=8B=E6=8B=89=E6=A1=86=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0=E6=82=A3=E8=80=85=E5=A7=93=E5=90=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=97=E6=AE=B5=EF=BC=8C2=E3=80=81?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E9=94=99=E8=AF=AF=E6=94=B9=E6=88=90=E7=BA=B8?= =?UTF-8?q?=E8=B4=A8=E7=97=85=E5=8E=86=E7=AD=BE=E6=94=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C3=E3=80=81=E6=A0=BC=E5=BC=8F=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=EF=BC=8C=204=E3=80=81=E7=AD=BE=E6=94=B6=E4=BA=BA=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E8=BD=AC=E6=8D=A2=E6=88=90=E5=90=8D=E7=A7=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emr/controller/signListController.java | 28 +++--- .../com/emr/service/Sign_ListService.java | 6 ++ .../ipml/Emr_Fault_DetailServiceImpl.java | 81 ++++++++-------- .../service/ipml/Sign_ListServiceImpl.java | 57 ++++++++++++ src/main/resources/mapper/Sign_ListMapper.xml | 2 +- .../WEB-INF/views/signListDir/signList.jsp | 93 ++++++++++--------- 6 files changed, 169 insertions(+), 98 deletions(-) diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index b3ed2e7f..4016ac7f 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -100,6 +100,20 @@ public class signListController { return result; } + @ResponseBody + @RequestMapping(value = "/exportExcel") + public void exportExcel(HttpServletResponse response, Sign_List_Vo signListVo) throws Exception { + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + String[] header = {"病历清单id", "住院号", "住院次数", "名字", "出院科室", "出院日期", "签收状态", "是否有纸质病历送病案室", "签收人", "签收日期", "签收次数"}; + String[] fileNames = {"id", "inpNo", "visitId", "name", "deptName", "dischargeDateTime", "c5", "isscaned", "c1", "dTime", "num"}; + //文件名 + String fileName = "纸质病历签收列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; + //构造excel的数据 + List list = signListService.selectSignList(signListVo); + ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); + String result = utils.exportExcelToFilePath(response, utils.listConvert(list)); + } + @ResponseBody @RequestMapping(value = "/addSignList") @@ -211,19 +225,7 @@ public class signListController { return result; }*/ - @ResponseBody - @RequestMapping(value = "/exportExcel") - public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { - response.setContentType("application/vnd.ms-excel;charset=UTF-8"); - String[] header = {"病历清单id", "住院号", "住院次数", "名字", "性别", "身份证", "出院科室", "出院日期", "主管医生", "状态", "医生是否提交", "医生", "医生提交日期", "护士是否提交", "护士", "护士提交日期", "电子病历医生提交", "电子病历护士提交", "是否死亡", "是否签收", "签收人", "签收时间"}; - String[] fileNames = {"id", "inpNo", "visitId", "name", "sex", "idNo", "deptName", "dischargeDateTime", "doctorInCharge", "archivestate", "cmtDoctor", "doctorName", "cmtDoctorDate", "cmtNurse", "nurseName", "cmtDurseDate", "emrDoctorCmt", "emrNureCmt", "deathFlag", "is_sign", "signer", "sign_time"}; - //文件名 - String fileName = "病案室终审" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; - //构造excel的数据 - List list = archiveMasterService.selectByLastByColumn(archiveMasterVo,null,null); - ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); - String result = utils.exportExcelToFilePath(response, utils.listConvert(list)); - } + @ResponseBody diff --git a/src/main/java/com/emr/service/Sign_ListService.java b/src/main/java/com/emr/service/Sign_ListService.java index 556bc7eb..6703fcbb 100644 --- a/src/main/java/com/emr/service/Sign_ListService.java +++ b/src/main/java/com/emr/service/Sign_ListService.java @@ -23,6 +23,12 @@ public interface Sign_ListService { * @return */ OffsetLimitPage selectSignList(Sign_List_Vo signListVo, Integer offset, Integer limit); + /** + * 根据字段查询Vo记录 + * @param + * @return + */ + List selectSignList(Sign_List_Vo signListVo); /** * 根据字段查询记录 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 bcf8db0c..b9d39b4e 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 @@ -473,28 +473,30 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { @Override public List selByCol(Emr_Fault_Vo emrFaultVo) { List list=emrFaultDetailMapper.selByCol(emrFaultVo); - JSONArray powerUsers = powerUserService.getPowerUserList("1"); - List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); - if (powerUserList != null){ - Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { - @Override - public String apply(JSONObject temp) { - return temp.getString("userName"); - }}); + if(list!=null && list.size()>0) { + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); + if (powerUserList != null) { + Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { + @Override + public String apply(JSONObject temp) { + return temp.getString("userName"); + } + }); - for (Emr_Fault_Vo emr_fault_vo : list) { - //主管医生 - JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); + for (Emr_Fault_Vo emr_fault_vo : list) { + //主管医生 + JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); - //创建人 - userInfo = mappedMovies.get(emr_fault_vo.getCreater()); - if (userInfo==null){ - emr_fault_vo.setCreater(emr_fault_vo.getCreater()); - }else { - emr_fault_vo.setCreater(userInfo.getString("name")); + //创建人 + userInfo = mappedMovies.get(emr_fault_vo.getCreater()); + if (userInfo == null) { + emr_fault_vo.setCreater(emr_fault_vo.getCreater()); + } else { + emr_fault_vo.setCreater(userInfo.getString("name")); + } } } - } return list; } @@ -503,27 +505,28 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { public OffsetLimitPage selByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); List list = emrFaultDetailMapper.selByCol(emrFaultVo); - - JSONArray powerUsers = powerUserService.getPowerUserList("1"); - List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); - if (powerUserList != null){ - Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { - @Override - public String apply(JSONObject temp) { - return temp.getString("userName"); - }}); - - for (Emr_Fault_Vo emr_fault_vo : list) { - - JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); - //创建人 - userInfo = mappedMovies.get(emr_fault_vo.getCreater()); - if (userInfo==null){ - emr_fault_vo.setCreater(emr_fault_vo.getCreater()); - }else { - emr_fault_vo.setCreater(userInfo.getString("name")); - } - } + if(list!=null && list.size()>0) { + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); + if (powerUserList != null) { + Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { + @Override + public String apply(JSONObject temp) { + return temp.getString("userName"); + } + }); + + for (Emr_Fault_Vo emr_fault_vo : list) { + JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge()); + //创建人 + userInfo = mappedMovies.get(emr_fault_vo.getCreater()); + if (userInfo == null) { + emr_fault_vo.setCreater(emr_fault_vo.getCreater()); + } else { + emr_fault_vo.setCreater(userInfo.getString("name")); + } + } + } } return new OffsetLimitPage((Page) list); } diff --git a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java index 7232170b..8dca9cbc 100644 --- a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java @@ -15,12 +15,15 @@ import com.emr.service.Archive_MasterService; import com.emr.service.Emr_DictionaryService; import com.emr.service.PowerUserService; import com.emr.service.Sign_ListService; +import com.emr.vo.Power_User_Dto; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.base.Function; import com.google.common.collect.Maps; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; @@ -41,9 +44,63 @@ public class Sign_ListServiceImpl implements Sign_ListService { public OffsetLimitPage selectSignList(Sign_List_Vo signListVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); List list =signListMapper.selectSignList(signListVo); + if(list!=null && list.size()>0){ + //查询用户集合 + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = null; + if (!CollectionUtils.isEmpty(powerUsers)) { + //转换对象 + powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class); + } + //遍历赋值 + for (Sign_List_Vo sign_list_vo : list) { + if (null != powerUserList) { + //获取签收人 + String singer = sign_list_vo.getC1(); + //遍历匹配工号赋值姓名 + for (Power_User_Dto powerUserDto : powerUserList) { + String name = powerUserDto.getName(); + if (StringUtils.isNotBlank(singer) && powerUserDto.getUserName().equals(singer)) { + sign_list_vo.setC1(name); + } + + } + } + } + } return new OffsetLimitPage((Page) list); } + @Override + public List selectSignList(Sign_List_Vo signListVo) { + List list =signListMapper.selectSignList(signListVo); + if(list!=null && list.size()>0){ + //查询用户集合 + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = null; + if (!CollectionUtils.isEmpty(powerUsers)) { + //转换对象 + powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class); + } + //遍历赋值 + for (Sign_List_Vo sign_list_vo : list) { + if (null != powerUserList) { + //获取签收人 + String singer = sign_list_vo.getC1(); + //遍历匹配工号赋值姓名 + for (Power_User_Dto powerUserDto : powerUserList) { + String name = powerUserDto.getName(); + if (StringUtils.isNotBlank(singer) && powerUserDto.getUserName().equals(singer)) { + sign_list_vo.setC1(name); + } + + } + } + } + } + return list; + } + @Override public List selectSignListWith(Sign_List signList) { return signListMapper.selectSignListWith(signList); diff --git a/src/main/resources/mapper/Sign_ListMapper.xml b/src/main/resources/mapper/Sign_ListMapper.xml index 9ba7d6de..ed14062d 100644 --- a/src/main/resources/mapper/Sign_ListMapper.xml +++ b/src/main/resources/mapper/Sign_ListMapper.xml @@ -94,7 +94,7 @@ and s.masterID = #{masterID} and s.detailID = #{detailID} and s.dTime = #{dTime} - and s.C1 = #{c1} + and s.C1 like '%'+#{c1}+'%' and s.C2 = #{c2} and s.C3 = #{c3} and s.C4 = #{c4} diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp index b6c54bce..a83dd936 100644 --- a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -4,7 +4,7 @@ - 病案室终审 + 纸质病历签收列表 <%ResourceBundle res = ResourceBundle.getBundle("config.jdbc"); %> @@ -451,11 +451,19 @@ <%----%> <%----%> <%----%> -
- - + + +
+
+ + <%-- --%> +
+
@@ -486,10 +494,8 @@
@@ -3020,7 +3026,8 @@ inpNo: "" + $("#inpNo").val(), visitId: "" + $("#visitId").val(), //archivestate: "" + $("#archivestate").val(), - name: "" + $("#signer").val(), + name: "" + $("#name").val(), + c1: "" + $("#signer").val(), startSignDate: $("#startSignDate").val(), endSignDate: $("#endSignDate").val(), }; @@ -3079,7 +3086,7 @@ }*/ }, { - title: '姓名', + title: '患者姓名', field: 'name', align: 'left', valign: 'middle', @@ -3247,29 +3254,17 @@ title: '签收日期', field: 'dTime', align: 'center', - /*formatter: function (value, row, index) { - var redFlag = row.numb; - var a = ""; + formatter: function (value, row, index) { if (value != null && value != "") { - value = value.substring(0, 10); - } else if (value == null) { - value = ""; - } else { - value = value; - } - if (redFlag == 0) { - a = value; - } else { - //有缺陷显示红色 - a = '' + value + ''; + value = value.substring(0, 19); } - return a; - }*/ + return value; + } }, { title: '签收次数', field: 'num', - align: 'left', + align: 'center', valign: 'middle', }, { @@ -4130,7 +4125,7 @@ var startDate=$('#startSignDate').val(); var endDate=$('#endSignDate').val(); //所有其它条件都为空 - if(""+$("#inpNo").val().length<=0 && ""+$("#visitId").val().length<=0 &&""+ $("#signer").val().length<=0 ) { + if(""+$("#inpNo").val().length<=0 && ""+$("#visitId").val().length<=0 &&""+ $("#signer").val().length<=0 && $("#name").val().length<=0) { //单位 var dateType = "月"; //上限 @@ -4227,29 +4222,18 @@ //导出excel功能 $("#excelBtn").click(function () { - // var id = "" + $("#id").val(); var inpNo = "" + $("#inpNo").val(); var visitId = "" + $("#visitId").val(); - //var idNo = "" + $("#idNo").val(); - //var state = "" + $("#state").val(); - // var archivestate = "" + $("#archivestate").val(); - // var url = window.location.href; - // var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", ""); - // if (deptName != null && deptName != '') { - // deptName += "," + $("#deptName").val(); - // } else { - // deptName = $("#deptName").val(); - // } - //2021-05-13 var idNo=$("#idNo").val(); - var name = $("#signer").val(); + var name = $("#name").val(); + var c1= "" + $("#signer").val(); var startSignDate = $("#startSignDate").val(); var endSignDate = $("#endSignDate").val(); - window.location.href = "${path}/lastVerify/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId + - "&name=" + name + "&deptName=" + deptName + "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo - + "&isscaned=" + isscaned + "&isSign=" + isSign + "&name=" + name+ "&startSignDate=" + startSignDate - + "&endSignDate=" + endSignDate+ "&idNo=" + idNo+ "&isScanning=" + isScanning; + + window.location.href = "${path}/signList/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId + + "&name=" + name+ "&c1=" + c1+ "&startSignDate=" + startSignDate + + "&endSignDate=" + endSignDate+ "&idNo=" + idNo; }); @@ -4635,7 +4619,26 @@ // show: true//弹出对话框 // }); // }); + function getUserList() { + //获取role为病案室、病案室管理的用户 + $.ajax({ + url:"${path}/getPowerUserList", + type:"GET", + data:{"type":1}, + success:function (data) { + if (data != null) { + for (var i = 0; i < data.length; i++) { + $("#signer").append(""); + //$("#backer").append(""); + + } + } + $(".selectpicker").selectpicker('refresh'); + } + }) + } + getUserList(); function inpFun() { var temp = {}; temp.id = $("#inpId").val();