diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index 4016ac7f..adf5d451 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -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 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 "采集计划已生成!"; } } } diff --git a/src/main/java/com/emr/dao/Sign_ListMapper.java b/src/main/java/com/emr/dao/Sign_ListMapper.java index c8a15afb..f543bb09 100644 --- a/src/main/java/com/emr/dao/Sign_ListMapper.java +++ b/src/main/java/com/emr/dao/Sign_ListMapper.java @@ -53,6 +53,12 @@ public interface Sign_ListMapper { */ int deleteSignListByIds(String ids); + /** + * 查询纸质签收记录列表Vo + * @return + */ + List selSignByColm(Sign_List_Vo signListVo); + /** * * @param record diff --git a/src/main/java/com/emr/service/Sign_ListService.java b/src/main/java/com/emr/service/Sign_ListService.java index 6703fcbb..502474b2 100644 --- a/src/main/java/com/emr/service/Sign_ListService.java +++ b/src/main/java/com/emr/service/Sign_ListService.java @@ -66,6 +66,20 @@ public interface Sign_ListService { */ int deleteSignListByIds(String ids); + /** + * 根据条件查询纸质签收记录列表Vo + * @param signListVo + * @return + */ + List selSignByColm(Sign_List_Vo signListVo); + + /** + * 根据条件查询纸质签收记录列表Vo分页 + * @param signListVo + * @return + */ + OffsetLimitPage selSignByColm(Sign_List_Vo signListVo, Integer offset, Integer limit); + } diff --git a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java index 8dca9cbc..2c177293 100644 --- a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java @@ -131,6 +131,41 @@ public class Sign_ListServiceImpl implements Sign_ListService { return signListMapper.deleteSignListByIds(ids); } + @Override + public List selSignByColm(Sign_List_Vo signListVo) { + List list=signListMapper.selSignByColm(signListVo); + if(list!=null && list.size()>0){ + //查询用户集合 + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List 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 list= selSignByColm(signListVo); + return new OffsetLimitPage((Page) list); + } } diff --git a/src/main/resources/mapper/Sign_ListMapper.xml b/src/main/resources/mapper/Sign_ListMapper.xml index 8a90d48f..58899c93 100644 --- a/src/main/resources/mapper/Sign_ListMapper.xml +++ b/src/main/resources/mapper/Sign_ListMapper.xml @@ -155,6 +155,31 @@ where ID = #{id} + insert into archive_other diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp index f52975e0..a30390d7 100644 --- a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -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('
').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, //排位命令(desc,asc) + 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 = ''+showVal+''; + }else{ + a = ''+showVal+''; + } + return a; + } + },{ + title: '签收人', + field: 'c1', + align: 'left' + },{ + title: '签收日期', + field: 'dTime', + align: 'center' + } + ], //无线循环取子表,直到子表里面没有记录 + onExpandRow: function (index, row, $Subdetail) { + InitSubTable2(index, row, $Subdetail); + } + }); + } } }