diff --git a/pom.xml b/pom.xml
index 8092caf8..9fd30987 100644
--- a/pom.xml
+++ b/pom.xml
@@ -569,7 +569,12 @@
guava
19.0
-
+
+
diff --git a/src/main/java/com/emr/controller/MedicalHandleController.java b/src/main/java/com/emr/controller/MedicalHandleController.java
index ea30fe1d..68798091 100644
--- a/src/main/java/com/emr/controller/MedicalHandleController.java
+++ b/src/main/java/com/emr/controller/MedicalHandleController.java
@@ -3,7 +3,7 @@ package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
import com.emr.service.Archive_Master_FollowingService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -39,18 +39,15 @@ public class MedicalHandleController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,入院科室,入院日期,出院科室,出院日期,处理人,处理时间,处理状态";
- String fieldCns = "id,inpNo,visitId,name,sex,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,handleName,handleTime,followingContent";
- //构造excel的数据
- List list = archiveMasterService.selectHandleDetail(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","入院科室","入院日期","出院科室","出院日期","处理人","处理时间","处理状态"};
+ String[] fileNames = {"id","inpNo","visitId","name","sex","deptAdmissionTo","admissionDateTime","deptName","dischargeDateTime","handleName","handleTime","followingContent"};
//文件名
String fileName = "病案室处理列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.selectHandleDetail(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
diff --git a/src/main/java/com/emr/controller/MedicalRecallController.java b/src/main/java/com/emr/controller/MedicalRecallController.java
index 3d1d0279..d368c804 100644
--- a/src/main/java/com/emr/controller/MedicalRecallController.java
+++ b/src/main/java/com/emr/controller/MedicalRecallController.java
@@ -9,7 +9,7 @@ package com.emr.controller;
import com.emr.annotation.OptionalLog;
import com.emr.entity.*;
import com.emr.service.*;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
@@ -64,11 +64,13 @@ public class MedicalRecallController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Emr_Fault_Vo emrFaultVo) throws Exception {
- String tableThNames = "ID,病历清单id,住院号,住院次数,名字,性别,身份证,入院科室,入院日期,出院科室,出院日期,状态,归档状态";
- String fieldCns = "id,archiveDetailId,inpNo,visitId,name,sex,idNo,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,state,archivestate";
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"ID","病历清单id","住院号","住院次数","名字","性别","身份证","入院科室","入院日期","出院科室","出院日期","状态","归档状态"};
+ String[] fileNames = {"id","archiveDetailId","inpNo","visitId","name","sex","idNo","deptAdmissionTo","admissionDateTime","deptName","dischargeDateTime","state","archivestate"};
+ //文件名
+ String fileName = "召回信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = emrFaultDetailService.selectByCol(emrFaultVo);
-
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
@@ -89,14 +91,8 @@ public class MedicalRecallController {
}
}
}
-
- //文件名
- String fileName = "召回信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@Transactional
diff --git a/src/main/java/com/emr/controller/TempHandleWzController.java b/src/main/java/com/emr/controller/TempHandleWzController.java
index 35ae0a01..db485b7c 100644
--- a/src/main/java/com/emr/controller/TempHandleWzController.java
+++ b/src/main/java/com/emr/controller/TempHandleWzController.java
@@ -4,22 +4,18 @@ import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
import com.emr.service.TempMasterIDService;
import com.emr.service.Temp_InfoService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
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 org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -137,18 +133,15 @@ public class TempHandleWzController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Temp_Info tempInfo) throws Exception {
- String tableThNames = "病案id";
- String fieldCns = "masterId";
- //构造excel的数据
- List list = tempInfoService.selByCol(tempInfo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病案id"};
+ String[] fileNames = {"masterId"};
//文件名
String fileName = "缺失列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = tempInfoService.selByCol(tempInfo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
/*@RequestMapping("reloadWzAll")
diff --git a/src/main/java/com/emr/controller/VCountController.java b/src/main/java/com/emr/controller/VCountController.java
index ae939cb2..77079e29 100644
--- a/src/main/java/com/emr/controller/VCountController.java
+++ b/src/main/java/com/emr/controller/VCountController.java
@@ -6,12 +6,9 @@
*/
package com.emr.controller;
-import com.emr.annotation.OptionalLog;
import com.emr.entity.*;
import com.emr.service.*;
-import com.emr.util.ExportExcelUtil;
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
+import com.emr.util.ThreadExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -20,9 +17,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.xml.namespace.QName;
import java.text.SimpleDateFormat;
-import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -57,71 +52,28 @@ public class VCountController {
return v_countService.selectByCol(vCount);
}
-
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, V_Count vCount) throws Exception {
- String tableThNames = "科室代码,科室名称,出院人数,已归档,未归档,死亡人数,归档率(%),2日率(%),3日率(%),7日率(%)";
- String fieldCns = "deptCode,deptName,outNum,fileNum,unfileNum,deathNum,fileRate,day2Rate,day3Rate,day7Rate";
- //构造excel的数据
- List list = v_countService.selectByCol(vCount);
-// for (int i = 0; i < list.size(); i++) {
-// if(list.get(i).getInNum()==null){
-// list.get(i).setInNum(0);
-// }
-// if (list.get(i).getOutNum() == null) {
-// list.get(i).setOutNum(0);
-// }
-// if (list.get(i).getFileNum() == null) {
-// list.get(i).setFileNum(0);
-// }
-// if (list.get(i).getUnfileNum() == null) {
-// list.get(i).setUnfileNum(0);
-// }
-// if (list.get(i).getDeathNum() == null) {
-// list.get(i).setDeathNum(0);
-// }
-// if (list.get(i).getFileRate() == null) {
-// list.get(i).setFileRate("0.0%");
-// }else{
-// Double val= Double.valueOf(list.get(i).getFileRate())/100;
-// list.get(i).setFileRate(val+"%");
-// }
-// if (list.get(i).getDay2Rate() == null) {
-// list.get(i).setDay2Rate("0.0%");
-// } else {
-// Double val = Double.valueOf(list.get(i).getDay2Rate()) / 100;
-// list.get(i).setDay2Rate(val + "%");
-// }
-// if (list.get(i).getDay3Rate() == null) {
-// list.get(i).setDay3Rate("0.0%");
-// } else {
-// Double val = Double.valueOf(list.get(i).getDay3Rate()) / 100;
-// list.get(i).setDay3Rate(val + "%");
-// }
-// if (list.get(i).getDay7Rate() == null) {
-// list.get(i).setDay7Rate("0.0%");
-// } else {
-// Double val = Double.valueOf(list.get(i).getDay7Rate()) / 100;
-// list.get(i).setDay7Rate(val + "%");
-// }
-// }
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"科室代码","科室名称","出院人数","已归档","未归档","死亡人数","归档率(%)","2日率(%)","3日率(%)","7日率(%)"};
+ String[] fileNames = {"deptCode","deptName","outNum","fileNum","unfileNum","deathNum","fileRate","day2Rate","day3Rate","day7Rate"};
//文件名
String fileName = "统计数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = v_countService.selectByCol(vCount);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
-
@ResponseBody
@RequestMapping(value = "/exportExcel2")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "名字,入院科室,入院日期,出院科室,出院日期,主管医生";
- String fieldCns = "name,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,doctorInCharge";
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"名字,入院科室,入院日期,出院科室,出院日期,主管医生"};
+ String[] fileNames = {"name","deptAdmissionTo","admissionDateTime","deptName","dischargeDateTime","doctorInCharge"};
+ //文件名
+ String fileName = "未归档病历列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = archiveMasterService.selectByUnfile(archiveMasterVo);
Emr_Dictionary dic = new Emr_Dictionary();
@@ -129,14 +81,12 @@ public class VCountController {
dic.setTypecode("dept_code");
//科室列表
List dicList = emrDictionaryService.dicByTypeCode(dic);
-
for (int i = 0; i < list.size(); i++) {
//替换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = list.get(i).getDeptName();
//入院科室dept_admission_to
String dept2 = list.get(i).getDeptAdmissionTo();
-
if ((deptName != null && deptName.equals(dicList.get(k).getCode())) || (dept2 != null && dept2.equals(dicList.get(k).getCode()))) {
//出院科室
if(deptName != null) {
@@ -148,14 +98,9 @@ public class VCountController {
}
}
}
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
- //文件名
- String fileName = "未归档病历列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
/*@ResponseBody
diff --git a/src/main/java/com/emr/controller/ZdAssortController.java b/src/main/java/com/emr/controller/ZdAssortController.java
index f1815b2e..9d544734 100644
--- a/src/main/java/com/emr/controller/ZdAssortController.java
+++ b/src/main/java/com/emr/controller/ZdAssortController.java
@@ -7,22 +7,13 @@
package com.emr.controller;
import com.emr.entity.*;
-import com.emr.service.Emr_DictionaryService;
-import com.emr.service.Emr_Fault_DetailService;
-import com.emr.service.Emr_Fault_TypeService;
import com.emr.service.Zd_AssortService;
-import com.emr.util.ExportExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
import java.util.List;
@Controller
diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java
index 0d081966..2c38f323 100644
--- a/src/main/java/com/emr/controller/beHospitaledController.java
+++ b/src/main/java/com/emr/controller/beHospitaledController.java
@@ -8,9 +8,7 @@ package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.*;
-import com.emr.util.ExportExcelUtil;
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
+import com.emr.util.ThreadExcelUtils;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.shiro.SecurityUtils;
@@ -26,7 +24,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.xml.namespace.QName;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
@@ -46,9 +43,6 @@ public class beHospitaledController {
@Autowired
private Emr_Staff_RemarkService emrStaffRemarkService;
- @Autowired
- private Emr_PictureService emrPictureService;
-
@Autowired(required = false)
private Archive_Master_FollowingService archive_master_followingService;
@@ -57,15 +51,12 @@ public class beHospitaledController {
@Value("${HomepageMethod}")
private String HomepageMethod;
-
@RequestMapping(value = "/beHosps")
public String inHospitals(Model model) {
//return "beHospitaledDir/beHospListNow";
return "beHospitaledDir/beHospList";
}
-
-
@ResponseBody
@RequestMapping(value = "/beHospList")
public OffsetLimitPage beHospList(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
@@ -73,21 +64,18 @@ public class beHospitaledController {
return result;
}
-
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,身份证,出院科室,出院日期,主管医生,状态,医生是否提交,医生,医生提交日期,护士是否提交,护士,护士提交日期,电子病历医生提交,电子病历护士提交,是否死亡";
- String fieldCns = "id,inpNo,visitId,name,sex,idNo,deptName,dischargeDateTime,doctorInCharge,archivestate,cmtDoctor,doctorName,cmtDoctorDate,cmtNurse,nurseName,cmtDurseDate,emrDoctorCmt,emrNureCmt,deathFlag";
- //构造excel的数据beHospList
- List list = archiveMasterService.selectByColumn(archiveMasterVo);
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","出院科室","出院日期","主管医生","状态","医生是否提交","医生","医生提交日期","护士是否提交","护士","护士提交日期","电子病历医生提交","电子病历护士提交","是否死亡"};
+ String[] fileNames = {"id","inpNo","visitId","name","sex","idNo","deptName","dischargeDateTime","doctorInCharge","archivestate","cmtDoctor","doctorName","cmtDoctorDate","cmtNurse","nurseName","cmtDurseDate","emrDoctorCmt","emrNureCmt","deathFlag"};
//文件名
String fileName = "出院浏览" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据beHospList
+ List list = archiveMasterService.selectByColumn(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
diff --git a/src/main/java/com/emr/controller/commitController.java b/src/main/java/com/emr/controller/commitController.java
index 895beb02..2e0380b8 100644
--- a/src/main/java/com/emr/controller/commitController.java
+++ b/src/main/java/com/emr/controller/commitController.java
@@ -8,12 +8,9 @@ package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
-import com.emr.service.Emr_DictionaryService;
import com.emr.service.Emr_Fault_DetailService;
import com.emr.service.Emr_Fault_TypeService;
-import com.emr.util.ExportExcelUtil;
-import org.apache.cxf.endpoint.Client;
-import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+import com.emr.util.ThreadExcelUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
@@ -60,18 +57,16 @@ public class commitController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,身份证,出院科室,出院日期,主管医生,状态,医生是否提交,医生,医生提交日期,护士是否提交,护士,护士提交日期,是否死亡";
- String fieldCns = "id,inpNo,visitId,name,sex,idNo,deptName,dischargeDateTime,doctorInCharge,archivestate,cmtDoctor,doctorName,cmtDoctorDate,cmtNurse,nurseName,cmtDurseDate,deathFlag";
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","出院科室","出院日期","主管医生","状态","医生是否提交","医生","医生提交日期","护士是否提交","护士","护士提交日期","是否死亡"};
+ String[] fileNames = {"id,inpNo","visitId","name","sex","idNo","deptName","dischargeDateTime","doctorInCharge","archivestate","cmtDoctor","doctorName","cmtDoctorDate","cmtNurse","nurseName","cmtDurseDate","deathFlag"};
+ //文件名
+ String fileName = "科主任审核" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = archiveMasterService.selectByCmtCol(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
- //文件名
- String fileName = "科主任审核" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
@@ -133,10 +128,10 @@ public class commitController {
@RequestMapping(value = "/updateStateByArchivId")
public int updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
response.setCharacterEncoding("utf-8");
- //修改病案归档状态
- Archive_Master archiveMaster = new Archive_Master();
- archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
- archiveMaster.setArchivestate("已归档");
+ //修改病案归档状态
+ Archive_Master archiveMaster = new Archive_Master();
+ archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
+ archiveMaster.setArchivestate("已归档");
int bol =0;
// int bol = archiveMasterService.updateByClo(archiveMaster);
//
@@ -171,18 +166,15 @@ public class commitController {
@ResponseBody
@RequestMapping(value = "/exportBbSelExcel")
public void exportBbSelExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "科室编码,科室名称,出院人数,已初审病历数,未初审病历数,超期未初审病历数";
- String fieldCns = "dept_name,name,checkDoctor,lockinfo,inpNo,visitId";
- //构造excel的数据
- List list = archiveMasterService.bbSel(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"科室编码","科室名称","出院人数","已初审病历数","未初审病历数","超期未初审病历数"};
+ String[] fileNames = {"dept_name","name","checkDoctor","lockinfo","inpNo","visitId"};
//文件名
String fileName = "当前科室归档情况报表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.bbSel(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@@ -197,18 +189,15 @@ public class commitController {
@ResponseBody
@RequestMapping(value = "/exportBbSel2Excel")
public void exportBbSel2Excel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,科室编码,科室名称,主管医生,状态,入院日期,出院日期,超期天数";
- String fieldCns = "id,inpNo,visitId,name,deptName,doctorName,doctorInCharge,archivestate,admissionDateTime,dischargeDateTime,nurseName";
- //构造excel的数据
- List list = archiveMasterService.bbSel2(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","科室编码","科室名称","主管医生","状态","入院日期","出院日期","超期天数"};
+ String[] fileNames = {"id","inpNo","visitId","name","deptName","doctorName","doctorInCharge","archivestate","admissionDateTime","dischargeDateTime","nurseName"};
//文件名
String fileName = "当前科室超期病历详情" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.bbSel2(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
diff --git a/src/main/java/com/emr/controller/faultController.java b/src/main/java/com/emr/controller/faultController.java
index 76cc7464..5b044c6e 100644
--- a/src/main/java/com/emr/controller/faultController.java
+++ b/src/main/java/com/emr/controller/faultController.java
@@ -10,7 +10,7 @@ import com.emr.entity.*;
import com.emr.service.Emr_DictionaryService;
import com.emr.service.Emr_Fault_DetailService;
import com.emr.service.Emr_Fault_TypeService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
@@ -25,13 +25,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
@Controller
@RequestMapping("fault")
public class faultController {
+
@Autowired
private Emr_Fault_DetailService emrFaultDetailService;
@@ -53,12 +52,14 @@ public class faultController {
return result;
}
-
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Emr_Fault_Vo emrFaultVo) throws Exception {
- String tableThNames = "ID,病历清单id,住院号,住院次数,姓名,出院科室,出院日期,归档状态,评分,回退内容,缺陷选项,缺陷内容,创建时间";
- String fieldCns = "id,archiveDetailId,inpNo,visitId,name,deptName,dischargeDateTime,archivestate,score,backContent,assortId,content,createTime";
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","姓名","出院科室","出院日期","归档状态","评分","回退内容","缺陷选项","缺陷内容","创建时间"};
+ String[] fileNames = {"archiveDetailId","inpNo","visitId","name","deptName","dischargeDateTime","archivestate","score","backContent","assortId","content","createTime"};
+ //文件名
+ String fileName = "缺陷信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = emrFaultDetailService.selectByCol(emrFaultVo);
Emr_Dictionary dic = new Emr_Dictionary();
@@ -101,15 +102,12 @@ public class faultController {
}
}
}
-
-
- //文件名
- String fileName = "缺陷信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ /* System.out.println("开始执行导出.......");
+ long start = System.currentTimeMillis();*/
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
+ /* long end = System.currentTimeMillis();
+ System.out.println("耗时:" + (end - start) / 1000 + "秒");*/
}
diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java
index 1be1f7cc..8ffa5290 100644
--- a/src/main/java/com/emr/controller/inHospitalController.java
+++ b/src/main/java/com/emr/controller/inHospitalController.java
@@ -11,7 +11,6 @@ import com.emr.entity.*;
import com.emr.service.*;
import com.emr.util.*;
import com.itextpdf.text.pdf.PdfReader;
-import com.lowagie.text.DocumentException;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;
@@ -93,25 +92,16 @@ public class inHospitalController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
- public String exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String result="";
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,身份证,入院科室,入院日期,主管医生,状态";
- String fieldCns = "id,inpNo,visitId,name,sex,idNo,deptAdmissionTo,admissionDateTime,doctorInCharge,archivestate";
+ public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","入院科室","入院日期","主管医生","状态"};
+ String[] fileNames = {"id","inpNo","visitId","name","sex","idNo","deptAdmissionTo","admissionDateTime","doctorInCharge","archivestate"};
+ //文件名
+ String fileName = "在院浏览" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
List list = archiveMasterService.selectByCol(archiveMasterVo);
- if(list.size()>0) {
- //文件名
- String fileName = "在院浏览" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
- result="导出成功!";
- }else{
- result="查询结果无记录!";
- }
- return result;
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java
index 0fb316e3..c203c600 100644
--- a/src/main/java/com/emr/controller/lastVerifyController.java
+++ b/src/main/java/com/emr/controller/lastVerifyController.java
@@ -8,7 +8,7 @@ package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.*;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import com.emr.util.XMLUtil;
import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_CALLBACK_RECORD;
import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_INDEX_CALLBACK;
@@ -45,6 +45,10 @@ import java.util.List;
@Controller
@RequestMapping("lastVerify")
public class lastVerifyController {
+ @Value("${EMRQualityControl}")
+ private String EMRQualityControl;
+ @Value("${EMRQualityControlParamName}")
+ private String EMRQualityControlParamName;
@Autowired
private Archive_MasterService archiveMasterService;
@@ -61,12 +65,6 @@ public class lastVerifyController {
@Autowired(required = false)
private Archive_Master_FollowingService archive_master_followingService;
- @Value("${EMRQualityControl}")
- private String EMRQualityControl;
-
- @Value("${EMRQualityControlParamName}")
- private String EMRQualityControlParamName;
-
@RequestMapping(value = "/lastVerifys")
public String faults(Model model) {
return "lastVerifyDir/lastVerifyList";
@@ -84,18 +82,15 @@ public class lastVerifyController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,身份证,出院科室,出院日期,主管医生,状态,医生是否提交,医生,医生提交日期,护士是否提交,护士,护士提交日期,电子病历医生提交,电子病历护士提交,是否死亡";
- String fieldCns = "id,inpNo,visitId,name,sex,idNo,deptName,dischargeDateTime,doctorInCharge,archivestate,cmtDoctor,doctorName,cmtDoctorDate,cmtNurse,nurseName,cmtDurseDate,emrDoctorCmt,emrNureCmt,deathFlag";
- //构造excel的数据
- List list = archiveMasterService.selectByLast(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","出院科室","出院日期","主管医生","状态","医生是否提交","医生","医生提交日期","护士是否提交","护士","护士提交日期","电子病历医生提交","电子病历护士提交","是否死亡","是否签收","签收人","签收时间"};
+ String[] fileNames = {"id","inpNo","visitId","name","sex","idNo","deptName","dischargeDateTime","doctorInCharge","archivestate","cmtDoctor","doctorName","cmtDoctorDate","cmtNurse","nurseName","cmtDurseDate","emrDoctorCmt","emrNureCmt","deathFlag","is_sign","signer","sign_time"};
//文件名
String fileName = "病案室终审" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.selectByLast(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@@ -274,6 +269,81 @@ public class lastVerifyController {
return bol;
}
+ @ResponseBody
+ @RequestMapping(value = "/updateSignState")
+ public String updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Archive_Master archiveMaster) throws UnsupportedEncodingException {
+ request.setCharacterEncoding("utf-8");
+ response.setCharacterEncoding("utf-8");
+ String result="";
+ int isSign=archiveMaster.getIsSign();
+ List list = archiveMasterService.selByCol(archiveMaster);
+ if(list.size()>0){
+ //修改
+ archiveMaster=list.get(0);
+ if(archiveMaster.getIsSign()!=isSign) {
+ // 从session获取用户名
+ Subject currentUser = SecurityUtils.getSubject();
+ Session session = currentUser.getSession();
+ String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
+
+ //参数输入
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String nowTime = format.format(new Date());
+ archiveMaster.setIsSign(isSign);
+ if (isSign == 0) {
+ archiveMaster.setSigner("");
+ archiveMaster.setSignTime("");
+ } else if (isSign == 1) {
+ // System.out.println((archiveMaster.getIsscaned().equals("1"))+"===="+archiveMaster.getIsscaned()!="1");
+ if(archiveMaster.getIsscaned().equals("1") && archiveMaster.getIsscaned()!="1") {
+ result = "该份病案签收失败,纸质病历未送病案室!";
+ return result;
+ }else {
+ archiveMaster.setSigner(username);
+ archiveMaster.setSignTime(nowTime);
+ }
+ }
+ int bol = archiveMasterService.updateByClo(archiveMaster);
+ if (bol == 1) {
+ String followingContent="";
+ String followingType="";
+ if(isSign == 1) {
+ result = "该份病案签收成功!";
+ followingContent="病案签收成功";
+ followingType="12";
+ }else{
+ result = "该份病案取消签收成功!";
+ followingContent="病案取消签收成功";
+ followingType="13";
+ }
+ //2021-05-13 following表中添加签收操作记录
+ Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
+ String handleName = user.getUserPosition();//姓名
+ Archive_Master_Following archive_master_following = new Archive_Master_Following();
+ archive_master_following.setMasterId(archiveMaster.getId());
+ archive_master_following.setFollowingType(followingType);
+ archive_master_following.setFollowingContent(followingContent);
+ archive_master_following.setHandleTime(nowTime);
+ archive_master_following.setHandleId(username);
+ archive_master_following.setHandleName(handleName);
+ archive_master_followingService.insertSelective(archive_master_following);
+ } else {
+ result = "该份病案签收失败!";
+ }
+
+ }else{
+ if(isSign==1) {
+ result = "该份病案已经签收!";
+ }else if(isSign==0){
+ result = "该份病案已经取消签收!";
+ }
+ }
+ }else{
+ result="该份病案并不存在!";
+ }
+ return result;
+ }
+
@RequestMapping("getImg2")
public void getImg2(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
@@ -306,7 +376,7 @@ public class lastVerifyController {
return archiveMasterService.updateByClo(archive_master);
}
- //@Transactional
+ @Transactional
@ResponseBody
@RequestMapping(value = "/emrShowBackReason")
public String emrShowBackReason(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws Exception {
diff --git a/src/main/java/com/emr/controller/medicalOverdueController.java b/src/main/java/com/emr/controller/medicalOverdueController.java
index 1986dac6..ca305cce 100644
--- a/src/main/java/com/emr/controller/medicalOverdueController.java
+++ b/src/main/java/com/emr/controller/medicalOverdueController.java
@@ -1,10 +1,9 @@
package com.emr.controller;
-import com.emr.entity.Archive_Master;
import com.emr.entity.Archive_Master_Vo;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.Archive_MasterService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -46,17 +45,14 @@ public class medicalOverdueController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "住院号,住院次数,姓名,入院科室,出院科室,出院日期,科室提交,初审人,主管医生,超期天数";
- String fieldCns = "inpNo,visitId,name,deptAdmissionTo,deptName,dischargeDateTime,createTime,firstInstance,doctorInCharge,overdue";
- //构造excel的数据
- List list = archiveMasterService.selectOverdue(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","科室提交","初审人","主管医生","超期天数"};
+ String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","createTime","firstInstance","doctorInCharge","overdue"};
//文件名
String fileName = "首次签收超期列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.selectOverdue(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
}
diff --git a/src/main/java/com/emr/controller/medicalRecallDateController.java b/src/main/java/com/emr/controller/medicalRecallDateController.java
index 00269509..8f7436d8 100644
--- a/src/main/java/com/emr/controller/medicalRecallDateController.java
+++ b/src/main/java/com/emr/controller/medicalRecallDateController.java
@@ -10,7 +10,7 @@ import com.emr.entity.Emr_Log;
import com.emr.entity.Emr_Log_Vo;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.LogService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -47,19 +47,15 @@ public class medicalRecallDateController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Emr_Log_Vo emrLogVo) throws Exception {
- String tableThNames = "日志id,病历清单id,住院号,住院次数,名字,性别,身份证,召回人,召回时间,召回原因,状态,归档状态";
- String fieldCns = "logId,archiveDetailId,inpNo,visitId,name,sex,idNo,creater,createDate,recallReason,state,archivestate";
- emrLogVo.setLogContent("病案召回");
- emrLogVo.setSysFlag("EMR_Medical_Record");
- //构造excel的数据
- List list = logService.selectByCol(emrLogVo);
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"日志id","病历清单id","住院号","住院次数","名字","性别","身份证","召回人","召回时间","召回原因","状态","归档状态"};
+ String[] fileNames = {"logId","archiveDetailId","inpNo","visitId","name","sex","idNo","creater","createDate","recallReason","state","archivestate"};
//文件名
String fileName = "日志信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = logService.selectByCol(emrLogVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
diff --git a/src/main/java/com/emr/controller/storageController.java b/src/main/java/com/emr/controller/storageController.java
index 425de28e..23d77de5 100644
--- a/src/main/java/com/emr/controller/storageController.java
+++ b/src/main/java/com/emr/controller/storageController.java
@@ -9,12 +9,11 @@ package com.emr.controller;
import com.emr.annotation.OptionalLog;
import com.emr.entity.*;
import com.emr.service.*;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
@@ -53,44 +52,20 @@ public class storageController {
@RequestMapping(value = "/StorageList")
public OffsetLimitPage recallList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.selectStorageByCol(emrFaultVo, offset, limit);
-
return result;
}
@ResponseBody
@RequestMapping(value = "/exportExcel")
- public void exportExcel(HttpServletResponse response, Emr_Fault_Vo emrFaultVo) throws Exception {
- String tableThNames = "ID,病历清单id,住院号,住院次数,名字,性别,身份证,入院科室,入院日期,出院科室,出院日期,状态,归档状态";
- String fieldCns = "id,archiveDetailId,inpNo,visitId,name,sex,idNo,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,state,archivestate";
- //构造excel的数据
- List list = emrFaultDetailService.selectByCol(emrFaultVo);
-
- Emr_Dictionary dic = new Emr_Dictionary();
- dic.setEffective(1);
- dic.setTypecode("dept_code");
- //科室列表
- List dicList = emrDictionaryService.dicByTypeCode(dic);
- for (int i = 0; i < list.size(); i++) {
- //替换科室
- for (int k = 0; k < dicList.size(); k++) {
- String deptName = list.get(i).getDeptName();
- if (deptName.equals(dicList.get(k).getCode())) {
- //出院科室
- deptName = deptName.replace(deptName, dicList.get(k).getName());
- list.get(i).setDeptName(deptName);
- //入院科室dept_admission_to
- deptName = list.get(i).getDeptAdmissionTo();
- deptName = deptName.replace(deptName, dicList.get(k).getName());
- list.get(i).setDeptAdmissionTo(deptName);
- }
- }
- }
+ public void exportExcel(HttpServletResponse response,Archive_Master_Vo archiveMasterVo) throws Exception {
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"住院号","住院次数","名字","性别","撤回人","撤回时间","归档状态","状态"};
+ String[] fileNames = {"inpNo","visitId","name","sex","handleName","handleTime","archivestate","followingContent"};
//文件名
- String fileName = "召回信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ String fileName = "病案封存日志" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
+ //构造excel的数据
+ List list=archiveMasterService.selectByFollowinglog(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
/**
diff --git a/src/main/java/com/emr/controller/taskController.java b/src/main/java/com/emr/controller/taskController.java
index a34f372f..2f7a4200 100644
--- a/src/main/java/com/emr/controller/taskController.java
+++ b/src/main/java/com/emr/controller/taskController.java
@@ -42,8 +42,8 @@ public class taskController {
@Value("${autoPdfUrl}")
private String autoPdfUrl;
- @Scheduled(cron="${fileDelay}")//每天4点触发cron="0 0 4 * * ?"
//@Scheduled(cron="0/1 * * * * ? ") //每1秒执行一次
+ @Scheduled(cron="${fileDelay}")//每天4点触发cron="0 0 4 * * ?"
public void task() throws IOException {
//static\img\pdfFiles\typesPdf
//String projectPath = System.getProperty("user.dir") + "\\static\\img\\pdfFiles\\typesPdf\\";
diff --git a/src/main/java/com/emr/controller/unfileMedicalController.java b/src/main/java/com/emr/controller/unfileMedicalController.java
index d0c42a4a..22f2f58d 100644
--- a/src/main/java/com/emr/controller/unfileMedicalController.java
+++ b/src/main/java/com/emr/controller/unfileMedicalController.java
@@ -6,13 +6,11 @@
*/
package com.emr.controller;
-import com.emr.entity.Archive_Master;
import com.emr.entity.Archive_Master_Vo;
-import com.emr.entity.Emr_Dictionary;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.Archive_MasterService;
import com.emr.service.Emr_DictionaryService;
-import com.emr.util.ExportExcelUtil;
+import com.emr.util.ThreadExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -53,18 +51,15 @@ public class unfileMedicalController {
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
- String tableThNames = "病历清单id,住院号,住院次数,名字,性别,身份证,入院科室,入院日期,出院科室,出院日期,主管医生,状态,医生是否提交,医生,医生提交日期,护士是否提交,护士,护士提交日期,电子病历医生提交,电子病历护士提交,是否死亡";
- String fieldCns = "id,inpNo,visitId,name,sex,idNo,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,doctorInCharge,archivestate,cmtDoctor,doctorName,cmtDoctorDate,cmtNurse,nurseName,cmtDurseDate,emrDoctorCmt,emrNureCmt,deathFlag";
- //构造excel的数据
- List list = archiveMasterService.selectByUnfile(archiveMasterVo);
-
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","入院科室","入院日期","出院科室","出院日期","主管医生","状态","医生是否提交","医生","医生提交日期","护士是否提交","护士","护士提交日期","电子病历医生提交","电子病历护士提交","是否死亡"};
+ String[] fileNames = {"id,inpNo","visitId","name","sex","idNo","deptAdmissionTo","admissionDateTime","deptName","dischargeDateTime","doctorInCharge","archivestate","cmtDoctor","doctorName","cmtDoctorDate","cmtNurse","nurseName","cmtDurseDate","emrDoctorCmt","emrNureCmt","deathFlag"};
//文件名
String fileName = "未归档病历列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
- //ExportExcelUtil
- ExportExcelUtil exportExcelUtil = new ExportExcelUtil();
- response.setContentType("application/ms-excel;charset=gbk");
- //导出excel的操作
- exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
+ //构造excel的数据
+ List list = archiveMasterService.selectByUnfile(archiveMasterVo);
+ ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
+ String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java
index f72d9dcd..f9d086f3 100644
--- a/src/main/java/com/emr/dao/Archive_MasterMapper.java
+++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java
@@ -35,6 +35,13 @@ public interface Archive_MasterMapper {
*/
Archive_Master selectById(String id);
+ /**
+ * 根据字段查询记录
+ * @param archiveMaster
+ * @return
+ */
+ List selByCol(Archive_Master archiveMaster);
+
/**
* 根据可选字段查询住院相关记录
* @param record
diff --git a/src/main/java/com/emr/entity/Archive_Master.java b/src/main/java/com/emr/entity/Archive_Master.java
index 9d2b046d..a8bc1f11 100644
--- a/src/main/java/com/emr/entity/Archive_Master.java
+++ b/src/main/java/com/emr/entity/Archive_Master.java
@@ -77,6 +77,13 @@ public class Archive_Master {
//2021-3-20 新增总分
private BigDecimal score;
+ //2021-5-13 新增签收
+ private Integer isSign;
+
+ private String signer;
+
+ private String signTime;
+
public BigDecimal getScore() {
return score;
}
@@ -356,4 +363,28 @@ public class Archive_Master {
public void setBedNumber(String bedNumber) {
this.bedNumber = bedNumber;
}
+
+ public Integer getIsSign() {
+ return isSign;
+ }
+
+ public void setIsSign(Integer isSign) {
+ this.isSign = isSign;
+ }
+
+ public String getSigner() {
+ return signer;
+ }
+
+ public void setSigner(String signer) {
+ this.signer = signer == null ? null : signer.trim();
+ }
+
+ public String getSignTime() {
+ return signTime;
+ }
+
+ public void setSignTime(String signTime) {
+ this.signTime = signTime == null ? null : signTime.trim();
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/emr/entity/Archive_Master_Vo.java b/src/main/java/com/emr/entity/Archive_Master_Vo.java
index 33c18a9a..0ab2f8bf 100644
--- a/src/main/java/com/emr/entity/Archive_Master_Vo.java
+++ b/src/main/java/com/emr/entity/Archive_Master_Vo.java
@@ -121,10 +121,23 @@ public class Archive_Master_Vo {
private String overdueDays;
+ //2021-3-20 新增总分
private String score;
+ //2021-2 缺陷数
private int numb;
+ //2021-5-13 新增签收
+ private Integer isSign;
+
+ private String signer;
+
+ private String signTime;
+
+ private String startSignDate;
+
+ private String endSignDate;
+
public String getOverdueDays() {
return overdueDays;
}
@@ -569,6 +582,46 @@ public class Archive_Master_Vo {
public void setNumb(int numb) {
this.numb = numb;
}
+
+ public Integer getIsSign() {
+ return isSign;
+ }
+
+ public void setIsSign(Integer isSign) {
+ this.isSign = isSign;
+ }
+
+ public String getSigner() {
+ return signer;
+ }
+
+ public void setSigner(String signer) {
+ this.signer = signer == null ? null : signer.trim();
+ }
+
+ public String getSignTime() {
+ return signTime;
+ }
+
+ public void setSignTime(String signTime) {
+ this.signTime = signTime == null ? null : signTime.trim();
+ }
+
+ public String getStartSignDate() {
+ return startSignDate;
+ }
+
+ public void setStartSignDate(String startSignDate) {
+ this.startSignDate = startSignDate;
+ }
+
+ public String getEndSignDate() {
+ return endSignDate;
+ }
+
+ public void setEndSignDate(String endSignDate) {
+ this.endSignDate = endSignDate;
+ }
}
diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java
index fa7ca076..9a86501c 100644
--- a/src/main/java/com/emr/service/Archive_MasterService.java
+++ b/src/main/java/com/emr/service/Archive_MasterService.java
@@ -19,6 +19,12 @@ public interface Archive_MasterService {
* @return
*/
Archive_Master selectById(String id);
+ /**
+ * 根据字段查询记录
+ * @param archiveMaster
+ * @return
+ */
+ List selByCol(Archive_Master archiveMaster);
/**
* 根据条件查找病案在院列表分页
* @param archiveMasterVo
@@ -199,6 +205,14 @@ public interface Archive_MasterService {
//封存日志
OffsetLimitPage selectByFollowinglog(Archive_Master_Vo record, Integer offset, Integer limit);
+ /**
+ * 封存日志
+ *
+ * @param record
+ * @return
+ */
+ List selectByFollowinglog(Archive_Master_Vo archiveMasterVo);
+
/**
* 查询病案是否存在
* */
diff --git a/src/main/java/com/emr/service/Emr_Fault_DetailService.java b/src/main/java/com/emr/service/Emr_Fault_DetailService.java
index 4f9a6ccf..aa22882b 100644
--- a/src/main/java/com/emr/service/Emr_Fault_DetailService.java
+++ b/src/main/java/com/emr/service/Emr_Fault_DetailService.java
@@ -98,6 +98,13 @@ public interface Emr_Fault_DetailService {
OffsetLimitPage selectStorageByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
+ /**
+ * 根据ArchiveState in('已归档','已封存')等查询记录
+ * @param emrFaultVo
+ * @return
+ */
+ List selectStorageByCol(Emr_Fault_Vo emrFaultVo);
+
List getQualityControlList(Emr_Fault_Vo emrFaultVo);//获取质控缺陷评分列表
OffsetLimitPage getQualityControlList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
index 0f4a9596..1f750bdb 100644
--- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
@@ -43,6 +43,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return archiveMasterMapper.selectById(id);
}
+ @Override
+ public List selByCol(Archive_Master archiveMaster) {
+ return archiveMasterMapper.selByCol(archiveMaster);
+ }
+
@Override
public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
@@ -357,6 +362,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return new OffsetLimitPage((Page) list);
}
+ @Override
+ public List selectByFollowinglog(Archive_Master_Vo archiveMasterVo) {
+ return archiveMasterMapper.selectByFollowinglog(archiveMasterVo);
+ }
+
@Override
public List selectByObject(String patientId,String visitId) {
return archiveMasterMapper.selectByObject(patientId,visitId);
diff --git a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
index 1763e22e..f1bc36da 100644
--- a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java
@@ -204,6 +204,11 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
return new OffsetLimitPage((Page) list);
}
+ @Override
+ public List selectStorageByCol(Emr_Fault_Vo emrFaultVo) {
+ return emrFaultDetailMapper.selectStorageByCol(emrFaultVo);
+ }
+
@Override
public List getQualityControlList(Emr_Fault_Vo emrFaultVo) {
return emrFaultDetailMapper.getQualityControlList(emrFaultVo);
diff --git a/src/main/java/com/emr/util/ThreadExcelUtils.java b/src/main/java/com/emr/util/ThreadExcelUtils.java
new file mode 100644
index 00000000..68370524
--- /dev/null
+++ b/src/main/java/com/emr/util/ThreadExcelUtils.java
@@ -0,0 +1,406 @@
+package com.emr.util;
+
+import com.emr.entity.Emr_Fault_Vo;
+import org.apache.commons.beanutils.PropertyUtilsBean;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.*;
+
+import java.beans.PropertyDescriptor;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import org.apache.commons.beanutils.PropertyUtils;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 多线程多sheet导出数据
+ */
+public class ThreadExcelUtils {
+ /**
+ * 定义每个 sheet 最多数量
+ */
+ public static final Integer EXCEL_MAX_CNT = 50000;
+
+ private Workbook wb;
+ private String fileName;
+ private String filePath;
+ private String[] hearders;
+ private String[] fields;
+
+ public Workbook getWb() {
+ return wb;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public String getFilePath() {
+ return filePath;
+ }
+
+ public String[] getHearders() {
+ return hearders;
+ }
+
+ public String[] getFields() {
+ return fields;
+ }
+
+ /**
+ * @param fileName
+ * 文件名称
+ * @param filePath
+ * 文件路径
+ * @param hearders
+ * 文件头
+ * @param fields
+ * 字段属性
+ */
+ public ThreadExcelUtils(String fileName, String filePath,
+ String[] hearders, String[] fields) {
+ this.wb = new HSSFWorkbook();
+ this.fileName = fileName;
+ this.filePath = filePath;
+ this.hearders = hearders;
+ this.fields = fields;
+ }
+
+ public List