Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/emr/controller/lastVerifyController.java
#	src/main/resources/config/jdbc.properties
#	src/main/resources/mapper/Emr_Fault_DetailMapper.xml
#	src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp
master
wzqgit 4 years ago
commit 0bec871300

@ -569,7 +569,12 @@
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.barcode4j/barcode4j-light 条形码 -->
<!--<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j-light</artifactId>
<version>2.0</version>
</dependency>-->
</dependencies>
<build>

@ -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<Archive_Master_Vo> 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<Archive_Master_Vo> list = archiveMasterService.selectHandleDetail(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody

@ -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<Emr_Fault_Vo> 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

@ -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<Temp_Info> 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<Temp_Info> list = tempInfoService.selByCol(tempInfo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
/*@RequestMapping("reloadWzAll")

@ -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<V_Count> 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<V_Count> 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<Archive_Master_Vo> list = archiveMasterService.selectByUnfile(archiveMasterVo);
Emr_Dictionary dic = new Emr_Dictionary();
@ -129,14 +81,12 @@ public class VCountController {
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> 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

@ -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

@ -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<Archive_Master_Vo> 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<Archive_Master_Vo> list = archiveMasterService.selectByColumn(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody

@ -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<Archive_Master_Vo> 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<Archive_Master> 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<Archive_Master> 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<Archive_Master> 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<Archive_Master> list = archiveMasterService.bbSel2(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}

@ -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<Emr_Fault_Vo> 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 + "秒");*/
}

@ -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<Archive_Master> 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

@ -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<Archive_Master_Vo> 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<Archive_Master_Vo> 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<Archive_Master> 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 {

@ -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<Archive_Master_Vo> 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<Archive_Master_Vo> list = archiveMasterService.selectOverdue(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
}

@ -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<Emr_Log_Vo> 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<Emr_Log_Vo> list = logService.selectByCol(emrLogVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody

@ -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<Emr_Fault_Vo> list = emrFaultDetailService.selectByCol(emrFaultVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> 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<Archive_Master_Vo> list=archiveMasterService.selectByFollowinglog(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
/**

@ -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\\";

@ -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<Archive_Master_Vo> 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<Archive_Master_Vo> list = archiveMasterService.selectByUnfile(archiveMasterVo);
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}

@ -35,6 +35,13 @@ public interface Archive_MasterMapper {
*/
Archive_Master selectById(String id);
/**
*
* @param archiveMaster
* @return
*/
List<Archive_Master> selByCol(Archive_Master archiveMaster);
/**
*
* @param record

@ -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();
}
}

@ -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;
}
}

@ -19,6 +19,12 @@ public interface Archive_MasterService {
* @return
*/
Archive_Master selectById(String id);
/**
*
* @param archiveMaster
* @return
*/
List<Archive_Master> 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<Archive_Master_Vo> selectByFollowinglog(Archive_Master_Vo archiveMasterVo);
/**
*
* */

@ -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<Emr_Fault_Vo> selectStorageByCol(Emr_Fault_Vo emrFaultVo);
List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo);//获取质控缺陷评分列表
OffsetLimitPage getQualityControlList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);

@ -43,6 +43,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return archiveMasterMapper.selectById(id);
}
@Override
public List<Archive_Master> 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<Archive_Master_Vo> selectByFollowinglog(Archive_Master_Vo archiveMasterVo) {
return archiveMasterMapper.selectByFollowinglog(archiveMasterVo);
}
@Override
public List<Archive_Master> selectByObject(String patientId,String visitId) {
return archiveMasterMapper.selectByObject(patientId,visitId);

@ -204,6 +204,11 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
return new OffsetLimitPage((Page) list);
}
@Override
public List<Emr_Fault_Vo> selectStorageByCol(Emr_Fault_Vo emrFaultVo) {
return emrFaultDetailMapper.selectStorageByCol(emrFaultVo);
}
@Override
public List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo) {
return emrFaultDetailMapper.getQualityControlList(emrFaultVo);

@ -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 <T> List<Map<String, Object>> listConvert(List<T> list) {
List<Map<String, Object>> list_map = new ArrayList<Map<String, Object>>(); // 定义List<Map<String, Object>>数组<br>          // list为外部传进来的list集合
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item ->{
Map<String, Object> map = null;
try {
map = (Map<String, Object>) PropertyUtils.describe(item);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
list_map.add(map );
});
}
return list_map;
}
public static void main(String[] args) throws Exception {
HttpServletResponse response = null;
// List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>();
List list = new ArrayList();
// 造数据
for (int i = 0; i < 10000; i++) {
Emr_Fault_Vo emrFaultVo=new Emr_Fault_Vo();
emrFaultVo.setId(i);
emrFaultVo.setDeptName("xxxxxx");
emrFaultVo.setCreater("xxxxxx");
emrFaultVo.setUpdater("xxxxxxx");
list.add(emrFaultVo);
}
String[] header = { "id", "部门", "创建人","修改人" };
String[] fileNames = { "id", "deptName", "creater","updater" };
String filePath = "C:\\Users\\Administrator\\Desktop\\test\\excelDir";
String filename = "测试表 " + getDate(new Date()) + ".xls";
ThreadExcelUtils utils = new ThreadExcelUtils(filename, filePath,
header, fileNames);
System.out.println("开始执行导出.......");
long start = System.currentTimeMillis();
utils.exportExcelToFilePath(response,utils.listConvert(list));
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) / 1000 + "秒");
}
/**
* @param list
*
*/
public String exportExcelToFilePath(HttpServletResponse response, List<Map<String, Object>> list)
throws Exception {
/**
* 使Content-Disposition
* response.addHeader("Content-Disposition","attachment");
*/
/* response.setHeader("Cache-Control", "No-cache");
response.flushBuffer(); */
String result="成功导出Excel!";
int excelSize = EXCEL_MAX_CNT; // 每个Excel文件条数
int totalCount = list.size(); // 查询结果总条数
int pageCount = 0;// 总sheet页个数
int numPage = totalCount % excelSize; // 是否整页数
if (numPage > 0)
pageCount = totalCount / excelSize + 1;
else
pageCount = totalCount / excelSize;
// 创建线程池 多sheet多线程写入 线程数 为sheet页的 1/4
Integer threadNumber = pageCount / 4;
if (threadNumber == 0)
threadNumber = 1;
ExecutorService threadPool = Executors.newFixedThreadPool(threadNumber);
// 创建栅栏 等待任务完成
CountDownLatch countDownLatch = new CountDownLatch(pageCount);
// 循环遍历投递任务
for (int i = 1; i <= pageCount; i++) {
ThraedExcel thraedExcel = new ThraedExcel(list, i, pageCount,
numPage, this);
thraedExcel.setCountDownLatch(countDownLatch);
threadPool.execute(thraedExcel);
}
countDownLatch.await();
Workbook wb = getWb();
OutputStream os = response.getOutputStream();
//导出excel建议加上重置输出流可以不加该代码但是如果不加必须要保证输出流中不应该在存在其他数据否则导出会有问题
response.reset();
//处理乱码
fileName = new String(fileName.getBytes("gbk"), "iso-8859-1");
//attachment为以附件方式下载
response.setContentType("application/vnd.ms-excel");
//代码里面使用Content-Disposition来确保浏览器弹出下载对话框的时候。
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
response.setBufferSize(1024);
/* File file = new File(filePath);
if (!file.exists()) {//文件夹不存在
file.mkdirs();//创建目录
}*/
//FileOutputStream fout = new FileOutputStream(new File(file, fileName));
try {
//wb.write(fout);
wb.write(os);//将excel中的数据写到输出流中用于文件的输出
os.close();
} catch (IOException e) {
e.printStackTrace();
result="导出Excel异常!";
}
// System.out.println("文件写入完成");
// 立即销毁线程池
threadPool.shutdownNow();
return result;
}
public static String getDate(Date date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"yyyyMMddHHmmss");
String format = simpleDateFormat.format(date);
return format;
}
/**
* JavaBeanMap
*
* @param obj
* @return
*/
public static Map<String, Object> beanToMap(Object obj) {
Map<String, Object> params = new HashMap<String, Object>(0);
try {
PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();
PropertyDescriptor[] descriptors = propertyUtilsBean
.getPropertyDescriptors(obj);
int length = descriptors.length;
for (int i = 0; i < length; i++) {
String name = descriptors[i].getName();
if (!StringUtils.equals(name, "class")) {
params.put(name, propertyUtilsBean.getNestedProperty(obj,
name));
}
}
} catch (Exception e) {
System.err.println("bean 转Map出错");
e.printStackTrace();
}
return params;
}
/***
* 线sheet
*/
private static class ThraedExcel implements Runnable {
private List<Map<String, Object>> list;// 数据
private Integer sheetNumber;// 当前sheet页
private Integer totalSheetCount;// 总数据
private int numPage; // 是否整页数
private Integer excelSize;
private ThreadExcelUtils threadExcelUtils;
// 栅栏对象
private CountDownLatch countDownLatch;
/**
* @param list
*
* @param sheetNumber
* sheet
* @param totalSheetCount
* sheet
* @param numPage
*
*/
public ThraedExcel(List<Map<String, Object>> list, Integer sheetNumber,
Integer totalSheetCount, Integer numPage,
ThreadExcelUtils threadExcelUtils) {
this.list = list;// 总数据
this.sheetNumber = sheetNumber;// 当前sheet页
this.totalSheetCount = totalSheetCount;// 总sheet页
this.numPage = numPage;// 是否整除
this.excelSize = ThreadExcelUtils.EXCEL_MAX_CNT;// 没个sheet最大数量
this.threadExcelUtils = threadExcelUtils;// 当前线程对象
}
public void setCountDownLatch(CountDownLatch countDownLatch) {
this.countDownLatch = countDownLatch;
}
@Override
public void run() {
List<Map<String, Object>> sheetList = null;
if (totalSheetCount > 1) {
if (numPage == 0) {
sheetList = list.subList((sheetNumber - 1) * excelSize,
excelSize * sheetNumber);
} else {
if (sheetNumber == totalSheetCount) {
sheetList = list.subList((sheetNumber - 1) * excelSize,
list.size());
} else {
sheetList = list.subList((sheetNumber - 1) * excelSize,
excelSize * (sheetNumber));
}
}
} else
sheetList = list;
// 开始写入数据
createWorkBook(sheetList);
if (this.countDownLatch != null)
this.countDownLatch.countDown();
}
/**
*
* 16
*
*@paramworkbook
*@return
*/
public static CellStyle getStyle() {
HSSFWorkbook wb=new HSSFWorkbook();
CellStyle cellstyle=wb.createCellStyle();
HSSFCellStyle setBorder = wb.createCellStyle();
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
setBorder.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
Font font=wb.createFont();//字体
font.setFontName("宋体");//字体
font.setFontHeightInPoints((short)16);//字号
font.setColor((short) 15);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
cellstyle.setFont(font);
setBorder.setFont(font);//选择需要用到的字体格式;
return cellstyle;
}
/***
*
*/
private void createWorkBook(List<Map<String, Object>> sheetList) {
Sheet sheet = null;
Row row = null;
CellStyle cellStyle =null;
synchronized (ThreadExcelUtils.class) {
String fileName = threadExcelUtils.getFileName();
Workbook wb = threadExcelUtils.getWb();
sheet = wb.createSheet(fileName + "_" + this.sheetNumber);
row = sheet.createRow(0);
//row.setRowStyle(getStyle());
cellStyle = wb.createCellStyle();
//水平居中
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//垂直居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//关键点 IndexedColors.AQUA.getIndex() 对应颜色
//cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
//cellStyle.setBottomBorderColor(IndexedColors.RED.getIndex());
//cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
//Cell cell = row.createCell((short) 1);
// cell.setCellValue("A1");
//cell.setCellStyle(cellStyle);
HSSFFont font = (HSSFFont) wb.createFont();//创建字体对象
//字体加粗
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//字体颜色变红
font.setColor(HSSFColor.RED.index);
//如果font中存在设置后的字体并放置到cellStyle对象中此时该单元格中就具有了样式字体
cellStyle.setFont(font);
//row.setRowStyle(style);
}
String[] header = threadExcelUtils.getHearders();
String[] fields = threadExcelUtils.getFields();
// 设置标题
for (int i = 0; i < header.length; i++) {
// row.getCell(i).setCellStyle(style);
row.createCell(i).setCellValue(header[i]);
row.getCell(i).setCellStyle(cellStyle);
}
// 开始写入数据
if (sheetList != null && sheetList.size() > 0) {
int dataLength = sheetList.size();
for (int i = 0; i < dataLength; i++) {
if (i == 3 || i == 8 || i == 15) {
sheet.setColumnWidth(i, 20 * 256);
} else {
sheet.setColumnWidth(i, 15 * 256);
}
Row row1 = sheet.createRow(i + 1);
Object obj = sheetList.get(i);
Map<String, Object> map = (obj instanceof Map) ? (Map<String, Object>) obj
: beanToMap(obj);
int length = fields.length;
for (int j = 0; j < length; j++) {
String key = fields[j];
Object value = map.get(key);
if (value != null) {
// 不晓得 此处为啥有线程安全问题
synchronized (ThreadExcelUtils.class) {
if (value instanceof Date) {
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd");
String format = sdf.format(value);
row1.createCell(j).setCellValue(format);
} else {
try {
row1.createCell(j).setCellValue(
value.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
}
}
}
}

@ -12,23 +12,26 @@ hibernate.hbm2ddl.auto=update
hibernate.current_session_context_class=thread
hibernate.jdbc.batch_size=50
hibernate.enable_lazy_load_no_trans=true
#ͼƬ<CDBC><C6AC>ַ
#图片地址
pictureUrl=D:\\test\\uploadImage
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PDF<EFBFBD><EFBFBD>ַD:\tesst\autoPdf
#本地自动生成PDF地址D:\tesst\autoPdf
autoPdfUrl=D:/test/autoPdf
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>PDF<EFBFBD><EFBFBD>ַ
#本地上传PDF地址
pdfUrl=D:\\test\\loadPdf
#PDF<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ַ
#PDF文件不存在或损坏列表地址
pdfErrorUrl=D:\\test\\error\\
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#超期天数
expired=7
#<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#死亡超期天数
deathExpired=7
#<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>գ<EFBFBD>ÿ<EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>0 0 4 * * ?<3F><>:<3A><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>PDF<44><46>ַautoPdfUrl<72><6C>PDF<44>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>б<EFBFBD><D0B1>ַ
#定时清空每天4点触发0 0 4 * * ?:本地自动生成PDF地址autoPdfUrl及PDF文件不存在或损坏列表地址
fileDelay=0 0 4 * * ?
#<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ :ÿ<><C3BF>3<EFBFBD><EFBFBD><E3B4A5>0 0 3 * * ?,ÿ1<C3BF><31>ִ<EFBFBD><D6B4>һ<EFBFBD><D2BB>0/1 * * * * ?
#定时重置完整性信息 :每天3点触发0 0 3 * * ?,每1秒执行一次0/1 * * * * ? [秒] [分] [小时] [日] [月] [周] [年]
fixedDelay=0 0 3 * * ?
#权限系统端口8080
powerUrl=http://127.0.0.1:8080/power/font/getMenusByUserIdAndSysFlag
POWER_URLHEAD=http://127.0.0.1:8080/power
POWER_JSP=http://127.0.0.1:8080/power
@ -36,8 +39,6 @@ recallReason=医院需要这份文档
HomepageDictionary=http://127.0.0.1:8080/WholeCheckInterface/services/HomepageDictionary?wsdl
HomepageMethod=CheckData
powerGetUserList=http://127.0.0.1:8080/power/font/getUserList?userName=admin
EMRQualityControl=http://10.6.0.170:57772/csp/healthshare/jhipnew/JHIPLIB.SOAP.BS.XmlService.cls?CfgItem=JH5003MRAtoEMR
EMRQualityControlParamName=Message
#powerUrl=http://127.0.0.1:9999/power/font/getMenusByUserIdAndSysFlag
#POWER_URLHEAD=http://127.0.0.1:9999/power
@ -47,13 +48,9 @@ EMRQualityControlParamName=Message
#HomepageMethod=CheckData
#powerGetUserList=http://127.0.0.1:8080/power/font/getUserList?userName=admin
powerUrl=http://127.0.0.1:9999/power/font/getMenusByUserIdAndSysFlag
POWER_URLHEAD=http://127.0.0.1:9999/power
POWER_JSP=http://127.0.0.1:9999/power
recallReason=ҽԺ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
HomepageDictionary=http://127.0.0.1:9999/WholeCheckInterface/services/HomepageDictionary?wsdl
HomepageMethod=CheckData
powerGetUserList=http://127.0.0.1:9999/power/font/getUserList?userName=admin
#接口
EMRQualityControl=http://10.6.0.170:57772/csp/healthshare/jhipnew/JHIPLIB.SOAP.BS.XmlService.cls?CfgItem=JH5003MRAtoEMR
EMRQualityControlParamName=Message
allAddortIds = 00000000
pdfWater = \u5e7f\u4e1c\u533b\u79d1\u5927\u5b66\u9644\u5c5e\u533b\u9662

@ -40,6 +40,9 @@
<result column="transfer_dept" jdbcType="NVARCHAR" property="transferDept"/>
<result column="score" jdbcType="NVARCHAR" property="score"/>
<result column="is_sign" jdbcType="INTEGER" property="isSign" />
<result column="signer" jdbcType="NVARCHAR" property="signer"/>
<result column="sign_time" jdbcType="NVARCHAR" property="signTime"/>
</resultMap>
<resultMap id="BaseResultMap2" type="com.emr.entity.Archive_Master_Vo">
@ -87,12 +90,16 @@
<result column="create_time" jdbcType="NVARCHAR" property="createTime"/>
<result column="score" jdbcType="NVARCHAR" property="score"/>
<result column="numb" jdbcType="INTEGER" property="numb"/>
<result column="is_sign" jdbcType="INTEGER" property="isSign" />
<result column="signer" jdbcType="NVARCHAR" property="signer"/>
<result column="sign_time" jdbcType="NVARCHAR" property="signTime"/>
</resultMap>
<sql id="Base_Column_List">
id, patient_id, inp_no, visit_id, name, sex, dept_name, discharge_date_time, ArchiveState,
admission_date_time, dept_admission_to, check_doctor, check_datetime, checked_doctor, transfer_dept,
checked_datetime, LockInfo, DOCTOR_IN_CHARGE, ID_NO, DISCHARGE_DISPOSITION, dept_code_lend,isscaned,is_scanning,
cmt_doctor,cmt_nurse,doctor_name,nurse_name,cmt_doctor_date,cmt_nurse_date,emr_doctor_cmt,emr_nure_cmt,death_flag,bed_number
cmt_doctor,cmt_nurse,doctor_name,nurse_name,cmt_doctor_date,cmt_nurse_date,emr_doctor_cmt,emr_nure_cmt,death_flag,
bed_number,is_sign,signer,sign_time
</sql>
<select id="selectById" parameterType="java.lang.String" resultMap="BaseResultMap">
select
@ -101,6 +108,35 @@
where id = #{id,jdbcType=NVARCHAR}
</select>
<!--查询病案是否存在-->
<select id="selByCol" resultMap="BaseResultMap">
select * from archive_master
where 1=1
<if test="id != null and id != ''">
and id = #{id,jdbcType=NVARCHAR}
</if>
<if test="inpNo != null and inpNo != ''">
and inp_no = #{inpNo,jdbcType=NVARCHAR}
</if>
<if test="visitId != null and visitId != ''">
and visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="checkDoctor != null">
and check_doctor = #{checkDoctor,jdbcType=NVARCHAR}
</if>
<if test="checkedDoctor != null">
and checked_doctor = #{checkedDoctor,jdbcType=NVARCHAR}
</if>
<if test="checkDatetime != null">
and check_datetime = #{checkDatetime,jdbcType=NVARCHAR}
</if>
<if test="checkedDatetime != null">
and checked_datetime = #{checkedDatetime,jdbcType=NVARCHAR}
</if>
<if test="lockinfo != null">
and LockInfo = #{lockinfo,jdbcType=NVARCHAR}
</if>
</select>
<!--查询病案是否存在-->
<select id="selectByObject" resultMap="BaseResultMap">
select * from archive_master
where 1=1
@ -215,7 +251,7 @@
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.admission_date_time desc
ORDER BY admission_date_time desc
</select>
<select id="selectByColumn" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
@ -324,7 +360,7 @@
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
ORDER BY discharge_date_time desc
</select>
<select id="selectByLast" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
@ -332,7 +368,7 @@
dept_name,CONVERT(varchar(10),m.discharge_date_time, 120) discharge_date_time,m.ArchiveState,CONVERT(varchar(10),m.admission_date_time, 120) admission_date_time,d.name dept_admission_to
,m.check_doctor,m.checked_datetime,m.checked_doctor,m.LockInfo,m.DOCTOR_IN_CHARGE,m.ID_NO,m.DISCHARGE_DISPOSITION,m.dept_code_lend,m.isscaned,
m.cmt_doctor,m.cmt_nurse,m.doctor_name,m.nurse_name,m.cmt_doctor_date,m.cmt_nurse_date,m.emr_doctor_cmt,m.emr_nure_cmt,m.death_flag,m.first_instance,
m.is_scanning,m.bed_number,amf.following_type,ISNULL(s.numb, 0) numb
m.is_scanning,m.bed_number,amf.following_type,ISNULL(s.numb, 0) numb,m.is_sign,m.signer,m.sign_time
from archive_master m
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
@ -436,7 +472,26 @@
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
<if test="isSign != null">
and m.is_sign = #{isSign,jdbcType=NVARCHAR}
</if>
<if test="signer != null and signer != ''">
and m.signer like '%'+#{signer,jdbcType=NCHAR}+'%'
</if>
<choose>
<when test="startSignDate != null and startSignDate != '' and endSignDate != null and endSignDate != ''">
and m.sign_time between CONVERT(VARCHAR(10),#{startSignDate,jdbcType=NCHAR},120) and
#{endSignDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startSignDate != null and startSignDate != ''">
and m.sign_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endSignDate != null and endSignDate != ''">
and m.sign_time &lt;= #{endSignDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
ORDER BY discharge_date_time desc
</select>
<select id="selectByUnfile" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
@ -559,7 +614,7 @@
<if test="deathFlag != null and deathFlag != ''">
and m.death_flag = #{deathFlag,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
ORDER BY discharge_date_time desc
</select>
<select id="selectByCmtCol" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
@ -655,7 +710,7 @@
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
ORDER BY discharge_date_time desc
</select>
<select id="getDoctorInCharge" parameterType="com.emr.entity.Archive_Master" resultMap="BaseResultMap">
select DISTINCT m.DOCTOR_IN_CHARGE from archive_master m
@ -997,6 +1052,15 @@
<if test="score != null and score != ''">
score=#{score,jdbcType=NVARCHAR},
</if>
<if test="isSign != null ">
is_sign=#{isSign,jdbcType=INTEGER},
</if>
<if test="signer != null and signer != ''">
signer=#{signer,jdbcType=NVARCHAR},
</if>
<if test="signTime != null and signTime != ''">
sign_time=#{signTime,jdbcType=NVARCHAR}
</if>
</set>
where id = #{id,jdbcType=NVARCHAR}
</update>
@ -1210,9 +1274,9 @@
</select>
<!--封存日志-->
<select id="selectByFollowinglog" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select m.INP_NO,m.VISIT_ID,m.name,m.sex,f.handle_name,f.handle_time, m.archiveState ,f.following_content from Archive_Master m
INNER JOIN Archive_Master_Following f on m.ID=f.master_id
where 1=1 AND f.following_type in('11','12')
select m.INP_NO,m.VISIT_ID,m.name,m.sex,f.handle_name,f.handle_time, m.archiveState ,f.following_content from Archive_Master m
INNER JOIN Archive_Master_Following f on m.ID=f.master_id
where 1=1 AND f.following_type in('11','12')
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>

@ -543,8 +543,7 @@
</select>
<select id="getQualityControlList" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
select m.inp_no,m.visit_id,g.Name dept_name,m.name,m.discharge_date_time,m.ArchiveState,m.score,t.price,
t.type_name, e.content,e.back_content,
m.DOCTOR_IN_CHARGE,e.creater,e.create_time
t.type_flag,t.type_name, e.content,e.back_content,m.DOCTOR_IN_CHARGE,e.creater,e.create_time
from Archive_Master m
inner join emr_fault_detail e on e.archive_detail_id = m.id
inner join emr_fault_type t on e.assort_id = t.id
@ -572,6 +571,13 @@
<if test="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
<if test="creater != null and creater != ''">
and m.creater like '%'+#{creater,jdbcType=NCHAR}+'%'
</if>
<if test="doctorInCharge != null and doctorInCharge != ''">
and m.DOCTOR_IN_CHARGE like '%'+#{doctorInCharge,jdbcType=NCHAR}+'%'
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and m.discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and
@ -584,6 +590,12 @@
and m.discharge_date_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="updater!= null and updater!= ''">
and t.id in
<foreach item="item" collection="updater.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by e.create_time desc
</select>
</mapper>

@ -172,7 +172,7 @@
) f
on l.log_title=f.archive_detail_id
where 1=1
<if test="inpNo != null and inpNo != ''">
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">

@ -3098,8 +3098,6 @@
deptName = $("#deptName").val().toString();
}
}
//console.log(deptName);
var temp = {
limit: limit, //页面大小
@ -4332,13 +4330,9 @@
//导出excel功能
$("#excelBtn").click(function () {
// var id = "" + $("#id").val();
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
//var idNo = "" + $("#idNo").val();
//var state = "" + $("#state").val();
// var archivestate = "" + $("#archivestate").val();
var url = window.location.href;
var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
var len = ($("#deptName").val()).length;
@ -4352,11 +4346,11 @@
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
var bedNumber = $("#bedNumber").val();
var idNo= $("#idNo").val();
window.location.href = "${path}/commCtr/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&archivestate=" + archivestate
"&name=" + name + "&deptName=" + deptName + "&archivestate=" + archivestate+ "&idNo=" + idNo
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo + "&bedNumber=" + bedNumber;
;
});

@ -12,6 +12,12 @@
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<script type="text/javascript"
src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-multiselect-master/dist/js/bootstrap-multiselect.js"></script>
<link rel="stylesheet"
href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-multiselect-master/dist/css/bootstrap-multiselect.css"
type="text/css"/>
<style type="text/css">
<style>
.divCss {
margin-top: 5px;
@ -97,6 +103,26 @@
<option value="">全部</option>
</select>
</div>
<div class="form-group divCss8">
<label for="name">主管医生:</label>
<input type="text" class="input-sm form-control" id="doctorInCharge" placeholder="请输入主管医生">
</div>
<div class="form-group divCss8">
<label for="name">创建人:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入创建人">
</div>
<label class="form-group">缺陷选项:</label>
<div class="form-group divCss8">
<%-- <label for="name">缺陷选项:</label>
<select id="typeFlag" multiple="multiple" title="请输入选项" name="typeFlag" >
<option value="">全部</option>
</select>--%>
<%--<div class="col-lg-3 form-group divCss8" ><label>缺陷选项:</label></div>--%>
<div id="mulDiv">
</div>
</div>
<div class="form-group divCss">
<label for="archivestate">归档状态 :</label>
<select class="input-sm form-control" id="archivestate">
@ -183,6 +209,63 @@
return data;
}
function getFaultType() {
// console.log("=========getFaultType=========");
//获取科室列表
$.ajax({
url: "${path}/lastVerify/getFaultType",
type: "POST",
data: {effective: 1},
success: function (result) {
if (result != null) {
var htmlVal = "";
var typeArr = [];
for (var k = 0; k < result.length; k++) {
if (result[k].typeName.indexOf(")") != -1) {
var parentVal = (result[k].typeName).split(")");
if (typeArr.indexOf(parentVal[0] + ")") == -1) {
typeArr.push(parentVal[0] + ")");
}
}
}
var htmls = '<select id="typeFlag" multiple="multiple" title="请输入选项" name="typeFlag" >';
if (typeArr!= []) {
for (var x = 0; x < typeArr.length; x++) {
var pVal = typeArr[x];
if (pVal != null && pVal != '') {
htmlVal = '<optgroup label="' + pVal.substr(1, pVal.length - 2) + '" class="group-' + x + '">';
for (var y = 0; y < result.length; y++) {
var str = result[y].typeName;
var pos = str.indexOf(")");
if (result[y].typeName.indexOf(pVal) != -1) {
htmlVal += '<option value="' + result[y].id + '">' + result[y].typeName.substr(pos + 1, str.length) + '</option>';
}
}
htmlVal += '</optgroup>';
htmls += htmlVal;
}
}
}
$("#mulDiv").append(htmls);
$('#typeFlag').multiselect({
nonSelectedText: '--请选择--',
enableCollapsibleOptGroups: true,
collapseOptGroupsByDefault: true,
enableFiltering: true,
includeSelectAllOption: true,
buttonWidth: 300, //选择框的大小
});
}
}
});
}
getFaultType();
function initTable() {
if(tipLoad==1){
$("#table").bootstrapTable({ // 对应table标签的id
@ -256,17 +339,27 @@
deptName = $("#deptName").val().toString();
}
var typeFlag = $("#typeFlag").val();
if (typeFlag== undefined ||typeFlag== null ||typeFlag== "undefined") {
typeFlag = "";
} else {
typeFlag = $("#typeFlag").val().toString();
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
archivestate:"" + $("#archivestate").val(),
deptName: deptName
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
doctorInCharge:""+$("#doctorInCharge").val(),
updater:""+typeFlag,
creater:""+$("#creater").val(),
archivestate:"" + $("#archivestate").val(),
deptName: deptName
};
return temp;
@ -597,7 +690,6 @@
var startDate = "" + $("#startDate").val();
var endDate = "" + $("#endDate").val();
var archivestate = "" + $("#archivestate").val();
var url = window.location.href;
var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
@ -608,10 +700,22 @@
deptName = $("#deptName").val().toString();
}
}
//主管医生、创建人、缺陷选项
/*var doctorInCharge=""+$("#doctorInCharge").val();
var typeFlag = $("#typeFlag").val();
if (typeFlag== undefined ||typeFlag== null ||typeFlag== "undefined") {
typeFlag = "";
} else {
typeFlag = $("#typeFlag").val().toString();
}
var updater=""+typeFlag;
var creater=""+$("#creater").val();*/
//导出ArchiveState in('已归档','已认证','初审')
window.location.href = "${path}/fault/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&startDate=" + startDate + "&endDate=" + endDate + "&archivestate=" + archivestate+
"&deptName="+ deptName;
"&deptName="+ deptName + "&doctorInCharge=" + doctorInCharge ;
//+ "&updater=" + updater + "&creater=" + creater;
});
</script>

@ -56,6 +56,11 @@
color: blue;
}
.divCss7{
margin-top: 15px;
margin-left: 0px;
}
.modal-content {
width: calc(210%); /*width: 1300px;*/
overflow-x: hidden;
@ -77,6 +82,7 @@
margin-left: 20px;
}
#wzContent {
margin-left: 30px;
margin-right: 30px;
@ -164,6 +170,16 @@
!important;
}
#signModal .modal-content {
margin-left: calc(60%);
width: 500px; /*width: 1300px;*/
overflow: hidden;
}
#archiveIdSign{
margin-left:8px;
width: 450px;
}
#infoDiv {
width: 18%;
height: 98%;
@ -262,6 +278,12 @@
width: calc(150%);
}
#verinfyQZModal .modal-content {
margin-left: 50%;
margin-top:10%;
width: 450px;
}
#delPdfPageModal2 > div > div {
margin-top: 20%;
margin-left: 60%;
@ -425,17 +447,8 @@
<%--<label for="name">身份证号:</label>--%>
<%--<input type="text" class="input-sm form-control" id="idNo" placeholder="请输入身份证号">--%>
<%--</div>--%>
<div class="form-group divCss8" id="deptDiv" style="height: 18px;margin-top: -7px;">
<div class="form-group divCss8" id="deptDiv" >
<label>出院科室:</label>
<%--<select class="input-sm form-control" id="deptName">--%>
<%--<option value="">全部</option>--%>
<%--&lt;%&ndash;<option value="在院">在院</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="未归档">未归档</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="归档中">归档中</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="初审">初审</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已认证">已认证</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已归档">已归档</option>&ndash;%&gt;--%>
<%--</select>--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName" id="deptName"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" title="请输入科室" data-none-results-text="没找到相应记录{0}">
<option value="">全部</option>
@ -450,7 +463,7 @@
<input type="text" class="input-sm form-control" name="end" id="endDateTo"/>
</div>
</div>
<div class="form-group divCss8" style="height: 18px;margin-top: -7px;">
<div class="form-group divCss8" style="height: 18px;margin-top: -5px;">
<label>是否扫描:</label>
<select class="selectpicker bla bla bli" data-live-search="true" name="isScanning" id="isScanning"
title="是否扫描">
@ -459,15 +472,35 @@
<option value="0">否</option>
</select>
</div>
<div class="form-group divCss" style="height: 18px;margin-top: -7px;">
<div class="form-group divCss8" >
<label>科室是否提交纸质病历:</label>
<select class="selectpicker bla bla bli" data-live-search="true" name="isscaned" id="isscaned"
title="科室是否提交纸质病历">
<select class="selectpicker bla bla bli" data-live-search="true" name="isscaned" id="isscaned" title="科室是否提交纸质病历">
<option value="">全部</option>
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
<div class="form-group divCss8">
<label for="name">签收人:</label>
<input type="text" class="input-sm form-control" id="signer" placeholder="请输入签收人">
</div>
<div class="form-group divCss8" >
<label>签收日期:</label>
<div class="input-daterange input-group" id="datepickerSign">
<input type="text" class="input-sm form-control" name="start" id="startSignDate"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endSignDate"/>
</div>
</div>
<div class="form-group divCss8" style="margin-top: 10px">
<label>是否签收:</label>
<select class="selectpicker bla bla bli" data-live-search="true" name="isSign" id="isSign" title="是否签收">
<option value="">全部</option>
<option value="1">是</option>
<option value="0">否</option>
</select>
</div>
<%--<div class="form-group divCss2">--%>
<%--<label for="archivestate">归档状态:</label>--%>
<%--<select class="input-sm form-control" id="archivestate">--%>
@ -481,7 +514,7 @@
<%--</div>--%>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</button>
<button type="button" class="btn btn-success btn-sm divCss" id="signBtn">签收</button>
</div>
</form>
<!--数据表格-->
@ -971,7 +1004,7 @@
<div class="modal-body">
<form>
<div class="form-group ">
<input id="archiveId" hidden/>
<input id="archiveId" hidden/><input id="isScaned2" hidden/><input id="isSign2" hidden/>
<span style="vertical-align:top;">内容:</span>
<textarea rows="12" style="width:90%;" id="verifyText"></textarea>
</div>
@ -1278,8 +1311,7 @@
</div>
<%--多图片框删除页--%>
<div class="modal fade" id="imgDelPageModal" tabindex="-1" role="dialog"
aria-labelledby="exampleModalLabel">
<div class="modal fade" id="imgDelPageModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content enterCss">
<div class="modal-header2">
@ -1297,7 +1329,6 @@
<input type="file" name="myFile2" id="myFile2" multiple="multiple" accept="image/*"
hidden/>选择文件
</a>
</div>
<div class="img_div2"></div>
<div class="shade" onclick="javascript:closeShade()">
@ -1310,6 +1341,62 @@
</div>
</div>
</div>
<%--签收弹窗--%>
<div class="modal fade" id="signModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">签收信息</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
<input id="archiveIdSign" type="text"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="signBtn2">签收</button>
<button type="button" class="btn btn-warning btn-sm" id="signBtn3">取消签收</button>
</div>
</div>
</div>
</div>
<%--没签收是否强制提交弹窗--%>
<div class="modal fade" id="
" tabindex="-5" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">是否强制提交</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
没签收是否强制提交
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="verinfyQZBtn">通过</button>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
@ -1894,7 +1981,7 @@
//var pdfPath = result;
//newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath);
var archiveDetailId = $("#idLab").html();
newWindow.location.href = "${path}/pdfCtr/pdfLastDir?archiveDetailId=" + encodeURI(archiveDetailId) + "&pdfPath=" + encodeURI(result);
newWindow.location.href = "${path}/pdfCtr/pdfLastDir?archiveDetailId=" + encodeURI(archiveDetailId) + "&isscanedVal=" + encodeURI(isscanedVal)+ "&isSignVal=" + encodeURI(isSignVal)+ "&pdfPath=" + encodeURI(result);
<%--var pdfUrl = "${path}/static/pdfjs/web/viewer.html?file=../../../static/img/pdfFiles/" + result;//+ result;--%>
<%--newWindow.location.href = pdfUrl;--%>
@ -1942,7 +2029,7 @@
// var pdfPath = result;
//newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath);
var archiveDetailId = $("#idLab").html();
newWindow.location.href = "${path}/pdfCtr/pdfLastDir?roleVal=" + encodeURI(2) + "&archiveDetailId=" + encodeURI(archiveDetailId) + "&pdfPath=" + encodeURI(result);
newWindow.location.href = "${path}/pdfCtr/pdfLastDir?roleVal=" + encodeURI(2) + "&archiveDetailId=" + encodeURI(archiveDetailId) + "&isscanedVal=" + encodeURI(isscanedVal)+ "&isSignVal=" + encodeURI(isSignVal)+ "&pdfPath=" + encodeURI(result);
//相对路径
<%--var pdfUrl = "${path}/static/pdfjs/web/viewer.html?file=../../../static/img/pdfFiles/typesPdf/" + result;//+ result;--%>
@ -2116,7 +2203,7 @@
});
});
$("#verifyBtn").on('click', function () {
function verinfyFun(){
//审核信息保存
var archiveDetailId = $("#archiveId").val();
var firstTrial = $("#verifyText").val();
@ -2136,9 +2223,28 @@
toastr.success("终审操作成功!");
}
});
}
$("#verifyBtn").on('click', function () {
var isscaned=""+$("#isScaned2").val();
var isSign=""+$("#isSign2").val();
if(((isscaned=="1") && (isSign=="1"))||(isscaned=="0")){
//无纸质 或 有纸质且已签收
verinfyFun();
}else{
//弹窗是否强制提交
$('#verinfyQZModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}
});
$("#verinfyQZBtn").on('click', function () {
//有纸质且未签收,强制提交
verinfyFun();
$("#verinfyQZModal").modal('hide');
});
$(function () {
//日期控件
@ -2187,6 +2293,11 @@
} else {
$("#updateStateBtn2").hide();
}
if (index.indexOf("signFlg") != -1) {
$("#signBtn").show();
} else {
$("#signBtn").hide();
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptAdmissionTo == null || deptAdmissionTo == '') {
// $('#deptDiv').show();
@ -2854,6 +2965,8 @@
var scollPostion1 = null;
var editSelRow=[];
var isscanedVal="";
var isSignVal="";
function initTable() {
if (tipLoad == 1) {
$("#table").bootstrapTable({ // 对应table标签的id
@ -2948,7 +3061,12 @@
startDateTo: $("#startDateTo").val(),
endDateTo: $("#endDateTo").val(),
isscaned: $("#isscaned").val(),
isScanning: $("#isScanning").val()
isScanning: $("#isScanning").val(),
signer: "" + $("#signer").val(),
startSignDate: $("#startSignDate").val(),
endSignDate: $("#endSignDate").val(),
isSign: $("#isSign").val()
};
return temp;
},
@ -3333,6 +3451,83 @@
return a;
}
},
{
title: '是否签收',
field: 'isSign',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证
var a = '';
var redFlag = row.numb;
var showVal="";
var colorVal="red";
if (value == "1") {
showVal="已签收";
colorVal="#030378;";
}else if (value == "0") {
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: 'signer',
align: 'left',
visible: false,
/* formatter: function (value, row, index) {
var redFlag = row.numb;
var a = "";
if (value != null && value != "") {
value = value.substring(0, 10);
} else if (value == null) {
value = "";
} else {
value = value;
}
if (redFlag == 0) {
a = value;
} else {
//有缺陷显示红色
a = '<span style="color:red;">' + value + '</span>';
}
return a;
}*/
},
{
title: '签收日期',
field: 'signTime',
align: 'center',
visible: false,
/*formatter: function (value, row, index) {
var redFlag = row.numb;
var a = "";
if (value != null && value != "") {
value = value.substring(0, 10);
} else if (value == null) {
value = "";
} else {
value = value;
}
if (redFlag == 0) {
a = value;
} else {
//有缺陷显示红色
a = '<span style="color:red;">' + value + '</span>';
}
return a;
}*/
},
{
title: '是否扫描',
field: 'isScanning',
@ -3341,12 +3536,23 @@
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证
var a = '';
var redFlag = row.numb;
var showVal="";
var colorVal="red";
if (value == "1") {
a = '<span style="color:#c0c0c0;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>已扫描</span>';
} else if (value == "0") {
a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>未扫描</span>';
} else {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>未知</span>';
showVal="已扫描";
colorVal="#030378;";
}else if (value == "0") {
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;
}
@ -3384,6 +3590,14 @@
html = html + '<button type="button" class="btn btn-sm btn-info getQXInfo">查看缺陷</button>';
}
}
if (index.indexOf("signFlg") != -1) {
if(row.isSign==0){
//签收显示取消签收
html += '<button type="button" class="btn btn-sm btn-warning signInfo">签收</button>';
}else{
html += '<button type="button" class="btn btn-sm btn-warning signCancelInfo">取消签收</button>';
}
}
return html;
},
@ -3463,6 +3677,8 @@
show: true//弹出对话框
});
$("#archiveId").val(row.id);
$("#isScaned2").val(row.isscaned);
$("#isSign2").val(row.isSign);
$("#verifyText").val("");
} else {
@ -3508,6 +3724,8 @@
}
//同步
$("#idLab").html(row.id);
isscanedVal=row.isscaned;
isSignVal=row.isSign;
$("#nameLab").html(row.name);
// $("#inDateLab").html(row.admissionDateTime.substring(0, 10));
if (row.admissionDateTime != null && row.admissionDateTime != '') {
@ -3543,7 +3761,33 @@
keyboard: true,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
},'click .signInfo': function (e, value, row, index) {
var isscaned=""+row.isscaned;
//签收
var inpNo=row.inpNo;
var visitId=row.visitId;
var isSign=1;
if(inpNo!=null && inpNo!="" && inpNo!=undefined && inpNo!="undefined"
&& visitId!=null && visitId!="" && inpNo!=undefined && visitId!="undefined"){
updateSignStateFun(inpNo,visitId,isSign);
}else{
toastr.warning("签收值格式应为:住院号-住院次数!");
}
},'click .signCancelInfo': function (e, value, row, index) {
//取消签收
var inpNo=row.inpNo;
var visitId=row.visitId;
var isSign=0;
if(inpNo!=null && inpNo!="" && inpNo!=undefined && inpNo!="undefined"
&& visitId!=null && visitId!="" && inpNo!=undefined && visitId!="undefined"){
updateSignStateFun(inpNo,visitId,isSign);
}else{
toastr.warning("签收值格式应为:住院号-住院次数!");
}
}
},
cellStyle: function (value, row, index) {
return {classes: 'success'}
@ -4019,6 +4263,77 @@
});
$("#signBtn").click(function () {
//签收
$('#signModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
});
function updateSignStateFun(inpNo,visitId,isSign){
$.ajax({
url: "${path}/lastVerify/updateSignState",
type: "POST",
data: {inpNo:inpNo, visitId: visitId, isSign:isSign},
success: function (result) {
if (result.indexOf("成功")!=-1) {
//刷新
$('#table').bootstrapTable('refresh');
toastr.success(result);
} else {
toastr.warning(result);
}
}, error: function () {
toastr.error("操作失败!");
}
});
}
$("#signBtn2").click(function () {
//签收
var signVal= $('#archiveIdSign').val();
signVal=signVal.trim();
if(signVal==null || signVal==""){
toastr.warning("签收值不能为空!");
return;
}
if(signVal.indexOf("-")!=-1){
var signArr=signVal.split("-");
var inpNo=signArr[0];
var visitId=signArr[1];
var isSign=1;
updateSignStateFun(inpNo,visitId,isSign);
}else{
toastr.warning("签收值格式应为:住院号-住院次数!");
return;
}
});
$("#signBtn3").click(function () {
//取消签收
//签收
var signVal= $('#archiveIdSign').val();
signVal=signVal.trim();
if(signVal==null || signVal==""){
toastr.warning("签收值不能为空!");
return;
}
if(signVal.indexOf("-")!=-1){
var signArr=signVal.split("-");
var inpNo=signArr[0];
var visitId=signArr[1];
var isSign=0;
updateSignStateFun(inpNo,visitId,isSign);
}else{
toastr.warning("签收值格式应为:住院号-住院次数");
return;
}
});
$("#selModal").keydown(function (e) {
if (e.keyCode == 13) {
event.preventDefault();//禁用默认回车事件
@ -4096,7 +4411,6 @@
// } else {
// deptName = $("#deptName").val();
// }
var deptName = $("#deptName").val();
if (deptName.indexOf("") != -1) {
deptName = "";
@ -4105,9 +4419,19 @@
}
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
//2021-05-13
var idNo=$("#idNo").val();
var isScanning= $("#isScanning").val();
var isSign = $("#isSign").val();
var isscaned = $("#isscaned").val();
var signer = $("#signer").val();
var startSignDate = $("#startSignDate").val();
var endSignDate = $("#endSignDate").val();
window.location.href = "${path}/lastVerify/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo;
"&name=" + name + "&deptName=" + deptName + "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo
+ "&isscaned=" + isscaned + "&isSign=" + isSign + "&signer=" + signer+ "&startSignDate=" + startSignDate
+ "&endSignDate=" + endSignDate+ "&idNo=" + idNo+ "&isScanning=" + isScanning;
});
@ -4604,7 +4928,7 @@
toastr.error("操作失败!");
}
});
})
});
$("#getReloadWz").on('click', function () {
var masterId = $("#idLab").html();

@ -2781,42 +2781,23 @@
//导出excel功能
$("#excelBtn").click(function () {
//var id = "" + $("#id").val();
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
// var idNo = "" + $("#idNo").val();
// var url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptName != null && deptName != '') {
// deptName += "," + $("#deptName").val();
// } else {
// deptName = $("#deptName").val();
// }
var deptName = $("#deptName").val();
if (deptName.indexOf("") != -1) {
deptName = "";
} else {
deptName = $("#deptName").val().toString();
}
var deptAdmissionTo = $("#deptAdmissionTo").val();
if (deptAdmissionTo.indexOf("") != -1) {
deptAdmissionTo = "";
} else {
deptAdmissionTo = $("#deptAdmissionTo").val().toString();
}
var archivestate = $("#archivestate").val();
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
window.location.href = "${path}/unfile/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo + "&archivestate=" + archivestate
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo
+ "&startDate=" + startDate + "&endDate=" + endDate;
//处理状态、处理人、处理时间
var followingType=$("#followingType").val().toString();
var handleId=$("#handleName").val().toString();
var startHandleTime=$("#startHandleTime").val();
var endHandleTime=$("#endHandleTime").val();
window.location.href = "${path}/medicalHandle/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&followingType=" + followingType + "&handleId=" + handleId
+ "&startHandleTime=" + startHandleTime + "&endHandleTime=" + endHandleTime;
});

@ -2340,18 +2340,9 @@
//导出excel功能
$("#excelBtn").click(function () {
//var id = "" + $("#id").val();
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
// var idNo = "" + $("#idNo").val();
// var url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptName != null && deptName != '') {
// deptName += "," + $("#deptName").val();
// } else {
// deptName = $("#deptName").val();
// }
var deptName = $("#deptName").val();
if (deptName.indexOf("") != -1) {
@ -2367,21 +2358,20 @@
deptAdmissionTo = $("#deptAdmissionTo").val().toString();
}
var archivestate = $("#archivestate").val();
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var createTimeStart= $("#createTimeStart").val();
var createTimeEnd= $("#createTimeEnd").val();
var deathFlag= $("#deathFlag").val();
var overdueDays= $("#overdueDays").val();
window.location.href = "${path}/unfile/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo + "&archivestate=" + archivestate
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo
+ "&startDate=" + startDate + "&endDate=" + endDate;
+ "&createTimeStart=" + createTimeStart + "&createTimeEnd=" + createTimeEnd+ "&startDate=" + startDate
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDays=" + overdueDays;
});
var zNodes = [];
var nodeList = [];
function initTree(patientId) {
var target = document.getElementById('foo');
spinner.spin(target);//给id为foo的div 中绑上spinner

@ -457,9 +457,10 @@
var archivestate = "" + $("#archivestate").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
+ "&startDate=" + startDate + "&endDate=" + endDate;
+ "&startDate=" + startDate + "&endDate=" + endDate+ "&logContent="+logContent;
});

@ -1,7 +1,10 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<html>
<head>
@ -248,6 +251,30 @@
</div>
</div>
</div>
<%--时间轴弹窗--%>
<div class="modal fade" id="timeLineModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">流转节点时间轴</h4>
</div>
<div class="modal-body" style="height:500px;overflow:auto">
<div class="cx-time-main" id="cxTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="verifyBtn">通过</button>--%>
</div>
</div>
</div>
</div>
</body>
<script>
var tipLoad = 1;
@ -562,17 +589,22 @@
formatter: function (value, row, index) {
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
var htmlVal="";
if (index != null && index != "" && index.indexOf("recall") != -1) {
if (row.archivestate == "已认证" || row.archivestate == "已归档") {
if(row.state=="已召回"){
return '<button class="btn btn-warning btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\')">召回 </button>' + '<button class="btn btn-danger btn-sm" onclick="logFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\',\'' + row.recallReason + '\')">日志</button>';
htmlVal+= '<button class="btn btn-warning btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\')">召回 </button>' + '<button class="btn btn-danger btn-sm" onclick="logFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\',\'' + row.recallReason + '\')">日志</button>';
}else{
return '<button class="btn btn-warning btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\')">召回 </button>';
htmlVal+= '<button class="btn btn-warning btn-sm" onclick="recallFun(\'' + row.id + '\',\'' + row.archiveDetailId + '\')">召回 </button>';
}
} else {
return '';
htmlVal='';
}
}
if (index != null && index != "" && index.indexOf("getline") != -1) {
htmlVal+= '<button class="btn btn-success btn-sm" onclick="getTimeLine(\'' + row.archiveDetailId + '\')">跟踪查看 </button>';
}
return htmlVal;
},
cellStyle: function (value, row, index) {
@ -594,6 +626,36 @@
}
}
var oTimeAxiosFun = null;
function getTimeLine(archiveDetailId) {
$('#timeLineModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var param = {
data: "", // 数据
id: 'cxTime', //dom节点ID
index: 0, // 选中时间节点
sort: 'just', // 正序just反序back, 其他表示不排序
sortKey: 'handleTime', //排序的参数key
// activeColor: '#26a69a', // 选中颜色
props: ['handleName', 'handleTime', 'followingContent'], //展示的key
}
$.ajax({
url: "${path}/medicalHandle/getTimeLine?masterId=" + archiveDetailId,
type: "GET",
success: function (result) {
param.data = result;
oTimeAxiosFun = new oTimeAxios(param);
}, error: function () {
toastr.error("操作失败!");
}
});
}
function logFun(id, archiveDetailId, recallReason) {
$('#logModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
@ -613,7 +675,7 @@
$("#creater").val(result.creater);
$("#ip").val(result.ip);
}, error: function () {
toastr.error("召回失败!")
toastr.error("召回失败")
}
});
@ -700,15 +762,15 @@
//刷新
$('#table').bootstrapTable('refresh');
if(result>0){
toastr.success("召回成功!");
toastr.success("召回成功");
}else{
toastr.error("召回失败!");
toastr.error("召回失败");
}
}, error: function () {
//刷新
// $('#table').bootstrapTable('refresh');
//toastr.success("召回成功!");
toastr.error("召回失败!")
//toastr.success("召回成功");
toastr.error("召回失败")
}
});

@ -607,9 +607,12 @@
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
var archivestate = "" + $("#archivestate").val();
var deptName = $("#deptName").val();
var deptNameA = $("#deptName").val().toString();
if (deptNameA.indexOf("") != -1 && deptNameA.length<=0) {
deptNameA = "";
}
window.location.href = "${path}/medicalRecall/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptName;
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptNameA;
});
$("#stateBtn").click(function () {

@ -216,19 +216,35 @@
limit = currPageSize;
this.pageSize = currPageSize;
}
var idNo="";
if($("#idNo").val() != undefined && $("#idNo").val() != "undefined"){
idNo=$("#idNo").val();
}
var handleName="" + $("#handleName").val();
if($("#handleName").val() != undefined && $("#handleName").val() != "undefined"){
handleName=$("#handleName").val();
}
var handleTime= "" + $("#handleTime").val();
if($("#handleTime").val() != undefined && $("#handleTime").val() != "undefined"){
handleTime=$("#handleTime").val();
}
var followingContent="" + $("#followingContent").val();
if($("#followingContent").val() != undefined && $("#followingContent").val() != "undefined"){
followingContent=$("#followingContent").val();
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
idNo: $("#idNo").val(),
idNo: idNo,
inpNo: "" + $("#inpNo").val(),
visitId: "" + $("#visitId").val(),
name: "" + $("#name").val(),
handleName: "" + $("#handleName").val(),
handleTime: "" + $("#handleTime").val(),
handleName: handleName,
handleTime: handleTime,
archivestate: "" + $("#archivestate").val(),
followingContent: "" + $("#followingContent").val(),
followingContent:followingContent,
state: "" + $("#state").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
@ -296,7 +312,7 @@
valign: 'middle',
},
{
title: '当前病案归档状态',
title: '归档状态',
field: 'archivestate',
align: 'center',
valign: 'middle',
@ -312,7 +328,7 @@
}
},
{
title: '状态',
title: '签收状态',
field: 'followingContent',
align: 'center',
valign: 'middle',
@ -374,15 +390,32 @@
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var idNo="";
if($("#idNo").val() != undefined && $("#idNo").val() != "undefined"){
idNo=$("#idNo").val();
}
var state = "" + $("#state").val();
var archivestate = "" + $("#archivestate").val();
var startDate = "" + $("#startDate").val();
var endDate=""+ $("#endDate").val();
window.location.href = "${path}/recallDate/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate
+ "&startDate=" + startDate + "&endDate=" + endDate;
//2021-05-15
var handleName="";
if($("#handleName").val() != undefined && $("#handleName").val() != "undefined"){
handleName=$("#handleName").val();
}
var handleTime= "";
if($("#handleTime").val() != undefined && $("#handleTime").val() != "undefined"){
handleTime=$("#handleTime").val();
}
var followingContent="";
if($("#followingContent").val() != undefined && $("#followingContent").val() != "undefined"){
followingContent=$("#followingContent").val();
}
window.location.href = "${path}/storage/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate
+ "&startDate=" + startDate + "&endDate=" + endDate+ "&handleName=" + handleName + "&handleTime=" + handleTime
+ "&followingContent=" + followingContent ;
});

@ -106,6 +106,13 @@
width: calc(150%);
}
#verinfyQZModal .modal-content {
margin-left: 20%;
margin-top:20%;
width: 450px;
color: black;
}
#assortNameQX {
width: 200px
}
@ -293,6 +300,31 @@
</div>
</div>
<%--没签收是否强制提交弹窗--%>
<div class="modal fade" id="verinfyQZModal" tabindex="-5" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">是否强制提交</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
没签收是否强制提交
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="verinfyQZBtn">通过</button>
</div>
</div>
</div>
</div>
</body>
<script>
@ -322,6 +354,8 @@
//自动生成PDF的路径
//var pdfPath = "C:/Users/Administrator/Desktop/测试/ttt.pdf";
var pdfPath = GetQueryString("pdfPath");
var isSignVal = GetQueryString("isSignVal");
var isscanedVal = GetQueryString("isscanedVal");
//自定义id
var definedId;
//判断归档状态
@ -961,6 +995,42 @@
$('#table').bootstrapTable('refresh');
});
function verinfyFun(){
var firstTrial = $("#lastText").val();
if (firstTrial.length > 255) {
toastr.warning("内容长度不超过255!");
return;
}
var state = "已归档";
//归档状态改为初审还是有就是初审内容保存
$.ajax({
url: "${path}/lastVerify/updateStateByArchivId",
type: "POST",
data: {archiveDetailId: archiveDetailId, firstTrial: firstTrial, state: state},
success: function (result) {
//if (result == 1) {
$("#lastModal").modal('hide');
toastr.success("终审操作成功!");
//刷新
$('#table').bootstrapTable('refresh');
//location.reload();
//} else {
//toastr.error("终审操作成功!");
//}
}
});
//修改master表score字段 保存总分数
$.ajax({
url: "${path}/lastVerify/updateScore",
type: "POST",
data: {id:archiveDetailId,score:$("#scoreLast").val()},
success: function (result) {
}
});
}
//终审
$("#lastBtn").click(function () {
if (archiveDetailId != null && archiveDetailId != "") {
@ -998,44 +1068,30 @@
} else {
toastr.warning("病案号不存在!");
}
});
$("#verinfyQZBtn").on('click', function () {
//有纸质且未签收,强制提交
verinfyFun();
$("#verinfyQZModal").modal('hide');
});
$("#lastSaveBtn").click(function () {
//审核信息保存
var firstTrial = $("#lastText").val();
if (firstTrial.length > 255) {
toastr.warning("内容长度不超过255!");
return;
var isscaned=isscanedVal;
var isSign=""+isSignVal;
if(((isscaned=="1") && (isSign=="1"))||(isscaned=="0")){
//无纸质 或 有纸质且已签收
verinfyFun();
}else{
//弹窗是否强制提交
$('#verinfyQZModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}
var state = "已归档";
//归档状态改为初审还是有就是初审内容保存
$.ajax({
url: "${path}/lastVerify/updateStateByArchivId",
type: "POST",
data: {archiveDetailId: archiveDetailId, firstTrial: firstTrial, state: state},
success: function (result) {
//if (result == 1) {
$("#lastModal").modal('hide');
toastr.success("终审操作成功!");
//刷新
$('#table').bootstrapTable('refresh');
//location.reload();
//} else {
//toastr.error("终审操作成功!");
//}
}
});
//修改master表score字段 保存总分数
$.ajax({
url: "${path}/lastVerify/updateScore",
type: "POST",
data: {id:archiveDetailId,score:$("#scoreLast").val()},
success: function (result) {
}
});
});
//终审退回

@ -22,7 +22,6 @@
<%@ include file="../jspf/ztreeCommom.jsp" %>
</head>
<style>
body{
scroll-x:hidden;
}
@ -85,6 +84,7 @@
<script>
$(function () {
//======================================hjl===============================
//日期控件
$(".input-daterange").datepicker({
@ -92,6 +92,26 @@
language: "zh-CN"
});
var opts = {
lines: 13, // 花瓣数目
length: 20, // 花瓣长度
width: 10, // 花瓣宽度
radius: 30, // 花瓣距中心半径
corners: 1, // 花瓣圆滑度 (0-1)
rotate: 0, // 花瓣旋转角度
direction: 1, // 花瓣旋转方向 1: 顺时针, -1: 逆时针
color: '#000', // 花瓣颜色
speed: 1, // 花瓣旋转速度
trail: 60, // 花瓣旋转时的拖影(百分比)
shadow: false, // 花瓣是否显示阴影
hwaccel: false, //spinner 是否启用硬件加速及高速旋转
className: 'spinner', // spinner css 样式名称
zIndex: 2e9, // spinner的z轴 (默认是2000000000)
top: '50%', // spinner 相对父容器Top定位 单位 px
//left: '900%'// spinner 相对父容器Left定位 单位 px
};
var spinner = new Spinner(opts);
//导出excel功能
$("#excelBtn2").click(function () {
var inpNo = $("#inpNo2").val();
@ -103,6 +123,8 @@
});
function wzCheckFun(){
var target = document.getElementById('table2');
spinner.spin(target);//给id为foo的div 中绑上spinner
var entity={};
var inpNo = $("#inpNo2").val();
var visitId = $("#visitId2").val();
@ -120,16 +142,17 @@
type: "POST",
data: entity,
success: function (result) {
console.log(result);
if(result=="全部重置完成!"){
//console.log(result);
if(result=="重置完成!"){
$('#table2').bootstrapTable('refresh');
toastr.success(result);
}else{
toastr.warning(result);
}
// spinner.spin();
}
});
spinner.spin();
}
//更新校验
@ -270,7 +293,7 @@
{
title: '完整性内容',
field: 'lockinfo',
align: 'center',
align: 'left',
valign: 'middle',
// width: 50, // 定义列的宽度单位为像素px
},

@ -3947,7 +3947,6 @@
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
// var idNo = "" + $("#idNo").val();
// var url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptName != null && deptName != '') {
@ -3962,24 +3961,23 @@
} else {
deptName = $("#deptName").val().toString();
}
var deptAdmissionTo = $("#deptAdmissionTo").val();
if (deptAdmissionTo.indexOf("") != -1) {
deptAdmissionTo = "";
} else {
deptAdmissionTo = $("#deptAdmissionTo").val().toString();
}
var archivestate = $("#archivestate").val();
var startDateTo = $("#startDateTo").val();
var endDateTo = $("#endDateTo").val();
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var bedNumber = $("#bedNumber").val();
var deathFlag = $("#deathFlag").val();
window.location.href = "${path}/unfile/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo + "&archivestate=" + archivestate
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo
+ "&startDate=" + startDate + "&endDate=" + endDate;
+ "&startDateTo=" + startDateTo + "&endDateTo=" + endDateTo + "&startDate=" + startDate + "&endDate=" + endDate
+ "&bedNumber=" + bedNumber + "&deathFlag=" + deathFlag;
});
var zNodes = [];

Loading…
Cancel
Save