日志记录每次召回原因,并修改病案召回日志SQL

master
hujl 4 years ago
parent 5e7a073b38
commit c1e9627f45

@ -1,5 +1,6 @@
package com.emr.controller;
import com.emr.annotation.OptionalLog;
import com.emr.entity.Emr_Fault_Detail;
import com.emr.entity.Emr_Log;
import com.emr.entity.Power_User;
import com.emr.service.LogService;
@ -11,6 +12,7 @@ import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.CodeSignature;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
@ -48,7 +50,7 @@ public class LogAopAction {
String username = user.getUserName();//获取前面登录的用户名
logBo.setCreater(username);
// 获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
logBo.setCreateDate(fmt.format(new Date()));
// 获取访问真实IP
String ipAddress = request.getHeader("x-forwarded-for");
@ -84,6 +86,8 @@ public class LogAopAction {
Object target = pjp.getTarget();
// 拦截的方法名称。当前正在执行的方法
String methodName = pjp.getSignature().getName();
//请求类方法
String[] paramNames=((CodeSignature)pjp.getSignature()).getParameterNames();
// 拦截的方法参数
Object[] args = pjp.getArgs();
@ -112,9 +116,20 @@ public class LogAopAction {
if (null != method) {
// 获取方法(此为自定义注解)
OptionalLog op = method.getAnnotation(OptionalLog.class);
// 获取注解的methods 设为执行方法
logBo.setLogContent(op.methods());
if(op.methods().equals("病案召回")){
for(int i=0;i<paramNames.length;i++){
if(paramNames[i].equals("emrFaultDetail")) {
Emr_Fault_Detail emrFaultDetail = (Emr_Fault_Detail) args[2];
// System.out.println(paramNames[i] + "===参数==" + emrFaultDetail.getRecallReason());
logBo.setRemark(emrFaultDetail.getRecallReason());
}
}
}
// 将上面获取到的请求路径 设为请求路径
//logBo.setActionurl(actionUrl);
try {

@ -160,18 +160,13 @@
where log_id = #{logId,jdbcType=INTEGER}
</update>
<select id="selectByCol" parameterType="com.emr.entity.Emr_Log_Vo" resultMap="BaseResultMap2">
select m.id
archive_detail_id,m.inp_no,m.visit_id,m.name,m.sex,m.ID_NO,m.ArchiveState,f.id,f.state,f.recall_reason,f.back_flag,l.*
from emr_log l
left join archive_master m
on l.log_title=m.id
left join (
select * from emr_fault_detail ess
where not exists(select 1 from emr_fault_detail where id = ess.id and create_time
&lt; ess.create_time and archive_detail_id= ess.archive_detail_id ) and ess.state in('已召回')
) f
on l.log_title=f.archive_detail_id
where 1=1 and m.ArchiveState!='作废' and m.Is_Valid!=1 and m.ArchiveState!='已封存'
select m.id
archive_detail_id,m.inp_no,m.visit_id,m.name,m.sex,m.ID_NO,m.ArchiveState,l.remark recall_reason,l.creater,l.create_date, '已召回' state
from emr_log l
left join archive_master m
on l.log_title=m.id
<where>
1=1 and l.log_content='病案召回' and m.ArchiveState!='作废' and m.Is_Valid!=1 and m.ArchiveState!='已封存'
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
@ -187,14 +182,6 @@
#{item}
</foreach>
</if>
<choose>
<when test="state=='已召回'">
and f.state=#{state,jdbcType=NCHAR}
</when>
<when test="state=='未召回'">
AND (f.state='未召回' or f.state is null)
</when>
</choose>
<if test="idNo != null and idNo != ''">
and m.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
</if>
@ -224,16 +211,17 @@
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and l.create_date between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and
#{endDate,jdbcType=NCHAR}+ ' 23:59:59'
and CONVERT(VARCHAR(10),l.create_date,120) between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
and CONVERT(VARCHAR(10),#{endDate,jdbcType=NCHAR},120)
</when>
<when test="startDate != null and startDate != ''">
and l.create_date >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
and CONVERT(VARCHAR(10),l.create_date,120) >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endDate != null and endDate != ''">
and l.create_date &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
and CONVERT(VARCHAR(10),l.create_date,120) &lt;= CONVERT(VARCHAR(10),#{endDate,jdbcType=NCHAR},120)
</when>
</choose>
</where>
ORDER BY create_date DESC
</select>
</mapper>

@ -119,15 +119,15 @@
</select>
<%--<input type="text" class="input-sm form-control" id="creater" placeholder="请输入召回人">--%>
</div>
<div class="form-group divCss8">
<%--<div class="form-group divCss8">
<label for="state">召回状态 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="state" id="state" title="请输入召回状态">
<%-- <option value="">全部</option>--%>
&lt;%&ndash; <option value="">全部</option>&ndash;%&gt;
<option value="已召回">已召回</option>
<option value="未召回">未召回</option>
</select>
</div>
</div>--%>
<div class="form-group divCss">
<label>召回日期:</label>
<div class="input-daterange input-group" id="datepicker">
@ -310,7 +310,7 @@
name: "" + $("#name").val(),
creater:"" + $("#creater").val(),
archivestate: archivestate,
state: "" + $("#state").val(),
//state: "" + $("#state").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
};
@ -519,15 +519,15 @@
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
//var state = "" + $("#state").val();
var archivestate = "" + $("#archivestate").val();
var creater=""+$("#creater").val();
var startDate = "" + $("#startDate").val();
var endDate=""+ $("#endDate").val();
var logContent="病案召回";
window.location.href = "${path}/recallDate/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate+ "&creater="+creater
+ "&startDate=" + startDate + "&endDate=" + endDate+ "&logContent="+logContent;
"&name=" + name + "&idNo=" + idNo + "&archivestate=" + archivestate+ "&creater="+creater
+ "&startDate=" + startDate + "&endDate=" + endDate+ "&logContent="+logContent;//+ "&state=" + state
});

Loading…
Cancel
Save