纸质病历签收列表(1、签收人原有查询是患者姓名,改成签收人查询签收人并为下拉框,并添加患者姓名查询字段,2、导出错误改成纸质病历签收列表,3、格式转换, 4、签收人编码转换成名称)

master
hujl 4 years ago
parent 6cb88490bb
commit 9cd5be03c2

@ -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<Sign_List_Vo> 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<Archive_Master_Vo> list = archiveMasterService.selectByLastByColumn(archiveMasterVo,null,null);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result = utils.exportExcelToFilePath(response, utils.listConvert(list));
}
@ResponseBody

@ -23,6 +23,12 @@ public interface Sign_ListService {
* @return
*/
OffsetLimitPage selectSignList(Sign_List_Vo signListVo, Integer offset, Integer limit);
/**
* Vo
* @param
* @return
*/
List<Sign_List_Vo> selectSignList(Sign_List_Vo signListVo);
/**
*

@ -473,28 +473,30 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
@Override
public List<Emr_Fault_Vo> selByCol(Emr_Fault_Vo emrFaultVo) {
List<Emr_Fault_Vo> list=emrFaultDetailMapper.selByCol(emrFaultVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
if(list!=null && list.size()>0) {
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null) {
Map<String, JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject, String>() {
@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<Emr_Fault_Vo> list = emrFaultDetailMapper.selByCol(emrFaultVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@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<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null) {
Map<String, JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject, String>() {
@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);
}

@ -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<Sign_List_Vo> list =signListMapper.selectSignList(signListVo);
if(list!=null && list.size()>0){
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> 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<Sign_List_Vo> selectSignList(Sign_List_Vo signListVo) {
List<Sign_List_Vo> list =signListMapper.selectSignList(signListVo);
if(list!=null && list.size()>0){
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> 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<Sign_List> selectSignListWith(Sign_List signList) {
return signListMapper.selectSignListWith(signList);

@ -94,7 +94,7 @@
<if test="masterID != null and masterID != ''"> and s.masterID = #{masterID}</if>
<if test="detailID != null and detailID != ''"> and s.detailID = #{detailID}</if>
<if test="dTime != null and dTime != ''"> and s.dTime = #{dTime}</if>
<if test="c1 != null and c1 != ''"> and s.C1 = #{c1}</if>
<if test="c1 != null and c1 != ''"> and s.C1 like '%'+#{c1}+'%'</if>
<if test="c2 != null and c2 != ''"> and s.C2 = #{c2}</if>
<if test="c3 != null and c3 != ''"> and s.C3 = #{c3}</if>
<if test="c4 != null and c4 != ''"> and s.C4 = #{c4}</if>

@ -4,7 +4,7 @@
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<title>病案室终审</title>
<title>纸质病历签收列表</title>
<%ResourceBundle res = ResourceBundle.getBundle("config.jdbc"); %>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="referrer" content="never">
@ -451,11 +451,19 @@
<%--<label for="name">身份证号:</label>--%>
<%--<input type="text" class="input-sm form-control" id="idNo" placeholder="请输入身份证号">--%>
<%--</div>--%>
<div class="form-group divCss8">
<label for="signer">签收人:</label>
<input type="text" class="input-sm form-control" id="signer" placeholder="请输入签收人">
<label >患者姓名:</label>
<input type="text" class="input-sm form-control" id="name" placeholder="请输入患者姓名">
</div>
<div class="form-group divCss8">
<label>签收人:</label>
<%-- <input type="text" class="input-sm form-control" id="signer" placeholder="请输入签收人">--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="signer" id="signer" title="请输入签收人"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}">
<option value="--">全部</option>
</select>
</div>
<div class="form-group divCss" >
<label>签收日期:</label>
<div class="input-daterange input-group" id="datepickerSign">
@ -486,10 +494,8 @@
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>
               
<option value="all">导出全部数据</option>
               
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>                
<option value="selected">导出选中数据</option>
</select>
</div>
@ -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 = '<span style="color:red;">' + value + '</span>';
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("<option value=" + data[i].userName + ">" + data[i].name + "</option>");
//$("#backer").append("<option value=" + data[i].userName + ">" + data[i].name + "</option>");
}
}
$(".selectpicker").selectpicker('refresh');
}
})
}
getUserList();
function inpFun() {
var temp = {};
temp.id = $("#inpId").val();

Loading…
Cancel
Save