病案清单删除页

master
linjj 2 years ago
parent a5859042e4
commit 5f61c3b819

@ -1,5 +1,7 @@
package com.emr.controller;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@ -12,11 +14,17 @@ import java.util.List;
public class SessionContant {
public static String setPdfUrl(String masterId, String imgStr, List<String> urlList, HttpServletRequest request) {
String key = masterId + "_" + imgStr;
String key = "";
if (StringUtils.isNotBlank(masterId)) {
key = masterId + "_" + imgStr;
}else{
key = imgStr;
}
request.getSession().setAttribute(key,urlList);
return key;
}
public static List<String> getPdfUrl(String key, HttpServletRequest request) {
Object attribute = request.getSession().getAttribute(key);
if(null != attribute){

@ -157,8 +157,13 @@ public class inHospitalController {
*/
@ResponseBody
@RequestMapping(value = "/getDetailInfo")
public Archive_Detail_Vo getDetailInfo(String detailId){
public Archive_Detail_Vo getDetailInfo(String detailId,HttpServletRequest request){
Archive_Detail_Vo detailInfo = archiveDetailService.getDetailInfo(detailId);
List<String> list = new ArrayList<>();
list.add(detailInfo.getPdfPath());
SessionContant.setPdfUrl(null,detailId,list,request);
return detailInfo;
}
@ -1284,6 +1289,7 @@ public class inHospitalController {
} else {
//插入记录
if (file != null) {
entity.setTitle(title);
bol = archiveDetailService.insertSel(entity);
} else {
result = "没有找到相对应的文件!";
@ -1350,7 +1356,7 @@ public class inHospitalController {
*/
@RequestMapping(value = "/pdfStreamHandeler")
public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response)throws Exception {
public void pdfStreamHandeler(HttpServletRequest request, HttpServletResponse response,String url)throws Exception {
String filePath = request.getParameter("url");
String[] list=filePath.split("titleName=");
String key =list[0].substring(0,list[0].length()-1);

@ -231,8 +231,58 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
PageHelper.offsetPage(offset, limit);
}
List<Archive_Master_Vo> list = archiveMasterMapper.selectByColumn(archiveMasterVo);
//获取科室列表
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
Map<String, Emr_Dictionary> codeMap = ListUtils.toMap(dicList, Emr_Dictionary::getCode);
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
String deptCode = p.getDeptName();
String deptAdmissionCode = p.getDeptAdmissionTo();
if(StringUtils.isNotBlank(deptCode) && codeMap.containsKey(deptCode)){
String deptName = codeMap.get(deptCode).getName();
p.setDeptName(deptName);
}
if(StringUtils.isNotBlank(deptAdmissionCode) && codeMap.containsKey(deptAdmissionCode)){
String deptAdmissionTo = codeMap.get(deptAdmissionCode).getName();
p.setDeptAdmissionTo(deptAdmissionTo);
}
});
//masterIds集合
List<String> masterIds = ListUtils.distinctSelect(list, Archive_Master_Vo::getId);
//转成逗号拼接
String ids = String.join(",", masterIds);
//获取医生缺陷数量
List<Archive_Master_Vo> doctorDefectNum = archiveMasterMapper.getDoctorDefectNum(ids);
//医生是否有缺陷
Map<String, Archive_Master_Vo> doctorMap = ListUtils.toMap(doctorDefectNum, Archive_Master_Vo::getArchiveDetailId);
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
String doctorId = p.getId();
if (doctorMap.containsKey(doctorId)){
String faultDoctorNum = doctorMap.get(doctorId).getFaultDoctorNum();
p.setFaultDoctorNum(faultDoctorNum);
p.setNumb(1);
}
});
//获取护士缺陷数量
List<Archive_Master_Vo> nurseDefectNum = archiveMasterMapper.getNurseDefectNum(ids);
//护士是否有缺陷
Map<String, Archive_Master_Vo> nurseMap = ListUtils.toMap(nurseDefectNum, Archive_Master_Vo::getArchiveDetailId);
//判断是否有缺陷就填入
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
String nurseId = p.getId();
if (nurseMap.containsKey(nurseId)){
String faultNurseNum = nurseMap.get(nurseId).getFaultNurseNum();
p.setFaultNurseNum(faultNurseNum);
p.setNumb(1);
}
});
//设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士
setNameAndPrintFlag(archiveMasterVo, list);
setNameAndPrintFlagNew(archiveMasterVo, list);
if(list!=null && list.size()>0) {
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
@ -389,11 +439,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
masterIds.append(",");
}
masterIds.append("'").append(archiveMaster.getId()).append("'");
//设置科室名称
setDeptName(archiveMaster,dictionaryList);
// //设置科室名称
// setDeptName(archiveMaster,dictionaryList);
archiveMaster.setDoctorNum("0");
archiveMaster.setNurseNum("0");
}
//设置退回医生数量
setDoctorFaultNum(masterIds.toString(),list);
//设置退回护士数量
@ -403,6 +454,70 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
}
/**
* 退退,followType=9
* @param archiveMasterVo
* @param list
*/
private void setNameAndPrintFlagNew(Archive_Master_Vo archiveMasterVo, List<Archive_Master_Vo> list) {
if(!CollectionUtils.isEmpty(list)) {
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if(!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//定义查询的masterId集合
StringBuilder masterIds = new StringBuilder();
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
if(null != powerUserList) {
//获取医生工号
String doctorName = archiveMaster.getDoctorName();
//获取护士工号
String nurseName = archiveMaster.getNurseName();
//获取初审人工号
String firstInstance = archiveMaster.getFirstInstance();
//遍历匹配工号赋值姓名
for(Power_User_Dto powerUserDto : powerUserList){
String name = powerUserDto.getName();
if(StringUtils.isNotBlank(doctorName) && powerUserDto.getUserName().equals(doctorName)){
archiveMaster.setDoctorName(name);
}
if(StringUtils.isNotBlank(nurseName) && powerUserDto.getUserName().equals(nurseName)){
archiveMaster.setNurseName(name);
}
if(StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)){
archiveMaster.setFirstInstance(name);
}
}
}
String printNum = archiveMaster.getPrintNum();
if(StringUtils.isNotBlank(printNum) && !"0".equals(printNum)){
archiveMaster.setPrintNum("已打印");
}else{
archiveMaster.setPrintNum("未打印");
}
//是否打印条件不为空,直接赋值打印标识
if(StringUtils.isNotBlank(archiveMasterVo.getPrintNum())){
String printFlag = "未打印";
if("1".equals(archiveMasterVo.getPrintNum())){
printFlag = "已打印";
}
archiveMaster.setPrintNum(printFlag);
}
if(StringUtils.isNotBlank(masterIds)){
masterIds.append(",");
}
masterIds.append("'").append(archiveMaster.getId()).append("'");
archiveMaster.setDoctorNum("0");
archiveMaster.setNurseNum("0");
}
}
}
/**
*
* @param list
@ -1200,7 +1315,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
});
//设置医生、护士名称和打印标识
setNameAndPrintFlag(archiveMasterVo, list);
setNameAndPrintFlagNew(archiveMasterVo, list);
return list;
}

@ -37,8 +37,6 @@ public class StatisticsServiceImpl implements StatisticsService {
int vxPrintNum = list.getVxPrintNum();
int vxPrintNum1 = list.getVxPrintNum1();
list.setVxPrintNum(vxPrintNum + vxPrintNum1);
int i = statisticsMapper.getpaperlessPageNum();
list.setPaperlessPageNum(i);
}
return new OffsetLimitPage((Page) statisticsVos);
}

@ -274,32 +274,11 @@
ORDER BY admission_date_time desc
</select>
<select id="selectByColumn" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,ISNULL(f.name, m.dept_name) dept_name
,CONVERT(varchar(10),m.discharge_date_time, 120) discharge_date_time,m.ArchiveState,CONVERT(varchar(10),m.admission_date_time, 120) admission_date_time,ISNULL(d.name,m.dept_admission_to) dept_admission_to
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,m.dept_name
,CONVERT(varchar(10),m.discharge_date_time, 120) discharge_date_time,m.ArchiveState,CONVERT(varchar(10),m.admission_date_time, 120) admission_date_time,m.dept_admission_to
,m.check_doctor,m.checked_datetime,m.checked_doctor,m.LockInfo,m.DOCTOR_IN_CHARGE,m.ID_NO,m.DISCHARGE_DISPOSITION,m.dept_code_lend,m.isscaned,m.is_scanning,
m.cmt_doctor,m.cmt_nurse,m.doctor_name,m.nurse_name,m.cmt_doctor_date,m.cmt_nurse_date,m.emr_doctor_cmt,m.emr_nure_cmt,m.death_flag,m.bed_number,ISNULL(s.numb, 0) numb
,ISNULL(sDoctor.numb, 0) faultDoctorNum,ISNULL(sNurse.numb, 0) faultNurseNum,ISNULL(extDoctor.num, 0) doctorNum,ISNULL(extNurse.num, 0) nurseNum
m.cmt_doctor,m.cmt_nurse,m.doctor_name,m.nurse_name,m.cmt_doctor_date,m.cmt_nurse_date,m.emr_doctor_cmt,m.emr_nure_cmt,m.death_flag,m.bed_number
from archive_master m
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag is not null GROUP BY archive_detail_id) s
on m.id=s.archive_detail_id
LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag in ('1','5') GROUP BY archive_detail_id) sDoctor
on m.id=sDoctor.archive_detail_id
LEFT JOIN(select archive_detail_id,count(*) numb from emr_fault_detail where 1=1 and back_flag in ('2','6') GROUP BY archive_detail_id) sNurse
on m.id=sNurse.archive_detail_id
LEFT JOIN (select zyh,jzh,COUNT(*) num from archive_other_ext where T1!='1801-02-03 00:00:00.000' group by zyh,jzh) extDoctor
on m.inp_no=extDoctor.zyh
and m.visit_id=extDoctor.jzh
LEFT JOIN (select zyh,jzh,COUNT(*) num from archive_other_ext where T2!='1801-02-03 00:00:00.000' group by zyh,jzh) extNurse
on m.inp_no=extNurse.zyh
and m.visit_id=extNurse.jzh
LEFT JOIN (select MasterID,COUNT(*) num from archive_printInfo group by MasterID) printTable
on m.id=printTable.MasterID
where 1=1 and ArchiveState in('归档中','提交','主任退回') and m.Is_Valid!=1
and patindex('%B%',m.inp_no) = 0 and inp_no not like 'LG%'
<if test="emrCmit!=null and emrCmit!=''">
@ -311,12 +290,7 @@
</if>
</if>
<if test="printNum != null and printNum != ''">
<choose>
<when test="printNum == 1">
and printTable.MasterID is not null
</when>
<otherwise>and printTable.MasterID is null</otherwise>
</choose>
and m.print_flag=#{printNum}
</if>
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'

@ -15,7 +15,7 @@
INNER JOIN Archive_Detail d
on a.ID=d.MasterID
WHERE
a.discharge_date_time > '2021-01-01 00:00:00'
a.discharge_date_time >= '2021-01-01 00:00:00'
AND a.ArchiveState IS NOT NULL
AND a.ArchiveState != '作废'
AND d.pageCount is not null

@ -4935,28 +4935,28 @@
$("#mb").css("display", "block");
var target = document.getElementById('delPdfBody');
spinner.spin(target);//给id为foo的div 中绑上spinner
var pdfPath = row.pdfPath;//.replaceAll("\\","/");
//C:/Users/Administrator/Desktop/test/autoPdf/1617156631367.pdf
//console.log( pdfPath );
if (pdfPath != "") {
pdfPath = pdfPath.replace(/(\\)+/g, '/');
pdfPath = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath);
$('#pdf_page').attr('src', pdfPath);
//病案号 45e9b098f9da49ffba1843bfc6930cb8
} else {
toastr.warning("勾选的PDF文件不存在或破损!");
}
var detailId = row.id;
$("#pdfId").val(row.id);
$.ajax({
url: "${path}/inHosp/getDetailInfo",
async: false,
type: "POST",
data: {detailId: detailId},
success: function (data) {
$("#pathPdf").val(data.pdfPath);
}
});
var titleName = document.getElementById("nameLab").innerText;
var iframeUrl = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url="+detailId+"?titleName=" + titleName);
$('#pdf_page').attr('src', iframeUrl);
//病案号 45e9b098f9da49ffba1843bfc6930cb8
//删除pdf某一页
$('#delPdfPageModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
// //同步
$("#pdfId").val(row.id);
$("#pathPdf").val(row.pdfPath);
getDelPicPageFun();
setTimeout(function () {
$("#mb").css("display", "none");

@ -2053,7 +2053,7 @@
//location.href =
//var pdfPath = result;
if ($("#currState").val() == "归档中") {
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + result+"?titleName="+titleName);
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + result+"&titleName="+titleName);
} else {
var archiveDetailId = $("#idLab").html();
//var pdfUrl = "${path}/static/pdfjs/web/viewer.html?file=../../../static/img/pdfFiles/" + result;//+ result;
@ -4273,27 +4273,28 @@
$("#mb").css("display", "block");
var target = document.getElementById('delPdfBody');
spinner.spin(target);//给id为foo的div 中绑上spinner
var pdfPath = row.pdfPath;//.replaceAll("\\","/");
//C:/Users/Administrator/Desktop/test/autoPdf/1617156631367.pdf
if (pdfPath != "") {
pdfPath = pdfPath.replace(/(\\)+/g, '/');
pdfPath = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath);
$('#pdf_page').attr('src', pdfPath);
//病案号 45e9b098f9da49ffba1843bfc6930cb8
} else {
toastr.warning("勾选的PDF文件不存在或破损!");
}
var detailId = row.id;
$("#pdfId").val(row.id);
$.ajax({
url: "${path}/inHosp/getDetailInfo",
async: false,
type: "POST",
data: {detailId: detailId},
success: function (data) {
$("#pathPdf").val(data.pdfPath);
}
});
var titleName = document.getElementById("nameLab").innerText;
var iframeUrl = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url="+detailId+"?titleName=" + titleName);
$('#pdf_page').attr('src', iframeUrl);
//病案号 45e9b098f9da49ffba1843bfc6930cb8
//删除pdf某一页
$('#delPdfPageModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
// //同步
$("#pdfId").val(row.id);
$("#pathPdf").val(row.pdfPath);
getDelPicPageFun();
setTimeout(function () {
$("#mb").css("display", "none");

Loading…
Cancel
Save