电子病历封存

master
linjj 1 year ago
parent 35a0f430af
commit fdc2052965

@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.emr.annotation.OptionalLog;
import com.emr.dto.PushStorageDto;
import com.emr.entity.*;
import com.emr.service.*;
import com.emr.util.ThreadExcelUtils;
@ -17,16 +18,20 @@ import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpRequest;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
@ -38,6 +43,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@ -69,6 +75,10 @@ public class storageController {
return "medicalRecordStorageDir/MedicalRecordStorage";
}
@Value("${MedicalRecordSealingUrl}")
private String MedicalRecordUrl;
@ResponseBody
@RequestMapping(value = "/StorageList")
public OffsetLimitPage recallList(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
@ -122,6 +132,7 @@ public class storageController {
request.setCharacterEncoding("utf-8");
int bol = 0;
String result = "";
PushStorageDto pushStorageDto = new PushStorageDto();
//判断是否已经封存
if (StringUtils.isNotBlank(emrFaultDetail.getArchiveDetailId())) {
//判断病案是否已经封存
@ -136,7 +147,6 @@ public class storageController {
followingLastInfo.setMasterId(emrFaultDetail.getArchiveDetailId());
List<Archive_Master_Following> followingLastList = archiveMasterFollowingService.selLastByType(followingLastInfo);
if (followingLastList == null || followingLastList.size() <= 0) {
Subject currentUser = SecurityUtils.getSubject();
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String handleName = user.getUserPosition();//姓名
String username = user.getUserName();//获取前面登录的用户名
@ -165,6 +175,17 @@ public class storageController {
archiveMasterFollowing.setSafekeepingName(emrFaultDetail.getSafekeepingName());
archiveMasterFollowing.setRemark(emrFaultDetail.getRecallReason());
bol = archiveMasterFollowingService.insertSelective(archiveMasterFollowing);
//向电子病历发送封存消息
pushStorageDto.setPATIENT_STATUS(1);
pushStorageDto.setINP_NO(emrFaultDetail.getInpNo());
pushStorageDto.setPATIENT_ID(emrFaultDetail.getPatientId());
pushStorageDto.setVISIT_ID(Integer.parseInt(emrFaultDetail.getVisitId()));
pushStorageDto.setPATIENT_NAME(emrFaultDetail.getName());
pushStorageDto.setOPERATOR(handleName);
pushStorageDto.setOPERATOR_ID(username);
pushStorageDto.setSEQUESTRATION_RESION(nowTime);
pushStorageDto.setSEQUESTRATION_RESION(emrFaultDetail.getRecallReason());
pushStorage(pushStorageDto);
} else if (archiveMaster.getArchivestate().equals("已归档")) {// if (archiveMaster.getArchivestate().equals("已归档"))
archiveMasterFollowing.setMasterId(emrFaultDetail.getArchiveDetailId());
archiveMasterFollowing.setFollowingContent("病案取消封存");
@ -174,6 +195,17 @@ public class storageController {
archiveMasterFollowing.setHandleName(handleName);
archiveMasterFollowing.setRemark(emrFaultDetail.getRecallReason());
bol = archiveMasterFollowingService.insertSelective(archiveMasterFollowing);
//向电子病历发送取消封存消息
pushStorageDto.setPATIENT_STATUS(2);
pushStorageDto.setINP_NO(emrFaultDetail.getInpNo());
pushStorageDto.setPATIENT_ID(emrFaultDetail.getPatientId());
pushStorageDto.setVISIT_ID(Integer.parseInt(emrFaultDetail.getVisitId()));
pushStorageDto.setPATIENT_NAME(emrFaultDetail.getName());
pushStorageDto.setOPERATOR(handleName);
pushStorageDto.setOPERATOR_ID(username);
pushStorageDto.setSEQUESTRATION_RESION(nowTime);
pushStorageDto.setSEQUESTRATION_RESION(emrFaultDetail.getRecallReason());
pushStorage(pushStorageDto);
}
}
if (archiveMaster.getArchivestate().equals("再次封存")) {
@ -198,6 +230,34 @@ public class storageController {
return bol + "";
}
//向电子病历推送封存消息
private void pushStorage(PushStorageDto pushStorageDto) {
//组织xml参数
String xmlContent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<REQUEST>" +
"<PATIENT_STATUS>" + pushStorageDto.getPATIENT_STATUS() + "</PATIENT_STATUS>" +
"<INP_NO>" + pushStorageDto.getINP_NO() + "</INP_NO>" +
"<PATIENT_ID>" + pushStorageDto.getPATIENT_ID() + "</PATIENT_ID>" +
"< VISIT_ID >" + pushStorageDto.getVISIT_ID() + " </VISIT_ID >"+
"<PATIENT_NAME>" + pushStorageDto.getPATIENT_NAME() + "</PATIENT_NAME>"+
"<OPERATOR>" + pushStorageDto.getOPERATOR() + "</OPERATOR>"+
"<OPERATOR_ID>" + pushStorageDto.getOPERATOR_ID() + "</OPERATOR_ID>"+
"<OperationTime>" + pushStorageDto.getOperationTime() + "</OperationTime>"+
"<SEQUESTRATION_RESION>" + pushStorageDto.getSEQUESTRATION_RESION() + "</SEQUESTRATION_RESION>"+
"</REQUEST>";
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost httpPost = new HttpPost(MedicalRecordUrl);
httpPost.setHeader("Content-Type", "application/xml");
StringEntity entity = new StringEntity(xmlContent);
httpPost.setEntity(entity);
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
EntityUtils.consume(response.getEntity());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/*
*
@ -216,6 +276,7 @@ public class storageController {
OffsetLimitPage result = archiveMasterService.selectByFollowinglog(archiveMasterVo, offset, limit);
return result;
}
/**
* @description:
* @author linjj
@ -223,7 +284,7 @@ public class storageController {
*/
@ResponseBody
@RequestMapping(value = "getSafekeeping")
public List<Emr_Dictionary> getSafekeeping(){
public List<Emr_Dictionary> getSafekeeping() {
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("safekeeping");

@ -0,0 +1,33 @@
package com.emr.dto;
import lombok.Data;
/**
* @ClassName pushStorageDto
* @Description
* @Author linjj
* @Date 2024/5/29 10:03
* @Version 1.0
*/
@Data
public class PushStorageDto {
//封存状态 封存1 解除封存0
private int PATIENT_STATUS;
//住院号
private String INP_NO;
//患者id
private String PATIENT_ID;
//住院次数
private int VISIT_ID;
//患者信息
private String PATIENT_NAME;
//封存人姓名
private String OPERATOR;
//封存人工号
private String OPERATOR_ID;
//操作时间
private String OperationTime;
//封存原因
private String SEQUESTRATION_RESION;
}

@ -8,7 +8,19 @@ public class Emr_Fault_Detail {
private String ArchiveStateFlag;
private Integer idPage;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String inpNo;
private String patientId;
private String StateFlag;
public String getSafekeepingName() {
@ -25,6 +37,22 @@ public class Emr_Fault_Detail {
return StateFlag;
}
public String getInpNo() {
return inpNo;
}
public void setInpNo(String inpNo) {
this.inpNo = inpNo;
}
public String getPatientId() {
return patientId;
}
public void setPatientId(String patientId) {
this.patientId = patientId;
}
public void setStateFlag(String stateFlag) {
StateFlag = stateFlag;
}

@ -86,4 +86,6 @@ PdfIsError = C:\\Users\\Administrator\\Desktop\\test\\test070802
waterTifToJpgPath = D:/jiashi/tifToJpgLoad/
#\u5bfc\u51fa\u4fe1\u606f\u683c\u5f0f\u9700\u8981\u4e3aunicode\u683c\u5f0f\u4e0d\u7136\u4f1a\u4e71\u7801
export_pdf_hospital_info = \u5e7f\u4e1c\u7701_\u5e7f\u4e1c\u533b\u79d1\u5927\u5b66\u9644\u5c5e\u533b\u9662
export_pdf_hospital_info = \u5e7f\u4e1c\u7701_\u5e7f\u4e1c\u533b\u79d1\u5927\u5b66\u9644\u5c5e\u533b\u9662
MedicalRecordSealingUrl=http://10.6.0.151:8099/JHNewIEService/JHNewIEService/JHEmrSynchroPatPage

@ -1889,7 +1889,7 @@
</select>
<!--封存日志-->
<select id="selectByFollowinglog" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select f.master_id,m.INP_NO,m.VISIT_ID,m.name,m.sex,f.handle_name,CONVERT(VARCHAR(20),f.handle_time,120) handle_time, m.archiveState ,f.following_content
select f.master_id,m.INP_NO,m.VISIT_ID,m.name,m.sex,f.handle_name,CONVERT(VARCHAR(20),f.handle_time,120) handle_time, m.archiveState ,f.following_content,f.remark
from (select * from Archive_Master where ArchiveState!='作废' and Is_Valid!=1) m
INNER JOIN Archive_Master_Following f on m.ID=f.master_id
where 1=1 AND f.following_type in('11','12')
@ -2093,19 +2093,15 @@
m.inp_no,
m.visit_id,
m.name,
m.patient_id,
m.dept_name,
CONVERT ( VARCHAR ( 20 ), m.discharge_date_time, 120 ) discharge_date_time,
m.ArchiveState,
m.sex,
m.dept_admission_to,
CONVERT ( VARCHAR ( 20 ), m.admission_date_time, 120 ) admission_date_time,
d.handle_time,
d.handle_name,
d.following_type
CONVERT ( VARCHAR ( 20 ), m.admission_date_time, 120 ) admission_date_time
FROM
Archive_Master m
LEFT JOIN (
SELECT TOP 1 Archive_Master_Following.* FROM Archive_Master_Following WHERE following_type = '11' ) AS d ON m.id= d.master_id
WHERE
ArchiveState != '作废'
AND Is_Valid != 1
@ -2121,9 +2117,6 @@
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="handleName != null and handleName != ''">
and d.handle_name like '%'+#{handleName,jdbcType=NCHAR}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
@ -2154,18 +2147,6 @@
and m.discharge_date_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and d.handle_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and
#{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDateTo != null and startDateTo != ''">
and d.handle_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120)
</when>
<when test="endDateTo != null and endDateTo != ''">
and d.handle_time &lt;= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
</select>
<select id="copyDetailList" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select

@ -1,4 +1,5 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
@ -64,7 +65,7 @@
!important;
}
.fixed-table-toolbar .bs-bars .pull-right{
.fixed-table-toolbar .bs-bars .pull-right {
height: 20px;
!important;
}
@ -74,15 +75,15 @@
background-color: #9acfea;
}
.formCss{
margin-top:20px;
margin-left:20px;
.formCss {
margin-top: 20px;
margin-left: 20px;
}
.tjCss{
margin-left:10px;
margin-right:20px;
height:auto;
.tjCss {
margin-left: 10px;
margin-right: 20px;
height: auto;
}
</style>
<body>
@ -105,25 +106,19 @@
</div>
<div class="form-group divCss8" id="deptDiv">
<label>出院科室 :</label>
<%--<select class="input-sm form-control" id="deptName">--%>
<%--<option value="">全部</option>--%>
<%--&lt;%&ndash;<option value="在院">在院</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="未归档">未归档</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="归档中">归档中</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="初审">初审</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已认证">已认证</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已归档">已归档</option>&ndash;%&gt;--%>
<%--</select>--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" id="deptName" title="请输入科室">
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" id="deptName" title="请输入科室">
<option value="">全部</option>
</select>
</div>
<div class="form-group divCss8">
<label for="archivestate">归档状态 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="doctorInCharge" id="archivestate" title="请输入归档状态"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}">
<%-- <option value="">全部</option>--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="doctorInCharge"
id="archivestate" title="请输入归档状态"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}">
<%-- <option value="">全部</option>--%>
<%--<option value="取消入院">取消入院</option>--%>
<option value="在院">在院</option>
<option value="未归档">未归档</option>
@ -137,35 +132,20 @@
<option value="已封存">已封存</option>
</select>
</div>
<div class="form-group divCss">
<label>封存日期:</label>
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDateTo" />
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDateTo"/>
</div>
</div>
<%-- <div class="form-group divCss">--%>
<%-- <label for="state">召回状态 :</label>--%>
<%-- <select class="input-sm form-control" id="state">--%>
<%-- <option value="">全部</option>--%>
<%-- <option value="已召回">已召回</option>--%>
<%-- <option value="未召回">未召回</option>--%>
<%-- </select>--%>
<%-- </div>--%>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</button>
</div>
</form>
<!--数据表格-->
<table id="table" class="table text-nowrap table-striped"></table>
<div id="toolbar" class="btn-group pull-right toolbarCss" >
<div id="toolbar" class="btn-group pull-right toolbarCss">
<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>
@ -191,10 +171,14 @@
<form>
<div class="form-group ">
<input id="formToken" hidden>
<input id="inpNo2" hidden>
<input id="visitId2" hidden>
<input id="patientId2" hidden>
<input id="name2" hidden>
<input type="hidden" id="id" name="id" value=""/><label hidden id="danganhao"></label>
<span style="vertical-align:top;">取消封存概述:</span><textarea rows="6" style="width:100%;"
maxlength="255"
id="recallReason2"></textarea>
maxlength="255"
id="recallReason2"></textarea>
</div>
</form>
</div>
@ -219,15 +203,20 @@
<form>
<div class="form-group ">
<input id="formToken1" hidden>
<input id="inpNo1" hidden>
<input id="visitId1" hidden>
<input id="patientId1" hidden>
<input id="name1" hidden>
<input type="hidden" id="id1" name="id" value=""/><label hidden id="danganhao1"></label>
<span style="vertical-align:top;">确认封存概述:</span><textarea rows="6" style="width:100%;"
maxlength="255"
id="recallReason"></textarea>
maxlength="255"
id="recallReason"></textarea>
</div>
<div class="form-group divCss8" id="safekeepingDiv">
<label>封存选项 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="safekeepingName"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" id="safekeepingName" title="请输入封存选项">
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" id="safekeepingName" title="请输入封存选项">
<option value="">全部</option>
</select>
</div>
@ -242,8 +231,6 @@
</div>
<%--确认框--确认/取消封存--%>
<div class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
@ -291,15 +278,6 @@
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var deptArr = deptAdmissionTo.split(',');
// //var n = (deptAdmissionTo.split(',')).length ;
// if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
function getDept() {
//获取科室列表
$.ajax({
@ -313,26 +291,11 @@
}
}
$('#deptName').selectpicker('refresh');
// for (var i = 0; i < result.length; i++) {
// if (deptArr.length != 1 && deptArr[0] != "") {
// var bol = deptArr.indexOf(result[i].code);
// if (bol != -1) {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// } else {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// }
}
});
}
getDept();
//console.log("======1111============"+startDateV);
});
//日期控件
@ -341,18 +304,11 @@
language: "zh-CN"
});
/* var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDateTo').val(currDate30);
$('#endDateTo').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
@ -433,10 +389,9 @@
visitId: "" + $("#visitId").val(),
name: "" + $("#name").val(),
archivestate: "" + $("#archivestate").val(),
// state:"" + $("#state").val(),
startDateTo:$("#startDateTo").val().toString(),
endDateTo: "" +$("#endDateTo").val(),
deptName: "" +$("#deptName").val()
startDateTo: $("#startDateTo").val(),
endDateTo: "" + $("#endDateTo").val(),
deptName: "" + $("#deptName").val()
};
return temp;
},
@ -522,33 +477,14 @@
field: 'dischargeDateTime',
align: 'center',
valign: 'middle',
/* formatter: function (value, row, index) {
return value.substring(0, 10);
}*/
},
/*{
title: '上次封存状态',
field: 'state',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证
var a = '';
if (value == "已封存") {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>'+ value +'</span>';
} else {
a = '<span style="color:#ccc;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>'+ value +'</span>';
}
return a;
}
},*/
{
title: '归档状态',
field: 'archivestate',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
var a="";
var a = "";
if (value == "未归档") {
a = '<span style="color:#c12e2a;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已归档") {
@ -567,26 +503,12 @@
a = '<span style="color:blue"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "主任退回") {
a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
else if (value == "再次封存") {
} else if (value == "再次封存") {
a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
return a;
}
},
{
title: '封存人',
field: 'handleName',
align: 'center',
valign: 'left',
},
{
title: '封存时间',
field: 'handleTime',
align: 'center',
valign: 'middle',
},
{
title: "操作",
align: 'left',
@ -595,13 +517,13 @@
formatter: function (value, row, index) {
var html = "";
//已封存
if (row.followingType+"" == "11") {
html = html +'<button class="btn btn-success btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.id + '\')">取消封存 </button>';
html = html +'<button class="btn btn-warning btn-sm" onclick="againRecallFun(\'' + row.id + '\',\'' + row.id + '\')">再次封存 </button>';
} else {
html = html +'<button class="btn btn-warning btn-sm" onclick="recallFun1(\'' + row.id + '\',\'' + row.id + '\')">封存 </button>';
if (row.archivestate=="已封存"){
html = html + '<button class="btn btn-success btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.id + '\',\'' + row. inpNo+ '\',\'' + row. visitId+ '\',\'' + row. patientId+ '\',\'' + row. name+ '\')">取消封存 </button>';
html = html + '<button class="btn btn-warning btn-sm" onclick="againRecallFun(\'' + row.id + '\',\'' + row.id + '\',\'' + row. inpNo+ '\',\'' + row. visitId+ '\',\'' + row. patientId+ '\',\'' + row. name+ '\')">再次封存 </button>';
}else {
html = html + '<button class="btn btn-warning btn-sm" onclick="recallFun1(\'' + row.id + '\',\'' + row.id + '\',\'' + row. inpNo+ '\',\'' + row. visitId+ '\',\'' + row. patientId+ '\',\'' + row. name+ '\')">封存 </button>';
}
return html;
return html;
},
cellStyle: function (value, row, index) {
return {classes: 'success'}
@ -621,7 +543,7 @@
});
}
function recallFun(id, archiveDetailId) {
function recallFun(id, archiveDetailId,inpNo,visitId,patientId,name) {
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal').modal({
@ -631,10 +553,14 @@
});
$("#recallReason2").val("");
$("#danganhao").html(archiveDetailId);
$("#inpNo2").val(inpNo);
$("#visitId2").val(visitId);
$("#patientId2").val(patientId);
$("#name2").val(name);
}
function getSafekeeping(){
function getSafekeeping() {
$.ajax({
url: "${path}/storage/getSafekeeping",
type: "POST",
@ -650,6 +576,7 @@
}
getSafekeeping();
function againRecallFun(id, archiveDetailId) {
//生成表单token,防止表单重复提交
setFormToken();
@ -663,7 +590,7 @@
}
function recallFun1(id, archiveDetailId) {
function recallFun1(id, archiveDetailId,inpNo,visitId,patientId,name) {
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal1').modal({
@ -672,6 +599,10 @@
show: true//弹出对话框
});
$("#recallReason").val("");
$("#inpNo1").val(inpNo);
$("#visitId1").val(visitId);
$("#patientId1").val(patientId);
$("#name1").val(name);
$("#danganhao1").html(archiveDetailId);
}
@ -682,7 +613,7 @@
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
}
});
//获取table的高度
@ -718,20 +649,31 @@
window.location.href = "${path}/storage/exportExcelStorageList?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptNameA
+ "&endDateTo=" + endDateTo+ "&startDateTo=" + startDateTo;
+ "&endDateTo=" + endDateTo + "&startDateTo=" + startDateTo;
});
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
var archiveDetailId = $("#danganhao").html();
var visitId = $("#visitId").html();
var id = archiveDetailId;
var ArchiveState = $("#archivestate").html();
var recallReason = $("#recallReason2").val();
var inpNo = $("#inpNo2").val();
var visitId = $("#visitId2").val();
var patientId = $("#patientId2").val();
var name = $("#name2").val();
$.ajax({
url: "${path}/storage/updateState",
type: "POST",
data: {"ArchiveState": "已归档", "archiveDetailId": archiveDetailId, recallReason: recallReason,formToken:$("#formToken").val(),ArchiveStateFlag:"0"},
data: {
"ArchiveState": "已归档",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
formToken: $("#formToken").val(),
ArchiveStateFlag: "0",
inpNo:inpNo,
visitId:visitId,
patientId:patientId,
name:name
},
success: function (result) {
//刷新
$('#table').bootstrapTable('refresh');
@ -751,15 +693,33 @@
$("#stateBtn1").click(function () {
$('#exampleModal1').modal('hide'); //手动关闭
var archiveDetailId = $("#danganhao1").html();
var visitId = $("#visitId").html();
var id = archiveDetailId;
var StateFlag = $("#archivestate").html();
var recallReason = $("#recallReason").val();
var safekeepingName = ''+$("#safekeepingName").val();
var safekeepingName = '' + $("#safekeepingName").val();
var inpNo = $("#inpNo1").val();
var visitId = $("#visitId1").val();
var patientId = $("#patientId1").val();
var name = $("#name1").val();
if (recallReason == "") {
return toastr.error("确认封存概述不能为空");
}
if (safekeepingName == "") {
return toastr.error("封存选项不能为空");
}
$.ajax({
url: "${path}/storage/updateState",
type: "POST",
data: {"ArchiveState": "已封存", "archiveDetailId": archiveDetailId, recallReason: recallReason,formToken:$("#formToken1").val(),ArchiveStateFlag:"0",safekeepingName:safekeepingName},
data: {
"ArchiveState": "已封存",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
formToken: $("#formToken1").val(),
ArchiveStateFlag: "0",
safekeepingName: safekeepingName,
inpNo:inpNo,
visitId:visitId,
patientId:patientId,
name:name
},
success: function (result) {
//刷新
$('#table').bootstrapTable('refresh');
@ -776,7 +736,6 @@
});
$("#stateBtn2").click(function () {
$('#exampleModal2').modal('hide'); //手动关闭
var archiveDetailId = $("#danganhao2").html();
@ -787,7 +746,13 @@
$.ajax({
url: "${path}/storage/updateState",
type: "POST",
data: {"ArchiveState": "再次封存", "archiveDetailId": archiveDetailId, recallReason: recallReason,formToken:$("#formToken1").val(),ArchiveStateFlag:"1"},
data: {
"ArchiveState": "再次封存",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
formToken: $("#formToken1").val(),
ArchiveStateFlag: "1"
},
success: function (result) {
//刷新
$('#table').bootstrapTable('refresh');

@ -381,7 +381,13 @@
}
},
{
title: '封存原因',
title: '封存概述',
field: 'remark',
align: 'center',
valign: 'middle',
},
{
title: '封存选项',
field: 'safekeepingName',
align: 'center',
valign: 'middle',

Loading…
Cancel
Save