提醒质控老师质控科室有多少份未提交的病历

master
ALW 3 years ago
parent cf861572e6
commit 322d15997b

@ -423,7 +423,8 @@ public class FontController {
public void sendMessageWith(HttpServletRequest request, String title, String content,String typeFlag) {
try {
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
OverdueRemindVO overdueRemindVO= new OverdueRemindVO();
String deptId = user.getRemark();
OverdueRemindVO overdueRemindVO= new OverdueRemindVO();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date2="2021-01-01";
Date date1=null;
@ -435,27 +436,38 @@ public class FontController {
overdueRemindVO.setDate1(date1);
//查询主治医生id
String s = user.getUserName();
System.out.println("s:::" + s);
Integer userId = user.getUserId();
overdueRemindVO.setDoctorInCharge(s);
//判断这个医生今天是否已读超期消息提醒
int i = overdueRemindService.selectOverdueStatcByDoctorId(overdueRemindVO);
System.out.println("i:::" + i);
if (i ==0) {
//查询该主治医生有多少超期的病案未归档
if (deptId.equals("病案室")){
StringBuffer sb = new StringBuffer();
String deptId1 = user.getDeptIdQuality();
String deptIdQuality = deptId.replaceAll("\\b", "'");
List<OverdueRemindVO> overdueRemindVOS = overdueRemindService.selectoverdueNumAndQualityControl(deptIdQuality);
for (int b=0;overdueRemindVOS.size()>0;b++){
String overdueNum = overdueRemindVOS.get(b).getOverdueNum();
String name = overdueRemindVOS.get(b).getName();
sb.append(overdueNum+"有"+name+"份");
}
String string = sb.toString();
// System.out.println("overdueNum++++"+overdueNum);
content = "尊敬的质控老师!您质控的科室'" + string + "'应归档的病案未归档";
Map<String, String> map = new HashMap<>();
map.put("title", "未归档的病案通知");
map.put("content", content);
map.put("sysFlag", "emr_medical_record");
map.put("userId", userId + "");
map.put("typeFlag", typeFlag);
HttpClientUtils.doGet(POWER_URLHEAD + "/font/sendMessage", map);
//保存到提醒日志
overdueRemindVO.setDOCTOR_IN_CHARGE(s);
overdueRemindService.insertRemind(overdueRemindVO);
}else {
String overdueNum = overdueRemindService.selectoverdueNumAndDoctorId(overdueRemindVO);
// System.out.println("overdueNum:::" + overdueNum);
// //调用接口
// // 创建uri
content = "尊敬的医生!您有'" + overdueNum + "'条超期的病案未归档";
// String url = powerUrlHead + "/font/sendMessage?"
// + "userId=" + userId
// + "&sysFlag=emr_medical_record"
// + "&title=" + title
// + "&content=" + content.replace(" ", "");
// // 执行请求
// System.out.println("content:::" + content);
// System.out.println("url:::" + url);
Map<String, String> map = new HashMap<>();
map.put("title", "超期的病案通知");
map.put("content", content);
@ -465,8 +477,8 @@ public class FontController {
HttpClientUtils.doGet(POWER_URLHEAD + "/font/sendMessage", map);
//保存到提醒日志
overdueRemindVO.setDOCTOR_IN_CHARGE(s);
System.out.println("s:::" + s);
overdueRemindService.insertRemind(overdueRemindVO);
}
}
} catch (Exception e) {
e.printStackTrace();

@ -67,6 +67,15 @@ public class medicalOverdueController {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date1=null;
Date date2=null;
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","初审日期","初审人","主管医生","是否死亡","间隔天数","超期天数"};
String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","handleTime","handleName","doctorInCharge","deathFlag","diffDay","overTime"};
@ -169,13 +178,241 @@ public class medicalOverdueController {
@RequestMapping(value = "/exportExcel2")
public void exportExcel2(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","退回日期","退回人","主管医生","是否死亡","间隔天数","超期天数"};
String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","handleTime","handleName","doctorInCharge","deathFlag","diffDay","overdue"};
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date1=null;
Date date2=null;
String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","退回日期","再次提交时间","退回人","主管医生","是否死亡","间隔天数","超期天数"};
String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","handleTime","againTime","handleName","doctorInCharge","deathFlag","diffDay","overTime"};
//文件名
String fileName = "住院返修病历列表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据overdueDays
List<Archive_Master_Vo> list = archiveMasterService.selectOverdue2(archiveMasterVo);
List<Archive_Master_Vo> list = archiveMasterService.selectOverdueXls2(archiveMasterVo);
for (int a = 0; a < list.size(); a++) {
String overTime1 = list.get(a).getOverTime1();
String handleTime = list.get(a).getAgainTime();
try {
date1 = format.parse(overTime1);
date2 = format.parse(handleTime);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar ca1 = Calendar.getInstance();
Calendar ca2 = Calendar.getInstance();
ca1.setTime(date1);
ca2.setTime(date2);
long distanceMin = (ca2.getTimeInMillis() - ca1.getTimeInMillis()) / (1000 * 60 * 60 * 24);
int Min = (int) distanceMin;
if (Min > 0) {
list.get(a).setOverTime(Min);
} else {
list.get(a).setOverTime(0);
}
}
List<MedicalRecordHomepageCache> medicalRecordHomepageCacheList = null;
if(archiveMasterVo.getOverdueDays()!=null && archiveMasterVo.getOverdueDays()!="") {
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getOverdue() != null && !list.get(i).getOverdue().equals("")) {
int score = Integer.parseInt(list.get(i).getOverdue()) - Integer.parseInt(archiveMasterVo.getOverdueDays());
list.get(i).setScore("" + score);
}
if (list.get(i).getDeathFlag() != null && !list.get(i).getDeathFlag().equals("")){
if (list.get(i).getDeathFlag().equals("0")){
list.get(i).setDeathFlag("否");
}else {
list.get(i).setDeathFlag("是");
}
}
//2021-09-17
String doctorInChargeInHomePage = "";
String directorDoctorInHomePage = "";
//根据masterId查出该条首页缓存表中content内容
MedicalRecordHomepageCacheExample medicalRecordHomepageCacheExample = new MedicalRecordHomepageCacheExample();
MedicalRecordHomepageCacheExample.Criteria criteria = medicalRecordHomepageCacheExample.createCriteria();
if (!StringUtils.isEmpty(list.get(i).getId())){
criteria.andMasterIdEqualTo(list.get(i).getId());
}
medicalRecordHomepageCacheList = medicalRecordHomepageCacheMapper.selectByExample(medicalRecordHomepageCacheExample);
if (medicalRecordHomepageCacheList.size()>0){
//查出content
String content = medicalRecordHomepageCacheList.get(0).getContent();
//根据content内容获取首页中主治医生name、主任副主任医生name
doctorInChargeInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable").getString("yZY054");
directorDoctorInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable1").getString("yZY052");
}
//重新赋值主管医生、主任(副主任)医生
if (doctorInChargeInHomePage != null && !doctorInChargeInHomePage.equals("")){
list.get(i).setDoctorInCharge(doctorInChargeInHomePage);
}else {
list.get(i).setDoctorInCharge("首页尚未填写主治医生!");
}
if (directorDoctorInHomePage != null && !directorDoctorInHomePage.equals("")){
list.get(i).setFirstInstance(directorDoctorInHomePage);
}else {
list.get(i).setFirstInstance("首页尚未填写主任(副主任)医生!");
}
//2021-09-17
}
}
}
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
@RequestMapping(value = "/medicalOverdueList3")
public OffsetLimitPage medicalOverdueList3(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
OffsetLimitPage result =archiveMasterService.selectOverdue3(archiveMasterVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/medicalOverdueList4")
public OffsetLimitPage medicalOverdueList4(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
OffsetLimitPage result =archiveMasterService.selectOverdue4(archiveMasterVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/exportExcelFirst")
public void exportExcelFirst(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","退回人","主管医生","是否死亡","间隔天数","超期天数"};
String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","handleName","doctorInCharge","deathFlag","diffDay","overTime"};
//文件名
String fileName = "初次未提交病历" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据overdueDays
List<Archive_Master_Vo> list = archiveMasterService.selectOverdueFirst(archiveMasterVo);
for (int a = 0; a < list.size(); a++) {
String overTime1 = list.get(a).getOverTime1();
int i = Integer.parseInt(overTime1);
if (i>0){
list.get(a).setOverTime(i);
}else {
list.get(a).setOverTime(0);
}
String deathFlag = list.get(a).getDeathFlag();
int c = Integer.parseInt(deathFlag);
if (c==1){
list.get(a).setDeathFlag("是");
}else{
list.get(a).setDeathFlag("否");
}
}
List<MedicalRecordHomepageCache> medicalRecordHomepageCacheList = null;
if(archiveMasterVo.getOverdueDays()!=null && archiveMasterVo.getOverdueDays()!="") {
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getOverdue() != null && !list.get(i).getOverdue().equals("")) {
int score = Integer.parseInt(list.get(i).getOverdue()) - Integer.parseInt(archiveMasterVo.getOverdueDays());
list.get(i).setScore("" + score);
}
if (list.get(i).getDeathFlag() != null && !list.get(i).getDeathFlag().equals("")){
if (list.get(i).getDeathFlag().equals("0")){
list.get(i).setDeathFlag("否");
}else {
list.get(i).setDeathFlag("是");
}
}
//2021-09-17
String doctorInChargeInHomePage = "";
String directorDoctorInHomePage = "";
//根据masterId查出该条首页缓存表中content内容
MedicalRecordHomepageCacheExample medicalRecordHomepageCacheExample = new MedicalRecordHomepageCacheExample();
MedicalRecordHomepageCacheExample.Criteria criteria = medicalRecordHomepageCacheExample.createCriteria();
if (!StringUtils.isEmpty(list.get(i).getId())){
criteria.andMasterIdEqualTo(list.get(i).getId());
}
medicalRecordHomepageCacheList = medicalRecordHomepageCacheMapper.selectByExample(medicalRecordHomepageCacheExample);
if (medicalRecordHomepageCacheList.size()>0){
//查出content
String content = medicalRecordHomepageCacheList.get(0).getContent();
//根据content内容获取首页中主治医生name、主任副主任医生name
doctorInChargeInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable").getString("yZY054");
directorDoctorInHomePage = JSONObject.parseObject(content).getJSONObject("commonTable1").getString("yZY052");
}
//重新赋值主管医生、主任(副主任)医生
if (doctorInChargeInHomePage != null && !doctorInChargeInHomePage.equals("")){
list.get(i).setDoctorInCharge(doctorInChargeInHomePage);
}else {
list.get(i).setDoctorInCharge("首页尚未填写主治医生!");
}
if (directorDoctorInHomePage != null && !directorDoctorInHomePage.equals("")){
list.get(i).setFirstInstance(directorDoctorInHomePage);
}else {
list.get(i).setFirstInstance("首页尚未填写主任(副主任)医生!");
}
//2021-09-17
}
}
}
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
String result=utils.exportExcelToFilePath(response,utils.listConvert(list));
}
@ResponseBody
@RequestMapping(value = "/exportExcelFirst1")
public void exportExcelFirst1(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
String[] header = {"住院号","住院次数","姓名","入院科室","出院科室","出院日期","最后退回时间","主管医生","是否死亡","间隔天数","超期天数"};
String[] fileNames = {"inpNo","visitId","name","deptAdmissionTo","deptName","dischargeDateTime","handleTimeMax1","doctorInCharge","deathFlag","diffDay","overTime"};
//文件名
String fileName = "返修未提交病历" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据overdueDays
List<Archive_Master_Vo> list = archiveMasterService.selectOverdueFirst1(archiveMasterVo);
for (int a = 0; a < list.size(); a++) {
String overTime1 = list.get(a).getOverTime1();
int i = Integer.parseInt(overTime1);
if (i>0){
list.get(a).setOverTime(i);
}else {
list.get(a).setOverTime(0);
}
String deathFlag = list.get(a).getDeathFlag();
int c = Integer.parseInt(deathFlag);
if (c==1){
list.get(a).setDeathFlag("是");
}else{
list.get(a).setDeathFlag("否");
}
}
List<MedicalRecordHomepageCache> medicalRecordHomepageCacheList = null;
if(archiveMasterVo.getOverdueDays()!=null && archiveMasterVo.getOverdueDays()!="") {

@ -156,6 +156,20 @@ public interface Archive_MasterMapper {
*/
List<Archive_Master_Vo> selectOverdue2(Archive_Master_Vo record);
/**
* -
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdue3(Archive_Master_Vo archiveMasterVo);
/**
* -
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdue4(Archive_Master_Vo archiveMasterVo);
Archive_Master_Vo againTime(String masterId);
// Archive_Master_Vo againOverdueTime(String masterId);

@ -1,6 +1,9 @@
package com.emr.dao;
import com.emr.vo.OverdueRemindVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface OverdueRemindMapper {
@ -8,6 +11,8 @@ public interface OverdueRemindMapper {
String selectDoctorId(OverdueRemindVO overdueRemindVO);
//查询主管医医生有多少条超期记录
String selectoverdueNumAndDoctorId(OverdueRemindVO overdueRemindVO);
//查询主管医医生有多少条超期记录
List<OverdueRemindVO> selectoverdueNumAndQualityControl(@Param("deptIdQuality")String deptIdQuality);
// 保存操作日志
int insertRemind(OverdueRemindVO overdueRemindVO);
//判断超期提醒状态

@ -29,11 +29,15 @@ public class Archive_Master_Vo {
private String sex;
private String num;
private String deptName;
private String dischargeDateTime;
private String handleTimeMax1;
private Date dischargeDateTime1;

@ -9,10 +9,30 @@ package com.emr.entity;
import java.util.Set;
public class Power_User {
public String getDeptIdQuality() {
return deptIdQuality;
}
public void setDeptIdQuality(String deptIdQuality) {
this.deptIdQuality = deptIdQuality;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
/**
* id
*/
private Integer userId;
private String deptIdQuality;
private String deptId;
/**
*
*/

@ -211,7 +211,7 @@ public interface Archive_MasterService {
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdue2(Archive_Master_Vo archiveMasterVo);
List<Archive_Master_Vo> selectOverdueXls2(Archive_Master_Vo archiveMasterVo);
/**
*
@ -222,6 +222,37 @@ public interface Archive_MasterService {
OffsetLimitPage selectOverdue2(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdueFirst(Archive_Master_Vo archiveMasterVo);
/**
*
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdueFirst1(Archive_Master_Vo archiveMasterVo);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage selectOverdue3(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage selectOverdue4(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
* @param record

@ -1,6 +1,9 @@
package com.emr.service;
import com.emr.vo.OverdueRemindVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface OverdueRemindService {
@ -8,6 +11,8 @@ public interface OverdueRemindService {
String selectDoctorId(OverdueRemindVO overdueRemindVO);
//查询主管医医生有多少条超期记录
String selectoverdueNumAndDoctorId(OverdueRemindVO overdueRemindVO);
//查询主管医医生有多少条超期记录
List<OverdueRemindVO> selectoverdueNumAndQualityControl(@Param("deptIdQuality")String deptIdQuality);
// 保存操作日志
int insertRemind(OverdueRemindVO overdueRemindVO);
//判断超期提醒状态

@ -10,5 +10,5 @@ public interface PowerUserService {
JSONArray getPowerUserList(String type);
List<Archive_Master_Following> getHandleName(String patientIds);
}

@ -636,7 +636,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
@Override
public List<Archive_Master_Vo> selectOverdue2(Archive_Master_Vo archiveMasterVo) {
public List<Archive_Master_Vo> selectOverdueXls2(Archive_Master_Vo archiveMasterVo) {
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue2(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
@ -669,6 +669,75 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return list;
}
@Override
public List<Archive_Master_Vo> selectOverdueFirst(Archive_Master_Vo archiveMasterVo) {
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue3(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
if (null != powerUserList) {
//获取主管医生
String doctorInCharge = archiveMaster.getDoctorInCharge();
//获取 初审人
String firstInstance = archiveMaster.getFirstInstance();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) {
archiveMaster.setDoctorInCharge(name);
}
if (StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)) {
archiveMaster.setFirstInstance(name);
}
}
}
}
}
return list;
}
@Override
public List<Archive_Master_Vo> selectOverdueFirst1(Archive_Master_Vo archiveMasterVo) {
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue4(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
if (null != powerUserList) {
//获取主管医生
String doctorInCharge = archiveMaster.getDoctorInCharge();
//获取 初审人
String firstInstance = archiveMaster.getFirstInstance();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) {
archiveMaster.setDoctorInCharge(name);
}
if (StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)) {
archiveMaster.setFirstInstance(name);
}
}
}
}
}
return list;
}
@Override
public OffsetLimitPage selectOverdue2(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
@ -695,8 +764,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
// Archive_Master_Vo archive_master_vo = archiveMasterMapper.againTime(masterId);
String overTime1 = archiveMaster.getOverTime1();
String handleTime = archiveMaster.getAgainTime();
try {
@ -737,6 +804,114 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectOverdue3(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue3(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
String overTime1 = archiveMaster.getOverTime1();
int i = Integer.parseInt(overTime1);
if (i>0){
archiveMaster.setOverTime(i);
}else {
archiveMaster.setOverTime(0);
}
if (null != powerUserList) {
//获取主管医生
String doctorInCharge = archiveMaster.getDoctorInCharge();
//获取 初审人
String firstInstance = archiveMaster.getFirstInstance();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) {
archiveMaster.setDoctorInCharge(name);
break;
}
if (StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)) {
archiveMaster.setFirstInstance(name);
break;
}
}
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectOverdue4(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
String overdueDaysTwo = archiveMasterVo.getOverdueDaysTwo();
if (overdueDaysTwo.equals("")){
archiveMasterVo.setOverdueDaysTwo("4");
}else {
int inum = Integer.parseInt(overdueDaysTwo);
int inum2=inum+1;
String s=String.valueOf(inum2);
archiveMasterVo.setOverdueDaysTwo(s);
}
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue4(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (Archive_Master_Vo archiveMaster : list) {
String overTime1 = archiveMaster.getOverTime1();
int i = Integer.parseInt(overTime1);
if (i>0){
archiveMaster.setOverTime(i);
}else {
archiveMaster.setOverTime(0);
}
if (null != powerUserList) {
//获取主管医生
String doctorInCharge = archiveMaster.getDoctorInCharge();
//获取 初审人
String firstInstance = archiveMaster.getFirstInstance();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(doctorInCharge) && powerUserDto.getUserName().equals(doctorInCharge)) {
archiveMaster.setDoctorInCharge(name);
break;
}
if (StringUtils.isNotBlank(firstInstance) && powerUserDto.getUserName().equals(firstInstance)) {
archiveMaster.setFirstInstance(name);
break;
}
}
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectByFollowinglog(Archive_Master_Vo record, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);

@ -4,9 +4,12 @@ import com.emr.dao.Archive_MasterMapper;
import com.emr.dao.OverdueRemindMapper;
import com.emr.service.OverdueRemindService;
import com.emr.vo.OverdueRemindVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OverdueRemindServiceImpl implements OverdueRemindService {
@ -22,6 +25,11 @@ public class OverdueRemindServiceImpl implements OverdueRemindService {
return overdueRemindMapper.selectoverdueNumAndDoctorId(overdueRemindVO);
}
@Override
public List<OverdueRemindVO> selectoverdueNumAndQualityControl(@Param("deptIdQuality")String deptIdQuality) {
return overdueRemindMapper.selectoverdueNumAndQualityControl(deptIdQuality);
}
@Override
public int insertRemind(OverdueRemindVO overdueRemindVO) {
return overdueRemindMapper.insertRemind(overdueRemindVO);

@ -6,6 +6,7 @@ import java.util.Date;
@Data
public class OverdueRemindVO {
private String name;
/** 用户Id */
private Integer userId;
/** power_user表的工号Id */
@ -29,6 +30,6 @@ public class OverdueRemindVO {
/**提醒时间*/
private Date reminderTime;
private String DOCTOR_IN_CHARGE;
private String deptIdQuality;
private Date date1;
}

@ -112,6 +112,8 @@
<result column="overTime2" jdbcType="INTEGER" property="overTime2" />
<result column="flag" jdbcType="INTEGER" property="flag" />
<result column="countNum" jdbcType="INTEGER" property="countNum" />
<result column="handleTimeMax1" jdbcType="NVARCHAR" property="handleTimeMax1"/>
</resultMap>
<sql id="Base_Column_List">
id, patient_id, inp_no, visit_id, name, sex, dept_name, discharge_date_time, ArchiveState,
@ -1628,13 +1630,13 @@
on m.dept_admission_to=e.code
<where> 1=1 and m.master_id!='' and m.master_id is not null and f2.handle_time is not null
<!--<if test="(overdueDaysTwo != null and overdueDaysTwo != '') ">-->
<!--and-->
<!--DATEDIFF(dd,(SELECT max(b.date)-->
<!--FROM (select top 4 date from emr_holiday_set where date >= CONVERT (-->
<!--VARCHAR (10),-->
<!--f1.handle_time,-->
<!--120-->
<!--) and flag= 1 order by date asc) as b), CONVERT(VARCHAR(20),f2.handle_time,23)) >=#{overdueDaysTwo,jdbcType=NCHAR}-->
<!--and-->
<!--DATEDIFF(dd,(SELECT max(b.date)-->
<!--FROM (select top 4 date from emr_holiday_set where date >= CONVERT (-->
<!--VARCHAR (10),-->
<!--f1.handle_time,-->
<!--120-->
<!--) and flag= 1 order by date asc) as b), CONVERT(VARCHAR(20),f2.handle_time,23)) >=#{overdueDaysTwo,jdbcType=NCHAR}-->
<!--</if>-->
<if test="id != null and id != ''">
and m.id = #{id,jdbcType=NVARCHAR}
@ -1685,6 +1687,158 @@
</where>
ORDER BY m.master_id,m.discharge_date_time,f1.handle_time asc
</select>
<!-- 初次未提交病历 -->
<select id="selectOverdue3" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
SELECT m.inp_no,m.visit_id,m.name,ISNULL(c.name,m.dept_name) dept_name,ISNULL(e.name,m.dept_admission_to) dept_admission_to,m.discharge_date_time,
m.DOCTOR_IN_CHARGE,d.num,m.id,m.death_flag,
DATEDIFF(day, (SELECT max(b.date)
FROM (select top ${overdueDaysTwo} date from emr_holiday_set where date >= CONVERT (
VARCHAR (10),
m.discharge_date_time,
120
) and flag= 1 order by date asc) as b),CONVERT (
VARCHAR (10),
getDate(),
120
)) AS overTime1,
DATEDIFF(day, CONVERT (
VARCHAR (10),
m.discharge_date_time,
120
), CONVERT (
VARCHAR (10),
getDate(),
120
)) as diffDay
FROM Archive_Master_Following f
LEFT JOIN Archive_Master m
on f.master_id=m.id and ArchiveState in('归档中','提交','复审退回','主任退回') and Is_Valid!=1
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) c
on m.dept_name=c.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e
on m.dept_admission_to=e.code
LEFT JOIN (SELECT COUNT(master_id)as num ,master_id from Archive_Master_Following WHERE following_type='5' GROUP BY master_id) d
on m.id=d.master_id
<where> 1=1 and d.num is NULL and m.discharge_date_time is not NULL
<if test="id != null and id != ''">
and m.id = #{id,jdbcType=NVARCHAR}
</if>
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo != null and deptAdmissionTo!=''">
and m.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDate,jdbcType=NCHAR} and #{endDate,jdbcType=NCHAR}
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDate,jdbcType=NCHAR}
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) &lt;= #{endDate,jdbcType=NCHAR}
</when>
</choose>
</where>
GROUP BY m.id,m.inp_no,m.visit_id,m.name,m.dept_name,c.name,e.name,m.dept_admission_to
,m.discharge_date_time,m.DOCTOR_IN_CHARGE,d.num,m.id,m.death_flag
ORDER BY m.discharge_date_time DESC
</select>
<!-- 返修未提交病历 -->
<select id="selectOverdue4" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
SELECT distinct m.ID,m.inp_no,m.visit_id,m.name,m.discharge_date_time,m.DOCTOR_IN_CHARGE
,ISNULL(c.name,m.dept_name) dept_name,ISNULL(e.name,m.dept_admission_to) dept_admission_to,d.handleTimeMax1,m.death_flag,
DATEDIFF(day, (SELECT max(b.date)
FROM (select top ${overdueDaysTwo} date from emr_holiday_set where date >= CONVERT (
VARCHAR (10),
d.handleTimeMax1,
120
) and flag= 1 order by date asc) as b),CONVERT (
VARCHAR (10),
getDate(),
120
)) AS overTime1,
DATEDIFF(day, CONVERT (
VARCHAR (10),
d.handleTimeMax1,
120
), CONVERT (
VARCHAR (10),
getDate(),
120
)) as diffDay
from Archive_Master_Following f
LEFT JOIN Archive_Master m
on f.master_id=m.id and ArchiveState in('归档中','提交','复审退回','主任退回') and Is_Valid!=1
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) c
on m.dept_name=c.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e
on m.dept_admission_to=e.code
LEFT JOIN (SELECT max(handle_time)as handleTimeMax1 ,master_id from Archive_Master_Following WHERE following_type='9' GROUP BY master_id) d
on m.id=d.master_id
LEFT JOIN (SELECT COUNT(Archive_Master_Following.master_id)as num,Archive_Master_Following.master_id,Archive_Master_Following.handle_time from Archive_Master_Following
LEFT JOIN (SELECT max(handle_time)as handleTimeMax ,master_id from Archive_Master_Following WHERE following_type='9' GROUP BY master_id) d1 on d1.master_id=Archive_Master_Following.master_id
WHERE handle_time between d1.handleTimeMax and getDate() and Archive_Master_Following.following_type !='9'
GROUP BY Archive_Master_Following.master_id,Archive_Master_Following.handle_time
) timd
on timd.master_id=d.master_id
<where> 1=1 and d.handleTimeMax1 is not NULL and timd.num is NULL
<if test="id != null and id != ''">
and m.id = #{id,jdbcType=NVARCHAR}
</if>
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo != null and deptAdmissionTo!=''">
and m.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDate,jdbcType=NCHAR} and #{endDate,jdbcType=NCHAR}
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDate,jdbcType=NCHAR}
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) &lt;= #{endDate,jdbcType=NCHAR}
</when>
</choose>
</where>
ORDER BY m.discharge_date_time DESC
</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,CONVERT(VARCHAR(20),f.handle_time,120) handle_time, m.archiveState ,f.following_content

@ -8,32 +8,54 @@
<select id="selectoverdueNumAndDoctorId" parameterType="com.emr.vo.OverdueRemindVO" resultType="java.lang.String">
select COUNT(*)as overdueNum from Archive_Master a
where a.DOCTOR_IN_CHARGE=#{doctorInCharge} and a.DOCTOR_IN_CHARGE is not null and a.DOCTOR_IN_CHARGE!=''
and a.discharge_date_time>'2021-01-01 '
and a.ArchiveState='归档中'
and 3 &lt;=
(
SELECT
count(1)
FROM
emr_holiday_set
WHERE
flag = 1
AND date >= CONVERT (
VARCHAR (100),
SELECT COUNT
( * ) AS overdueNum
FROM
Archive_Master a
LEFT JOIN (
SELECT
id,
master_id,
CONVERT ( VARCHAR, handle_time, 120 ) handle_time,
handle_id,
handle_name,
following_type
FROM
(
SELECT
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
Archive_Master_Following.*
FROM
Archive_Master_Following
WHERE
1 = 1
AND following_type = '5'
) AS t1
WHERE
1 = 1
AND RowNum = 1
) f ON f.master_id= a.ID
WHERE
a.DOCTOR_IN_CHARGE =#{doctorInCharge}
AND a.DOCTOR_IN_CHARGE IS NOT NULL
AND a.DOCTOR_IN_CHARGE!= ''
AND a.discharge_date_time between a.discharge_date_time and '2021-01-01'
AND a.ArchiveState= '归档中'
AND DATEDIFF(day, (SELECT max(b.date)
FROM (select top 4 date from emr_holiday_set where date >= CONVERT (
VARCHAR (10),
a.discharge_date_time,
23
)
AND date &lt;= CONVERT(
VARCHAR (100),
getDate(),
23
)
) - 4
120
) and flag= 1 order by date asc) as b),CONVERT (
VARCHAR (10),
f.handle_time,
120
))>=3
</select>
<insert id="insertRemind" parameterType="com.emr.vo.OverdueRemindVO"
keyProperty="id" useGeneratedKeys="true">
INSERT INTO reminder_journal
@ -57,8 +79,58 @@
CONVERT(varchar(8),GETDATE(),112) &lt;= REMINDER_TIME and
REMINDER_TIME &lt;= dateadd(day,1,CONVERT(varchar(8),GETDATE(),112))
</select>
<select id="selectoverdueNumAndQualityControl" resultType="com.emr.vo.OverdueRemindVO"
parameterType="java.lang.String">
SELECT COUNT
( * ) AS overdueNum,e.name
FROM
Archive_Master a
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e
on a.dept_name=e.code
LEFT JOIN (
SELECT
id,
master_id,
CONVERT ( VARCHAR, handle_time, 120 ) handle_time,
handle_id,
handle_name,
following_type
FROM
(
SELECT
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
Archive_Master_Following.*
FROM
Archive_Master_Following
WHERE
1 = 1
AND following_type = '5'
) AS t1
WHERE
1 = 1
AND RowNum = 1
) f ON f.master_id= a.ID
WHERE
a.dept_name in (${deptIdQuality})
AND a.DOCTOR_IN_CHARGE IS NOT NULL
AND a.DOCTOR_IN_CHARGE!= ''
AND a.discharge_date_time between a.discharge_date_time and '2021-01-01'
AND a.ArchiveState= '归档中'
AND DATEDIFF(day, (SELECT max(b.date)
FROM (select top 4 date from emr_holiday_set where date >= CONVERT (
VARCHAR (10),
a.discharge_date_time,
120
) and flag= 1 order by date asc) as b),CONVERT (
VARCHAR (10),
f.handle_time,
120
))>=3
group by e.name
</select>
<update id="updatetOverdueStatcByDoctorId" parameterType="com.emr.vo.OverdueRemindVO">
<update id="updatetOverdueStatcByDoctorId" parameterType="com.emr.vo.OverdueRemindVO">
update reminder_journal set REMINDER_STATUS='2'
where
DOCTOR_IN_CHARGE=#{doctorInCharge} and

@ -188,7 +188,7 @@
<!-- mini logo for sidebar mini 50x50 pixels -->
<%--<span class="logo-mini"><b>A</b>LT</span>--%>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg"><b>嘉时归档</b></span>
<span class="logo-lg"><b>病案无纸化归档系统</b></span>
</a>
<!-- Header Navbar: style can be found in header.less -->
<nav class="navbar navbar-static-top" role="navigation">

@ -77,13 +77,15 @@
<ul class="nav nav-tabs" role="tablist" id="myTab">
<li role="presentation" ><a id="overdueOneA" href="#overdueOne" aria-controls="overdueOne" role="tab" data-toggle="tab">初次提交归档</a></li>
<li role="presentation"><a id="overdueTowA" href="#overdueTow" aria-controls="overdueTow" role="tab" data-toggle="tab">住院返修病历</a></li>
<li role="presentation"><a id="overdueThreeA" href="#overdueThree" aria-controls="overdueThree" role="tab" data-toggle="tab">初次未提交病历</a></li>
<li role="presentation"><a id="overdueFourA" href="#overdueFour" aria-controls="overdueFour" role="tab" data-toggle="tab">返修未提交病历</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane" id="overdueOne">
<div class="tjCss">
<!--搜索-->
<form class="formCss" onkeydown="enter()" id="form1">
<form class="formCss" onkeydown="enter()" id="form">
<div class="form-inline">
<div hidden="hidden">
<label for="id">病案号:</label>
@ -264,9 +266,174 @@
</div>
</div>
</div>
<%-- <div role="tabpanel" class="tab-pane" id="overdueThree">
暂无,等待需求
</div>--%>
<div role="tabpanel" class="tab-pane" id="overdueThree">
<div class="tjCss">
<!--搜索-->
<form class="formCss" onkeydown="enter3()" id="form3">
<div class="form-inline">
<div hidden="hidden">
<label for="id">病案号:</label>
<input type="text" class="input-sm form-control" id="id3" placeholder="请输入病案号">
</div>
<div class="form-group divCss8">
<label for="inpNo">住院号:</label>
<input type="text" class="input-sm form-control" id="inpNo3" placeholder="请输入住院号">
</div>
<div class="form-group divCss8">
<label for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId3" placeholder="请输入次数">
</div>
<div class="form-group divCss8">
<label for="name">姓名:</label>
<input type="text" class="input-sm form-control" id="name3" placeholder="请输入姓名">
</div>
<div class="form-group divCss8" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptAdmissionTo3"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" title="请输入入院科室"
id="deptAdmissionTo3" title="请输入入院科室">
<%--<option value="">全部</option>--%>
</select>
</div>
<div class="form-group divCss8">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName3" id="deptName3"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" title="请输入出院科室">
<%-- <option value="">全部</option>--%>
</select>
</div>
<div class="form-group divCss8">
<label>出院日期:</label>
<div class="input-daterange input-group">
<input type="text" class="input-sm form-control" name="start" id="startDate3"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate3"/>
</div>
</div>
<div class="form-group divCss8">
<label>超期天数(查)>=</label>
<input type="text" class="input-sm form-control" id="overdueDays2" placeholder="请输入超期天数">
</div>
<%--<div class="form-group divCss">--%>
<%--<label>超期天数>=</label>--%>
<%--<input type="text" class="input-sm form-control" id="overdueDays" placeholder="请配置超期天数(默认3)">--%>
<%--</div>--%>
<%--<div class="form-group divCss">
<label>是否死亡:</label>
<select class="input-sm form-control" id="deathFlag">
<option value="">全部</option>
<option value="0">否</option>
<option value="1">是</option>
</select>
</div>--%>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn3">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn3">条件导出</button>
</div>
</form>
<!--数据表格-->
<table id="table3" class="table text-nowrap table-striped"></table>
<div id="toolbar3" class="btn-group pull-right toolbarCss" >
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<div class="btn-group btn-info">
<select id="sel_exportoption3" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn3" name="refresh"
aria-label="Refresh"
title="Refresh">
<i class="glyphicon glyphicon-refresh icon-refresh"></i>
</button>
</div>
</div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="overdueFour">
<div class="tjCss">
<!--搜索-->
<form class="formCss" onkeydown="enter4()" id="form4">
<div class="form-inline">
<div hidden="hidden">
<label for="id">病案号:</label>
<input type="text" class="input-sm form-control" id="id4" placeholder="请输入病案号">
</div>
<div class="form-group divCss8">
<label for="inpNo">住院号:</label>
<input type="text" class="input-sm form-control" id="inpNo4" placeholder="请输入住院号">
</div>
<div class="form-group divCss8">
<label for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId4" placeholder="请输入次数">
</div>
<div class="form-group divCss8">
<label for="name">姓名:</label>
<input type="text" class="input-sm form-control" id="name4" placeholder="请输入姓名">
</div>
<div class="form-group divCss8" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptAdmissionTo4"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" title="请输入入院科室"
id="deptAdmissionTo4" title="请输入入院科室">
<%--<option value="">全部</option>--%>
</select>
</div>
<div class="form-group divCss8">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName" id="deptName4"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}" title="请输入出院科室">
<%-- <option value="">全部</option>--%>
</select>
</div>
<div class="form-group divCss8">
<label>出院日期:</label>
<div class="input-daterange input-group">
<input type="text" class="input-sm form-control" name="start" id="startDate4"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate4"/>
</div>
</div>
<div class="form-group divCss8">
<label>超期天数(查)>=</label>
<input type="text" class="input-sm form-control" id="overdueDays1" placeholder="请输入超期天数">
</div>
<%--<div class="form-group divCss">--%>
<%--<label>超期天数>=</label>--%>
<%--<input type="text" class="input-sm form-control" id="overdueDays" placeholder="请配置超期天数(默认3)">--%>
<%--</div>--%>
<%--<div class="form-group divCss">
<label>是否死亡:</label>
<select class="input-sm form-control" id="deathFlag">
<option value="">全部</option>
<option value="0">否</option>
<option value="1">是</option>
</select>
</div>--%>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn4">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn4">条件导出</button>
</div>
</form>
<!--数据表格-->
<table id="table4" class="table text-nowrap table-striped"></table>
<div id="toolbar4" class="btn-group pull-right toolbarCss" >
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<div class="btn-group btn-info">
<select id="sel_exportoption4" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn4" name="refresh"
aria-label="Refresh"
title="Refresh">
<i class="glyphicon glyphicon-refresh icon-refresh"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
@ -274,7 +441,9 @@
<script type="text/javascript">
var tipLoad = 1;
var tipLoad2 = 1;
var initVal=0,initVal2=0;
var tipLoad3 = 1;
var tipLoad4 = 1;
var initVal=0,initVal2=0,initVal3 = 0,initVal4 = 0;
//$(".dropdown-toggle").style.display = 'none';
$(function () {
var url = window.location.href;
@ -297,24 +466,20 @@
$('#overdueTowA').click();
$('li').eq(0).hide();
$('li').eq(1).show();
}else if (index != null && index != "" && index.indexOf("tab3") != -1) {
$('#overdueThreeA').click();
$('li').eq(0).hide();
$('li').eq(1).show();
}else if (index != null && index != "" && index.indexOf("tab4") != -1) {
$('#overdueFourA').click();
$('li').eq(0).hide();
$('li').eq(1).show();
}else{
$('li').eq(0).hide();
$('li').eq(1).hide();
}
//myTab
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptAdmissionTo == null || deptAdmissionTo == '') {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
});
//日期控件
@ -329,7 +494,6 @@
$('#endDate').val(currDate);*/
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
@ -341,15 +505,17 @@
$("#deptAdmissionTo").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptName2").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo2").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptName3").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo3").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptName4").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo4").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
$(".selectpicker").selectpicker('refresh');
}
});
}
getDept();
/**
* 根据两个日期,判断相差天数
* @param sDate1 开始日期 如2016-11-01
@ -599,10 +765,6 @@
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
@ -611,7 +773,6 @@
toastr.warning("正在查询,请稍等...");
}
});
//2.初始化select的change事件
$("#sel_exportoption").change(function () {
$('#table').bootstrapTable('refreshOptions', {
@ -622,7 +783,6 @@
//刷新
$('#table').bootstrapTable('refresh');
});
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
@ -657,7 +817,6 @@
+ "&createTimeStart=" + createTimeStart + "&createTimeEnd=" + createTimeEnd+ "&startDate=" + startDate
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDays=" + overdueDays+ "&overdueDaysTwo=" + overdueDaysTwo;
});
function enter() {
if (event.keyCode == 13) {
document.getElementById('searchBtn').click();
@ -752,7 +911,6 @@
createTimeStart: $("#createTimeStart2").val(),
createTimeEnd: $("#createTimeEnd2").val(),
deathFlag: $("#deathFlag2").val(),
overdueDays: $("#overdueDays2").val(),
overdueDaysTwo: $("#overdueDays3").val(),
};
@ -921,7 +1079,6 @@
});
}
}
//查询
$('#searchBtn2').click(function () {
if (tipLoad2 == 0) {
@ -930,7 +1087,6 @@
toastr.warning("正在查询,请稍等...");
}
});
//2.初始化select的change事件
$("#sel_exportoption2").change(function () {
$('#table2').bootstrapTable('refreshOptions', {
@ -941,7 +1097,6 @@
//刷新
$('#table2').bootstrapTable('refresh');
});
//导出excel功能
$("#excelBtn2").click(function () {
toastr.warning("正在导出,请稍等...");
@ -968,15 +1123,13 @@
var createTimeStart= $("#createTimeStart2").val();
var createTimeEnd= $("#createTimeEnd2").val();
var deathFlag= $("#deathFlag2").val();
var overdueDays= $("#overdueDays2").val();
var overdueDaysTwo= $("#overdueDays3").val();
window.location.href = "${path}/medicalOverdue/exportExcel2?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo
//+ "&archivestate=" + archivestate
+ "&createTimeStart=" + createTimeStart + "&createTimeEnd=" + createTimeEnd+ "&startDate=" + startDate
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDays=" + overdueDays+ "&overdueDaysTwo=" + overdueDaysTwo;
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDaysTwo=" + overdueDaysTwo;
});
function enter2() {
if (event.keyCode == 13) {
document.getElementById('searchBtn2').click();
@ -984,25 +1137,623 @@
}
//=============================================
//============选项卡3 初次未提交病历===============
function initTable3() {
if (tipLoad3 == 1) {
$("#table3").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/medicalOverdue/medicalOverdueList3", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar3',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption3").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var deptName = $("#deptName3").val().toString();
if (deptName.indexOf("") != -1 && deptName.length<=0) {
deptName = "";
}
var deptAdmissionTo = $("#deptAdmissionTo3").val().toString();
if (deptAdmissionTo.indexOf("") != -1 && deptAdmissionTo.length<=0) {
deptAdmissionTo = "";
}
$(".nav-tabs a").click(function(){
$(this).tab('show');
});
var temp = {
limit: limit, //页面大小
offset: offset, //页码
// order: params.order, //排位命令descasc
// id: $("#id").val(),
// idNo: $("#idNo").val(),
inpNo: "" + $("#inpNo3").val(),
visitId: "" + $("#visitId3").val(),
name: "" + $("#name3").val(),
deptName: deptName.toString(),
deptAdmissionTo: deptAdmissionTo.toString(),
startDate: $("#startDate3").val(),
endDate: $("#endDate3").val(),
createTimeStart: $("#createTimeStart3").val(),
createTimeEnd: $("#createTimeEnd3").val(),
deathFlag: $("#deathFlag3").val(),
overdueDaysTwo: $("#overdueDays2").val(),
};
$('.nav-tabs a').on('shown.bs.tab', function(event){
var x = $(event.target).text(); // active tab
var y = $(event.relatedTarget).text(); // previous tab
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
$(".act span").text(x);
$(".prev span").text(y);
if(x=="住院返修病历"){
if(initVal2==0){
initTable2();
initVal2=1;
}
}else{
}, {
title: '病案清单id',
field: 'id',
align: 'left',
valign: 'middle',
visible: false
},
{
title: '住院号',
field: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle',
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle',
},
{
title: '入院日期',
field: 'admissionDateTime',
align: 'center',
visible: false,
/* formatter: function (value, row, index) {
var result = "";
if (value != null && value != "") {
result = value.substring(0, 10);
}
return result;
}*/
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '出院日期',
field: 'dischargeDateTime',
align: 'center',
valign: 'middle',
/*formatter: function (value, row, index) {
var result = "";
if (value != null && value != "") {
result = value.substring(0, 19);
}
return result;
}*/
},
{
title: '主管医生',
field: 'doctorInCharge',
align: 'center',
valign: 'middle',
},
{
title: '是否死亡',
field: 'deathFlag',
align: 'center',
formatter: function (value, row, index) {
var result = "";
var days=0;//当天-出院-7
if (row.dischargeDateTime != null && row.dischargeDateTime != "") {
days = daysBetween(currDay, row.dischargeDateTime.split(" ")[0]);
}
//死亡否
var deathExpired = <%=res.getString("deathExpired")%>;
if (value != null && value != "" && value == 0) {
result = '<span style="color:green;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>否</span>'
} else {
if (days > deathExpired) {
var day = days - deathExpired;
result = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>是</span>';
} else {
result = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>是</span>';
}
}
return result;
}
},
{
title: '间隔天数',
field: 'diffDay',
align: 'center',
valign: 'middle',
},
{
title: '超期天数',
field: 'overTime',
align: 'center',
valign: 'middle',
/* formatter: function (value, row, index) {
var overdueDays=$("#overdueDays").val();
if(overdueDays!=null && overdueDays>0){
return row.overdue-overdueDays;
}else{
return row.overdue;
}
}*/
},
],
onLoadSuccess: function (result) { //加载成功时执行
// console.info("加载成功");
tipLoad3 = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad33 = 0;
}
});
}
}
//查询
$('#searchBtn3').click(function () {
if (tipLoad3 == 0) {
$("#table3").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
});
//2.初始化select的change事件
$("#sel_exportoption3").change(function () {
$('#table3').bootstrapTable('refreshOptions', {
exportDataType: $(this).val()
});
});
$("#refreshBtn3").click(function () {
//刷新
$('#table3').bootstrapTable('refresh');
});
//导出excel功能
$("#excelBtn3").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo3").val();
var visitId = "" + $("#visitId3").val();
var name = "" + $("#name3").val();
var deptName = $("#deptName3").val();
if (deptName.indexOf("") != -1) {
deptName = "";
} else {
deptName = $("#deptName3").val().toString();
}
var deptAdmissionTo = $("#deptAdmissionTo3").val();
if (deptAdmissionTo.indexOf("") != -1) {
deptAdmissionTo = "";
} else {
deptAdmissionTo = $("#deptAdmissionTo3").val().toString();
}
var startDate= $("#startDate3").val();
var endDate= $("#endDate3").val();
var createTimeStart= $("#createTimeStart3").val();
var createTimeEnd= $("#createTimeEnd3").val();
var deathFlag= $("#deathFlag3").val();
var overdueDaysTwo= $("#overdueDays2").val();
window.location.href = "${path}/medicalOverdue/exportExcelFirst?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo
//+ "&archivestate=" + archivestate
+ "&createTimeStart=" + createTimeStart + "&createTimeEnd=" + createTimeEnd+ "&startDate=" + startDate
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDaysTwo=" + overdueDaysTwo;
});
function enter3() {
if (event.keyCode == 13) {
document.getElementById('searchBtn3').click();
}
}
//=============选项卡4 返修未提交病历=============
//============选项卡3 初次未提交病历===============
function initTable4() {
if (tipLoad4 == 1) {
$("#table4").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/medicalOverdue/medicalOverdueList4", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar4',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption4").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var deptName = $("#deptName4").val().toString();
if (deptName.indexOf("") != -1 && deptName.length<=0) {
deptName = "";
}
var deptAdmissionTo = $("#deptAdmissionTo4").val().toString();
if (deptAdmissionTo.indexOf("") != -1 && deptAdmissionTo.length<=0) {
deptAdmissionTo = "";
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
// order: params.order, //排位命令descasc
// id: $("#id").val(),
// idNo: $("#idNo").val(),
inpNo: "" + $("#inpNo4").val(),
visitId: "" + $("#visitId4").val(),
name: "" + $("#name4").val(),
deptName: deptName.toString(),
deptAdmissionTo: deptAdmissionTo.toString(),
startDate: $("#startDate4").val(),
endDate: $("#endDate4").val(),
createTimeStart: $("#createTimeStart4").val(),
createTimeEnd: $("#createTimeEnd4").val(),
deathFlag: $("#deathFlag4").val(),
overdueDaysTwo: $("#overdueDays1").val(),
};
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
}, {
title: '病案清单id',
field: 'id',
align: 'left',
valign: 'middle',
visible: false
},
{
title: '住院号',
field: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle',
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle',
},
{
title: '入院日期',
field: 'admissionDateTime',
align: 'center',
visible: false,
/* formatter: function (value, row, index) {
var result = "";
if (value != null && value != "") {
result = value.substring(0, 10);
}
return result;
}*/
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '出院日期',
field: 'dischargeDateTime',
align: 'center',
valign: 'middle',
/*formatter: function (value, row, index) {
var result = "";
if (value != null && value != "") {
result = value.substring(0, 19);
}
return result;
}*/
},
{
title: '最后退回时间',
field: 'handleTimeMax1',
align: 'center',
valign: 'middle',
/*formatter: function (value, row, index) {
var result = "";
if (value != null && value != "") {
result = value.substring(0, 19);
}
return result;
}*/
},
{
title: '主管医生',
field: 'doctorInCharge',
align: 'center',
valign: 'middle',
},
{
title: '是否死亡',
field: 'deathFlag',
align: 'center',
formatter: function (value, row, index) {
var result = "";
var days=0;//当天-出院-7
if (row.dischargeDateTime != null && row.dischargeDateTime != "") {
days = daysBetween(currDay, row.dischargeDateTime.split(" ")[0]);
}
//死亡否
var deathExpired = <%=res.getString("deathExpired")%>;
if (value != null && value != "" && value == 0) {
result = '<span style="color:green;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>否</span>'
} else {
if (days > deathExpired) {
var day = days - deathExpired;
result = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>是</span>';
} else {
result = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>是</span>';
}
}
return result;
}
},
{
title: '间隔天数',
field: 'diffDay',
align: 'center',
valign: 'middle',
},
{
title: '超期天数',
field: 'overTime',
align: 'center',
valign: 'middle',
/* formatter: function (value, row, index) {
var overdueDays=$("#overdueDays").val();
if(overdueDays!=null && overdueDays>0){
return row.overdue-overdueDays;
}else{
return row.overdue;
}
}*/
},
],
onLoadSuccess: function (result) { //加载成功时执行
// console.info("加载成功");
tipLoad4 = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad4 = 0;
}
});
}
}
//查询
$('#searchBtn4').click(function () {
if (tipLoad4 == 0) {
$("#table4").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
});
//2.初始化select的change事件
$("#sel_exportoption4").change(function () {
$('#table4').bootstrapTable('refreshOptions', {
exportDataType: $(this).val()
});
});
$("#refreshBtn4").click(function () {
//刷新
$('#table4').bootstrapTable('refresh');
});
//导出excel功能
$("#excelBtn4").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo4").val();
var visitId = "" + $("#visitId4").val();
var name = "" + $("#name4").val();
var deptName = $("#deptName4").val();
if (deptName.indexOf("") != -1) {
deptName = "";
} else {
deptName = $("#deptName4").val().toString();
}
var deptAdmissionTo = $("#deptAdmissionTo4").val();
if (deptAdmissionTo.indexOf("") != -1) {
deptAdmissionTo = "";
} else {
deptAdmissionTo = $("#deptAdmissionTo4").val().toString();
}
var startDate= $("#startDate4").val();
var endDate= $("#endDate4").val();
var createTimeStart= $("#createTimeStart4").val();
var createTimeEnd= $("#createTimeEnd4").val();
var deathFlag= $("#deathFlag4").val();
var overdueDaysTwo= $("#overdueDays1").val();
window.location.href = "${path}/medicalOverdue/exportExcelFirst1?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo
//+ "&archivestate=" + archivestate
+ "&createTimeStart=" + createTimeStart + "&createTimeEnd=" + createTimeEnd+ "&startDate=" + startDate
+ "&endDate=" + endDate+ "&deathFlag=" + deathFlag + "&overdueDaysTwo=" + overdueDaysTwo;
});
function enter4() {
if (event.keyCode == 13) {
document.getElementById('searchBtn4').click();
}
}
$(".nav-tabs a").click(function(){
$(this).tab('show');
});
$('.nav-tabs a').on('shown.bs.tab', function(event){
var x = $(event.target).text(); // active tab
var y = $(event.relatedTarget).text(); // previous tab
$(".act span").text(x);
$(".prev span").text(y);
if(x=="住院返修病历"){
if(initVal2==0){
initTable2();
initVal2=1;
}
}else if (x=="初次未提交病历"){
if(initVal3==0){
initTable3();
initVal3=1;
}
}else if (x=="返修未提交病历"){
if(initVal4==0){
initTable4();
initVal4=1;
}
}
else{
if(initVal==0){
initTable();
initVal=1;

Loading…
Cancel
Save