pacs补偿按钮

master
linjj 1 year ago
parent 3663d253cb
commit 584c7c40ec

@ -88,6 +88,16 @@ public class lastVerifyController {
return compenSateService.updateCompenSate(id,patientId);
}
@ResponseBody
@RequestMapping(value = "/updatePacsCompensate")
public int updatePacsCompensate(String id,String patientId){
return compenSateService.updatePacsCompenSate(id,patientId);
}
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo,Integer isSearch) throws Exception {

@ -16,9 +16,22 @@ public interface CompenSateMapper {
List<CompenSateVo> selectAll(@Param(value = "ids")String ids);
List<CompenSateVo>selectAllByPacs(@Param(value = "ids")String ids);
int updateCompenSate(String masterId);
int updatePacsCompenSate(String masterId);
List<CompenSateVo> selectAllByMasterId(String masterId);
List<CompenSateVo> selectPacsAllByMasterId(String masterId);
int addCompenSate(@Param(value = "masterId")String masterId,@Param(value = "patientId")String patientId,@Param(value = "compensateState")int compensateState);
int addPacsCompenSate(@Param(value = "masterId")String masterId,@Param(value = "compensateState")int compensateState);
}

@ -52,6 +52,17 @@ public class Archive_Master_Vo {
private String returntoRole;
private int compensateState;
private int pacsCompensate;
public int getPacsCompensate() {
return pacsCompensate;
}
public void setPacsCompensate(int pacsCompensate) {
this.pacsCompensate = pacsCompensate;
}
public int getCompensateState() {
return compensateState;
}

@ -10,4 +10,6 @@ package com.emr.service;
public interface CompenSateService {
int updateCompenSate(String masterId,String patientId);
int updatePacsCompenSate(String masterId,String patientId);
}

@ -133,17 +133,26 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//转成逗号拼接
String ids = String.join(",", messageList);
//获取按需采集信息
List<CompenSateVo> compenSateVos = compenSateMapper.selectAll(ids);
//医生是否有缺陷
Map<String, CompenSateVo> masterIdMap = ListUtil.toMap(compenSateVos, CompenSateVo::getMasterId);
List<CompenSateVo> hisAll = compenSateMapper.selectAll(ids);
Map<String, CompenSateVo> masterIdHisMap = ListUtil.toMap(hisAll, CompenSateVo::getMasterId);
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
String masterId = p.getId();
if (masterIdMap.containsKey(masterId)){
p.setCompensateState(masterIdMap.get(masterId).getCompensateState());
if (masterIdHisMap.containsKey(masterId)){
p.setCompensateState(masterIdHisMap.get(masterId).getCompensateState());
}else {
p.setCompensateState(1);
}
});
List<CompenSateVo> pacsAll = compenSateMapper.selectAllByPacs(ids);
Map<String, CompenSateVo> masterIdPacsMap = ListUtil.toMap(pacsAll, CompenSateVo::getMasterId);
Setters.<Archive_Master_Vo>instance().list(list).cycleSetProperties(p -> {
String masterId = p.getId();
if (masterIdPacsMap.containsKey(masterId)){
p.setPacsCompensate(masterIdPacsMap.get(masterId).getCompensateState());
}else {
p.setPacsCompensate(1);
}
});
}
}

@ -33,4 +33,16 @@ public class CompenSateServiceImpl implements CompenSateService {
return compenSateMapper.updateCompenSate(masterId);
}
}
@Override
public int updatePacsCompenSate(String masterId, String patientId) {
List<CompenSateVo> list = compenSateMapper.selectPacsAllByMasterId(masterId);
if (list == null || list.isEmpty()) {
//如果不存在则新增任务,存在则更新任务状态
return compenSateMapper.addPacsCompenSate(masterId,0);
}else {
return compenSateMapper.updatePacsCompenSate(masterId);
}
}
}

@ -15,4 +15,25 @@ medicalRecordsRoomDeptId = 1315
medicalepartmentDeptId = 1145
#\u5B9A\u4E49\u7B2C\u4E09\u65B9\u6D4F\u89C8\u75C5\u5386\u7684\u67E5\u8BE2\u5168\u90E8\u5206\u7C7B\u7684\u5206\u7C7Bid\u53C2\u6570\u503C
allAddortIds = 00000000
allAddortIds = 00000000
###\u9000\u56DE\u75C5\u6848\u7ED9\u91D1\u8776\u516C\u53F8\u7684webService\u63A5\u53E3\u5730\u5740
#RETURNWEBSERVICE = http://192.168.10.39:8001/KingdeeEmrArchiveReturn.asmx?wsdl
###webService qName\u53C2\u65701
#RETURNPARM1 = http://tempuri.org/
###webService qName\u53C2\u65702
#RETURNPARM2 = SetArchieveReturn
#
##pdf\u6C34\u5370
#pdfWater = \u5E7F\u4E1C\u7701\u82F1\u5FB7\u5E02\u4EBA\u6C11\u533B\u9662
#
##\u75C5\u6848\u5BA4\u79D1\u5BA4\u7F16\u53F7
#medicalRecordsRoomDeptId = 1315
#
##\u533B\u52A1\u79D1\u79D1\u5BA4\u7F16\u53F7
#medicalepartmentDeptId = 1145
#
##\u5B9A\u4E49\u7B2C\u4E09\u65B9\u6D4F\u89C8\u75C5\u5386\u7684\u67E5\u8BE2\u5168\u90E8\u5206\u7C7B\u7684\u5206\u7C7Bid\u53C2\u6570\u503C
#allAddortIds = 00000000

@ -53,9 +53,71 @@ POWER_JSP=http://localhost:8084/power
recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
HomepageDictionary=http://localhost:8080/WholeCheckInterface/services/HomepageDictionary?wsdl
HomepageMethod=CheckData
#
#
#
#
#
#
##\u6570\u636E\u5E93IP
#dataBaseIp=localhost
###\u6570\u636E\u5E93\u540D\u79F0
##dataBaseName=yd_record
###\u6570\u636E\u5E93\u5BC6\u7801
##dataBasePassword=docus702
#
##\u6570\u636E\u5E93IP
##dataBaseIp=10.36.116.108
###\u6570\u636E\u5E93\u540D\u79F0
#dataBaseName=emr_record
##\u6570\u636E\u5E93\u5BC6\u7801
#dataBasePassword=xjgs+docus911
#
#jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#jdbc.url=jdbc\:sqlserver\://${dataBaseIp}:1433;databaseName=${dataBaseName}
#jdbc.username=sa
#jdbc.password=${dataBasePassword}
#
##oracle
##jdbc.url1=jdbc:oracle:thin:@localhost:1521/ORCL
##jdbc.username1=docus
##jdbc.password1=docus702
#
#jdbc.url1=jdbc:oracle:thin:@192.168.10.6:1521/orc1
#jdbc.username1=pacs
#jdbc.password1=pacs
#
#jdbc.driver1=oracle.jdbc.driver.OracleDriver
#
#filters: stat
#maxActive: 20
#initialSize: 1
#maxWait: 60000
#minIdle: 10
#timeBetweenEvictionRunsMillis: 60000
#minEvictableIdleTimeMillis: 300000
#validationQuery: SELECT 'x'
#testWhileIdle: true
#testOnBorrow: false
#testOnReturn: false
#maxOpenPreparedStatements: 20
#removeAbandoned: true
#removeAbandonedTimeout: 1800
#logAbandoned: true
#
##\u56FE\u7247\u5730\u5740
#pictureUrl=src\\main\\webapp
#
#powerUrl=http://10.36.116.108:8080/power/font/getMenusByUserIdAndSysFlag
#POWER_URLHEAD=http://10.36.116.108:8080/power
#POWER_JSP=http://10.36.116.108:8080/power
#recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
#HomepageDictionary=http://10.36.116.108:8080/WholeCheckInterface/services/HomepageDictionary?wsdl
#HomepageMethod=CheckData
#
#
#
#
#
#
#

@ -7,9 +7,18 @@
values (#{masterId}, #{patientId},
#{compensateState})
</insert>
<insert id="addPacsCompenSate">
insert into pacs_compensate (masterId,
compensateState)
values (#{masterId},
#{compensateState})
</insert>
<update id="updateCompenSate">
update compensate set compensateState=0 where masterId=#{masterId}
</update>
<update id="updatePacsCompenSate">
update pacs_compensate set compensateState=0 where masterId=#{masterId}
</update>
<select id="selectAll" resultType="com.emr.vo.CompenSateVo">
select * from compensate where
@ -21,5 +30,15 @@
<select id="selectAllByMasterId" resultType="com.emr.vo.CompenSateVo">
select * from compensate where masterId=#{masterId}
</select>
<select id="selectAllByPacs" resultType="com.emr.vo.CompenSateVo">
select * from pacs_compensate where
masterId in
<foreach item="item" collection="ids.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectPacsAllByMasterId" resultType="com.emr.vo.CompenSateVo">
select * from pacs_compensate where masterId=#{masterId}
</select>
</mapper>

@ -26,6 +26,7 @@
margin-top: 5px;
margin-left: 20px;
}
.divCss22 {
margin-top: 5px;
margin-left: -7px;
@ -148,8 +149,9 @@
margin-top: 35%;
width: 100%;
}
.returntoRole{
margin-left:15px!important;
.returntoRole {
margin-left: 15px !important;
}
</style>
<script>
@ -166,7 +168,8 @@
<div class="form-inline">
<div class="form-group divCss8">
<label for="name">主管医生:</label>
<input type="text" class="input-sm form-control" id="doctorInCharge" maxlength="25" placeholder="请输入主管医生姓名">
<input type="text" class="input-sm form-control" id="doctorInCharge" maxlength="25"
placeholder="请输入主管医生姓名">
</div>
<%--<div class="form-group divCss8" hidden="hidden">--%>
<%--<label for="id">病案号:</label>--%>
@ -208,9 +211,11 @@
<div class="form-group divCss">
<label>出院日期:</label>
<div class="input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDateTo" style="text-align:center" maxlength="10" autocomplete="off"/>
<input type="text" class="input-sm form-control" name="start" id="startDateTo"
style="text-align:center" maxlength="10" autocomplete="off"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDateTo" style="text-align:center" maxlength="10" autocomplete="off"/>
<input type="text" class="input-sm form-control" name="end" id="endDateTo" style="text-align:center"
maxlength="10" autocomplete="off"/>
</div>
</div>
<%--<div class="form-group divCss2">--%>
@ -354,8 +359,10 @@
<button type="button" class="btn btn-info btn-sm" id="pdfBtn">查看分段PDF</button>
<button type="button" class="btn btn-success btn-sm" id="pdfBtn2">查看PDF</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="addBtn">添加清单</button>--%>
<button type="button" class="btn btn-warning btn-sm" id="updateStateBtn">选中作废</button>
<button type="button" class="btn btn-primary btn-sm" id="updateStateBtn2">选中使用</button>
<button type="button" class="btn btn-warning btn-sm" id="updateStateBtn">选中作废
</button>
<button type="button" class="btn btn-primary btn-sm" id="updateStateBtn2">选中使用
</button>
</div>
<div class="row">
<!--数据表格-->
@ -608,7 +615,7 @@
</div>
<div class="row divCss2">
<span style="vertical-align:top;">内容:</span><textarea id="content" rows="6"
cols="80"></textarea>
cols="80"></textarea>
</div>
</div>
</div>
@ -620,7 +627,7 @@
<div class="row divCss2">
<div class="row divCss2">
<span style="vertical-align:center;">评分:</span><input id="score" type="number"
class="input-sm " min="1"/> 分
class="input-sm " min="1"/> 分
</div>
<%--<div class="row divCss22">
<span>退给角色:</span>
@ -629,7 +636,7 @@
</div>--%>
<div class="row divCss2">
<span style="vertical-align:top;">内容:</span><textarea id="backContent" rows="6"
cols="80"></textarea>
cols="80"></textarea>
</div>
</div>
</div>
@ -747,17 +754,17 @@
//$(".img_div").html("");
return false;
} else {
/**
*若规则全部通过则在此提交url到后台数据库
*/
// if (objUrl.indexOf(".") != -1) {
// img_html = "<div class='isImg' id='-1'><img src='require(" + objUrl + ")' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
// } else {
img_html = "<div class='isImg' id='-1'><img src='" + objUrl + "' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
//}
img_html += selectStr
+ " <button class='removeBtn' onclick='javascript:removeImg(this)'>x</button></div>";
img_div.append(img_html);
/**
*若规则全部通过则在此提交url到后台数据库
*/
// if (objUrl.indexOf(".") != -1) {
// img_html = "<div class='isImg' id='-1'><img src='require(" + objUrl + ")' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
// } else {
img_html = "<div class='isImg' id='-1'><img src='" + objUrl + "' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
//}
img_html += selectStr
+ " <button class='removeBtn' onclick='javascript:removeImg(this)'>x</button></div>";
img_div.append(img_html);
}
}
/**
@ -1212,10 +1219,10 @@
//退回信息
data.score = $("#score").val();
var length = $('input[name="returntoRole"]:checked').length;
if(length == 2){
if (length == 2) {
//退给角色,如果选中两个存ALL
data.returntoRole = 'ALL';
}else{
} else {
$('input[name="returntoRole"]:checked').each(function () {//遍历每一个名字为interest的复选框其中选中的执行函数
data.returntoRole = $(this).val();
});
@ -1340,9 +1347,11 @@
$.ajax({
url: "${path}/lastVerify/updateStateByArchivId",
type: "POST",
data: {archiveDetailId: archiveDetailId, firstTrial: firstTrial,
state: state,changeReason:$("#changeReason").val(),
checkedDateTime:$("#checkedDateTime").val(),paperPosition:$("#paperPosition").val()},
data: {
archiveDetailId: archiveDetailId, firstTrial: firstTrial,
state: state, changeReason: $("#changeReason").val(),
checkedDateTime: $("#checkedDateTime").val(), paperPosition: $("#paperPosition").val()
},
success: function (result) {
if (result == 1) {
$("#verifyModal").modal('hide');
@ -1358,7 +1367,7 @@
$(function () {
initDateInput('startDateTo','endDateTo');
initDateInput('startDateTo', 'endDateTo');
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
if (index != null && index != "" && index.indexOf("excel") != -1) {
@ -1447,15 +1456,14 @@
}
});
}
function compensateState(id,patientId) {
console.log("id"+id)
console.log("patientId"+patientId)
function compensateState(id, patientId) {
$.ajax({
url: "${path}/lastVerify/updateCompensate",
type: "POST",
data: {id: id,patientId:patientId},
data: {id: id, patientId: patientId},
success: function (result) {
if (result==1){
if (result == 1) {
toastr.success("his重新采集成功");
$('#table').bootstrapTable('refresh');
}
@ -1463,6 +1471,22 @@
});
}
function pacsCompensate(id, patientId) {
$.ajax({
url: "${path}/lastVerify/updatePacsCompensate",
type: "POST",
data: {id: id, patientId: patientId},
success: function (result) {
if (result == 1) {
toastr.success("pacs重新采集成功");
$('#table').bootstrapTable('refresh');
}
}
});
}
getFaultType();
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
@ -1573,11 +1597,11 @@
// deptName = $("#deptName").val();
// }
//
var deptName=$("#deptName").val();
if (deptName.indexOf("")!=-1){
deptName="";
}else{
deptName=$("#deptName").val().toString();
var deptName = $("#deptName").val();
if (deptName.indexOf("") != -1) {
deptName = "";
} else {
deptName = $("#deptName").val().toString();
}
@ -1594,8 +1618,8 @@
deptName: deptName,
startDateTo: $("#startDateTo").val(),
endDateTo: $("#endDateTo").val(),
doctorInCharge:$("#doctorInCharge").val(),
isSearch:$("#isSearch").val()
doctorInCharge: $("#doctorInCharge").val(),
isSearch: $("#isSearch").val()
};
return temp;
@ -1723,10 +1747,10 @@
align: 'center',
formatter: function (value, row, index) {
var color = 'red';
if(value=='已签收'){
if (value == '已签收') {
color = 'green';
}
return '<span style="color:'+color+'">'+value+'</span>';
return '<span style="color:' + color + '">' + value + '</span>';
}
},
{
@ -1735,10 +1759,10 @@
align: 'center',
formatter: function (value, row, index) {
var color = 'red';
if(value=='未召回'){
if (value == '未召回') {
color = 'green';
}
return '<span style="color:'+color+'">'+value+'</span>';
return '<span style="color:' + color + '">' + value + '</span>';
}
},
{
@ -1747,10 +1771,10 @@
align: 'center',
formatter: function (value, row, index) {
var color = 'red';
if(value=='未修改'){
if (value == '未修改') {
color = 'green';
}
return '<span style="color:'+color+'">'+value+'</span>';
return '<span style="color:' + color + '">' + value + '</span>';
}
},
{
@ -1774,11 +1798,16 @@
html += '<button type="button" class="btn btn-sm btn-primary verifyInfo">审核</button>';
}
}
if (row.compensateState==1){
if (row.compensateState == 1) {
html += '<button type="button" class="btn btn-warning btn-sm compensateState" >his重新采集</button>';
}else {
} else {
html += '<button type="button" class="btn btn-warning btn-sm compensateState" disabled>his正在采集</button>';
}
if (row.pacsCompensate == 1) {
html += '<button type="button" class="btn btn-warning btn-sm pacsCompensate" >pacs重新采集</button>';
} else {
html += '<button type="button" class="btn btn-warning btn-sm pacsCompensate" disabled>pacs正在采集</button>';
}
return html;
},
@ -1805,9 +1834,11 @@
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}, 'click .compensateState': function (e, value, row, index) {
compensateState(row.id,row.patientId);
compensateState(row.id, row.patientId);
},
'click .pacsCompensate': function (e, value, row, index) {
pacsCompensate(row.id, row.patientId);
},
'click .verifyInfo': function (e, value, row, index) {
// console.log("====审核====");
@ -1854,7 +1885,7 @@
$("#chargeLab").html(row.doctorInCharge);
$("#deptToLab").html(row.deptAdmissionTo);
//出院
if(row.dischargeDateTime!=null&& row.dischargeDateTime!='') {
if (row.dischargeDateTime != null && row.dischargeDateTime != '') {
$("#inDateLab1").html(row.dischargeDateTime.substring(0, 10));
}
$("#deptToLab1").html(row.deptName);
@ -1862,19 +1893,19 @@
$("#inLab").html(row.inpNo);
$("#inTimeLab").html(row.visitId);
$("#wzContent").html(row.lockinfo);
//请求接口查看并回显
$.ajax({
type:'get',
url:'${path}/beHosp/checkSuccess',
data:{archiveDetailId:row.id},
async:false,
success:function(result){
$("#wzContent").text('');
if(result != ''){
$("#wzContent").text(result);
}
},
})
//请求接口查看并回显
$.ajax({
type: 'get',
url: '${path}/beHosp/checkSuccess',
data: {archiveDetailId: row.id},
async: false,
success: function (result) {
$("#wzContent").text('');
if (result != '') {
$("#wzContent").text(result);
}
},
})
//入/出院年+出院月+住院号+住院次数
var outDate = "";
@ -1938,7 +1969,7 @@
//导出excel功能
$("#excelBtn").click(function () {
// var id = "" + $("#id").val();
// var id = "" + $("#id").val();
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
@ -1962,8 +1993,8 @@
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
window.location.href = "${path}/lastVerify/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo+"&isSearch="+$("#isSearch").val()+"&doctorInCharge="+$("#doctorInCharge").val();
"&name=" + name + "&deptName=" + deptName
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo + "&isSearch=" + $("#isSearch").val() + "&doctorInCharge=" + $("#doctorInCharge").val();
});
@ -2005,8 +2036,8 @@
//修改选中已选节点
node = treeObj.getNodeByParam("id", currId);
} else {*/
//添加选中父节点
var node = treeObj.getNodeByParam("id", 0);
//添加选中父节点
var node = treeObj.getNodeByParam("id", 0);
//}
treeObj.selectNode(node, true);//将指定ID的节点选中
$('#table2').bootstrapTable('refresh');
@ -2276,30 +2307,32 @@
})
}
});
function changeBox(){
function changeBox() {
var flag = $("#isChange").is(":checked");
var time = getFormatDate();
if(flag){
if (flag) {
//获取医生初审时间
var html = '<div class="form-group"><span style="vertical-align:top;">&emsp;&emsp;审核时间:</span>'
+'<input type="text" class="input-sm" value="'+time+'" id="checkedDateTime" name="checkedDateTime" maxlength="30"></div>'
+'<div class="form-group ">'
+'<span style="vertical-align:top;">&emsp;&emsp;修改原因:</span><textarea rows="6" cols="56" id="changeReason" name="changeReason" maxlength="500"></textarea></div>';
+ '<input type="text" class="input-sm" value="' + time + '" id="checkedDateTime" name="checkedDateTime" maxlength="30"></div>'
+ '<div class="form-group ">'
+ '<span style="vertical-align:top;">&emsp;&emsp;修改原因:</span><textarea rows="6" cols="56" id="changeReason" name="changeReason" maxlength="500"></textarea></div>';
$("#block").append(html);
}else{
} else {
$("#block").empty();
}
}
//获取当前时间
function getFormatDate(){
function getFormatDate() {
var nowDate = new Date();
var year = nowDate.getFullYear();
var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1;
var date = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
var hour = nowDate.getHours()< 10 ? "0" + nowDate.getHours() : nowDate.getHours();
var minute = nowDate.getMinutes()< 10 ? "0" + nowDate.getMinutes() : nowDate.getMinutes();
var second = nowDate.getSeconds()< 10 ? "0" + nowDate.getSeconds() : nowDate.getSeconds();
return year + "-" + month + "-" + date+" "+hour+":"+minute+":"+second;
var hour = nowDate.getHours() < 10 ? "0" + nowDate.getHours() : nowDate.getHours();
var minute = nowDate.getMinutes() < 10 ? "0" + nowDate.getMinutes() : nowDate.getMinutes();
var second = nowDate.getSeconds() < 10 ? "0" + nowDate.getSeconds() : nowDate.getSeconds();
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
</script>
<script src="${path}/static/js/hospitalLoadPdf/loadPdf.js?time=2020-09-28"></script>

Loading…
Cancel
Save