纸质病历签收列表:添加子表查询详细签收人、签收状态、签收时间,导出不做改动

master
hujl 4 years ago
parent 90d8b4f8e0
commit f7fa1be3c9

@ -114,6 +114,15 @@ public class signListController {
String result = utils.exportExcelToFilePath(response, utils.listConvert(list));
}
@ResponseBody
@RequestMapping(value = "/selSignByColm")
public OffsetLimitPage selSignByColm(HttpServletRequest request, HttpServletResponse response, Sign_List_Vo signListVo, Integer offset, Integer limit) throws UnsupportedEncodingException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
OffsetLimitPage result = signListService.selSignByColm(signListVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/addSignList")
@ -718,7 +727,7 @@ public class signListController {
break;
}
archiveOtherExtService.updateByPrimaryKeySelective(extList.get(0));
}else {
}else if(extList.isEmpty()|| extList.size()<0){
//无任务,则新增
OracleDateVo doctorNurseFinishedDatetime = finishedDateTimeService.findByID(archive_master.getInpNo(), archive_master.getVisitId());
//V6医生最后完成时间
@ -758,6 +767,9 @@ public class signListController {
break;
}
archiveOtherExtService.insertSelective(archiveOtherExt);
}else{
//archive_Other_Ext表已经存在记录,且不只1条,删除多余或采集接口那边需要调整
return "同一个病案ID,ext表只允许1条数据!";
}
}
@ -796,7 +808,7 @@ public class signListController {
signList.setC5("0");
List<Sign_List> list=signListService.selectSignListWith(signList);
if(list!=null&&list.size()>0){
return "当前采集计划已存在,请勿重复发起";
return "当前采集计划已存在,请勿重复发起!";
}else{
signList.setId(IDHelper.NewID());
signList.setCreatedtime(sdf.format(new Date()));
@ -815,7 +827,7 @@ public class signListController {
signList.setT2(sdf.format(sdf.parse("1801-02-03 00:00:00")));
signList.setT3(sdf.format(sdf.parse("1801-02-03 00:00:00")));
signListService.insertSignList(signList);
return "采集计划已生成";
return "采集计划已生成!";
}
}
}

@ -53,6 +53,12 @@ public interface Sign_ListMapper {
*/
int deleteSignListByIds(String ids);
/**
* Vo
* @return
*/
List<Sign_List> selSignByColm(Sign_List_Vo signListVo);
/**
*
* @param record

@ -66,6 +66,20 @@ public interface Sign_ListService {
*/
int deleteSignListByIds(String ids);
/**
* Vo
* @param signListVo
* @return
*/
List<Sign_List> selSignByColm(Sign_List_Vo signListVo);
/**
* Vo
* @param signListVo
* @return
*/
OffsetLimitPage selSignByColm(Sign_List_Vo signListVo, Integer offset, Integer limit);
}

@ -131,6 +131,41 @@ public class Sign_ListServiceImpl implements Sign_ListService {
return signListMapper.deleteSignListByIds(ids);
}
@Override
public List<Sign_List> selSignByColm(Sign_List_Vo signListVo) {
List<Sign_List> list=signListMapper.selSignByColm(signListVo);
if(list!=null && list.size()>0){
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (Sign_List signObj : list) {
if (null != powerUserList) {
//获取签收人
String singer = signObj.getC1();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(singer) && powerUserDto.getUserName().equals(singer)) {
signObj.setC1(name);
}
}
}
}
}
return list;
}
@Override
public OffsetLimitPage selSignByColm(Sign_List_Vo signListVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Sign_List> list= selSignByColm(signListVo);
return new OffsetLimitPage((Page) list);
}
}

@ -155,6 +155,31 @@
<include refid="Base_Column_List"/>
where ID = #{id}
</select>
<select id="selSignByColm" resultMap="BaseResultMap" parameterType="com.emr.entity.Sign_List_Vo">
select id,pid,CONVERT (VARCHAR (20),createdtime,120) createdtime,otherInfo,masterID,detailID,CONVERT (VARCHAR (20),dTime,120) dTime,sysFlag,C1,C2,C3,C4,C5,N1,N2,N3,T1,T2,T3
from archive_other
<where>
1=1 and sysFlag = '1'
<if test="masterID != null and masterID != ''">
and masterID=#{masterID,jdbcType=VARCHAR}
</if>
<if test="c1 != null and c1 != ''">
and C1 like '%'+#{c1,jdbcType=VARCHAR}+'%'
</if>
<choose>
<when test="startSignDate != null and startSignDate != '' and endSignDate != null and endSignDate != ''">
and CONVERT(VARCHAR(10),createdtime,23) between #{startSignDate,jdbcType=NCHAR} and #{endSignDate,jdbcType=NCHAR}
</when>
<when test="startSignDate != null and startSignDate != ''">
and CONVERT(VARCHAR(10)createdtime,23) >=#{startSignDate,jdbcType=NCHAR}
</when>
<when test="endSignDate != null and endSignDate != ''">
and CONVERT(VARCHAR(10),createdtime,23) &lt;= #{endSignDate,jdbcType=NCHAR}
</when>
</choose>
order by createdtime desc
</where>
</select>
<insert id="insertSignList" parameterType="Sign_List" useGeneratedKeys="true" keyProperty="id">
insert into archive_other

@ -2952,6 +2952,7 @@
url: "${path}/signList/signList", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
detailView: true,//父子表为true会在父数据前添加 “+”
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
@ -3538,8 +3539,136 @@
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
},onExpandRow: function (index, row, $detail) {
InitSubTable(index, row, $detail);
}
});
//初始化子表格(无线循环)
InitSubTable = function (index, row, $detail) {
var masterID = row.id;
if(masterID=="" && masterID==null){
toastr.warning("病案不存在!");
return;
}
var cur_table2 = $detail.html('<table id="signTable"></table>').find('table');
//console.log(archiveDetailId+"========"+archiveDetailId+"====="+startDateTo+"======="+endDateTo);
$(cur_table2).bootstrapTable({
//method: 'POST',
url: "${path}/signList/selSignByColm", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
detailView: false,//父子表为true会在父数据前添加 “+”
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20,50,100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: false,
// toolbar: '#toolbar2',//指定工具栏
// searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
// undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
// clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: false,
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
/*if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}*/
var temp = {
limit: params.limit, //页面大小
offset: params.offset, //页码
order: params.order, //排位命令descasc
masterID: masterID,
c1: "" + $("#signer").val(),
startSignDate: $("#startSignDate").val(),
endSignDate: $("#endSignDate").val(),
};
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
}, {
title: '病案清单id',
field: 'id',
align: 'left',
valign: 'middle',
visible: false
},{
title: '签收状态',
field: 'c5',
align: 'left',
formatter: function (value, row, index) {
//1已签收 2未签收
var a = '';
var redFlag = row.numb;
var showVal="";
var colorVal="red";
if (value == "1") {
showVal="已签收";
colorVal="#030378;";
}else if (value == "2") {
showVal="未签收";
colorVal="#c0c0c0;";
}else {
showVal="未知";
colorVal="red;";
}
if (redFlag == 0) {
a = '<span style="color:'+colorVal+'"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>'+showVal+'</span>';
}else{
a = '<span style="color:'+colorVal+'"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>'+showVal+'</span>';
}
return a;
}
},{
title: '签收人',
field: 'c1',
align: 'left'
},{
title: '签收日期',
field: 'dTime',
align: 'center'
}
], //无线循环取子表,直到子表里面没有记录
onExpandRow: function (index, row, $Subdetail) {
InitSubTable2(index, row, $Subdetail);
}
});
}
}
}

Loading…
Cancel
Save