diff --git a/src/main/java/com/emr/controller/emrApprove/ApproveController.java b/src/main/java/com/emr/controller/emrApprove/ApproveController.java index 8db0362..a7c9e41 100644 --- a/src/main/java/com/emr/controller/emrApprove/ApproveController.java +++ b/src/main/java/com/emr/controller/emrApprove/ApproveController.java @@ -431,10 +431,8 @@ public class ApproveController { if(null != page && null != limit){ PageHelper.startPage(page, limit); } - long start = System.currentTimeMillis(); List approves = applyApproveService.selectAllApproveByCreater(approve, startTime1, endTime1,null,null,request); - long end = System.currentTimeMillis(); //匹配权限 Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); if(null != approves && !approves.isEmpty()){ diff --git a/src/main/java/com/emr/controller/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoController.java b/src/main/java/com/emr/controller/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoController.java index db7c205..a5d05cf 100644 --- a/src/main/java/com/emr/controller/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoController.java +++ b/src/main/java/com/emr/controller/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoController.java @@ -6,6 +6,7 @@ import com.emr.entity.ResultUtil; import com.emr.service.emrPrintOrDownLoadInfo.PrintOrDownLoadInfoService; import com.emr.util.ExportExcelUtil; import com.emr.vo.EmrPrintOrDownLoadInfo.EmrPrintOrDownLoadInfoVo; +import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -64,25 +65,15 @@ public class PrintOrDownLoadInfoController { @RequiresPermissions("/printInfoList/select") @RequestMapping("printInfoList/getPrintInfoList") @ResponseBody - public String getPrintInfoList(Integer page, Integer limit, EmrPrintOrDownLoadInfoVo emrPrintOrDownLoadInfoVo,String flag){ + public PageInfo getPrintInfoList(Integer page, Integer limit, EmrPrintOrDownLoadInfoVo emrPrintOrDownLoadInfoVo){ try{ - //查询 - List list = printOrDownLoadInfoService.selectAll(emrPrintOrDownLoadInfoVo,flag); - Long size = (long) list.size(); - List updateList = new ArrayList<>(); - if (size > 0) { - int pageCount = (int) ((size / limit) + ((size % limit > 0) ? 1 : 0)); - int start = (page - 1) * limit; - int end = (int) (page == pageCount ? size : page * limit); - if (end < size) { - updateList = list.subList(start, end); - } else { - updateList = list.subList(start, size.intValue()); - } + if(null != page && null != limit){ + PageHelper.startPage(page, limit); } - PageInfo pageInfo = new PageInfo<>(updateList); - pageInfo.setTotal(size); - return JSON.toJSONString(pageInfo); + //查询 + List list = printOrDownLoadInfoService.selectAll(emrPrintOrDownLoadInfoVo); + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; }catch (Exception e){ e.printStackTrace(); return null; @@ -186,7 +177,7 @@ public class PrintOrDownLoadInfoController { list = printOrDownLoadInfoService.selectAllByIds(checks,flag); }else{ //查询 - list = printOrDownLoadInfoService.selectAll(printOrDownLoadInfoVo,flag); + list = printOrDownLoadInfoService.selectAll(printOrDownLoadInfoVo); } //文件名 String fileName = "打印记录列表导出数据(" + new SimpleDateFormat("yyyy-MM-dd HH_mm_ss").format(new Date()) + ").xls"; @@ -208,7 +199,7 @@ public class PrintOrDownLoadInfoController { list = printOrDownLoadInfoService.selectAllByIds(checks,flag); }else{ //查询 - list = printOrDownLoadInfoService.selectAll(printOrDownLoadInfoVo,flag); + list = printOrDownLoadInfoService.selectAll(printOrDownLoadInfoVo); } String fileName = ""; if(operType == 1){ diff --git a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java index 60a39cc..7b669a3 100644 --- a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java +++ b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java @@ -1366,10 +1366,10 @@ public class TemplateSearchController { assortIds += "'" + assortIdStr[i] + "'"; } } + List scanPathVos = scanPathMapper.selectScanFileByBloodPatientIds(patientIds,assortIds,flag); + //批量添加打印记录 + printOrDownLoadInfoService.SimpleInsert(scanPathVos,typeId,Short.valueOf("1")); } - List scanPathVos = scanPathMapper.selectScanFileByBloodPatientIds(patientIds,assortIds,flag); - //批量添加打印记录 - printOrDownLoadInfoService.SimpleInsert(scanPathVos,typeId,Short.valueOf("1")); }catch (Exception e){ e.printStackTrace(); } diff --git a/src/main/java/com/emr/dao/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.java b/src/main/java/com/emr/dao/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.java index e523e9d..a7aa70f 100644 --- a/src/main/java/com/emr/dao/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.java +++ b/src/main/java/com/emr/dao/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.java @@ -13,8 +13,7 @@ public interface EmrPrintDownloadInfoMapper { int SimpleInsert(List list); - List selectAll(@Param("record") EmrPrintOrDownLoadInfoVo record, - @Param("flag")String flag); + List selectAll(@Param("record") EmrPrintOrDownLoadInfoVo record); List selectAllByIds(@Param("ids")String ids,@Param("flag")String flag); diff --git a/src/main/java/com/emr/entity/emrPrintAndDownLoad/EmrPrintDownloadInfo.java b/src/main/java/com/emr/entity/emrPrintAndDownLoad/EmrPrintDownloadInfo.java index bd372d3..67ab98c 100644 --- a/src/main/java/com/emr/entity/emrPrintAndDownLoad/EmrPrintDownloadInfo.java +++ b/src/main/java/com/emr/entity/emrPrintAndDownLoad/EmrPrintDownloadInfo.java @@ -7,8 +7,6 @@ public class EmrPrintDownloadInfo implements Serializable { private String patientId; - private String assortId; - private String scanPage; private Integer typeId; @@ -39,14 +37,6 @@ public class EmrPrintDownloadInfo implements Serializable { this.patientId = patientId == null ? null : patientId.trim(); } - public String getAssortId() { - return assortId; - } - - public void setAssortId(String assortId) { - this.assortId = assortId == null ? null : assortId.trim(); - } - public String getScanPage() { return scanPage; } @@ -103,7 +93,6 @@ public class EmrPrintDownloadInfo implements Serializable { sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", patientId=").append(patientId); - sb.append(", assortId=").append(assortId); sb.append(", scanPage=").append(scanPage); sb.append(", typeId=").append(typeId); sb.append(", operType=").append(operType); diff --git a/src/main/java/com/emr/service/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoService.java b/src/main/java/com/emr/service/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoService.java index a4f1068..0da4d05 100644 --- a/src/main/java/com/emr/service/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoService.java +++ b/src/main/java/com/emr/service/emrPrintOrDownLoadInfo/PrintOrDownLoadInfoService.java @@ -1,11 +1,16 @@ package com.emr.service.emrPrintOrDownLoadInfo; +import com.alibaba.fastjson.JSON; import com.emr.dao.CommomMapper; +import com.emr.dao.Zd_AssortMapper; import com.emr.dao.emrPrintAndDownLoad.EmrPrintDownloadInfoMapper; import com.emr.entity.Power_User; +import com.emr.entity.Zd_Assort; import com.emr.entity.emrPrintAndDownLoad.EmrPrintDownloadInfo; import com.emr.vo.EmrPrintOrDownLoadInfo.EmrPrintOrDownLoadInfoVo; import com.emr.vo.commomSearch.ScanPathVo; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,38 +30,63 @@ public class PrintOrDownLoadInfoService { @Autowired private EmrPrintDownloadInfoMapper printDownloadInfoMapper; @Autowired - private CommomMapper commomMapper; + private Zd_AssortMapper assortMapper; /** * 批量插入 * */ public void SimpleInsert(List scanPathVos, Integer typeId, Short operType){ if(null != scanPathVos && !scanPathVos.isEmpty()){ + //定义不重复的主键集合 + Set patientIdList = new HashSet<>(); + for (ScanPathVo scanPathVo : scanPathVos) { + if(StringUtils.isNotBlank(scanPathVo.getPatientId())) { + patientIdList.add(scanPathVo.getPatientId()); + } + } + //组织批量插入集合 + List batchInsertList = new ArrayList<>(); + //获取登录者用户名 Power_User user = (Power_User)((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession().getAttribute("CURRENT_USER"); + //获取格式化日期 SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //查询表列数 - int colCount = commomMapper.selectColByTableName("emr_print_download_info"); - int simpleInsertCount = 2100/colCount; - //定义批量添加下载记录 - List list = new ArrayList<>(); - for (int i = 0; i < scanPathVos.size(); i++) { - //处理批量添加sql太长问题,设定个数为180 - if(null != list && i > 0 && list.size()%simpleInsertCount == 0){ - list.clear(); + //遍历主键组织批量插入集合 + for(String patientId : patientIdList){ + //定义不重复的分类id集合 + Set assortList = new LinkedHashSet<>(); + for (ScanPathVo scanPathVo : scanPathVos) { + if(StringUtils.isNotBlank(scanPathVo.getAssortId()) && patientId.equals(scanPathVo.getPatientId())) { + assortList.add(scanPathVo.getAssortId()); + } + } + //遍历组织Map + //定义分类-图片Map + Map> map = new LinkedHashMap<>(); + //分patientId + for(String assortId : assortList){ + List scanPageList = new ArrayList<>(); + for (ScanPathVo scanPathVo : scanPathVos) { + //获取分类id + String assortIdTemp = scanPathVo.getAssortId(); + //匹配图片分类 + if(StringUtils.isNotBlank(assortIdTemp) && assortId.equals(assortIdTemp) && patientId.equals(scanPathVo.getPatientId())){ + scanPageList.add(scanPathVo.getScanPage()); + } + } + map.put(assortId,scanPageList); } //添加下载记录对象 EmrPrintDownloadInfo obj = new EmrPrintDownloadInfo(); - BeanUtils.copyProperties(scanPathVos.get(i),obj); obj.setTypeId(typeId); obj.setOperType(operType); obj.setCreater(user.getUserName()); obj.setCreateTime(fmt.format(new Date())); obj.setIp(getOperIp()); - list.add(obj); - //是180的倍数或最后一个 - if(null != list && (list.size()%simpleInsertCount == 0 || i == scanPathVos.size() - 1)) { - printDownloadInfoMapper.SimpleInsert(list); - } + obj.setScanPage(JSON.toJSONString(map)); + obj.setPatientId(patientId); + batchInsertList.add(obj); } + //批量插入 + printDownloadInfoMapper.SimpleInsert(batchInsertList); } } @@ -96,55 +126,64 @@ public class PrintOrDownLoadInfoService { /** *按条件查询 * */ - public List selectAll(EmrPrintOrDownLoadInfoVo emrPrintOrDownLoadInfoVo,String flag){ - long start = System.currentTimeMillis(); - List list = printDownloadInfoMapper.selectAll(emrPrintOrDownLoadInfoVo,flag); - long end = System.currentTimeMillis(); - System.out.println("查询用时:"+(end-start)/1000.0+"s"); + public List selectAll(EmrPrintOrDownLoadInfoVo emrPrintOrDownLoadInfoVo){ + List list = printDownloadInfoMapper.selectAll(emrPrintOrDownLoadInfoVo); return getReturnList(list); } //组织数据 private List getReturnList(List list){ - long start = System.currentTimeMillis(); - List returnList = new ArrayList<>(); if(null != list && !list.isEmpty()){ - Map map = new LinkedHashMap<>(); + //查询分类集合 + List assortList = assortMapper.selectAll(new Zd_Assort()); for(EmrPrintOrDownLoadInfoVo vo : list){ - String key = vo.getPatientId() + "," + vo.getCreateTime() + "," + vo.getCreateTime(); - map.put(key,vo); - } - for(Map.Entry obj : map.entrySet()){ - String ids = ""; + //获取图片数据 + String scanPage = vo.getScanPage(); + //json数据转对象 + Map map = JSON.parseObject(scanPage, LinkedHashMap.class); + //定义图片分类字符串 String assortNames = ""; + //定义图片名称字符串 String scanPages = ""; - int printCount = 0; - Set assortNameSet = new LinkedHashSet<>(); - for(EmrPrintOrDownLoadInfoVo vo : list){ - String key = vo.getPatientId() + "," + vo.getCreateTime() + "," + vo.getCreateTime(); - if(key.equals(obj.getKey())){ - ids += vo.getId() + ","; - scanPages += vo.getScanPage() + ","; - assortNameSet.add(vo.getAssortName()); + //定义页数 + Integer printCount = 0; + //遍历map + for(Map.Entry m : map.entrySet()){ + //获取图片分类 + String assortId = m.getKey(); + //转换分类名称 + if(!CollectionUtils.isEmpty(assortList)){ + for(Zd_Assort assort : assortList){ + if(StringUtils.isNotBlank(assort.getAssortId()) && + assortId.equals(assort.getAssortId())){ + if(StringUtils.isNotBlank(assort.getAssortName())){ + assortNames += assort.getAssortName() + ","; + } + break; + } + } + } + //获取图片名称 + List scanPageList = m.getValue(); + //遍历图片名称 + for (String scanPageTemp : scanPageList){ + scanPages += scanPageTemp + ","; printCount++; } } - for(String assortName : assortNameSet){ - assortNames += assortName + ","; + //去掉尾部逗号 + if(StringUtils.isNotBlank(assortNames)){ + assortNames = assortNames.substring(0,assortNames.length()-1); + vo.setAssortName(assortNames); } - ids = ids.substring(0,ids.length() - 1); - assortNames = assortNames.substring(0,assortNames.length() - 1); - scanPages = scanPages.substring(0,scanPages.length() - 1); - EmrPrintOrDownLoadInfoVo emrPrintOrDownLoadInfoVo = obj.getValue(); - emrPrintOrDownLoadInfoVo.setIds(ids); - emrPrintOrDownLoadInfoVo.setAssortName(assortNames); - emrPrintOrDownLoadInfoVo.setScanPage(scanPages); - emrPrintOrDownLoadInfoVo.setPrintCount(printCount); - returnList.add(emrPrintOrDownLoadInfoVo); + //去掉尾部逗号 + if(StringUtils.isNotBlank(scanPages)){ + scanPages = scanPages.substring(0,scanPages.length()-1); + vo.setScanPage(scanPages); + } + vo.setPrintCount(printCount); } } - long end = System.currentTimeMillis(); - System.out.println("组织用时:"+(end-start)/1000.0+"s"); - return returnList; + return list; } /** *按复选框选中查询 diff --git a/src/main/java/com/emr/vo/EmrPrintOrDownLoadInfo/EmrPrintOrDownLoadInfoVo.java b/src/main/java/com/emr/vo/EmrPrintOrDownLoadInfo/EmrPrintOrDownLoadInfoVo.java index d5b434a..bd6d7a2 100644 --- a/src/main/java/com/emr/vo/EmrPrintOrDownLoadInfo/EmrPrintOrDownLoadInfoVo.java +++ b/src/main/java/com/emr/vo/EmrPrintOrDownLoadInfo/EmrPrintOrDownLoadInfoVo.java @@ -15,6 +15,8 @@ public class EmrPrintOrDownLoadInfoVo extends EmrPrintDownloadInfo { private String typeName; + private String assortId; + private String assortName; private String startTime; diff --git a/src/main/resources/mapper/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.xml b/src/main/resources/mapper/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.xml index bb786ce..c1ff435 100644 --- a/src/main/resources/mapper/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.xml +++ b/src/main/resources/mapper/emrPrintAndDownLoad/EmrPrintDownloadInfoMapper.xml @@ -4,8 +4,7 @@ - - + @@ -15,7 +14,6 @@ - @@ -28,13 +26,26 @@ + + id, patient_id, scan_page, type_id, oper_type, create_time, creater, ip + + + + delete from emr_print_download_info + where id = #{id,jdbcType=INTEGER} + - insert into emr_print_download_info (id, patient_id, assort_id, - scan_page, type_id, oper_type, - create_time, creater) - values (#{id,jdbcType=INTEGER}, #{patientId,jdbcType=NVARCHAR}, #{assortId,jdbcType=VARCHAR}, - #{scanPage,jdbcType=NVARCHAR}, #{typeId,jdbcType=INTEGER}, #{operType,jdbcType=SMALLINT}, - #{createTime,jdbcType=NVARCHAR}, #{creater,jdbcType=NVARCHAR}) + insert into emr_print_download_info (id, patient_id, scan_page, + type_id, oper_type, create_time, + creater, ip) + values (#{id,jdbcType=INTEGER}, #{patientId,jdbcType=NVARCHAR}, #{scanPage,jdbcType=VARCHAR}, + #{typeId,jdbcType=INTEGER}, #{operType,jdbcType=SMALLINT}, #{createTime,jdbcType=NVARCHAR}, + #{creater,jdbcType=NVARCHAR}, #{ip,jdbcType=NVARCHAR}) insert into emr_print_download_info @@ -45,9 +56,6 @@ patient_id, - - assort_id, - scan_page, @@ -63,6 +71,9 @@ creater, + + ip, + @@ -71,11 +82,8 @@ #{patientId,jdbcType=NVARCHAR}, - - #{assortId,jdbcType=VARCHAR}, - - #{scanPage,jdbcType=NVARCHAR}, + #{scanPage,jdbcType=VARCHAR}, #{typeId,jdbcType=INTEGER}, @@ -89,19 +97,49 @@ #{creater,jdbcType=NVARCHAR}, + + #{ip,jdbcType=NVARCHAR}, + - - - insert into emr_print_download_info (patient_id, scan_page,assort_id, - type_id, oper_type, create_time, - creater,ip) - - select #{items.patientId,jdbcType=NVARCHAR}, #{items.scanPage,jdbcType=NVARCHAR},#{items.assortId,jdbcType=VARCHAR}, - #{items.typeId,jdbcType=INTEGER}, #{items.operType,jdbcType=SMALLINT}, #{items.createTime,jdbcType=NVARCHAR}, - #{items.creater,jdbcType=NVARCHAR}, #{items.ip,jdbcType=NVARCHAR} - - + + update emr_print_download_info + + + patient_id = #{patientId,jdbcType=NVARCHAR}, + + + scan_page = #{scanPage,jdbcType=VARCHAR}, + + + type_id = #{typeId,jdbcType=INTEGER}, + + + oper_type = #{operType,jdbcType=SMALLINT}, + + + create_time = #{createTime,jdbcType=NVARCHAR}, + + + creater = #{creater,jdbcType=NVARCHAR}, + + + ip = #{ip,jdbcType=NVARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update emr_print_download_info + set patient_id = #{patientId,jdbcType=NVARCHAR}, + scan_page = #{scanPage,jdbcType=VARCHAR}, + type_id = #{typeId,jdbcType=INTEGER}, + oper_type = #{operType,jdbcType=SMALLINT}, + create_time = #{createTime,jdbcType=NVARCHAR}, + creater = #{creater,jdbcType=NVARCHAR}, + ip = #{ip,jdbcType=NVARCHAR} + where id = #{id,jdbcType=INTEGER} + @@ -211,4 +243,18 @@ emr_print_download_info.oper_type = 2 GROUP BY emr_print_download_info.create_time,emr_print_download_info.creater + + + + insert into emr_print_download_info + (patient_id, scan_page, + type_id, oper_type, create_time, + creater, ip) + values + + (#{record.patientId,jdbcType=NVARCHAR}, #{record.scanPage,jdbcType=VARCHAR}, + #{record.typeId,jdbcType=INTEGER}, #{record.operType,jdbcType=SMALLINT}, #{record.createTime,jdbcType=NVARCHAR}, + #{record.creater,jdbcType=NVARCHAR}, #{record.ip,jdbcType=NVARCHAR}) + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/otherManage/downloadInfoList174.jsp b/src/main/webapp/WEB-INF/views/otherManage/downloadInfoList174.jsp index 005e63a..02604a3 100644 --- a/src/main/webapp/WEB-INF/views/otherManage/downloadInfoList174.jsp +++ b/src/main/webapp/WEB-INF/views/otherManage/downloadInfoList174.jsp @@ -33,7 +33,7 @@ } .dateSearchInput{ width:30%; - margin-left:2%; + margin-left:2px; } .dateLabelDiv{ width: 30%; @@ -129,15 +129,23 @@
+
+
+ +
+
+ +
+
- +
- +
diff --git a/src/main/webapp/WEB-INF/views/otherManage/printInfoList174.jsp b/src/main/webapp/WEB-INF/views/otherManage/printInfoList174.jsp index e1816cf..0c68979 100644 --- a/src/main/webapp/WEB-INF/views/otherManage/printInfoList174.jsp +++ b/src/main/webapp/WEB-INF/views/otherManage/printInfoList174.jsp @@ -33,7 +33,7 @@ } .dateSearchInput{ width:30%; - margin-left:2%; + margin-left:2px; } .dateLabelDiv{ width: 30%; @@ -129,15 +129,23 @@
+
+
+ +
+
+ +
+
- +
- +
diff --git a/src/main/webapp/static/js/otherManage/downloadInfoCommomJs174.js b/src/main/webapp/static/js/otherManage/downloadInfoCommomJs174.js index f1c795b..e9fed02 100644 --- a/src/main/webapp/static/js/otherManage/downloadInfoCommomJs174.js +++ b/src/main/webapp/static/js/otherManage/downloadInfoCommomJs174.js @@ -128,18 +128,19 @@ $('#mytab').bootstrapTable({ inpatientNo:$("#inpatientNo").val(), operType:$("#operType").val(), assortId:$("#assortId").val(), + typeName:$("#typeName").val(), flag:$("#flag").val() } }, //选中单个复选框 onCheck:function(row){ var checks = $("#checks").val(); - $("#checks").val(checks+=row.ids + ","); + $("#checks").val(checks+=row.id + ","); }, //取消单个复选框 onUncheck:function(row){ var checks = $("#checks").val(); - checks = checks.replace(row.ids + ","); + checks = checks.replace(row.id + ","); $("#checks").val(checks); }, //全选 @@ -148,7 +149,7 @@ $('#mytab').bootstrapTable({ var checks = ''; for(var i=0;i