医生、护士提交

master
linjj 1 year ago
parent 63c8ef0ef7
commit e0cccbe372

@ -224,16 +224,6 @@
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<!-- 客户端 -->
<!-- axis 1.4 jar start -->
<dependency>

@ -197,6 +197,30 @@ public class lastVerifyController {
return Msg.success().add("ids", ids);
}
@ResponseBody
@RequestMapping(value = "/updateReturnCmtDoctor")
public Msg updateReturnCmtDoctor(String id){
int i = archiveMasterService.updateReturnCmtDoctor(id);
if (i==1){
return Msg.success();
}
return Msg.fail();
}
@ResponseBody
@RequestMapping(value = "/updateReturnCmtNurse")
public Msg updateReturnCmtNurse(String id){
int i = archiveMasterService.updateReturnCmtNurse(id);
if (i==1){
return Msg.success();
}
return Msg.fail();
}
}

@ -150,4 +150,9 @@ public interface Archive_MasterMapper {
List<Archive_Master> getFailList(@Param("scheduledFlag")String scheduledFlag);
int updateReturnCmtDoctor(@Param("id")String id);
int updateReturnCmtNurse(@Param("id")String id);
}

@ -6,11 +6,15 @@ import com.emr.dao.Archive_MasterMapper;
import com.emr.entity.Archive_Master;
import com.emr.util.RedisMq;
import com.emr.vo.PrintParam;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -23,6 +27,7 @@ import java.util.List;
*/
@Component
@Slf4j
public class ScheduledJob {
private String redisKey = "docus:task:topic_collect_%s_queue:%s";
@ -33,14 +38,20 @@ public class ScheduledJob {
private String scheduledFlag;
@Autowired
private Archive_MasterMapper archiveMasterMapper;
private final static Logger logger = LoggerFactory.getLogger(ScheduledJob.class);
/**
* @description:
* @author linjj
* @date: 2023/12/14 16:54
*/
@Scheduled(cron = "0 0 1 * * ?")
@Scheduled(cron = "${quartzTime}")
public void repairTaskAll() {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String newDate = format.format(date);
//查询采集未完成患者继续采集
logger.info(newDate+"开始补偿病历");
List<Archive_Master> failList = archiveMasterMapper.getFailList(scheduledFlag);
for (Archive_Master list:failList){
PrintParam printParam = new PrintParam();
@ -52,6 +63,7 @@ public class ScheduledJob {
printParam.setName(list.getName());
GenerateQueue(printParam,1,list.getSysFlag());
}
logger.info("本次补偿:"+failList.size()+"本病历");
}
@ -59,7 +71,6 @@ public class ScheduledJob {
private void GenerateQueue(PrintParam data, Integer ispriority, String collectid) {
String key = String.format(redisKey, collectid, ispriority);
redisMq.push(key, JSON.toJSONString(data, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue));
}

@ -145,6 +145,11 @@ public interface Archive_MasterService {
//String selectLockInfoByMasterId(String archiveDetailId);
int updateReturnCmtDoctor(String id);
int updateReturnCmtNurse(String id);
}

@ -54,11 +54,13 @@ allAddortIds = 00000000
overDateSet = 2021-05-01
#\u5404\u5BA1\u6838\u89D2\u8272\u7528\u6237id 1\uFF1A\u533B\u751F\uFF1B2\uFF1A\u62A4\u58EB\uFF1B3\uFF1A\u75C5\u6848\u5BA4\u4EBA\u5458\uFF1B5\uFF1A\u533B\u751F\u8D28\u63A7\u5458\uFF1B6\uFF1A\u79D1\u4E3B\u4EFB\uFF1B7\uFF1A\u62A4\u58EB\u957F\uFF1B8\uFF1A\u62A4\u58EB\u8D28\u63A7\u5458
#电子病历采集器标识
doctorFlag= 2,15,8
#电子病历采集器标识,2023-12-18医院护理记录接口没上先改为提交电子病历同时默认提交护理记录
doctorFlag= 2,15,8,1
#护理记录采集器标识
nurseFlag= 1
#补偿采集器标识
collectIdList= 1,2,15,8
#定时需要补偿的采集器id
scheduledFlag=1,2,15,8
#定时补偿任务时间
quartzTime=0 38 14 ? * *

@ -731,7 +731,7 @@
<!--终审-->
<select id="selectByLast" 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,m.paper_static,
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,m.paper_static,cmt_doctor,cmt_nurse,cmt_doctor_date,cmt_nurse_date,
dept_name,m.discharge_date_time,m.ArchiveState,m.admission_date_time,dept_admission_to
,m.check_doctor,m.check_datetime,m.checked_doctor,m.checked_datetime,m.LockInfo,m.DOCTOR_IN_CHARGE,m.ID_NO,m.DISCHARGE_DISPOSITION,m.dept_code_lend,
datediff(day,m.discharge_date_time,getdate()) -
@ -1568,7 +1568,7 @@
where id = #{id,jdbcType=NVARCHAR}
</update>
<update id="updateCmtDoctorByInpNoAndVisitId">
update archive_master set cmt_doctor=1,cmt_doctor_date=#{submitTime},cmt_doctor_name=#{submitCode}
update archive_master set cmt_doctor=1,cmt_nurse=1,cmt_doctor_date=#{submitTime},cmt_doctor_name=#{submitCode},cmt_nurse_date=#{submitTime}
where inp_no=#{inpNo} and visit_id=#{visitId}
</update>
<update id="updateCmtNurseByInpNoAndVisitId">
@ -1579,6 +1579,13 @@
update archive_master set ArchiveState='64'
where inp_no=#{inpNo} and visit_id=#{visitId}
</update>
<update id="updateReturnCmtDoctor">
update archive_master set cmt_doctor=2,cmt_doctor_date='' where id=#{id}
</update>
<update id="updateReturnCmtNurse">
update archive_master set cmt_nurse=2,cmt_nurse_date='' where id=#{id}
</update>
<!---查询出院工作日-->
<select id="selectDaysByMasterIds" resultMap="BaseResultMap2">
SELECT

@ -650,6 +650,65 @@
</div>
</div>
</div>
<%--退回医生确认框--%>
<div class="modal fade" id="returnCmtDoctor" tabindex="-1" role="dialog" aria-labelledby="returnCmtDoctorLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="returnCmtDoctorLabel">确认退回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<input type="hidden" id="idCmtDoctor" name="idCmtDoctor" value=""/>
<input type="hidden" id="cmtDoctorFlag" name="cmtDoctorFlag" value=""/>
<label class="control-label">确定给医生退回该病历吗?</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="returnCmtDoctorAdd">确认</button>
</div>
</div>
</div>
</div>
<%--退回护士确认框--%>
<div class="modal fade" id="returnCmtNurse" tabindex="-1" role="dialog" aria-labelledby="returnCmtNurseLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="returnCmtNurseLabel">确认退回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<input type="hidden" id="idCmtNurse" name="idCmtNurse" value=""/>
<input type="hidden" id="cmtNurseFlag" name="cmtNurseFlag" value=""/>
<label class="control-label">确定给护士退回该病历吗?</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="returnCmtNurseAdd">确认</button>
</div>
</div>
</div>
</div>
<%--审核确认弹窗--%>
<div class="modal fade verifyModal" id="sureModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">

@ -177,36 +177,10 @@ function initTable() {
},
{
title: '护士提交时间',
field: 'cmtnurseDate',
field: 'cmtNurseDate',
align: 'center',
valign: 'middle',
},
// {
// title: 'HIS召回状态',
// field: 'callBackStatus',
// align: 'center',
// valign: 'middle',
// formatter:function(value, row){
// if(value == '是'){
// return '<span style="color:green">是</span>';
// }else{
// return '<span style="color:red">否</span>';
// }
// }
// },
// {
// title: '打印状态',
// field: 'printStatus',
// align: 'center',
// valign: 'middle',
// formatter:function(value, row){
// if(value == '是'){
// return '<span style="color:green">是</span>';
// }else{
// return '<span style="color:red">否</span>';
// }
// }
// },
{
title: "操作",
align: 'left',

@ -135,20 +135,20 @@ function initTable() {
field: 'doctorInCharge',
align: 'left'
},
{
title: '状态',
field: 'status',
align: 'center',
formatter: function (value, row) {
var overTimeStr = '';
//超期
if (row.days > 0) {
overTimeStr = '<span style="color:red">(超期)</span>';
}
var str = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
return overTimeStr + str;
}
},
// {
// title: '状态',
// field: 'status',
// align: 'center',
// formatter: function (value, row) {
// var overTimeStr = '';
// //超期
// if (row.days > 0) {
// overTimeStr = '<span style="color:red">(超期)</span>';
// }
// var str = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
// return overTimeStr + str;
// }
// },
{
title: '纸质状态',
field: 'remark',
@ -171,47 +171,73 @@ function initTable() {
return str;
}
},
// {
// title: '纸质扫描',
// field: 'checkName',
// align: 'center',
// valign: 'middle',
// formatter: function (value, row) {
// var colorStr = ''
// if (value == '是') {
// colorStr = '#8FBC8F';
// } else if (value == '否') {
// colorStr = 'red';
// } else {
// value = '';
// }
// var str = '<span style="color:' + colorStr + '"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
// return str;
// }
// },
// {
// title: 'HIS召回状态',
// field: 'callBackStatus',
// align: 'center',
// valign: 'middle',
// formatter: function (value, row) {
// if (value == '是') {
// return '<span style="color:green">是</span>';
// } else {
// return '<span style="color:red">否</span>';
// }
// }
// },
{
title: '纸质扫描',
field: 'checkName',
title: '打印状态',
field: 'printStatus',
align: 'center',
valign: 'middle',
formatter: function (value, row) {
var colorStr = ''
if (value == '是') {
colorStr = '#8FBC8F';
} else if (value == '否') {
colorStr = 'red';
return '<span style="color:green">是</span>';
} else {
value = '';
return '<span style="color:red">否</span>';
}
var str = '<span style="color:' + colorStr + '"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
return str;
}
},
{
title: 'HIS召回状态',
field: 'callBackStatus',
title: '医生提交状态',
field: 'cmtDoctor',
align: 'center',
valign: 'middle',
formatter: function (value, row) {
if (value == '是') {
return '<span style="color:green">是</span>';
if (value == '1') {
return '<span style="color:green">已提交</span>';
} else {
return '<span style="color:red">否</span>';
return '<span style="color:red">未提交</span>';
}
}
},
{
title: '打印状态',
field: 'printStatus',
title: '护士提交状态',
field: 'cmtNurse',
align: 'center',
valign: 'middle',
formatter: function (value, row) {
if (value == '') {
return '<span style="color:green"></span>';
if (value == '1') {
return '<span style="color:green">已提交</span>';
} else {
return '<span style="color:red"></span>';
return '<span style="color:red">未提交</span>';
}
}
},
@ -237,9 +263,35 @@ function initTable() {
if (row.paperStatic == 0) {
html += '<button type="button" class="btn btn-sm btn-primary addPaperStatic" title="纸质签收">纸质签收</button>'
}
if (row.cmtDoctor == 1) {
html += '<button type="button" class="btn btn-sm btn-primary returnCmtDoctor" title="退回医生">退回医生</button>'
}
if (row.cmtNurse == 1) {
html += '<button type="button" class="btn btn-sm btn-primary returnCmtNurse" title="退回护士">退回护士</button>'
}
return html;
},
events: {
'click .returnCmtDoctor': function (e, value, row, index) {
$('#returnCmtDoctor').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
//同步
$("#idCmtDoctor").val(row.id);
$("#cmtDoctorFlag").val(1);
},
'click .returnCmtNurse': function (e, value, row, index) {
$('#returnCmtNurse').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
//同步
$("#idCmtNurse").val(row.id);
$("#cmtNurseFlag").val(2);
},
'click .addPaperStatic': function (e, value, row, index) {
addPaperStatic(row.id,row.paperStatic)
},
@ -351,6 +403,56 @@ function initTable() {
});
}
}
//医生退回接口
$("#returnCmtDoctorAdd").click(function () {
var idCmtDoctor = $("#idCmtDoctor").val();
var cmtDoctorFlag = $("#cmtDoctorFlag").val();
$.ajax({
url: path + "/lastVerify/updateReturnCmtDoctor", // 获取表格数据的url
type: "POST",
data: {id: idCmtDoctor,flag:cmtDoctorFlag},
success: function (result) {
if (result.code==100){
$('#returnCmtDoctor').modal('hide');
toastr.success("退回成功!");
reLoad();
}
if (result.code==200){
$('#returnCmtDoctor').modal('hide');
toastr.warning("退回失败!");
reLoad();
}
}
});
});
//护士退回接口
$("#returnCmtNurseAdd").click(function () {
var idCmtNurse = $("#idCmtNurse").val();
var cmtNurseFlag = $("#cmtNurseFlag").val();
$.ajax({
url: path + "/lastVerify/updateReturnCmtNurse", // 获取表格数据的url
type: "POST",
data: {id: idCmtNurse,flag:cmtNurseFlag},
success: function (result) {
if (result.code==100){
$('#returnCmtNurse').modal('hide');
toastr.success("退回成功!");
reLoad();
}
if (result.code==200){
$('#returnCmtNurse').modal('hide');
toastr.warning("退回失败!");
reLoad();
}
}
});
});
//签收、取消签收
function addPaperStatic(id,paperStatic) {
$.ajax({
@ -359,12 +461,12 @@ function addPaperStatic(id,paperStatic) {
data: {id: id,paperStatic:paperStatic},
success: function (result) {
if (result==0){
toastr.warning("失败!");
reLoad();
return toastr.warning("失败!");
}
if (result==1){
toastr.success("成功!");
reLoad();
return toastr.success("成功!");
}
}
@ -376,7 +478,7 @@ function addPaperStatic(id,paperStatic) {
//批量申请确认提交后刷新页面
function reLoad() {
$("#addPaperStatic").bootstrapTable('refresh', path + '/lastVerify/lastVerifyList');//排序方式
$("#table").bootstrapTable('refresh', path + '/lastVerify/lastVerifyList');//排序方式
}

Loading…
Cancel
Save